Examples: Extensions β
Features that ship off and must be switched on, covering both corpus-pinned Tier-2 behavior and snapshot-verified Tier-3 extensions.
Extensions you enable β
These extensions ship off. Register their exported handler in the processor's extensions array to switch them on.
Citations, numbered β
Bracketed [@key] citations with numbered output and a references list.
17 conformance fixtures in tests/corpus-optional
Pinned when this feature is enabled - not part of the mandatory corpus.
05-citations-numbered.crv07-citations-undefined-key.crv08-citations-attr-span.crv09-citations-locator-semicolon.crv13-citations-locator-page.crv14-citations-locator-range-suffix.crv15-citations-locator-labels.crv16-citations-locator-default-page.crv17-citations-locator-roman.crv18-citations-label-boundary.crv19-citations-comma-suffix-trim.crv20-citations-empty-value.crv21-citations-integral.crv22-citations-group-marker-vs-item.crv23-citations-suppress-per-item.crv24-citations-trailing-comma.crv43-citations-at-label-in-reference-position.crv
Smith [@smith2020] and others [see @jones2019, p. 4; -@doe2021] agree.
[@smith2020]: {author="Smith" year="2020"} Smith, J. (2020). *A Study*. Pub.
[@jones2019]: {author="Jones" year="2019"} Jones, A. (2019). *Notes*. Pub.
[@doe2021]: {author="Doe" year="2021"} Doe, R. (2021). *Work*. Pub.<p>Smith [<a data-cite-key="smith2020" href="#ref-smith2020">1</a>] and others [see <a data-cite-key="jones2019" data-cite-prefix="see" data-locator-label="page" data-locator="4" href="#ref-jones2019">2</a>, p. 4, <a data-cite-key="doe2021" data-suppress-author="true" href="#ref-doe2021">3</a>] agree.</p>
<ol class="references">
<li id="ref-smith2020">Smith, J. (2020). <strong>A Study</strong>. Pub.</li>
<li id="ref-jones2019">Jones, A. (2019). <strong>Notes</strong>. Pub.</li>
<li id="ref-doe2021">Doe, R. (2021). <strong>Work</strong>. Pub.</li>
</ol>A defined [@known] and an undefined [@missing] reference.
[@known]: Known, A. (2020). *Defined*. Pub.<p>A defined [<a data-cite-key="known" href="#ref-known">1</a>] and an undefined [@missing] reference.</p>
<ol class="references">
<li id="ref-known">Known, A. (2020). <strong>Defined</strong>. Pub.</li>
</ol>A [@key]{.ref} is a span, not a citation.<p>A <span class="ref"><span class="mention"><strong>@key</strong></span></span> is a span, not a citation.</p>A locator with a semicolon [@a, p. 1; 2] is literal.
[@a]: A, B. (2019). *Work*. Pub.<p>A locator with a semicolon [<span class="mention"><strong>@a</strong></span>, p. 1; 2] is literal.</p>See [@k, p. 4] here.
[@k]: {author="K" year="2020"} K. (2020). *Work*. Pub.
[@smith2020]: {author="Smith" year="2020"} Smith, J. (2020). *A Study*. Pub.
[@a]: {author="Aye" year="2021"} Aye, A. (2021). *Notes*. Pub.
[@b]: {author="Bee" year="2019"} Bee, B. (2019). *More*. Pub.<p>See [<a data-cite-key="k" data-locator-label="page" data-locator="4" href="#ref-k">1</a>, p. 4] here.</p>
<ol class="references">
<li id="ref-k">K. (2020). <strong>Work</strong>. Pub.</li>
</ol>See [@k, pp. 33-35, 38 and *passim*] here.
[@k]: {author="K" year="2020"} K. (2020). *Work*. Pub.
[@smith2020]: {author="Smith" year="2020"} Smith, J. (2020). *A Study*. Pub.
[@a]: {author="Aye" year="2021"} Aye, A. (2021). *Notes*. Pub.
[@b]: {author="Bee" year="2019"} Bee, B. (2019). *More*. Pub.<p>See [<a data-cite-key="k" data-locator-label="page" data-locator="33-35, 38" data-suffix="and passim" href="#ref-k">1</a>, pp. 33-35, 38 and <strong>passim</strong>] here.</p>
<ol class="references">
<li id="ref-k">K. (2020). <strong>Work</strong>. Pub.</li>
</ol>A [@k, chap. 2] and [@k, Β§ 5].
[@k]: {author="K" year="2020"} K. (2020). *Work*. Pub.
[@smith2020]: {author="Smith" year="2020"} Smith, J. (2020). *A Study*. Pub.
[@a]: {author="Aye" year="2021"} Aye, A. (2021). *Notes*. Pub.
[@b]: {author="Bee" year="2019"} Bee, B. (2019). *More*. Pub.<p>A [<a data-cite-key="k" data-locator-label="chapter" data-locator="2" href="#ref-k">1</a>, chap. 2] and [<a data-cite-key="k" data-locator-label="section" data-locator="5" href="#ref-k">1</a>, Β§ 5].</p>
<ol class="references">
<li id="ref-k">K. (2020). <strong>Work</strong>. Pub.</li>
</ol>A [@k, 4] cite.
[@k]: {author="K" year="2020"} K. (2020). *Work*. Pub.
[@smith2020]: {author="Smith" year="2020"} Smith, J. (2020). *A Study*. Pub.
[@a]: {author="Aye" year="2021"} Aye, A. (2021). *Notes*. Pub.
[@b]: {author="Bee" year="2019"} Bee, B. (2019). *More*. Pub.<p>A [<a data-cite-key="k" data-locator-label="page" data-locator="4" href="#ref-k">1</a>, 4] cite.</p>
<ol class="references">
<li id="ref-k">K. (2020). <strong>Work</strong>. Pub.</li>
</ol>A [@k, iv] cite.
[@k]: {author="K" year="2020"} K. (2020). *Work*. Pub.
[@smith2020]: {author="Smith" year="2020"} Smith, J. (2020). *A Study*. Pub.
[@a]: {author="Aye" year="2021"} Aye, A. (2021). *Notes*. Pub.
[@b]: {author="Bee" year="2019"} Bee, B. (2019). *More*. Pub.<p>A [<a data-cite-key="k" data-suffix="iv" href="#ref-k">1</a>, iv] cite.</p>
<ol class="references">
<li id="ref-k">K. (2020). <strong>Work</strong>. Pub.</li>
</ol>B [@k, pageant], [@k, vol.2], [@k, voli], [@k, Β§5], [@k, p. iv].
[@k]: {author="K" year="2020"} K. (2020). *Work*. Pub.
[@smith2020]: {author="Smith" year="2020"} Smith, J. (2020). *A Study*. Pub.
[@a]: {author="Aye" year="2021"} Aye, A. (2021). *Notes*. Pub.
[@b]: {author="Bee" year="2019"} Bee, B. (2019). *More*. Pub.<p>B [<a data-cite-key="k" data-suffix="pageant" href="#ref-k">1</a>, pageant], [<a data-cite-key="k" data-locator-label="volume" data-locator="2" href="#ref-k">1</a>, vol.2], [<a data-cite-key="k" data-suffix="voli" href="#ref-k">1</a>, voli], [<a data-cite-key="k" data-locator-label="section" data-locator="5" href="#ref-k">1</a>, Β§5], [<a data-cite-key="k" data-locator-label="page" data-locator="iv" href="#ref-k">1</a>, p. iv].</p>
<ol class="references">
<li id="ref-k">K. (2020). <strong>Work</strong>. Pub.</li>
</ol>C [@k, p. 4, see also] x.
[@k]: {author="K" year="2020"} K. (2020). *Work*. Pub.
[@smith2020]: {author="Smith" year="2020"} Smith, J. (2020). *A Study*. Pub.
[@a]: {author="Aye" year="2021"} Aye, A. (2021). *Notes*. Pub.
[@b]: {author="Bee" year="2019"} Bee, B. (2019). *More*. Pub.<p>C [<a data-cite-key="k" data-locator-label="page" data-locator="4" data-suffix="see also" href="#ref-k">1</a>, p. 4, see also] x.</p>
<ol class="references">
<li id="ref-k">K. (2020). <strong>Work</strong>. Pub.</li>
</ol>D [@k, p.] and [@k, chap. *two*].
[@k]: {author="K" year="2020"} K. (2020). *Work*. Pub.
[@smith2020]: {author="Smith" year="2020"} Smith, J. (2020). *A Study*. Pub.
[@a]: {author="Aye" year="2021"} Aye, A. (2021). *Notes*. Pub.
[@b]: {author="Bee" year="2019"} Bee, B. (2019). *More*. Pub.<p>D [<a data-cite-key="k" data-locator-label="page" href="#ref-k">1</a>, p.] and [<a data-cite-key="k" data-locator-label="chapter" data-suffix="two" href="#ref-k">1</a>, chap. <strong>two</strong>].</p>
<ol class="references">
<li id="ref-k">K. (2020). <strong>Work</strong>. Pub.</li>
</ol>[+@smith2020] says so.
[@k]: {author="K" year="2020"} K. (2020). *Work*. Pub.
[@smith2020]: {author="Smith" year="2020"} Smith, J. (2020). *A Study*. Pub.
[@a]: {author="Aye" year="2021"} Aye, A. (2021). *Notes*. Pub.
[@b]: {author="Bee" year="2019"} Bee, B. (2019). *More*. Pub.<p><span class="citation" data-cite-mode="integral">[<a data-cite-key="smith2020" href="#ref-smith2020">1</a>]</span> says so.</p>
<ol class="references">
<li id="ref-smith2020">Smith, J. (2020). <strong>A Study</strong>. Pub.</li>
</ol>[+@a; @b] then [@a; +@b] then [+-@k].
[@k]: {author="K" year="2020"} K. (2020). *Work*. Pub.
[@smith2020]: {author="Smith" year="2020"} Smith, J. (2020). *A Study*. Pub.
[@a]: {author="Aye" year="2021"} Aye, A. (2021). *Notes*. Pub.
[@b]: {author="Bee" year="2019"} Bee, B. (2019). *More*. Pub.<p><span class="citation" data-cite-mode="integral">[<a data-cite-key="a" href="#ref-a">1</a>, <a data-cite-key="b" href="#ref-b">2</a>]</span> then [<a data-cite-key="a" href="#ref-a">1</a>, + <a data-cite-key="b" data-cite-prefix="+" href="#ref-b">2</a>] then <span class="citation" data-cite-mode="integral">[<a data-cite-key="k" data-suppress-author="true" href="#ref-k">3</a>]</span>.</p>
<ol class="references">
<li id="ref-a">Aye, A. (2021). <strong>Notes</strong>. Pub.</li>
<li id="ref-b">Bee, B. (2019). <strong>More</strong>. Pub.</li>
<li id="ref-k">K. (2020). <strong>Work</strong>. Pub.</li>
</ol>[@a; -@b] mixed.
[@k]: {author="K" year="2020"} K. (2020). *Work*. Pub.
[@smith2020]: {author="Smith" year="2020"} Smith, J. (2020). *A Study*. Pub.
[@a]: {author="Aye" year="2021"} Aye, A. (2021). *Notes*. Pub.
[@b]: {author="Bee" year="2019"} Bee, B. (2019). *More*. Pub.<p>[<a data-cite-key="a" href="#ref-a">1</a>, <a data-cite-key="b" data-suppress-author="true" href="#ref-b">2</a>] mixed.</p>
<ol class="references">
<li id="ref-a">Aye, A. (2021). <strong>Notes</strong>. Pub.</li>
<li id="ref-b">Bee, B. (2019). <strong>More</strong>. Pub.</li>
</ol>See [@smith2020,].
[@smith2020]: Smith, J. (2020).<p>See [<a data-cite-key="smith2020" href="#ref-smith2020">1</a>].</p>
<ol class="references">
<li id="ref-smith2020">Smith, J. (2020).</li>
</ol>[t][@a] and ![t][@a] and [@a] alone.
[@a]: {author="A" year="2020"} A. (2020). Work.<p>[t][@a] and ![t][@a] and [<a data-cite-key="a" href="#ref-a">1</a>] alone.</p>
<ol class="references">
<li id="ref-a">A. (2020). Work.</li>
</ol>Citations, author-date β
Bracketed [@key] citations with author-date output and a sorted references list.
1 conformance fixture in tests/corpus-optional
Pinned when this feature is enabled - not part of the mandatory corpus.
Smith [@smith2020] and others [see @jones2019, p. 4; -@doe2021] agree.
[@smith2020]: {author="Smith" year="2020"} Smith, J. (2020). *A Study*. Pub.
[@jones2019]: {author="Jones" year="2019"} Jones, A. (2019). *Notes*. Pub.
[@doe2021]: {author="Doe" year="2021"} Doe, R. (2021). *Work*. Pub.<p>Smith (<a data-cite-key="smith2020" href="#ref-smith2020">Smith 2020</a>) and others (see <a data-cite-key="jones2019" data-cite-prefix="see" data-locator-label="page" data-locator="4" href="#ref-jones2019">Jones 2019</a>, p. 4; <a data-cite-key="doe2021" data-suppress-author="true" href="#ref-doe2021">2021</a>) agree.</p>
<ul class="references">
<li id="ref-doe2021">Doe, R. (2021). <strong>Work</strong>. Pub.</li>
<li id="ref-jones2019">Jones, A. (2019). <strong>Notes</strong>. Pub.</li>
<li id="ref-smith2020">Smith, J. (2020). <strong>A Study</strong>. Pub.</li>
</ul>CodeCallouts β
In-code <n> markers render as <b class="callout"> bubbles and the following <n> list binds as <ol class="callouts"> with explicit values.
3 conformance fixtures in tests/corpus-optional
Pinned when this feature is enabled - not part of the mandatory corpus.
```js
const x = compute(); <1>
return x * 2; <2>
```
<1> Runs the expensive step once.
<2> Doubles the result.<pre><code class="language-js">const x = compute(); <b class="callout" data-callout="1">1</b>
return x * 2; <b class="callout" data-callout="2">2</b>
</code></pre>
<ol class="callouts">
<li value="1">Runs the expensive step once.</li>
<li value="2">Doubles the result.</li>
</ol>```
plain();
```
<1> orphan.<pre><code>plain();
</code></pre>
<p><1> orphan.</p>```
foo() <1>
```
not a callout line.<pre><code>foo() <b class="callout" data-callout="1">1</b>
</code></pre>
<p>not a callout line.</p>Details β
The details summary renders the quoted title's inline markup (phrasing content).
1 conformance fixture in tests/corpus-optional
Pinned when this feature is enabled - not part of the mandatory corpus.
::: details "a *b* `c`"
Hidden.
:::<details>
<summary>a <strong>b</strong> <code>c</code></summary>
<p>Hidden.</p>
</details>ListTable β
The list-table caption renders the quoted title's inline markup (phrasing content).
2 conformance fixtures in tests/corpus-optional
Pinned when this feature is enabled - not part of the mandatory corpus.
::: list-table "Q *totals*"
- - A
- B
:::<table>
<caption>Q <strong>totals</strong></caption>
<tbody>
<tr><td>A</td><td>B</td></tr>
</tbody>
</table>{header-rows=1}
{header-cols=1}
::: list-table
- - Region
- Q1
- - EMEA
- 10
:::<table>
<thead>
<tr><th scope="col">Region</th><th scope="col">Q1</th></tr>
</thead>
<tbody>
<tr><th scope="row">EMEA</th><td>10</td></tr>
</tbody>
</table>ListTable column metadata and footer rows β
ListTable shares positional column attributes and adds per-cell align/valign overrides; widths and the head/body/foot partition survive together.
1 conformance fixture in tests/corpus-optional
Pinned when this feature is enabled - not part of the mandatory corpus.
{header-rows=1 footer-rows=1 aligns="left,right" valigns="top,bottom" widths="30,70"}
::: list-table
- - Region
- Total
- -{align=center valign=middle} North
- 11
- - All
- 33
:::<table>
<colgroup>
<col style="width: 30%;">
<col style="width: 70%;">
</colgroup>
<thead>
<tr><th scope="col" style="text-align: left; vertical-align: top;">Region</th><th scope="col" style="text-align: right; vertical-align: bottom;">Total</th></tr>
</thead>
<tbody>
<tr><td style="text-align: center; vertical-align: middle;">North</td><td style="text-align: right; vertical-align: bottom;">11</td></tr>
</tbody>
<tfoot>
<tr><td style="text-align: left; vertical-align: top;">All</td><td style="text-align: right; vertical-align: bottom;">33</td></tr>
</tfoot>
</table>ListTable local headers and body groups β
A header-row attribute on a row's first cell starts a body group with an intermediate column-header row; a header attribute promotes only its own cell.
1 conformance fixture in tests/corpus-optional
Pinned when this feature is enabled - not part of the mandatory corpus.
::: list-table
- -{header-row} Name
- Value
- - Alpha
- 1
- -{header-row} Name again
- Value again
- - Beta
-{header} Total
:::<table>
<tbody>
<tr><th scope="col">Name</th><th scope="col">Value</th></tr>
<tr><td>Alpha</td><td>1</td></tr>
</tbody>
<tbody>
<tr><th scope="col">Name again</th><th scope="col">Value again</th></tr>
<tr><td>Beta</td><th scope="row">Total</th></tr>
</tbody>
</table>Spoiler β
The spoiler summary renders the quoted title's inline markup (phrasing content).
1 conformance fixture in tests/corpus-optional
Pinned when this feature is enabled - not part of the mandatory corpus.
::: spoiler "a *b*"
Hidden.
:::<details class="spoiler">
<summary>a <strong>b</strong></summary>
<p>Hidden.</p>
</details>Tabs β
A tab's quoted title is content: it stays inside the panel as the admonition-title line while the [label] becomes the tab button.
3 conformance fixtures in tests/corpus-optional
Pinned when this feature is enabled - not part of the mandatory corpus.
:::: tabs
::: tab "Inner *Title*" [First]
Content one.
:::
```html
<div class="tabs" role="group" aria-label="Tabs">
<input type="radio" name="tabset-1" id="tabset-1-tab-1" class="tabs-radio" checked>
<label for="tabset-1-tab-1" class="tabs-label">First</label>
<div class="tabs-panel" role="group" aria-label="First">
<p class="admonition-title">Inner <strong>Title</strong></p>
<p>Content one.</p>
</div>
</div>::::
:::: tabs
::: tab [First]
Content one.
:::
::: tab [R&D "core" <x>]
Content two.
:::
```html
<div class="tabs" role="group" aria-label="Tabs">
<input type="radio" name="tabset-1" id="tabset-1-tab-1" class="tabs-radio" checked>
<label for="tabset-1-tab-1" class="tabs-label">First</label>
<input type="radio" name="tabset-1" id="tabset-1-tab-2" class="tabs-radio">
<label for="tabset-1-tab-2" class="tabs-label">R&D "core" <x></label>
<div class="tabs-panel" role="group" aria-label="First">
<p>Content one.</p>
</div>
<div class="tabs-panel" role="group" aria-label="R&D "core" <x>">
<p>Content two.</p>
</div>
</div>::::
:::: tabs
::: tab [First]
Content one.
:::
{selected}
::: tab [Second]
Content two.
:::
{selected}
::: tab [Third]
Content three.
:::
```html
<div class="tabs" role="group" aria-label="Tabs">
<input type="radio" name="tabset-1" id="tabset-1-tab-1" class="tabs-radio">
<label for="tabset-1-tab-1" class="tabs-label">First</label>
<input type="radio" name="tabset-1" id="tabset-1-tab-2" class="tabs-radio" checked>
<label for="tabset-1-tab-2" class="tabs-label">Second</label>
<input type="radio" name="tabset-1" id="tabset-1-tab-3" class="tabs-radio">
<label for="tabset-1-tab-3" class="tabs-label">Third</label>
<div class="tabs-panel" role="group" aria-label="First">
<p>Content one.</p>
</div>
<div class="tabs-panel" role="group" aria-label="Second">
<p>Content two.</p>
</div>
<div class="tabs-panel" role="group" aria-label="Third">
<p>Content three.</p>
</div>
</div>::::
Tabs in aria mode β
In aria mode a panel is bound rather than named: role="tabpanel" with aria-labelledby and hidden on every non-selected panel, and no role="group". The control is type="button", not the implicit submit.
2 conformance fixtures in tests/corpus-optional
Pinned when this feature is enabled - not part of the mandatory corpus.
:::: tabs
::: tab [First]
Content one.
:::
::: tab [R&D "core" <x>]
Content two.
:::
```html
<div class="tabs" role="tablist" aria-label="Tabs">
<button type="button" role="tab" id="tabset-1-tab-1" aria-selected="true" aria-controls="tabset-1-panel-1" class="tabs-label">First</button>
<button type="button" role="tab" id="tabset-1-tab-2" aria-selected="false" aria-controls="tabset-1-panel-2" class="tabs-label" tabindex="-1">R&D "core" <x></button>
<div role="tabpanel" id="tabset-1-panel-1" aria-labelledby="tabset-1-tab-1" class="tabs-panel">
<p>Content one.</p>
</div>
<div role="tabpanel" id="tabset-1-panel-2" aria-labelledby="tabset-1-tab-2" class="tabs-panel" hidden>
<p>Content two.</p>
</div>
</div>::::
:::: tabs
::: tab [First]
Content one.
:::
{selected}
::: tab [Second]
Content two.
:::
{selected}
::: tab [Third]
Content three.
:::
```html
<div class="tabs" role="tablist" aria-label="Tabs">
<button type="button" role="tab" id="tabset-1-tab-1" aria-selected="false" aria-controls="tabset-1-panel-1" class="tabs-label" tabindex="-1">First</button>
<button type="button" role="tab" id="tabset-1-tab-2" aria-selected="true" aria-controls="tabset-1-panel-2" class="tabs-label">Second</button>
<button type="button" role="tab" id="tabset-1-tab-3" aria-selected="false" aria-controls="tabset-1-panel-3" class="tabs-label" tabindex="-1">Third</button>
<div role="tabpanel" id="tabset-1-panel-1" aria-labelledby="tabset-1-tab-1" class="tabs-panel" hidden>
<p>Content one.</p>
</div>
<div role="tabpanel" id="tabset-1-panel-2" aria-labelledby="tabset-1-tab-2" class="tabs-panel">
<p>Content two.</p>
</div>
<div role="tabpanel" id="tabset-1-panel-3" aria-labelledby="tabset-1-tab-3" class="tabs-panel" hidden>
<p>Content three.</p>
</div>
</div>::::
SemanticSpan β
The four names core does not reserve - samp, var, cite, dfn - render as their elements when the SemanticSpan extension is enabled, under the same attribute spelling, nesting order and value mapping core uses for its three (PART 9 Β§10).
2 conformance fixtures in tests/corpus-optional
Pinned when this feature is enabled - not part of the mandatory corpus.
[x]{samp} [y]{var} [Dune]{cite} [CSS]{dfn="Cascading Style Sheets"}<p><samp>x</samp> <var>y</var> <cite>Dune</cite> <dfn title="Cascading Style Sheets">CSS</dfn></p>:kbd[Ctrl] and :samp[out]<p><kbd>Ctrl</kbd> and <samp>out</samp></p>Core syntax with configured resolution β
This syntax is Tier-1 core; these examples show resolution behavior supplied through processor configuration.
Mention and tag URL templates β
Mention and tag rendering with configured URL templates.
1 conformance fixture in tests/corpus-optional
Pinned when this feature is enabled - not part of the mandatory corpus.
Hey @alice, see #release-1.0.<p>Hey <a class="mention" href="/users/alice">@alice</a>, see <a class="tag" href="/topics/release-1.0">#release-1.0</a>.</p>Symbol map β
Symbol shortcode rendering against a supplied map (e.g. emoji glyphs), plus name-shape and word-boundary literal cases.
2 conformance fixtures in tests/corpus-optional
Pinned when this feature is enabled - not part of the mandatory corpus.
:rocket: :tada: :+1: and :UPPER: mapped; (:rocket:) too.
Literal: a:b:c, 10:30: meeting, :_x: stays text.
Attributes wrap: :rocket:{.big}<p>π π π and β¬οΈ mapped; (π) too.</p>
<p>Literal: a:b:c, 10:30: meeting, :_x: stays text.</p>
<p>Attributes wrap: <span class="big">π</span></p># Release :tada:
Ship it :rocket: -- the pipeline is green.
A `:rocket:` inside a code span stays literal, and :unmapped: keeps its
source spelling because the map has no entry for it.# Release :tada:
Ship it :rocket: β the pipeline is green.
A `:rocket:` inside a code span stays literal, and :unmapped: keeps its
source spelling because the map has no entry for it.Smart quotes (de locale) β
Locale-specific smart quotes using German quote characters.
1 conformance fixture in tests/corpus-optional
Pinned when this feature is enabled - not part of the mandatory corpus.
"Hello" and 'bye'<p>βHelloβ and βbyeβ</p>Bare-URL autolinking β
Bare URLs become links when autolinking is explicitly enabled.
1 conformance fixture in tests/corpus-optional
Pinned when this feature is enabled - not part of the mandatory corpus.
Visit https://example.com now.<p>Visit <a href="https://example.com">https://example.com</a> now.</p>Tier-3 extensions β
Tier-3 is never corpus-pinned; these examples are verified by tests/examples-tier3.test.mjs instead. See also diagrams, SVG images, the extension tutorial, and the numbered Tier-3 sections in Extensions.
Generated from resources/examples/extensions.md - edit the cases there, not here. Each case links the conformance fixture it produces.
Diagrams and charts β
Hand-written source: resources/examples-tier3.md.
MathBlock β
``` math
\int_0^1 x^2 \, dx
```<div class="math display">\[\int_0^1 x^2 \, dx\]</div>CodeGroup β
::: code-group
``` js [JavaScript]
console.log("hi")
```
``` py [Python]
print("hi")
```
:::<div class="code-group" role="group" aria-label="Code examples">
<input type="radio" name="codegroup-1" id="codegroup-1-tab-1" class="code-group-radio" checked>
<label for="codegroup-1-tab-1" class="code-group-label">JavaScript</label>
<input type="radio" name="codegroup-1" id="codegroup-1-tab-2" class="code-group-radio">
<label for="codegroup-1-tab-2" class="code-group-label">Python</label>
<div class="code-group-panel" role="group" aria-label="JavaScript"><pre><code class="language-js">console.log("hi")
</code></pre>
</div>
<div class="code-group-panel" role="group" aria-label="Python"><pre><code class="language-py">print("hi")
</code></pre>
</div>
</div>Wikilinks β
See [[Tiger facts|tigers]].<p>See <a href="tiger-facts" class="wikilink" data-wikilink="Tiger facts">tigers</a>.</p>HeadingPermalinks β
# Stable heading<section id="Stable-heading">
<h1>Stable heading <a href="#Stable-heading" class="permalink" aria-label="Permalink">ΒΆ</a></h1>
</section>ExternalLinks β
Read [the guide](https://example.com/guide).<p>Read <a href="https://example.com/guide" target="_blank" rel="noopener noreferrer">the guide</a>.</p>ColorSwatch β
Not enabled on this site, so the output is shown rather than rendered.
Brand color is :color[#3c8772] here.<p>Brand color is <span class="swatch"><span class="swatch-chip" style="background-color:#3c8772"></span> #3c8772</span> here.</p>HeadingNumbers β
Not enabled on this site, so the output is shown rather than rendered.
# Intro
### Setup
### Usage<section id="Intro">
<h1><span class="section-number">1</span> Intro</h1>
<section id="Setup">
<h2><span class="section-number">1.1</span> Setup</h2>
</section>
<section id="Usage">
<h2><span class="section-number">1.2</span> Usage</h2>
</section>
</section>HeadingLevelShift β
Not enabled on this site, so the output is shown rather than rendered.
# Top
### Under<section id="Top">
<h2>Top</h2>
<section id="Under">
<h3>Under</h3>
</section>
</section>TableOfContents β
Not enabled on this site, so the output is shown rather than rendered.
# Alpha
# Beta<nav class="toc" aria-label="Table of contents">
<ul>
<li><a href="#Alpha">Alpha</a></li>
<li><a href="#Beta">Beta</a></li>
</ul>
</nav>
<section id="Alpha">
<h1>Alpha</h1>
</section>
<section id="Beta">
<h1>Beta</h1>
</section>Glossary β
Not enabled on this site, so the output is shown rather than rendered.
::: glossary
:: API
: Application Programming Interface.Use the :term[API].
```html
<dl class="glossary">
<dt id="gloss-api">API</dt>
<dd>Application Programming Interface.</dd>
</dl>
<p>Use the <a href="#gloss-api" class="term">API</a>.</p>:::
Index β
Not enabled on this site, so the output is shown rather than rendered.
Carve:index[markup] is small.
::: index
```html
<p>Carve<span id="idx-markup-1" class="index-term"></span> is small.</p>
<ul class="index">
<li>markup <a href="#idx-markup-1" class="index-backref" aria-label="Back to markup">β©</a></li>
</ul>:::