Markdown support
Share any .md file and MunchFile renders it as a clean, readable web page — not a download, not a raw text dump. You get GitHub-flavored markdown plus a table of contents, math, diagrams, footnotes, and more. There is nothing to configure and no build step; write the file, share the link.
The basics
Everything you expect from CommonMark and GitHub-flavored markdown works out of the box: headings, bold and italic, ordered and unordered lists, links, images, blockquotes, and tables. Strikethrough is ~~two tildes~~, and task lists render as real checkboxes:
- [x] Shipped
- [ ] Still on the listFenced code blocks are syntax-highlighted automatically when you name the language:
```typescript
const url = await watch('./notes.md');
```Table of contents
Longer documents get a table of contents automatically, built from your headings (levels one through three). Want to place it yourself — or add one to a shorter piece? Put [TOC] on its own line, anywhere, and the contents render right there instead of at the top.
# Q3 metrics definition
[TOC]
## Decisions to agree
## What the industry does
### Streaming snapshotsEntries nest by heading depth, and a long list collapses to a single line so it never buries your opening paragraph. The document's own title heading is left out — it would only point at the heading directly above the list.
Callouts
GitHub-style alert blockquotes render as colored callouts. Five types are supported: NOTE, TIP, IMPORTANT, WARNING, and CAUTION.
> [!NOTE]
> Neutral context worth surfacing.
> [!TIP]
> A shortcut or better way to do it.
> [!WARNING]
> Something that could bite you.Math
Write LaTeX between dollar signs and MunchFile typesets it with KaTeX — $…$ for inline, $$…$$ on its own lines for a centered block.
Inline: the identity $e^{i\pi} + 1 = 0$.
Block:
$$
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
$$Diagrams
A code fence tagged mermaid renders as a diagram — flowcharts, sequence diagrams, and the rest of the Mermaid vocabulary.
```mermaid
graph LR
Edit --> Save --> Live[Live URL]
```Footnotes
Reference-style footnotes render at the foot of the page with a link back to where you cited them.
The headline number is a snapshot[^1].
[^1]: Counted at period end, not summed over the month.Definition lists
A term followed by a colon-prefixed line becomes a definition list.
Slug
: The short id in a MunchFile URL.
Content hash
: The SHA-256 that keeps a URL stable across edits.Inline extras
A few inline conveniences beyond standard markdown: ==highlight== wraps text in a marker, ~subscript~ and ^superscript^ handle chemistry and units, and :shortcode: emoji expand to the real thing.
==Highlight== a passage, note H~2~O and m^2^,
and drop in a :sparkles: emoji shortcode.Front matter
YAML front matter at the top of a file (a --- fenced block) is read but not rendered — it stays out of the page instead of showing up as stray text at the top.
Anchor links
Every heading gets a stable id derived from its text, so you can deep-link straight to a section by appending #the-heading-text to the URL. The table of contents uses these same anchors.
Inline HTML
Raw HTML inside a markdown file is allowed but sanitized — safe tags render, and anything risky (like <script>) is stripped. If you want to share a full, interactive HTML page with its scripts intact, share the .html file itself — see HTML support.