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

Breaking change in v3

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

T

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

T

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.