Lightweight markdown server with hierarchical TOC
1.7K
mdserve is a simple, lightweight webserver for viewing your markdown files in a browser.
{#custom-id} syntaxsudo apt install golang -y
go mod init markdown_server
go get github.com/gomarkdown/markdown
go run mdserve.go
go run mdserve.go /path/to/your/docs
# or
go run mdserve.go -dir /path/to/your/docs
go run mdserve.go -port 3000
# or combine with directory
go run mdserve.go /path/to/docs -port 3000
# TOC on the left (default)
go run mdserve.go -toc left
# TOC on the right
go run mdserve.go -toc right
# Combine all options
go run mdserve.go /path/to/docs -port 3000 -toc right
http://localhost:8080<directory> - Positional argument to specify directory to serve (default: current directory)-dir <path> - Flag to specify directory to serve-port <number> - Port to serve on (default: 8080)-toc <position> - Table of contents position: 'left' or 'right' (default: left)go build -o mdserve mdserve.go
./mdserve /path/to/docs
docker pull awkto/mdserve:latest
Easiest way - serve current directory:
docker run -d -p 8080:8080 -v $(pwd):/docs:ro awkto/mdserve:latest
Then open http://localhost:8080 in your browser.
Serve a specific directory:
docker run -d -p 8080:8080 -v /path/to/your/docs:/docs:ro awkto/mdserve:latest
With a named container (easier to manage):
# Start
docker run -d --name mdserve -p 8080:8080 -v $(pwd):/docs:ro awkto/mdserve:latest
# Stop
docker stop mdserve
# Start again
docker start mdserve
# Remove
docker rm mdserve
Custom port:
docker run -d -p 3000:3000 -v $(pwd):/docs:ro awkto/mdserve:latest /docs -port 3000
TOC on the right:
docker run -d -p 8080:8080 -v $(pwd):/docs:ro awkto/mdserve:latest /docs -toc right
All options combined:
docker run -d --name mdserve -p 3000:3000 \
-v /path/to/your/docs:/docs:ro \
awkto/mdserve:latest \
/docs -port 3000 -toc right
To stop/view running containers:
# List running containers
docker ps
# Stop a container
docker stop <container-id>
# or
docker stop mdserve
docker build -t mdserve .
docker run -d -p 8080:8080 -v $(pwd):/docs:ro mdserve
Content type
Image
Digest
sha256:cc80c8370…
Size
9.4 MB
Last updated
11 months ago
docker pull awkto/mdserve