grammar
markdown
every component reads the same markdown. learn these rules once — bold is now, italic is next, label: value is a row, — note is a side note.
rules
write markdown inside the tag. the component reads it as data. the muted line under each rule is who reads it.
- **bold**
- now, chosen, the total, the row to read. Gets the accent.Timeline, Steps, Board, Decision, Diff, Spec, Stat, Score, Keys, Faq, Tree, Calendar (today), Env (required)
- *italic*
- next, rejected, an aside. Recedes.Timeline, Steps, Board, Decision, Chat
- - label: value
- one row. The label is everything before the first : .Spec, Timeline, Diff, Bullet, Slope, Score, Keys, Chat, Changelog, Calendar, Activity, Plot
- x — note
- a side note, a reason, or a caption. Muted, under or after the item.Check, Tree, Stat, Timeline, Board, Decision, Env, Meter, Waffle, Spark, KPI, Timer, Countdown
- a → b → c
- a path. -> works too.Flow, Slope
- - [x] done
- a box. [ ] is open.Check
- nested list
- children: sub-tasks, folders.Tree, Check
- blank line + indented paragraph
- the item's body. Leave blank lines between items, indent the paragraph.Steps, Timeline, Spec, Chat
- ### heading
- a section, a column, or a question.Sheet, Board, Faq
- | table |
- data. A last row in **bold** or starting Total is the footer.Table, Sheet, Compare, Matrix, Heatmap, Invoice, Endpoint
- ```fence
- raw lines. The language becomes the title where it helps.Terminal, Annotate, Env, Endpoint
- code // (1)
- a marker. Item 1 of the ordered list after the fence explains it.Annotate
- ~~old~~ new
- a rewrite: one removed line, one added line.Diff
- ok*40
- a run: forty of them. Works in any list of values.Uptime, Activity, Spark, Plot, KPI, Bars
every host
the same list is mdx children, the body of a comark block, and the body of a knap content filter. it draws the same fenced ascii for github.
- 14:02p95 crossed 800mspaged the on-call
- 14:11rolled back the cache flag
- 14:40write the postmortem
page.mdx
comark
readme.md
upgrades
with withMdxcn, plain markdown that github already renders becomes a frame on your site.
- > [!WARNING]
- Callout. NOTE, TIP, IMPORTANT, WARNING, CAUTION — and Obsidian names. Text after the marker is the title.withMdxcn → Callout
- > … \n> — Name, Where
- Quote. The last line starts with an em dash; the comma splits name and source.withMdxcn → Quote
- ```console
- Terminal. Also sh / bash / zsh fences that have $ prompts.withMdxcn → Terminal
- text[^1]
- Footnotes. The GFM section at the end of the page gets a frame.withMdxcn → Footnotes