| Crates.io | mdserve |
| lib.rs | mdserve |
| version | 0.5.1 |
| created_at | 2025-07-27 09:41:48.444253+00 |
| updated_at | 2025-10-31 03:02:23.048193+00 |
| description | Fast markdown preview server with live reload and theme support |
| homepage | https://github.com/jfernandez/mdserve |
| repository | https://github.com/jfernandez/mdserve |
| max_upload_size | |
| id | 1769870 |
| size | 3,472,592 |
Fast markdown preview server with live reload and theme support.
Just run mdserve file.md and start writing. One statically-compiled executable that runs anywhere - no installation, no dependencies.

brew install mdserve
curl -sSfL https://raw.githubusercontent.com/jfernandez/mdserve/main/install.sh | bash
This will automatically detect your platform and install the latest binary to your system.
cargo install mdserve
sudo pacman -S mdserve
nix profile install github:jfernandez/mdserve
git clone https://github.com/jfernandez/mdserve.git
cd mdserve
cargo build --release
cp target/release/mdserve <folder in your PATH>
Download the appropriate binary for your platform from the latest release.
# Serve a single markdown file on default port (3000)
mdserve README.md
# Serve all markdown files in a directory
mdserve docs/
# Serve on custom port
mdserve README.md --port 8080
mdserve docs/ -p 8080
# Serve on custom hostname and port
mdserve README.md --hostname 0.0.0.0 --port 8080
Single-File Mode: When you pass a file path, mdserve serves that specific markdown file with a clean, focused view.
Directory Mode: When you pass a directory path, mdserve automatically:
Scans and serves all .md and .markdown files in that directory
Displays a navigation sidebar for easy switching between files
Watches for new markdown files added to the directory
Only monitors the immediate directory (non-recursive)
Once running, the server provides (default: http://localhost:3000):
Built-in Theme Selector
Click the theme button (🎨) to access the built-in theme selector

mdserve running with the Catppuccin Macchiato theme - notice the warm, cozy colors and excellent readability

For detailed information about mdserve's internal architecture, design decisions, and how it works under the hood, see Architecture Documentation.
cargo build --release
# Run all tests
cargo test
# Run integration tests only
cargo test --test integration_test
This project is licensed under the MIT License - see the LICENSE file for details.