A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
Markdown to PDF converter with Mermaid diagrams, LaTeX math, themes, and batch conversion. CLI + WASM.
A Markdown workspace analyzer and PDF converter. Upload a ZIP, point to a folder, or pass a single .md file — MarkNest resolves local images, renders Mermaid diagrams and math, and produces print-ready PDFs.
Try it online: dontsendfile.com/md2pdf
https://github.com/user-attachments/assets/489b1b61-a840-4374-8eb5-d90d5fa1f4db
off/auto/on modesdefault, github, docs, plain), custom CSS, header/footer templates, per-side margins# Install
cargo install marknest
# Install a headless browser for PDF rendering
npx playwright install chromium
# Convert a Markdown file to PDF
marknest convert README.md -o README.pdf
cargo install marknest
# Run without installing
npx marknest convert README.md -o output.pdf
# Or install globally
npm install -g marknest
marknest convert README.md -o output.pdf
git clone https://github.com/developer0hye/marknest.git
cd marknest
cargo install --path crates/marknest
docker build -t marknest .
# CLI usage
docker run --rm -v "$PWD":/work -w /work marknest marknest convert README.md -o README.pdf
# Fallback server (default CMD)
docker run --rm -p 3476:3476 marknest
PDF rendering requires a local Chromium-based browser. If none is installed:
npx playwright install chromium
# or for headless-only environments:
npx playwright install --with-deps chromium
Browser discovery order: MARKNEST_BROWSER_PATH env var > Playwright headless shell > system Chrome/Edge/Chromium.
Check workspace structure, image links, and Mermaid/Math blocks without generating a PDF.
marknest validate README.md
marknest validate ./docs.zip --entry docs/README.md
marknest validate ./docs --all --report report.json
marknest validate ./docs --all --strict
marknest convert README.md -o README.pdf
marknest convert README.md --theme github --landscape -o README.pdf
marknest convert README.md --toc --mermaid auto --math auto -o README.pdf
marknest convert README.md --css custom.css --header-template header.html -o README.pdf
marknest convert README.md --page-size letter --margin-top 24 --margin-bottom 24 -o README.pdf
marknest convert README.md --title "Guide" --author "Team" --subject "Arch" -o README.pdf
marknest convert ./docs --out-dir ./pdf
marknest convert ./docs.zip --all --out-dir ./pdf
marknest convert ./docs.zip --entry docs/README.md -o out.pdf
marknest convert https://github.com/user/repo -o output.pdf
marknest convert https://github.com/user/repo/blob/main/docs/guide.md -o guide.pdf
marknest convert https://github.com/user/repo/tree/v2.0 --all --out-dir ./pdf
Set GITHUB_TOKEN or GH_TOKEN for private repositories or to avoid API rate limits.
marknest convert README.md \
--debug-html ./out/debug.html \
--asset-manifest ./out/assets.json \
--render-report ./out/report.json \
-o README.pdf
Settings can be provided through CLI flags, a config file, or environment variables.
Precedence: CLI args > config file > environment variables > built-in defaults
# Use a config file
marknest convert README.md --config .marknest.toml -o README.pdf
Config files are auto-discovered from .marknest.toml or marknest.toml in the working directory.
| Environment Variable | Purpose |
|---|---|
MARKNEST_CONFIG | Path to config file |
MARKNEST_THEME | Default theme |
MARKNEST_CSS | Path to custom CSS |
MARKNEST_TOC | Enable/disable TOC |
MARKNEST_SANITIZE_HTML | Enable/disable HTML sanitization |
MARKNEST_BROWSER_PATH | Path to Chromium-based browser |
MARKNEST_SERVER_ADDR | Fallback server bind address |
| Code | Meaning |
|---|---|
0 | Success |
1 | Success with warnings |
2 | Validation failure |
3 | System failure |
The browser app provides ZIP upload, entry selection, HTML preview, and PDF download — all client-side via WASM.
trunk serve
Export modes:
The web app also supports theme/CSS/margin/TOC/metadata controls, Mermaid/Math preview, debug bundle download, and batch ZIP export.
cargo run -p marknest-server
Listens on http://127.0.0.1:3476 by default (override with MARKNEST_SERVER_ADDR). Accepts multipart ZIP uploads with output options and returns PDF or batch ZIP.
| Path | Description |
|---|---|
Cargo.toml | Workspace definition |
crates/marknest | CLI binary: validation, conversion, config resolution, Playwright PDF |
crates/marknest-core | Core library: workspace analysis, HTML rendering |
crates/marknest-server | Local HTTP fallback service |
crates/marknest-wasm | WASM bindings for browser analysis and rendering |
index.html, web/ | Browser app (Trunk) |
runtime-assets/ | Vendored Mermaid, MathJax, html2pdf.js |
validation/ | 60-entry README corpus and PDF fidelity validator |
Dockerfile | Shared CLI + server runtime image |
# Format
cargo fmt --all
# Test
cargo test
# Check WASM target
cargo check -p marknest-wasm --target wasm32-unknown-unknown
# Install Playwright runtime for native PDF
npm ci --prefix crates/marknest/playwright-runtime
# Install validation dependencies
npm ci --prefix validation
1000+ skills curated from Anthropic, Vercel, Stripe, and other engineering teams
Claude Code skill for YouTube creators — channel audits, video SEO, retention scripts, thumbnails, content strategy, Sho
Design enforcement with memory — keeps your UI consistent across a project
AI image generation skill for Claude Code -- Creative Director powered by Gemini