Skip to content
Markdown files to a website in seconds

Your markdown. A website. Instantly.

A Go server that turns any directory of markdown files into a beautiful, navigable website. Syntax highlighting, search, diagrams, live reload, and S3/GCS support built in.

0
Config files
4
Storage backends
200+
Languages
1
Binary
terminal
# Serve a local directory
dynamic-markdown-site -dev -root ./docs

# Or serve from S3
dynamic-markdown-site -storage-url s3://my-bucket/docs

# Or from Google Cloud Storage
dynamic-markdown-site -storage-url gs://my-bucket/docs
Features

Everything you need to serve markdown.

No build step, no database, no frontend framework. Just a binary and your files.

Cloud-Native Storage

Filesystem, S3, GCS, or Azure Blob. Same binary, any backend. Powered by gocloud.dev.

Full-Text Search

Relevance-scored search with highlighted snippets. Title match weighted over body match.

Live Reload

Edit markdown, see changes instantly in the browser. SSE-based, 500ms debounce, auto-reconnect.

Syntax Highlighting

Chroma with Monokai theme for 200+ languages. Server-side rendered, zero client JS.

Diagrams

D2 server-side SVG rendering and Mermaid client-side. Both via fenced code blocks.

Auto-Tuning Cache

Otter cache with access-based TTL. Popular pages stay hot, cold pages evict automatically.

Security-First

Path traversal prevention at the type level. Rate limiting, security headers, distroless runtime.

Zero Build Step

No static-site generator, no database, no frontend framework. Drop files, run binary, get a site.

How it works

Four steps. Zero config.

From markdown files to a navigable website in under a minute.

1

Drop Markdown

Place .md files in any directory structure. Add frontmatter, diagrams, code blocks.

echo '# Hello' > docs/index.md
2

Run the Binary

Point the server at your files or cloud bucket. No config file, no build step.

dynamic-markdown-site -root ./docs
3

Browse & Search

Directory navigation, full-text search, syntax highlighting, diagrams — all automatic.

// open http://localhost:8080
4

Edit & Reload

Dev mode watches files and live-reloads the browser via SSE. 500ms debounce.

dynamic-markdown-site -dev -root ./docs
Comparison

Why Dynamic Markdown Site?

Static site generators need build steps. Wiki engines need databases. This needs neither.

Static Site Gen Wiki Engine Dynamic Markdown Site
Zero build step
Live reload ~
Cloud storage (S3/GCS)
Full-text search ~
Syntax highlighting ~
D2 + Mermaid diagrams ~
Single binary ~
No database
Use Cases

Built for serving content.

Drop it into any scenario where markdown needs to become a website.

Documentation

Serve API docs, architecture docs, or runbooks from a git repo

Internal Wiki

Team knowledge base with search, navigation, and live updates

Static Content

Publish articles, tutorials, or guides without a build pipeline

Get Started

Serve your markdown today.

One binary. Zero config. Any storage backend.