Convert Markdown into beautiful, themed HTML reports. Zero HTML/CSS required from the model — write Markdown, get a polished navigable report.
AI agents love writing Markdown. But raw .md files are unreadable for long reports, and asking models to write full HTML/CSS wastes hundreds of tokens on boilerplate that's the same every time.
- Model writes normal Markdown + lightweight
:::blockannotations mdreport report.mdconverts it to a polished, navigable HTML report- Themes handle all styling — the model never touches HTML or CSS
npm install -g mdreportOr use without installing:
npx mdreport report.mdmdreport report.md # dark theme (default) → report.html
mdreport report.md -t light # clean light
mdreport report.md -t executive # formal serif / print-ready
mdreport report.md -t kawaii # pixel cats and laser pointers
mdreport report.md --open # open in browser immediately
mdreport report.md --watch # watch for changes, auto-rebuild
mdreport --list-themes # show all available themesPass a directory to convert all .md files into a linked multi-page report:
mdreport ./myreport/Files are sorted alphabetically — prefix with numbers to control order:
myreport/
├── 01-overview.md
├── 02-architecture.md
└── 03-recommendations.md
The topbar shows all pages; the sidebar shows headings for the current page.
| Theme | Description |
|---|---|
dark |
Dark professional with blue accents (default) |
light |
Clean light with blue accents |
executive |
Formal serif, print-ready, deep red accents |
paper |
Warm sepia/academic, orange accents |
card |
Card-based layout with soft shadows |
magazine |
Editorial bold headers, high contrast |
| Theme | Description |
|---|---|
terminal |
Green-on-black hacker aesthetic |
blueprint |
Engineering blueprint — white on navy |
| Theme | Description |
|---|---|
cyberpunk |
Neon cyan/magenta on near-black |
neon |
Neon 80s hot pink and electric blue |
parchment |
Aged paper, warm sepia ink |
lofi |
Lo-fi cozy muted pastels |
| Theme | Description |
|---|---|
pixel |
8-bit pixel universe with a sprite parade across the bottom |
kawaii |
Pastel kawaii — real pixel-art cats that walk on your headings, chase a laser pointer cursor, and float hearts |
haunted |
Glitching, flickering, blood-dripping horror |
Drop these anywhere in your Markdown:
:::callout
A key insight or note
:::
:::warning
Something to be cautious about
:::
:::highlight
A headline stat: **42%** increase
:::
:::quote
"A notable pull quote"
— Attribution
:::
Use :::chart with a JSON Chart.js config:
:::chart
{
"type": "bar",
"data": {
"labels": ["Q1", "Q2", "Q3", "Q4"],
"datasets": [{ "label": "Revenue", "data": [120, 190, 300, 500], "backgroundColor": "#58a6ff" }]
}
}
:::
Available types: bar, line, pie, doughnut, radar, polarArea, bubble, scatter.
Mermaid diagrams work natively in fenced code blocks:
```mermaid
graph TD
A[Input] --> B[Process]
B --> C[Output]
```
Optional YAML at the top of any file:
---
title: Report Title
subtitle: Optional subtitle
author: Author Name
date: April 2025
accent: "#ff6b35" # override theme accent color
---See SKILL.md for the agent-facing prompt. Drop it in your Claude Code skills directory (~/.claude/skills/) or include it in your agent's system prompt.
The key insight: the model writes ~150 tokens of Markdown. The CLI turns it into a multi-page navigable HTML report with sidebar navigation, syntax highlighting, Mermaid diagrams, charts, and a polished theme — without the model spending a single token on presentation.
Contributions are very welcome. Some ideas:
- New themes — got a vibe that's missing? Add an entry to
lib/themes.js. Each theme is a self-contained object with CSS variables, optional extra CSS, and optional JS. - New block types — extend
parseCustomBlocks()inlib/converter.jswith new:::typeannotations - Export formats — PDF via puppeteer, DOCX, etc.
- Watch mode improvements — live reload via WebSocket instead of polling
- CLI flags —
--no-sidebar,--toc-depth,--pdf, etc. - Accessibility — ARIA labels, keyboard nav, high-contrast variants
Open an issue or PR at the repo. If you have a wild theme idea or a feature you wish existed, open a discussion — ideas are just as welcome as code.
Cat sprites in the kawaii theme: Just a few cats by Vassago Labs, licensed under CC BY-SA 4.0.
MIT