ws-markdown-server

Crates.iows-markdown-server
lib.rsws-markdown-server
version1.0.2
sourcesrc
created_at2023-01-15 05:04:19.184288
updated_at2023-01-15 12:35:28.169702
descriptionA simple Websocket (as well as a Unix socket) server that serves on-the-fly compilation of Markdown to HTML.
homepagehttps://github.com/aalekhpatel07/ws-markdown-server
repositoryhttps://github.com/aalekhpatel07/ws-markdown-server
max_upload_size
id759215
size84,448
Aalekh Patel (aalekhpatel07)

documentation

https://docs.rs/ws-markdown-server/1.0.0

README

Markdown server

A simple Markdown Websocket (and Unix socket) server backed by comrak and tokio-tungstenite.

Installation and Usage

Docker (recommended):

  1. Download the docker image.
docker pull aalekhpatel07/ws-markdown-server:1.0.2
  1. 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).

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:
cargo install ws-markdown-server@1.0.2
  1. Start the server:
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:
# 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:

# <h1> Title </h1>
# <p>This is some text.</p>
# ...
  1. Alternatively, you can also run the sample Svelte app that sets up the client-side Websocket and uses the ws-markdown-server for its backend.
cd usage/client
npm install
npm run dev -- --port 8000 --host 0.0.0.0 --open
Commit count: 39

cargo fmt