markdown support

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 list

Fenced 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 snapshots

Entries 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.

Markdown support — MunchFile Docs