Authoring Primitives¶
A primitive is a canonical documentation concept in the mcp-zen-of-docs code surface. The
server currently exposes 22 primitive identifiers through AuthoringPrimitive. Syntax differs by
framework; the concept does not. The profile tool resolves any primitive to its framework-native
form.
The 22 canonical primitives¶
| Identifier | What it represents |
|---|---|
frontmatter |
YAML metadata block at the top of a page |
heading-h1 |
Page-level H1 heading |
admonition |
Callout block such as note, warning, or tip |
code-fence |
Fenced code block with optional language and metadata |
navigation-entry |
Sidebar, nav, or table-of-contents entry |
snippet |
Reusable inline or block include/content snippet |
table |
Markdown or HTML table |
task-list |
Checkbox task list |
image |
Embedded image with alt text and optional caption/title |
link |
Inline link or cross-reference |
footnote |
Footnote reference plus definition |
tabs |
Tabbed panels for alternative content |
diagram |
Mermaid, Graphviz, or similar diagram block |
api-endpoint |
Structured endpoint/reference section |
step-list |
Ordered procedural list for walkthroughs |
badge |
Inline badge for version, status, or build state |
card-grid |
Multi-card layout/grid |
button |
Link styled as a call-to-action button |
tooltip |
Hover-revealed explanatory text |
math |
Inline or display math notation |
formatting |
Inline emphasis beyond plain prose (highlight, superscript, etc.) |
icons-emojis |
Inline iconography and emoji shortcodes |
Code-truth note
The identifiers above match the source enum used by the MCP server. The examples below focus on the most common author-facing patterns rather than exhaustively showing all 22 primitives.
Common syntax reference¶
heading-h1, link, and basic formatting¶
frontmatter¶
admonition¶
button¶
No native button primitive in Docusaurus, VitePress, or Starlight — use a custom CSS class or component.
code-fence¶
tabs¶
VitePress supports code-group for code-only tabs, not general content tabs.
table¶
diagram¶
flowchart LR
A[Input] --> B[Process] --> C[Output]
Docusaurus/Starlight use the same Mermaid syntax after enabling a plugin. Docusaurus: @docusaurus/theme-mermaid. Starlight: starlight-mermaid.
footnote¶
Not supported in Docusaurus or Starlight — use remark-footnotes or inline parenthetical notes.
formatting¶
Only GFM ~~strikethrough~~ is available in Docusaurus, VitePress, and Starlight. Other extensions require custom CSS.
card-grid¶
No native grid primitive in Docusaurus, VitePress, or Starlight — use a custom React/Vue component or CSS grid.
icons-emojis¶
image¶
task-list and step-list¶
math¶
tooltip¶
Not supported in Docusaurus, VitePress, or Starlight — abbreviation expansion and hover tooltips require custom components.
badge, snippet, navigation-entry, and api-endpoint¶
These four primitives are part of the canonical source vocabulary, but they are usually expressed through project-specific patterns rather than one universal Markdown shape:
badge— inline status badges in README/docs landing pagessnippet— reusable include or shared-content mechanismnavigation-entry— framework-specific sidebar/nav configurationapi-endpoint— structured endpoint sections in API docs
Use profile when you need the exact framework-native guidance for one of these primitives.
What to read next¶
-
profile tool
Resolve or translate any primitive to its framework-native syntax programmatically.
-
Frameworks overview
Full primitive support matrix and framework comparison.