https://github.com/aalekhpatel07/ws-markdown-server
Markdown Websocket (and Unix socket) server
https://github.com/aalekhpatel07/ws-markdown-server
markdown-server markdown-to-html markdown-webserver websocket-server
Last synced: 5 months ago
JSON representation
Markdown Websocket (and Unix socket) server
- Host: GitHub
- URL: https://github.com/aalekhpatel07/ws-markdown-server
- Owner: aalekhpatel07
- License: gpl-3.0
- Created: 2023-01-14T22:46:53.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-18T07:10:02.000Z (over 3 years ago)
- Last Synced: 2025-03-11T06:48:35.669Z (over 1 year ago)
- Topics: markdown-server, markdown-to-html, markdown-webserver, websocket-server
- Language: HCL
- Homepage:
- Size: 75.2 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Markdown server
A simple Markdown Websocket (and Unix socket) server backed by [`comrak`](https://docs.rs/comrak/latest/comrak/) and [`tokio-tungstenite`](https://github.com/snapview/tokio-tungstenite).
## Installation and Usage
### Docker (recommended):
1. Download the docker image.
```sh
docker pull aalekhpatel07/ws-markdown-server:1.0.2
```
2. Start the container:
**Note**: The `9004` tcp port bind is optional and only required if you wish to expose a Unix socket server along with a WebSocket server (which runs on `9003`).
```sh
docker run \
-d \
-p 9003:9003 \
-p 9004:9004 \
--name ws-markdown-server \
aalekhpatel07/ws-markdown-server:1.0.0
```
### Local
You can run a Markdown server on your local machine via `ws-markdown-server`:
1. Install it with `cargo`:
```sh
cargo install ws-markdown-server@1.0.2
```
2. Start the server:
```sh
RUST_LOG="ws_markdown_server=debug" \
MD_SERVER_WS_PORT=9003 \
MD_SERVER_TCP_PORT=9004 \
MD_SERVER_HOST="0.0.0.0" \
ws-markdown-server
```
## Testing it works
1. You can test it works by opening a tcp connection at `0.0.0.0:9004` and sending in some markdown text to be converted to html.
For example:
```sh
# Start netcat once the markdown server is up and running.
nc 0.0.0.0 9004
# Send some markdown text to be converted to html.
> # Title
> This is some text.
> ...
> [Ctrl+D] (indicates end of file)
# You'll receive the html version of the sent markdown:
#
Title
# This is some text.
# ...
```
2. Alternatively, you can also run the sample [`Svelte` app](./usage/client) that sets up the client-side Websocket and uses the `ws-markdown-server` for its backend.
```sh
cd usage/client
npm install
npm run dev -- --port 8000 --host 0.0.0.0 --open
```