Callout
Use a callout for advisory content that stands apart from the flow: a warning before a destructive step, a tip, a note about scope. Markset adopts GitHub's alert syntax unchanged, so a bare > [!NOTE] renders natively on GitHub too. A title after the marker and a - or + fold suffix are Obsidian's extension; on GitHub those forms fall back to an ordinary blockquote with the marker visible.
Five types exist: NOTE, TIP, IMPORTANT, WARNING, CAUTION. Anything else is an error, because the vocabulary is closed.
Attributes
A callout takes none of its own. The type, the optional title and the fold suffix are all part of the marker line. An attribute line before the blockquote attaches an id or classes to the callout itself.
| Part | Where | Values |
|---|---|---|
| Type | After [! on the first line |
NOTE TIP IMPORTANT WARNING CAUTION, case-insensitive |
| Title | Rest of the marker line | Inline content; defaults to the type name, title-cased |
| Fold | Directly after the marker | - collapsed, + expanded, neither for a plain callout |
Downgrade: a blockquote whose first paragraph is the type name in bold followed by the title, then the body. The fold indicator is dropped.
Examples
The marker, a title on the same line, and a body. This is GitHub's alert syntax unchanged, so it renders natively there too.
canonical
Source
> [!WARNING] Breaking change in v3
> The `render()` signature changed.
Rendered
The render() signature changed.
Downgrade
> **Warning:** Breaking change in v3
>
> The `render()` signature changed.
A trailing - folds the callout. With no title, the type name is used. It becomes a <details> element, so folding needs no script.
collapsed by default, no title
Source
> [!NOTE]-
> Collapsed by default.
Rendered
Note
Collapsed by default.
Downgrade
> **Note:**
>
> Collapsed by default.
The body is ordinary block content. Lists, code and further paragraphs all work; only the first line is special.
body with several blocks
Source
> [!NOTE] T
> one
>
> - a
> - b
Rendered
one
- a
- b
Downgrade
> **Note:** T
>
> one
>
> - a
> - b
A callout is a blockquote, so a directive inside it needs no extra fencing. The downgrade keeps both.
nested: callout containing a card
Source
> [!NOTE] T
> :::card
> x
> :::
Rendered
x
Downgrade
> **Note:** T
>
> x
What the validator catches
Every error below is specified; nothing degrades silently.
unknown type stays a blockquote
invalid
Source
> [!FOO] x
Rendered
[!FOO] x
Diagnostics: CALLOUT_UNKNOWN_TYPE
All 16 cases for callout are in the conformance browser. The normative text is spec §4.