Markus gallery
Every built-in directive, rendered from Markus source.
Every directive, live
This page is itself Markus. Each section is a real block from the 0.1 registry, followed by the source that produced it.
Callouts
Callout source
:::callout{kind="note" title="Note"}
Use a note for editorial guidance, not for warnings the reader must not miss.
:::
:::warning{title="Warning"}
`:::warning` is an alias for `:::callout{kind="warning"}`.
:::
Pull quote
The least obvious part of a system, its function or purpose, is often its most crucial determinant of the system’s behavior.
Pull-quote source
:::pull-quote{attribution="Donella Meadows" source="Thinking in Systems" tone="primary"}
The least obvious part of a system, its function or purpose, is often its most crucial determinant of the system’s behavior.
:::
Inline attribute lists also work, which is handy when the quote is already a Markdown blockquote:
Measure what matters, then improve what you can.
Card grid
Keep Markdown
Ordinary paragraphs, lists, tables, and code fences stay GFM. Directives wrap them.
Validate attributes
Each block has a Pydantic schema. Extra keys fail the build.
Render meaning
Output is semantic HTML: figure, aside, article, section — not anonymous divs.
:::feature-grid / :::feature-card are aliases for the same blocks.
Two-up
Conventional Markdown
Authors reach for raw HTML or a pile of images when the page needs structure.
Markus
Authors name the structure. The theme chooses a responsive layout, including print.
On a three-column track, ratio divides the row into proportional parts:
Primary (2 parts)
Wider column for the main narrative.
Aside (1 part)
Narrow column for a sidebar or counterpoint.
Lead (1 part)
Narrow setup or qualifier.
Body (2 parts)
Wider column when the second side should dominate.
Full width
span=full on a card spans every column in the grid.
Figure
Details and aside
Progressive disclosure
Details are for material that is true but not on the main path: caveats, source listings, extra procedure.
Metric
- Local round trip
- 12msp95-38%
Leaf directives use two colons and take no body: ::metric{value="12ms" unit="p95" label="Local round trip" delta="-38%"}.
Tabs
brew install anthus-markus
pip install anthus-markus
Step list
1. Author intent
Choose semantic directives that declare structure without presentation classes.
2. Validate strictly
Compile through strict Pydantic schemas that reject arbitrary CSS.
3. Render anywhere
Generate accessible HTML, styled for web and print.