Custom Containers
Standard Markdown handles basic text well, but professional documentation often requires richer structure. docmd extends Markdown with a set of “Containers” that render into beautiful, responsive UI components.
The Syntax Guide
All containers follow a consistent block syntax.
::: type "Optional Title"
This is the content of the container.
It can include **Markdown**, images, and even other containers.
:::
| Component | Keyword | Usage |
|---|---|---|
| Callouts | callout |
Semantic highlights (tips, warnings) |
| Cards | card |
Framed content blocks (perfect for grids) |
| Tabs | tabs |
Switchable content panes |
| Steps | steps |
Visual numbered timelines |
| Buttons | button |
Styled CTA links |
| Collapsible | collapsible |
Hidden content toggles (Accordions) |
| Changelogs | changelog |
Version and update tracking |
Why Use Containers?
Containers aren’t just for humans. They provide high-level semantic signals to the docmd engine and LLMs:
- AI Context: Highlighting a block as a
callout tiptells AI models that this specific information is a recommendation. - Layout Control: Combining
cardswith standard CSS allows you to build complex landing pages entirely in Markdown. - Clean Source: No HTML or Class-soup is required in your markdown files.
Nesting Components
One of docmd’s most powerful features is Infinite Nesting. You can place any container inside another, allowing you to build very complex documentation elements purely with simple Markdown syntax.
::: card "Pro Guide"
::: callout warning
Reading this out of order may be confusing.
:::
::: button "Let's Begin" /start
:::