Full CommonMark + GFM support. Syntax highlighting, tables, images, math, Mermaid diagrams, presentation mode, watch mode, and more.
❯ md README.md ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ MY AWESOME PROJECT ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Features ──────────── ▸ Installation • Works everywhere Node 18+ runs • Zero config needed • Supports italic, bold, ~~strikethrough~~ ╭─ TypeScript ───────────────────────────────────╮ │ const render = async (file: string) => { │ const md = readFileSync(file, 'utf-8'); │ await print(md); │ }; ╰────────────────────────────────────────────────────╯ ┌──────────┬────────┬──────────────┐ │ Feature │ Status │ Notes │ ├──────────┼────────┼──────────────┤ │ Tables │ ✔ Done │ GFM tables │ │ Mermaid │ ✔ Done │ ASCII render │ │ Math │ ✔ Done │ Unicode │ └──────────┴────────┴──────────────┘ ☑ Syntax highlighting ☑ Mermaid diagrams ☐ Your next feature ┃ "The best tool is the one you actually use." ────────────────── E = mc² ∫ₐᵇ f(x)dx ────────────────── ────────────────────────────────────────────────────
Everything Markdown
Usage
Pro tip
Add this shell function to auto-open *.md files when you type their name.
# ~/.zshrc or ~/.bashrc command_not_found_handler() { if [[ "$1" == *.md ]] && [ -f "$1" ]; then md "$1" return 0 fi return 127 } # Then reload your shell: source ~/.zshrc # Now just type: README.md # ← opens and renders instantly!