Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-11-17 14:33:21 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-11-17 14:33:21 +0300
commit7021455bd1ed7b125c55eb1b33c5a01f2bc55ee0 (patch)
tree5bdc2229f5198d516781f8d24eace62fc7e589e9 /glfm_specification
parent185b095e93520f96e9cfc31d9c3e69b498cdab7c (diff)
Add latest changes from gitlab-org/gitlab@15-6-stable-eev15.6.0-rc42
Diffstat (limited to 'glfm_specification')
-rw-r--r--glfm_specification/input/gitlab_flavored_markdown/glfm_internal_extensions.md (renamed from glfm_specification/input/gitlab_flavored_markdown/glfm_internal_extension_examples.md)2
-rw-r--r--glfm_specification/input/gitlab_flavored_markdown/glfm_intro.md3
-rw-r--r--glfm_specification/input/gitlab_flavored_markdown/glfm_official_specification.md (renamed from glfm_specification/input/gitlab_flavored_markdown/glfm_official_specification_examples.md)8
-rw-r--r--glfm_specification/output/spec.html9219
-rw-r--r--glfm_specification/output_example_snapshots/examples_index.yml (renamed from glfm_specification/example_snapshots/examples_index.yml)1390
-rw-r--r--glfm_specification/output_example_snapshots/html.yml (renamed from glfm_specification/example_snapshots/html.yml)217
-rw-r--r--glfm_specification/output_example_snapshots/markdown.yml (renamed from glfm_specification/example_snapshots/markdown.yml)0
-rw-r--r--glfm_specification/output_example_snapshots/prosemirror_json.yml (renamed from glfm_specification/example_snapshots/prosemirror_json.yml)0
-rw-r--r--glfm_specification/output_example_snapshots/snapshot_spec.html10245
-rw-r--r--glfm_specification/output_example_snapshots/snapshot_spec.md (renamed from glfm_specification/output/spec.txt)346
-rw-r--r--glfm_specification/output_spec/spec.html304
-rw-r--r--glfm_specification/output_spec/spec.txt287
12 files changed, 11644 insertions, 10377 deletions
diff --git a/glfm_specification/input/gitlab_flavored_markdown/glfm_internal_extension_examples.md b/glfm_specification/input/gitlab_flavored_markdown/glfm_internal_extensions.md
index 171a8e430d3..d2b94806826 100644
--- a/glfm_specification/input/gitlab_flavored_markdown/glfm_internal_extension_examples.md
+++ b/glfm_specification/input/gitlab_flavored_markdown/glfm_internal_extensions.md
@@ -1,3 +1,4 @@
+<!-- BEGIN TESTS -->
# GitLab Internal Extension Markdown
## Audio
@@ -109,3 +110,4 @@ also requires an EE license enabling the `group_wikis` feature:
.
<p><a href="group-wikis-test-file">group-wikis-test-file</a></p>
````````````````````````````````
+<!-- END TESTS -->
diff --git a/glfm_specification/input/gitlab_flavored_markdown/glfm_intro.md b/glfm_specification/input/gitlab_flavored_markdown/glfm_intro.md
deleted file mode 100644
index b5351bf37de..00000000000
--- a/glfm_specification/input/gitlab_flavored_markdown/glfm_intro.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Introduction
-
-TODO: Write a GitLab-specific version of the GitHub Flavored Markdown intro section.
diff --git a/glfm_specification/input/gitlab_flavored_markdown/glfm_official_specification_examples.md b/glfm_specification/input/gitlab_flavored_markdown/glfm_official_specification.md
index f2b62b1a4ac..e45ae62309d 100644
--- a/glfm_specification/input/gitlab_flavored_markdown/glfm_official_specification_examples.md
+++ b/glfm_specification/input/gitlab_flavored_markdown/glfm_official_specification.md
@@ -1,7 +1,12 @@
+# Introduction
+
+TODO: Write a GitLab-specific version of the GitHub Flavored Markdown intro section.
+
+<!-- BEGIN TESTS -->
# GitLab Official Specification Markdown
Currently, only some of the GitLab-specific markdown features are
-listed in this section. We will eventually add all
+listed in this section. We may eventually add all
GitLab-specific features currently listed as supported in the
[user-facing documentation for GitLab Flavored Markdown](https://docs.gitlab.com/ee/user/markdown.html).
@@ -275,3 +280,4 @@ A table of contents can be indented with up to three spaces.
</nav>
<h1>Heading 1</h1>
````````````````````````````````
+<!-- END TESTS -->
diff --git a/glfm_specification/output/spec.html b/glfm_specification/output/spec.html
deleted file mode 100644
index e57cd344618..00000000000
--- a/glfm_specification/output/spec.html
+++ /dev/null
@@ -1,9219 +0,0 @@
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1:1-4:3" class="code highlight js-syntax-highlight language-yaml" lang="yaml" data-lang-params="frontmatter" v-pre="true"><code><span id="LC1" class="line" lang="yaml"><span class="na">title</span><span class="pi">:</span> <span class="s">GitLab Flavored Markdown (GLFM) Spec</span></span>
-<span id="LC2" class="line" lang="yaml"><span class="na">version</span><span class="pi">:</span> <span class="s">alpha</span></span></code></pre>
-<copy-code></copy-code>
-</div>
-<h1 data-sourcepos="6:1-6:14" dir="auto">
-<a id="user-content-introduction" class="anchor" href="#introduction" aria-hidden="true"></a>Introduction</h1>
-<p data-sourcepos="8:1-8:84" dir="auto">TODO: Write a GitLab-specific version of the GitHub Flavored Markdown intro section.</p>
-<h1 data-sourcepos="10:1-10:15" dir="auto">
-<a id="user-content-preliminaries" class="anchor" href="#preliminaries" aria-hidden="true"></a>Preliminaries</h1>
-<h2 data-sourcepos="12:1-12:23" dir="auto">
-<a id="user-content-characters-and-lines" class="anchor" href="#characters-and-lines" aria-hidden="true"></a>Characters and lines</h2>
-<p data-sourcepos="14:1-15:9" dir="auto">Any sequence of [characters] is a valid CommonMark
-document.</p>
-<p data-sourcepos="17:1-20:26" dir="auto">A <a href="@">character</a> is a Unicode code point. Although some
-code points (for example, combining accents) do not correspond to
-characters in an intuitive sense, all code points count as characters
-for purposes of this spec.</p>
-<p data-sourcepos="22:1-24:22" dir="auto">This spec does not specify an encoding; it thinks of lines as composed
-of [characters] rather than bytes. A conforming parser may be limited
-to a certain encoding.</p>
-<p data-sourcepos="26:1-28:50" dir="auto">A <a href="@">line</a> is a sequence of zero or more [characters]
-other than newline (<code>U+000A</code>) or carriage return (<code>U+000D</code>),
-followed by a [line ending] or by the end of file.</p>
-<p data-sourcepos="30:1-32:18" dir="auto">A <a href="@">line ending</a> is a newline (<code>U+000A</code>), a carriage return
-(<code>U+000D</code>) not followed by a newline, or a carriage return and a
-following newline.</p>
-<p data-sourcepos="34:1-35:59" dir="auto">A line containing no characters, or a line containing only spaces
-(<code>U+0020</code>) or tabs (<code>U+0009</code>), is called a <a href="@">blank line</a>.</p>
-<p data-sourcepos="37:1-37:73" dir="auto">The following definitions of character classes will be used in this spec:</p>
-<p data-sourcepos="39:1-41:52" dir="auto">A <a href="@">whitespace character</a> is a space
-(<code>U+0020</code>), tab (<code>U+0009</code>), newline (<code>U+000A</code>), line tabulation (<code>U+000B</code>),
-form feed (<code>U+000C</code>), or carriage return (<code>U+000D</code>).</p>
-<p data-sourcepos="43:1-44:12" dir="auto"><a href="@">Whitespace</a> is a sequence of one or more [whitespace
-characters].</p>
-<p data-sourcepos="46:1-49:11" dir="auto">A <a href="@">Unicode whitespace character</a> is
-any code point in the Unicode <code>Zs</code> general category, or a tab (<code>U+0009</code>),
-carriage return (<code>U+000D</code>), newline (<code>U+000A</code>), or form feed
-(<code>U+000C</code>).</p>
-<p data-sourcepos="51:1-52:40" dir="auto"><a href="@">Unicode whitespace</a> is a sequence of one
-or more [Unicode whitespace characters].</p>
-<p data-sourcepos="54:1-54:25" dir="auto">A <a href="@">space</a> is <code>U+0020</code>.</p>
-<p data-sourcepos="56:1-57:37" dir="auto">A <a href="@">non-whitespace character</a> is any character
-that is not a [whitespace character].</p>
-<p data-sourcepos="59:1-64:38" dir="auto">An <a href="@">ASCII punctuation character</a>
-is <code>!</code>, <code>"</code>, <code>#</code>, <code>$</code>, <code>%</code>, <code>&amp;</code>, <code>'</code>, <code>(</code>, <code>)</code>,
-<code>*</code>, <code>+</code>, <code>,</code>, <code>-</code>, <code>.</code>, <code>/</code> (U+0021–2F),
-<code>:</code>, <code>;</code>, <code>&lt;</code>, <code>=</code>, <code>&gt;</code>, <code>?</code>, <code>@</code> (U+003A–0040),
-<code>[</code>, <code>\</code>, <code>]</code>, <code>^</code>, <code>_</code>, <code>`</code> (U+005B–0060),
-<code>{</code>, <code>|</code>, <code>}</code>, or <code>~</code> (U+007B–007E).</p>
-<p data-sourcepos="66:1-68:76" dir="auto">A <a href="@">punctuation character</a> is an [ASCII
-punctuation character] or anything in
-the general Unicode categories <code>Pc</code>, <code>Pd</code>, <code>Pe</code>, <code>Pf</code>, <code>Pi</code>, <code>Po</code>, or <code>Ps</code>.</p>
-<h2 data-sourcepos="70:1-70:7" dir="auto">
-<a id="user-content-tabs" class="anchor" href="#tabs" aria-hidden="true"></a>Tabs</h2>
-<p data-sourcepos="72:1-75:16" dir="auto">Tabs in lines are not expanded to [spaces]. However,
-in contexts where whitespace helps to define block structure,
-tabs behave as if they were replaced by spaces with a tab stop
-of 4 characters.</p>
-<p data-sourcepos="77:1-80:8" dir="auto">Thus, for example, a tab can be used instead of four spaces
-in an indented code block. (Note, however, that internal
-tabs are passed through as literal tabs, not expanded to
-spaces.)</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="82:1-87:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">→foo→baz→→bim</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo→baz→→bim</span>
-<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="89:1-94:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> →foo→baz→→bim</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo→baz→→bim</span>
-<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="96:1-103:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> a→a</span>
-<span id="LC2" class="line" lang="plaintext"> ὐ→a</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;a→a</span>
-<span id="LC5" class="line" lang="plaintext">ὐ→a</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="105:1-107:38" dir="auto">In the following example, a continuation paragraph of a list
-item is indented with a tab; this has exactly the same effect
-as indentation with four spaces would:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="109:1-120:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> - foo</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">→bar</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="122:1-134:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">→→bar</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt; bar</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="136:1-143:36" dir="auto">Normally the <code>&gt;</code> that begins a block quote may be followed
-optionally by a space, which is not considered part of the
-content. In the following case <code>&gt;</code> is followed by a tab,
-which is treated as if it were expanded into three spaces.
-Since one of these spaces is considered part of the
-delimiter, <code>foo</code> is considered to be indented six spaces
-inside the block quote context, so we get an indented
-code block starting with two spaces.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="145:1-152:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt;→→foo</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC4" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt; foo</span>
-<span id="LC5" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="154:1-163:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">-→→foo</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC4" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt; foo</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="166:1-173:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> foo</span>
-<span id="LC2" class="line" lang="plaintext">→bar</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo</span>
-<span id="LC5" class="line" lang="plaintext">bar</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="175:1-191:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> - foo</span>
-<span id="LC2" class="line" lang="plaintext"> - bar</span>
-<span id="LC3" class="line" lang="plaintext">→ - baz</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;foo</span>
-<span id="LC7" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;li&gt;bar</span>
-<span id="LC9" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;li&gt;baz&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="193:1-197:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">#→Foo</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;h1&gt;Foo&lt;/h1&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="199:1-203:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*→*→*→</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="206:1-206:22" dir="auto">
-<a id="user-content-insecure-characters" class="anchor" href="#insecure-characters" aria-hidden="true"></a>Insecure characters</h2>
-<p data-sourcepos="208:1-209:42" dir="auto">For security reasons, the Unicode character <code>U+0000</code> must be replaced
-with the REPLACEMENT CHARACTER (<code>U+FFFD</code>).</p>
-<h1 data-sourcepos="211:1-211:20" dir="auto">
-<a id="user-content-blocks-and-inlines" class="anchor" href="#blocks-and-inlines" aria-hidden="true"></a>Blocks and inlines</h1>
-<p data-sourcepos="213:1-218:54" dir="auto">We can think of a document as a sequence of
-<a href="@">blocks</a>---structural elements like paragraphs, block
-quotations, lists, headings, rules, and code blocks. Some blocks (like
-block quotes and list items) contain other blocks; others (like
-headings and paragraphs) contain <a href="@">inline</a> content---text,
-links, emphasized text, images, code spans, and so on.</p>
-<h2 data-sourcepos="220:1-220:13" dir="auto">
-<a id="user-content-precedence" class="anchor" href="#precedence" aria-hidden="true"></a>Precedence</h2>
-<p data-sourcepos="222:1-224:59" dir="auto">Indicators of block structure always take precedence over indicators
-of inline structure. So, for example, the following is a list with
-two items, not a list with one item containing a code span:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="226:1-234:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- `one</span>
-<span id="LC2" class="line" lang="plaintext">- two`</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;li&gt;`one&lt;/li&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;two`&lt;/li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="237:1-244:66" dir="auto">This means that parsing can proceed in two steps: first, the block
-structure of the document can be discerned; second, text lines inside
-paragraphs, headings, and other block constructs can be parsed for inline
-structure. The second step requires information about link reference
-definitions that will be available only at the end of the first
-step. Note that the first step requires processing lines in sequence,
-but the second can be parallelized, since the inline parsing of
-one block element does not affect the inline parsing of any other.</p>
-<h2 data-sourcepos="246:1-246:35" dir="auto">
-<a id="user-content-container-blocks-and-leaf-blocks" class="anchor" href="#container-blocks-and-leaf-blocks" aria-hidden="true"></a>Container blocks and leaf blocks</h2>
-<p data-sourcepos="248:1-251:13" dir="auto">We can divide blocks into two types:
-<a href="@">container blocks</a>,
-which can contain other blocks, and <a href="@">leaf blocks</a>,
-which cannot.</p>
-<h1 data-sourcepos="253:1-253:13" dir="auto">
-<a id="user-content-leaf-blocks" class="anchor" href="#leaf-blocks" aria-hidden="true"></a>Leaf blocks</h1>
-<p data-sourcepos="255:1-256:18" dir="auto">This section describes the different kinds of leaf block that make up a
-Markdown document.</p>
-<h2 data-sourcepos="258:1-258:18" dir="auto">
-<a id="user-content-thematic-breaks" class="anchor" href="#thematic-breaks" aria-hidden="true"></a>Thematic breaks</h2>
-<p data-sourcepos="260:1-263:20" dir="auto">A line consisting of 0-3 spaces of indentation, followed by a sequence
-of three or more matching <code>-</code>, <code>_</code>, or <code>*</code> characters, each followed
-optionally by any number of spaces or tabs, forms a
-<a href="@">thematic break</a>.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="265:1-273:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">***</span>
-<span id="LC2" class="line" lang="plaintext">---</span>
-<span id="LC3" class="line" lang="plaintext">___</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;hr /&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;hr /&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="276:1-276:17" dir="auto">Wrong characters:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="278:1-282:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">+++</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;+++&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="285:1-289:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">===</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;===&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="292:1-292:22" dir="auto">Not enough characters:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="294:1-302:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">--</span>
-<span id="LC2" class="line" lang="plaintext">**</span>
-<span id="LC3" class="line" lang="plaintext">__</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;--</span>
-<span id="LC6" class="line" lang="plaintext">**</span>
-<span id="LC7" class="line" lang="plaintext">__&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="305:1-305:39" dir="auto">One to three spaces indent are allowed:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="307:1-315:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> ***</span>
-<span id="LC2" class="line" lang="plaintext"> ***</span>
-<span id="LC3" class="line" lang="plaintext"> ***</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;hr /&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;hr /&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="318:1-318:24" dir="auto">Four spaces is too many:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="320:1-325:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> ***</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;***</span>
-<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="328:1-334:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
-<span id="LC2" class="line" lang="plaintext"> ***</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;Foo</span>
-<span id="LC5" class="line" lang="plaintext">***&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="337:1-337:39" dir="auto">More than three characters may be used:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="339:1-343:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_____________________________________</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="346:1-346:42" dir="auto">Spaces are allowed between the characters:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="348:1-352:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> - - -</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="355:1-359:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> ** * ** * ** * **</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="362:1-366:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- - - -</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="369:1-369:30" dir="auto">Spaces are allowed at the end:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="371:1-375:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- - - - </span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="378:1-378:51" dir="auto">However, no other characters may occur in the line:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="380:1-390:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_ _ _ _ a</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">a------</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">---a---</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;_ _ _ _ a&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;a------&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;---a---&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="393:1-394:33" dir="auto">It is required that all of the [non-whitespace characters] be the same.
-So, this is not a thematic break:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="396:1-400:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> *-*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;-&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="403:1-403:56" dir="auto">Thematic breaks do not need blank lines before or after:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="405:1-417:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
-<span id="LC2" class="line" lang="plaintext">***</span>
-<span id="LC3" class="line" lang="plaintext">- bar</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;hr /&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="420:1-420:42" dir="auto">Thematic breaks can interrupt a paragraph:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="422:1-430:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
-<span id="LC2" class="line" lang="plaintext">***</span>
-<span id="LC3" class="line" lang="plaintext">bar</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;Foo&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;hr /&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="433:1-437:71" dir="auto">If a line of dashes that meets the above conditions for being a
-thematic break could also be interpreted as the underline of a [setext
-heading], the interpretation as a
-[setext heading] takes precedence. Thus, for example,
-this is a setext heading, not a paragraph followed by a thematic break:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="439:1-446:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
-<span id="LC2" class="line" lang="plaintext">---</span>
-<span id="LC3" class="line" lang="plaintext">bar</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;h2&gt;Foo&lt;/h2&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="449:1-450:63" dir="auto">When both a thematic break and a list item are possible
-interpretations of a line, the thematic break takes precedence:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="452:1-464:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">* Foo</span>
-<span id="LC2" class="line" lang="plaintext">* * *</span>
-<span id="LC3" class="line" lang="plaintext">* Bar</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;Foo&lt;/li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;hr /&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;li&gt;Bar&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="467:1-467:68" dir="auto">If you want a thematic break in a list item, use a different bullet:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="469:1-479:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- Foo</span>
-<span id="LC2" class="line" lang="plaintext">- * * *</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;li&gt;Foo&lt;/li&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;hr /&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="482:1-482:15" dir="auto">
-<a id="user-content-atx-headings" class="anchor" href="#atx-headings" aria-hidden="true"></a>ATX headings</h2>
-<p data-sourcepos="484:1-494:35" dir="auto">An <a href="@">ATX heading</a>
-consists of a string of characters, parsed as inline content, between an
-opening sequence of 1--6 unescaped <code>#</code> characters and an optional
-closing sequence of any number of unescaped <code>#</code> characters.
-The opening sequence of <code>#</code> characters must be followed by a
-[space] or by the end of line. The optional closing sequence of <code>#</code>s must be
-preceded by a [space] and may be followed by spaces only. The opening
-<code>#</code> character may be indented 0-3 spaces. The raw contents of the
-heading are stripped of leading and trailing spaces before being parsed
-as inline content. The heading level is equal to the number of <code>#</code>
-characters in the opening sequence.</p>
-<p data-sourcepos="496:1-496:16" dir="auto">Simple headings:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="498:1-512:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"># foo</span>
-<span id="LC2" class="line" lang="plaintext">## foo</span>
-<span id="LC3" class="line" lang="plaintext">### foo</span>
-<span id="LC4" class="line" lang="plaintext">#### foo</span>
-<span id="LC5" class="line" lang="plaintext">##### foo</span>
-<span id="LC6" class="line" lang="plaintext">###### foo</span>
-<span id="LC7" class="line" lang="plaintext">.</span>
-<span id="LC8" class="line" lang="plaintext">&lt;h1&gt;foo&lt;/h1&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;h2&gt;foo&lt;/h2&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;h3&gt;foo&lt;/h3&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;h4&gt;foo&lt;/h4&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;h5&gt;foo&lt;/h5&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;h6&gt;foo&lt;/h6&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="515:1-515:46" dir="auto">More than six <code>#</code> characters is not a heading:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="517:1-521:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">####### foo</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;####### foo&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="524:1-530:9" dir="auto">At least one space is required between the <code>#</code> characters and the
-heading's contents, unless the heading is empty. Note that many
-implementations currently do not require the space. However, the
-space was required by the
-<a href="http://www.aaronsw.com/2002/atx/atx.py" rel="nofollow noreferrer noopener" target="_blank">original ATX implementation</a>,
-and it helps prevent things like the following from being parsed as
-headings:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="532:1-539:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">#5 bolt</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">#hashtag</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;#5 bolt&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;#hashtag&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="542:1-542:56" dir="auto">This is not a heading, because the first <code>#</code> is escaped:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="544:1-548:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">\## foo</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;## foo&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="551:1-551:31" dir="auto">Contents are parsed as inlines:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="553:1-557:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"># foo *bar* \*baz\*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;h1&gt;foo &lt;em&gt;bar&lt;/em&gt; *baz*&lt;/h1&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="560:1-560:71" dir="auto">Leading and trailing [whitespace] is ignored in parsing inline content:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="562:1-566:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"># foo </span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;h1&gt;foo&lt;/h1&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="569:1-569:44" dir="auto">One to three spaces indentation are allowed:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="571:1-579:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> ### foo</span>
-<span id="LC2" class="line" lang="plaintext"> ## foo</span>
-<span id="LC3" class="line" lang="plaintext"> # foo</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;h3&gt;foo&lt;/h3&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;h2&gt;foo&lt;/h2&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;h1&gt;foo&lt;/h1&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="582:1-582:25" dir="auto">Four spaces are too much:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="584:1-589:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> # foo</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;# foo</span>
-<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="592:1-598:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span>
-<span id="LC2" class="line" lang="plaintext"> # bar</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;foo</span>
-<span id="LC5" class="line" lang="plaintext"># bar&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="601:1-601:49" dir="auto">A closing sequence of <code>#</code> characters is optional:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="603:1-609:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">## foo ##</span>
-<span id="LC2" class="line" lang="plaintext"> ### bar ###</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;h2&gt;foo&lt;/h2&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;h3&gt;bar&lt;/h3&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="612:1-612:55" dir="auto">It need not be the same length as the opening sequence:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="614:1-620:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"># foo ##################################</span>
-<span id="LC2" class="line" lang="plaintext">##### foo ##</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;h1&gt;foo&lt;/h1&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;h5&gt;foo&lt;/h5&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="623:1-623:46" dir="auto">Spaces are allowed after the closing sequence:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="625:1-629:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">### foo ### </span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;h3&gt;foo&lt;/h3&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="632:1-634:8" dir="auto">A sequence of <code>#</code> characters with anything but [spaces] following it
-is not a closing sequence, but counts as part of the contents of the
-heading:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="636:1-640:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">### foo ### b</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;h3&gt;foo ### b&lt;/h3&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="643:1-643:49" dir="auto">The closing sequence must be preceded by a space:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="645:1-649:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"># foo#</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;h1&gt;foo#&lt;/h1&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="652:1-653:24" dir="auto">Backslash-escaped <code>#</code> characters do not count as part
-of the closing sequence:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="655:1-663:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">### foo \###</span>
-<span id="LC2" class="line" lang="plaintext">## foo #\##</span>
-<span id="LC3" class="line" lang="plaintext"># foo \#</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;h3&gt;foo ###&lt;/h3&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;h2&gt;foo ###&lt;/h2&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;h1&gt;foo #&lt;/h1&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="666:1-667:41" dir="auto">ATX headings need not be separated from surrounding content by blank
-lines, and they can interrupt paragraphs:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="669:1-677:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">****</span>
-<span id="LC2" class="line" lang="plaintext">## foo</span>
-<span id="LC3" class="line" lang="plaintext">****</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;hr /&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;h2&gt;foo&lt;/h2&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="680:1-688:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo bar</span>
-<span id="LC2" class="line" lang="plaintext"># baz</span>
-<span id="LC3" class="line" lang="plaintext">Bar foo</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;Foo bar&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;h1&gt;baz&lt;/h1&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;Bar foo&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="691:1-691:26" dir="auto">ATX headings can be empty:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="693:1-701:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">## </span>
-<span id="LC2" class="line" lang="plaintext">#</span>
-<span id="LC3" class="line" lang="plaintext">### ###</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;h2&gt;&lt;/h2&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;h1&gt;&lt;/h1&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;h3&gt;&lt;/h3&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="704:1-704:18" dir="auto">
-<a id="user-content-setext-headings" class="anchor" href="#setext-headings" aria-hidden="true"></a>Setext headings</h2>
-<p data-sourcepos="706:1-714:54" dir="auto">A <a href="@">setext heading</a> consists of one or more
-lines of text, each containing at least one [non-whitespace
-character], with no more than 3 spaces indentation, followed by
-a [setext heading underline]. The lines of text must be such
-that, were they not followed by the setext heading underline,
-they would be interpreted as a paragraph: they cannot be
-interpretable as a [code fence], [ATX heading][ATX headings],
-[block quote][block quotes], [thematic break][thematic breaks],
-[list item][list items], or [HTML block][HTML blocks].</p>
-<p data-sourcepos="716:1-721:40" dir="auto">A <a href="@">setext heading underline</a> is a sequence of
-<code>=</code> characters or a sequence of <code>-</code> characters, with no more than 3
-spaces indentation and any number of trailing spaces. If a line
-containing a single <code>-</code> can be interpreted as an
-empty [list items], it should be interpreted this way
-and not as a [setext heading underline].</p>
-<p data-sourcepos="723:1-727:8" dir="auto">The heading is a level 1 heading if <code>=</code> characters are used in
-the [setext heading underline], and a level 2 heading if <code>-</code>
-characters are used. The contents of the heading are the result
-of parsing the preceding lines of text as CommonMark inline
-content.</p>
-<p data-sourcepos="729:1-732:5" dir="auto">In general, a setext heading need not be preceded or followed by a
-blank line. However, it cannot interrupt a paragraph, so when a
-setext heading comes after a paragraph, a blank line is needed between
-them.</p>
-<p data-sourcepos="734:1-734:16" dir="auto">Simple examples:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="736:1-745:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo *bar*</span>
-<span id="LC2" class="line" lang="plaintext">=========</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">Foo *bar*</span>
-<span id="LC5" class="line" lang="plaintext">---------</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;h1&gt;Foo &lt;em&gt;bar&lt;/em&gt;&lt;/h1&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;h2&gt;Foo &lt;em&gt;bar&lt;/em&gt;&lt;/h2&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="748:1-748:54" dir="auto">The content of the header may span more than one line:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="750:1-757:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo *bar</span>
-<span id="LC2" class="line" lang="plaintext">baz*</span>
-<span id="LC3" class="line" lang="plaintext">====</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;h1&gt;Foo &lt;em&gt;bar</span>
-<span id="LC6" class="line" lang="plaintext">baz&lt;/em&gt;&lt;/h1&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="759:1-762:13" dir="auto">The contents are the result of parsing the headings's raw
-content as inlines. The heading's raw content is formed by
-concatenating the lines and removing initial and final
-[whitespace].</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="764:1-771:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> Foo *bar</span>
-<span id="LC2" class="line" lang="plaintext">baz*→</span>
-<span id="LC3" class="line" lang="plaintext">====</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;h1&gt;Foo &lt;em&gt;bar</span>
-<span id="LC6" class="line" lang="plaintext">baz&lt;/em&gt;&lt;/h1&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="774:1-774:34" dir="auto">The underlining can be any length:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="776:1-785:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
-<span id="LC2" class="line" lang="plaintext">-------------------------</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">Foo</span>
-<span id="LC5" class="line" lang="plaintext">=</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;h2&gt;Foo&lt;/h2&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;h1&gt;Foo&lt;/h1&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="788:1-789:33" dir="auto">The heading content can be indented up to three spaces, and need
-not line up with the underlining:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="791:1-804:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> Foo</span>
-<span id="LC2" class="line" lang="plaintext">---</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext"> Foo</span>
-<span id="LC5" class="line" lang="plaintext">-----</span>
-<span id="LC6" class="line" lang="plaintext"></span>
-<span id="LC7" class="line" lang="plaintext"> Foo</span>
-<span id="LC8" class="line" lang="plaintext"> ===</span>
-<span id="LC9" class="line" lang="plaintext">.</span>
-<span id="LC10" class="line" lang="plaintext">&lt;h2&gt;Foo&lt;/h2&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;h2&gt;Foo&lt;/h2&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;h1&gt;Foo&lt;/h1&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="807:1-807:31" dir="auto">Four spaces indent is too much:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="809:1-822:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> Foo</span>
-<span id="LC2" class="line" lang="plaintext"> ---</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext"> Foo</span>
-<span id="LC5" class="line" lang="plaintext">---</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;Foo</span>
-<span id="LC8" class="line" lang="plaintext">---</span>
-<span id="LC9" class="line" lang="plaintext"></span>
-<span id="LC10" class="line" lang="plaintext">Foo</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="825:1-826:25" dir="auto">The setext heading underline can be indented up to three spaces, and
-may have trailing spaces:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="828:1-833:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
-<span id="LC2" class="line" lang="plaintext"> ---- </span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;h2&gt;Foo&lt;/h2&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="836:1-836:24" dir="auto">Four spaces is too much:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="838:1-844:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
-<span id="LC2" class="line" lang="plaintext"> ---</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;Foo</span>
-<span id="LC5" class="line" lang="plaintext">---&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="847:1-847:60" dir="auto">The setext heading underline cannot contain internal spaces:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="849:1-860:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
-<span id="LC2" class="line" lang="plaintext">= =</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">Foo</span>
-<span id="LC5" class="line" lang="plaintext">--- -</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;Foo</span>
-<span id="LC8" class="line" lang="plaintext">= =&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;Foo&lt;/p&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="863:1-863:62" dir="auto">Trailing spaces in the content line do not cause a line break:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="865:1-870:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo </span>
-<span id="LC2" class="line" lang="plaintext">-----</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;h2&gt;Foo&lt;/h2&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="873:1-873:32" dir="auto">Nor does a backslash at the end:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="875:1-880:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo\</span>
-<span id="LC2" class="line" lang="plaintext">----</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;h2&gt;Foo\&lt;/h2&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="883:1-884:66" dir="auto">Since indicators of block structure take precedence over
-indicators of inline structure, the following are setext headings:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="886:1-899:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`Foo</span>
-<span id="LC2" class="line" lang="plaintext">----</span>
-<span id="LC3" class="line" lang="plaintext">`</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">&lt;a title="a lot</span>
-<span id="LC6" class="line" lang="plaintext">---</span>
-<span id="LC7" class="line" lang="plaintext">of dashes"/&gt;</span>
-<span id="LC8" class="line" lang="plaintext">.</span>
-<span id="LC9" class="line" lang="plaintext">&lt;h2&gt;`Foo&lt;/h2&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;p&gt;`&lt;/p&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;h2&gt;&amp;lt;a title=&amp;quot;a lot&lt;/h2&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;p&gt;of dashes&amp;quot;/&amp;gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="902:1-903:36" dir="auto">The setext heading underline cannot be a [lazy continuation
-line] in a list item or block quote:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="905:1-913:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; Foo</span>
-<span id="LC2" class="line" lang="plaintext">---</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;Foo&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="916:1-926:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; foo</span>
-<span id="LC2" class="line" lang="plaintext">bar</span>
-<span id="LC3" class="line" lang="plaintext">===</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;foo</span>
-<span id="LC7" class="line" lang="plaintext">bar</span>
-<span id="LC8" class="line" lang="plaintext">===&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="929:1-937:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- Foo</span>
-<span id="LC2" class="line" lang="plaintext">---</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;li&gt;Foo&lt;/li&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="940:1-942:25" dir="auto">A blank line is needed between a paragraph and a following
-setext heading, since otherwise the paragraph becomes part
-of the heading's content:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="944:1-951:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
-<span id="LC2" class="line" lang="plaintext">Bar</span>
-<span id="LC3" class="line" lang="plaintext">---</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;h2&gt;Foo</span>
-<span id="LC6" class="line" lang="plaintext">Bar&lt;/h2&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="954:1-955:16" dir="auto">But in general a blank line is not required before or after
-setext headings:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="957:1-969:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">---</span>
-<span id="LC2" class="line" lang="plaintext">Foo</span>
-<span id="LC3" class="line" lang="plaintext">---</span>
-<span id="LC4" class="line" lang="plaintext">Bar</span>
-<span id="LC5" class="line" lang="plaintext">---</span>
-<span id="LC6" class="line" lang="plaintext">Baz</span>
-<span id="LC7" class="line" lang="plaintext">.</span>
-<span id="LC8" class="line" lang="plaintext">&lt;hr /&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;h2&gt;Foo&lt;/h2&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;h2&gt;Bar&lt;/h2&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;p&gt;Baz&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="972:1-972:32" dir="auto">Setext headings cannot be empty:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="974:1-979:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"></span>
-<span id="LC2" class="line" lang="plaintext">====</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;====&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="982:1-984:55" dir="auto">Setext heading text lines must not be interpretable as block
-constructs other than paragraphs. So, the line of dashes
-in these examples gets interpreted as a thematic break:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="986:1-992:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">---</span>
-<span id="LC2" class="line" lang="plaintext">---</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;hr /&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="995:1-1003:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
-<span id="LC2" class="line" lang="plaintext">-----</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1006:1-1013:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> foo</span>
-<span id="LC2" class="line" lang="plaintext">---</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo</span>
-<span id="LC5" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1016:1-1024:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; foo</span>
-<span id="LC2" class="line" lang="plaintext">-----</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1027:1-1028:22" dir="auto">If you want a heading with <code>&gt; foo</code> as its literal text, you can
-use backslash escapes:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1030:1-1035:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">\&gt; foo</span>
-<span id="LC2" class="line" lang="plaintext">------</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;h2&gt;&amp;gt; foo&lt;/h2&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1038:1-1040:48" dir="auto"><strong>Compatibility note:</strong> Most existing Markdown implementations
-do not allow the text of setext headings to span multiple lines.
-But there is no consensus about how to interpret</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1042:1-1047:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown">Foo</span>
-<span id="LC2" class="line" lang="markdown"><span class="gh">bar</span></span>
-<span id="LC3" class="line" lang="markdown"><span class="gh">---</span></span>
-<span id="LC4" class="line" lang="markdown">baz</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1049:1-1049:44" dir="auto">One can find four different interpretations:</p>
-<ol data-sourcepos="1051:1-1055:0" dir="auto">
-<li data-sourcepos="1051:1-1051:50">paragraph "Foo", heading "bar", paragraph "baz"</li>
-<li data-sourcepos="1052:1-1052:55">paragraph "Foo bar", thematic break, paragraph "baz"</li>
-<li data-sourcepos="1053:1-1053:30">paragraph "Foo bar --- baz"</li>
-<li data-sourcepos="1054:1-1055:0">heading "Foo bar", paragraph "baz"</li>
-</ol>
-<p data-sourcepos="1056:1-1059:43" dir="auto">We find interpretation 4 most natural, and interpretation 4
-increases the expressive power of CommonMark, by allowing
-multiline headings. Authors who want interpretation 1 can
-put a blank line after the first paragraph:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1061:1-1071:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">bar</span>
-<span id="LC4" class="line" lang="plaintext">---</span>
-<span id="LC5" class="line" lang="plaintext">baz</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;Foo&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;h2&gt;bar&lt;/h2&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;baz&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1074:1-1075:19" dir="auto">Authors who want interpretation 2 can put blank lines around
-the thematic break,</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1077:1-1089:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
-<span id="LC2" class="line" lang="plaintext">bar</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">---</span>
-<span id="LC5" class="line" lang="plaintext"></span>
-<span id="LC6" class="line" lang="plaintext">baz</span>
-<span id="LC7" class="line" lang="plaintext">.</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;Foo</span>
-<span id="LC9" class="line" lang="plaintext">bar&lt;/p&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;hr /&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;p&gt;baz&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1092:1-1093:19" dir="auto">or use a thematic break that cannot count as a [setext heading
-underline], such as</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1095:1-1105:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
-<span id="LC2" class="line" lang="plaintext">bar</span>
-<span id="LC3" class="line" lang="plaintext">* * *</span>
-<span id="LC4" class="line" lang="plaintext">baz</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;Foo</span>
-<span id="LC7" class="line" lang="plaintext">bar&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;hr /&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;baz&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1108:1-1108:60" dir="auto">Authors who want interpretation 3 can use backslash escapes:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1110:1-1120:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
-<span id="LC2" class="line" lang="plaintext">bar</span>
-<span id="LC3" class="line" lang="plaintext">\---</span>
-<span id="LC4" class="line" lang="plaintext">baz</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;Foo</span>
-<span id="LC7" class="line" lang="plaintext">bar</span>
-<span id="LC8" class="line" lang="plaintext">---</span>
-<span id="LC9" class="line" lang="plaintext">baz&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="1123:1-1123:23" dir="auto">
-<a id="user-content-indented-code-blocks" class="anchor" href="#indented-code-blocks" aria-hidden="true"></a>Indented code blocks</h2>
-<p data-sourcepos="1125:1-1131:44" dir="auto">An <a href="@">indented code block</a> is composed of one or more
-[indented chunks] separated by blank lines.
-An <a href="@">indented chunk</a> is a sequence of non-blank lines,
-each indented four or more spaces. The contents of the code block are
-the literal contents of the lines, including trailing
-[line endings], minus four spaces of indentation.
-An indented code block has no [info string].</p>
-<p data-sourcepos="1133:1-1136:11" dir="auto">An indented code block cannot interrupt a paragraph, so there must be
-a blank line between a paragraph and a following indented code block.
-(A blank line is not needed, however, between a code block and a following
-paragraph.)</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1138:1-1145:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> a simple</span>
-<span id="LC2" class="line" lang="plaintext"> indented code block</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;a simple</span>
-<span id="LC5" class="line" lang="plaintext"> indented code block</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1148:1-1150:65" dir="auto">If there is any ambiguity between an interpretation of indentation
-as a code block and as indicating that material belongs to a [list
-item][list items], the list item interpretation takes precedence:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1152:1-1163:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> - foo</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> bar</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1166:1-1179:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. foo</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> - bar</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ol&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1183:1-1184:12" dir="auto">The contents of a code block are literal text, and do not get parsed
-as Markdown:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1186:1-1197:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> &lt;a/&gt;</span>
-<span id="LC2" class="line" lang="plaintext"> *hi*</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext"> - one</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&amp;lt;a/&amp;gt;</span>
-<span id="LC7" class="line" lang="plaintext">*hi*</span>
-<span id="LC8" class="line" lang="plaintext"></span>
-<span id="LC9" class="line" lang="plaintext">- one</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1200:1-1200:51" dir="auto">Here we have three chunks separated by blank lines:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1202:1-1219:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> chunk1</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> chunk2</span>
-<span id="LC4" class="line" lang="plaintext"> </span>
-<span id="LC5" class="line" lang="plaintext"> </span>
-<span id="LC6" class="line" lang="plaintext"> </span>
-<span id="LC7" class="line" lang="plaintext"> chunk3</span>
-<span id="LC8" class="line" lang="plaintext">.</span>
-<span id="LC9" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;chunk1</span>
-<span id="LC10" class="line" lang="plaintext"></span>
-<span id="LC11" class="line" lang="plaintext">chunk2</span>
-<span id="LC12" class="line" lang="plaintext"></span>
-<span id="LC13" class="line" lang="plaintext"></span>
-<span id="LC14" class="line" lang="plaintext"></span>
-<span id="LC15" class="line" lang="plaintext">chunk3</span>
-<span id="LC16" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1222:1-1223:24" dir="auto">Any initial spaces beyond four will be included in the content, even
-in interior blank lines:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1225:1-1234:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> chunk1</span>
-<span id="LC2" class="line" lang="plaintext"> </span>
-<span id="LC3" class="line" lang="plaintext"> chunk2</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;chunk1</span>
-<span id="LC6" class="line" lang="plaintext"> </span>
-<span id="LC7" class="line" lang="plaintext"> chunk2</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1237:1-1238:37" dir="auto">An indented code block cannot interrupt a paragraph. (This
-allows hanging indents and the like.)</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1240:1-1247:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
-<span id="LC2" class="line" lang="plaintext"> bar</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;Foo</span>
-<span id="LC6" class="line" lang="plaintext">bar&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1250:1-1252:20" dir="auto">However, any non-blank line with fewer than four leading spaces ends
-the code block immediately. So a paragraph may occur immediately
-after indented code:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1254:1-1261:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> foo</span>
-<span id="LC2" class="line" lang="plaintext">bar</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo</span>
-<span id="LC5" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1264:1-1265:7" dir="auto">And indented code can occur immediately before and after other kinds of
-blocks:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1267:1-1282:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"># Heading</span>
-<span id="LC2" class="line" lang="plaintext"> foo</span>
-<span id="LC3" class="line" lang="plaintext">Heading</span>
-<span id="LC4" class="line" lang="plaintext">------</span>
-<span id="LC5" class="line" lang="plaintext"> foo</span>
-<span id="LC6" class="line" lang="plaintext">----</span>
-<span id="LC7" class="line" lang="plaintext">.</span>
-<span id="LC8" class="line" lang="plaintext">&lt;h1&gt;Heading&lt;/h1&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;h2&gt;Heading&lt;/h2&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1285:1-1285:53" dir="auto">The first line can be indented more than four spaces:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1287:1-1294:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> foo</span>
-<span id="LC2" class="line" lang="plaintext"> bar</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt; foo</span>
-<span id="LC5" class="line" lang="plaintext">bar</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1297:1-1298:23" dir="auto">Blank lines preceding or following an indented code block
-are not included in it:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1300:1-1309:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"></span>
-<span id="LC2" class="line" lang="plaintext"> </span>
-<span id="LC3" class="line" lang="plaintext"> foo</span>
-<span id="LC4" class="line" lang="plaintext"> </span>
-<span id="LC5" class="line" lang="plaintext"></span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1312:1-1312:57" dir="auto">Trailing spaces are included in the code block's content:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1314:1-1319:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> foo </span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo </span>
-<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="1323:1-1323:21" dir="auto">
-<a id="user-content-fenced-code-blocks" class="anchor" href="#fenced-code-blocks" aria-hidden="true"></a>Fenced code blocks</h2>
-<p data-sourcepos="1325:1-1329:61" dir="auto">A <a href="@">code fence</a> is a sequence
-of at least three consecutive backtick characters (<code>`</code>) or
-tildes (<code>~</code>). (Tildes and backticks cannot be mixed.)
-A <a href="@">fenced code block</a>
-begins with a code fence, indented no more than three spaces.</p>
-<p data-sourcepos="1331:1-1337:34" dir="auto">The line with the opening code fence may optionally contain some text
-following the code fence; this is trimmed of leading and trailing
-whitespace and called the <a href="@">info string</a>. If the [info string] comes
-after a backtick fence, it may not contain any backtick
-characters. (The reason for this restriction is that otherwise
-some inline code would be incorrectly interpreted as the
-beginning of a fenced code block.)</p>
-<p data-sourcepos="1339:1-1346:43" dir="auto">The content of the code block consists of all subsequent lines, until
-a closing [code fence] of the same type as the code block
-began with (backticks or tildes), and with at least as many backticks
-or tildes as the opening code fence. If the leading code fence is
-indented N spaces, then up to N spaces of indentation are removed from
-each line of the content (if present). (If a content line is not
-indented, it is preserved unchanged. If it is indented less than N
-spaces, all of the indentation is removed.)</p>
-<p data-sourcepos="1348:1-1356:25" dir="auto">The closing code fence may be indented up to three spaces, and may be
-followed only by spaces, which are ignored. If the end of the
-containing block (or document) is reached and no closing code fence
-has been found, the code block contains all of the lines after the
-opening code fence until the end of the containing block (or
-document). (An alternative spec would require backtracking in the
-event that a closing code fence is not found. But this makes parsing
-much less efficient, and there seems to be no real down side to the
-behavior described here.)</p>
-<p data-sourcepos="1358:1-1359:36" dir="auto">A fenced code block may interrupt a paragraph, and does not require
-a blank line either before or after.</p>
-<p data-sourcepos="1361:1-1365:42" dir="auto">The content of a code fence is treated as literal text, not parsed
-as inlines. The first word of the [info string] is typically used to
-specify the language of the code sample, and rendered in the <code>class</code>
-attribute of the <code>code</code> tag. However, this spec does not mandate any
-particular treatment of the [info string].</p>
-<p data-sourcepos="1367:1-1367:40" dir="auto">Here is a simple example with backticks:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1369:1-1378:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```</span>
-<span id="LC2" class="line" lang="plaintext">&lt;</span>
-<span id="LC3" class="line" lang="plaintext"> &gt;</span>
-<span id="LC4" class="line" lang="plaintext">```</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&amp;lt;</span>
-<span id="LC7" class="line" lang="plaintext"> &amp;gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1381:1-1381:12" dir="auto">With tildes:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1383:1-1392:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">~~~</span>
-<span id="LC2" class="line" lang="plaintext">&lt;</span>
-<span id="LC3" class="line" lang="plaintext"> &gt;</span>
-<span id="LC4" class="line" lang="plaintext">~~~</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&amp;lt;</span>
-<span id="LC7" class="line" lang="plaintext"> &amp;gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1394:1-1394:41" dir="auto">Fewer than three backticks is not enough:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1396:1-1402:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">``</span>
-<span id="LC2" class="line" lang="plaintext">foo</span>
-<span id="LC3" class="line" lang="plaintext">``</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;foo&lt;/code&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1404:1-1405:6" dir="auto">The closing code fence must use the same character as the opening
-fence:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1407:1-1416:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```</span>
-<span id="LC2" class="line" lang="plaintext">aaa</span>
-<span id="LC3" class="line" lang="plaintext">~~~</span>
-<span id="LC4" class="line" lang="plaintext">```</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
-<span id="LC7" class="line" lang="plaintext">~~~</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1419:1-1428:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">~~~</span>
-<span id="LC2" class="line" lang="plaintext">aaa</span>
-<span id="LC3" class="line" lang="plaintext">```</span>
-<span id="LC4" class="line" lang="plaintext">~~~</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
-<span id="LC7" class="line" lang="plaintext">```</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1431:1-1431:69" dir="auto">The closing code fence must be at least as long as the opening fence:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1433:1-1442:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">````</span>
-<span id="LC2" class="line" lang="plaintext">aaa</span>
-<span id="LC3" class="line" lang="plaintext">```</span>
-<span id="LC4" class="line" lang="plaintext">``````</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
-<span id="LC7" class="line" lang="plaintext">```</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1445:1-1454:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">~~~~</span>
-<span id="LC2" class="line" lang="plaintext">aaa</span>
-<span id="LC3" class="line" lang="plaintext">~~~</span>
-<span id="LC4" class="line" lang="plaintext">~~~~</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
-<span id="LC7" class="line" lang="plaintext">~~~</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1457:1-1458:74" dir="auto">Unclosed code blocks are closed by the end of the document
-(or the enclosing [block quote][block quotes] or [list item][list items]):</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1460:1-1464:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1467:1-1477:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`````</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">```</span>
-<span id="LC4" class="line" lang="plaintext">aaa</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;</span>
-<span id="LC7" class="line" lang="plaintext">```</span>
-<span id="LC8" class="line" lang="plaintext">aaa</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1480:1-1491:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; ```</span>
-<span id="LC2" class="line" lang="plaintext">&gt; aaa</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">bbb</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;p&gt;bbb&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1494:1-1494:53" dir="auto">A code block can have all empty lines as its content:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1496:1-1505:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> </span>
-<span id="LC4" class="line" lang="plaintext">```</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;</span>
-<span id="LC7" class="line" lang="plaintext"> </span>
-<span id="LC8" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1508:1-1508:26" dir="auto">A code block can be empty:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1510:1-1515:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```</span>
-<span id="LC2" class="line" lang="plaintext">```</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1518:1-1520:11" dir="auto">Fences can be indented. If the opening fence is indented,
-content lines will have equivalent opening indentation removed,
-if present:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1522:1-1531:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> ```</span>
-<span id="LC2" class="line" lang="plaintext"> aaa</span>
-<span id="LC3" class="line" lang="plaintext">aaa</span>
-<span id="LC4" class="line" lang="plaintext">```</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
-<span id="LC7" class="line" lang="plaintext">aaa</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1534:1-1545:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> ```</span>
-<span id="LC2" class="line" lang="plaintext">aaa</span>
-<span id="LC3" class="line" lang="plaintext"> aaa</span>
-<span id="LC4" class="line" lang="plaintext">aaa</span>
-<span id="LC5" class="line" lang="plaintext"> ```</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
-<span id="LC8" class="line" lang="plaintext">aaa</span>
-<span id="LC9" class="line" lang="plaintext">aaa</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1548:1-1559:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> ```</span>
-<span id="LC2" class="line" lang="plaintext"> aaa</span>
-<span id="LC3" class="line" lang="plaintext"> aaa</span>
-<span id="LC4" class="line" lang="plaintext"> aaa</span>
-<span id="LC5" class="line" lang="plaintext"> ```</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
-<span id="LC8" class="line" lang="plaintext"> aaa</span>
-<span id="LC9" class="line" lang="plaintext">aaa</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1562:1-1562:56" dir="auto">Four spaces indentation produces an indented code block:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1564:1-1573:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> ```</span>
-<span id="LC2" class="line" lang="plaintext"> aaa</span>
-<span id="LC3" class="line" lang="plaintext"> ```</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;```</span>
-<span id="LC6" class="line" lang="plaintext">aaa</span>
-<span id="LC7" class="line" lang="plaintext">```</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1576:1-1577:41" dir="auto">Closing fences may be indented by 0-3 spaces, and their indentation
-need not match that of the opening fence:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1579:1-1586:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```</span>
-<span id="LC2" class="line" lang="plaintext">aaa</span>
-<span id="LC3" class="line" lang="plaintext"> ```</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1589:1-1596:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> ```</span>
-<span id="LC2" class="line" lang="plaintext">aaa</span>
-<span id="LC3" class="line" lang="plaintext"> ```</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1599:1-1599:61" dir="auto">This is not a closing fence, because it is indented 4 spaces:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1601:1-1609:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```</span>
-<span id="LC2" class="line" lang="plaintext">aaa</span>
-<span id="LC3" class="line" lang="plaintext"> ```</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
-<span id="LC6" class="line" lang="plaintext"> ```</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1613:1-1613:65" dir="auto">Code fences (opening and closing) cannot contain internal spaces:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1615:1-1621:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">``` ```</span>
-<span id="LC2" class="line" lang="plaintext">aaa</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt; &lt;/code&gt;</span>
-<span id="LC5" class="line" lang="plaintext">aaa&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1624:1-1632:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">~~~~~~</span>
-<span id="LC2" class="line" lang="plaintext">aaa</span>
-<span id="LC3" class="line" lang="plaintext">~~~ ~~</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
-<span id="LC6" class="line" lang="plaintext">~~~ ~~</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1635:1-1636:53" dir="auto">Fenced code blocks can interrupt paragraphs, and can be followed
-directly by paragraphs, without a blank line between:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1638:1-1649:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span>
-<span id="LC2" class="line" lang="plaintext">```</span>
-<span id="LC3" class="line" lang="plaintext">bar</span>
-<span id="LC4" class="line" lang="plaintext">```</span>
-<span id="LC5" class="line" lang="plaintext">baz</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;bar</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;p&gt;baz&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1652:1-1653:34" dir="auto">Other blocks can also occur before and after fenced code blocks
-without an intervening blank line:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1655:1-1667:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span>
-<span id="LC2" class="line" lang="plaintext">---</span>
-<span id="LC3" class="line" lang="plaintext">~~~</span>
-<span id="LC4" class="line" lang="plaintext">bar</span>
-<span id="LC5" class="line" lang="plaintext">~~~</span>
-<span id="LC6" class="line" lang="plaintext"># baz</span>
-<span id="LC7" class="line" lang="plaintext">.</span>
-<span id="LC8" class="line" lang="plaintext">&lt;h2&gt;foo&lt;/h2&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;bar</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;h1&gt;baz&lt;/h1&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1670:1-1675:45" dir="auto">An [info string] can be provided after the opening code fence.
-Although this spec doesn't mandate any particular treatment of
-the info string, the first word is typically used to specify
-the language of the code block. In HTML output, the language is
-normally indicated by adding a class to the <code>code</code> element consisting
-of <code>language-</code> followed by the language name.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1677:1-1688:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```ruby</span>
-<span id="LC2" class="line" lang="plaintext">def foo(x)</span>
-<span id="LC3" class="line" lang="plaintext"> return 3</span>
-<span id="LC4" class="line" lang="plaintext">end</span>
-<span id="LC5" class="line" lang="plaintext">```</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;pre&gt;&lt;code class="language-ruby"&gt;def foo(x)</span>
-<span id="LC8" class="line" lang="plaintext"> return 3</span>
-<span id="LC9" class="line" lang="plaintext">end</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1691:1-1702:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">~~~~ ruby startline=3 $%@#$</span>
-<span id="LC2" class="line" lang="plaintext">def foo(x)</span>
-<span id="LC3" class="line" lang="plaintext"> return 3</span>
-<span id="LC4" class="line" lang="plaintext">end</span>
-<span id="LC5" class="line" lang="plaintext">~~~~~~~</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;pre&gt;&lt;code class="language-ruby"&gt;def foo(x)</span>
-<span id="LC8" class="line" lang="plaintext"> return 3</span>
-<span id="LC9" class="line" lang="plaintext">end</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1705:1-1710:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">````;</span>
-<span id="LC2" class="line" lang="plaintext">````</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;pre&gt;&lt;code class="language-;"&gt;&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1713:1-1713:65" dir="auto">[Info strings] for backtick code blocks cannot contain backticks:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1715:1-1721:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">``` aa ```</span>
-<span id="LC2" class="line" lang="plaintext">foo</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;aa&lt;/code&gt;</span>
-<span id="LC5" class="line" lang="plaintext">foo&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1724:1-1724:70" dir="auto">[Info strings] for tilde code blocks can contain backticks and tildes:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1726:1-1733:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">~~~ aa ``` ~~~</span>
-<span id="LC2" class="line" lang="plaintext">foo</span>
-<span id="LC3" class="line" lang="plaintext">~~~</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code class="language-aa"&gt;foo</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1736:1-1736:47" dir="auto">Closing code fences cannot have [info strings]:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1738:1-1745:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```</span>
-<span id="LC2" class="line" lang="plaintext">``` aaa</span>
-<span id="LC3" class="line" lang="plaintext">```</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;``` aaa</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="1749:1-1749:14" dir="auto">
-<a id="user-content-html-blocks" class="anchor" href="#html-blocks" aria-hidden="true"></a>HTML blocks</h2>
-<p data-sourcepos="1751:1-1752:53" dir="auto">An <a href="@">HTML block</a> is a group of lines that is treated
-as raw HTML (and will not be escaped in HTML output).</p>
-<p data-sourcepos="1754:1-1762:50" dir="auto">There are seven kinds of [HTML block], which can be defined by their
-start and end conditions. The block begins with a line that meets a
-<a href="@">start condition</a> (after up to three spaces optional indentation).
-It ends with the first subsequent line that meets a matching <a href="@">end
-condition</a>, or the last line of the document, or the last line of
-the <a href="#container-blocks">container block</a> containing the current HTML
-block, if no line is encountered that meets the [end condition]. If
-the first line meets both the [start condition] and the [end
-condition], the block will contain just that line.</p>
-<ol data-sourcepos="1764:1-1805:0" dir="auto">
-<li data-sourcepos="1764:1-1770:0">
-<p data-sourcepos="1764:5-1769:30"><strong>Start condition:</strong> line begins with the string <code>&lt;script</code>,
-<code>&lt;pre</code>, or <code>&lt;style</code> (case-insensitive), followed by whitespace,
-the string <code>&gt;</code>, or the end of the line.<br>
-<strong>End condition:</strong> line contains an end tag
-<code>&lt;/script&gt;</code>, <code>&lt;/pre&gt;</code>, or <code>&lt;/style&gt;</code> (case-insensitive; it
-need not match the start tag).</p>
-</li>
-<li data-sourcepos="1771:1-1773:0">
-<p data-sourcepos="1771:5-1772:51"><strong>Start condition:</strong> line begins with the string <code>&lt;!--</code>.<br>
-<strong>End condition:</strong> line contains the string <code>--&gt;</code>.</p>
-</li>
-<li data-sourcepos="1774:1-1776:0">
-<p data-sourcepos="1774:5-1775:49"><strong>Start condition:</strong> line begins with the string <code>&lt;?</code>.<br>
-<strong>End condition:</strong> line contains the string <code>?&gt;</code>.</p>
-</li>
-<li data-sourcepos="1777:1-1780:0">
-<p data-sourcepos="1777:5-1779:51"><strong>Start condition:</strong> line begins with the string <code>&lt;!</code>
-followed by an uppercase ASCII letter.<br>
-<strong>End condition:</strong> line contains the character <code>&gt;</code>.</p>
-</li>
-<li data-sourcepos="1781:1-1784:0">
-<p data-sourcepos="1781:5-1783:50"><strong>Start condition:</strong> line begins with the string
-<code>&lt;![CDATA[</code>.<br>
-<strong>End condition:</strong> line contains the string <code>]]&gt;</code>.</p>
-</li>
-<li data-sourcepos="1785:1-1799:0">
-<p data-sourcepos="1785:5-1798:54"><strong>Start condition:</strong> line begins the string <code>&lt;</code> or <code>&lt;/</code>
-followed by one of the strings (case-insensitive) <code>address</code>,
-<code>article</code>, <code>aside</code>, <code>base</code>, <code>basefont</code>, <code>blockquote</code>, <code>body</code>,
-<code>caption</code>, <code>center</code>, <code>col</code>, <code>colgroup</code>, <code>dd</code>, <code>details</code>, <code>dialog</code>,
-<code>dir</code>, <code>div</code>, <code>dl</code>, <code>dt</code>, <code>fieldset</code>, <code>figcaption</code>, <code>figure</code>,
-<code>footer</code>, <code>form</code>, <code>frame</code>, <code>frameset</code>,
-<code>h1</code>, <code>h2</code>, <code>h3</code>, <code>h4</code>, <code>h5</code>, <code>h6</code>, <code>head</code>, <code>header</code>, <code>hr</code>,
-<code>html</code>, <code>iframe</code>, <code>legend</code>, <code>li</code>, <code>link</code>, <code>main</code>, <code>menu</code>, <code>menuitem</code>,
-<code>nav</code>, <code>noframes</code>, <code>ol</code>, <code>optgroup</code>, <code>option</code>, <code>p</code>, <code>param</code>,
-<code>section</code>, <code>summary</code>, <code>table</code>, <code>tbody</code>, <code>td</code>,
-<code>tfoot</code>, <code>th</code>, <code>thead</code>, <code>title</code>, <code>tr</code>, <code>track</code>, <code>ul</code>, followed
-by [whitespace], the end of the line, the string <code>&gt;</code>, or
-the string <code>/&gt;</code>.<br>
-<strong>End condition:</strong> line is followed by a [blank line].</p>
-</li>
-<li data-sourcepos="1800:1-1805:0">
-<p data-sourcepos="1800:5-1804:54"><strong>Start condition:</strong> line begins with a complete [open tag]
-(with any [tag name] other than <code>script</code>,
-<code>style</code>, or <code>pre</code>) or a complete [closing tag],
-followed only by [whitespace] or the end of the line.<br>
-<strong>End condition:</strong> line is followed by a [blank line].</p>
-</li>
-</ol>
-<p data-sourcepos="1806:1-1811:19" dir="auto">HTML blocks continue until they are closed by their appropriate
-[end condition], or the last line of the document or other <a href="#container-blocks">container
-block</a>. This means any HTML <strong>within an HTML
-block</strong> that might otherwise be recognised as a start condition will
-be ignored by the parser and passed through as-is, without changing
-the parser's state.</p>
-<p data-sourcepos="1813:1-1815:51" dir="auto">For instance, <code>&lt;pre&gt;</code> within a HTML block started by <code>&lt;table&gt;</code> will not affect
-the parser state; as the HTML block was started in by start condition 6, it
-will end at any blank line. This can be surprising:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1817:1-1832:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;&lt;tr&gt;&lt;td&gt;</span>
-<span id="LC2" class="line" lang="plaintext">&lt;pre&gt;</span>
-<span id="LC3" class="line" lang="plaintext">**Hello**,</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">_world_.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/pre&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</span>
-<span id="LC8" class="line" lang="plaintext">.</span>
-<span id="LC9" class="line" lang="plaintext">&lt;table&gt;&lt;tr&gt;&lt;td&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;pre&gt;</span>
-<span id="LC11" class="line" lang="plaintext">**Hello**,</span>
-<span id="LC12" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;world&lt;/em&gt;.</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/pre&gt;&lt;/p&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1834:1-1836:55" dir="auto">In this case, the HTML block is terminated by the newline — the <code>**Hello**</code>
-text remains verbatim — and regular parsing resumes, with a paragraph,
-emphasised <code>world</code> and inline and block HTML following.</p>
-<p data-sourcepos="1838:1-1841:65" dir="auto">All types of [HTML blocks] except type 7 may interrupt
-a paragraph. Blocks of type 7 may not interrupt a paragraph.
-(This restriction is intended to prevent unwanted interpretation
-of long tags inside a wrapped paragraph as starting HTML blocks.)</p>
-<p data-sourcepos="1843:1-1844:10" dir="auto">Some simple examples follow. Here are some basic HTML blocks
-of type 6:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1846:1-1865:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;</span>
-<span id="LC2" class="line" lang="plaintext"> &lt;tr&gt;</span>
-<span id="LC3" class="line" lang="plaintext"> &lt;td&gt;</span>
-<span id="LC4" class="line" lang="plaintext"> hi</span>
-<span id="LC5" class="line" lang="plaintext"> &lt;/td&gt;</span>
-<span id="LC6" class="line" lang="plaintext"> &lt;/tr&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/table&gt;</span>
-<span id="LC8" class="line" lang="plaintext"></span>
-<span id="LC9" class="line" lang="plaintext">okay.</span>
-<span id="LC10" class="line" lang="plaintext">.</span>
-<span id="LC11" class="line" lang="plaintext">&lt;table&gt;</span>
-<span id="LC12" class="line" lang="plaintext"> &lt;tr&gt;</span>
-<span id="LC13" class="line" lang="plaintext"> &lt;td&gt;</span>
-<span id="LC14" class="line" lang="plaintext"> hi</span>
-<span id="LC15" class="line" lang="plaintext"> &lt;/td&gt;</span>
-<span id="LC16" class="line" lang="plaintext"> &lt;/tr&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/table&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;p&gt;okay.&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1868:1-1876:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> &lt;div&gt;</span>
-<span id="LC2" class="line" lang="plaintext"> *hello*</span>
-<span id="LC3" class="line" lang="plaintext"> &lt;foo&gt;&lt;a&gt;</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext"> &lt;div&gt;</span>
-<span id="LC6" class="line" lang="plaintext"> *hello*</span>
-<span id="LC7" class="line" lang="plaintext"> &lt;foo&gt;&lt;a&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1879:1-1879:42" dir="auto">A block can also start with a closing tag:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1881:1-1887:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;/div&gt;</span>
-<span id="LC2" class="line" lang="plaintext">*foo*</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;/div&gt;</span>
-<span id="LC5" class="line" lang="plaintext">*foo*</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1890:1-1890:68" dir="auto">Here we have two HTML blocks with a Markdown paragraph between them:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1892:1-1902:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;DIV CLASS="foo"&gt;</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">*Markdown*</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">&lt;/DIV&gt;</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;DIV CLASS="foo"&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;Markdown&lt;/em&gt;&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/DIV&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1905:1-1906:47" dir="auto">The tag on the first line can be partial, as long
-as it is split where there would be whitespace:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1908:1-1916:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div id="foo"</span>
-<span id="LC2" class="line" lang="plaintext"> class="bar"&gt;</span>
-<span id="LC3" class="line" lang="plaintext">&lt;/div&gt;</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;div id="foo"</span>
-<span id="LC6" class="line" lang="plaintext"> class="bar"&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/div&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1919:1-1927:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div id="foo" class="bar</span>
-<span id="LC2" class="line" lang="plaintext"> baz"&gt;</span>
-<span id="LC3" class="line" lang="plaintext">&lt;/div&gt;</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;div id="foo" class="bar</span>
-<span id="LC6" class="line" lang="plaintext"> baz"&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/div&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1930:1-1930:31" dir="auto">An open tag need not be closed:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1931:1-1940:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div&gt;</span>
-<span id="LC2" class="line" lang="plaintext">*foo*</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">*bar*</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;div&gt;</span>
-<span id="LC7" class="line" lang="plaintext">*foo*</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;bar&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1944:1-1945:17" dir="auto">A partial tag need not even be completed (garbage
-in, garbage out):</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1947:1-1953:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div id="foo"</span>
-<span id="LC2" class="line" lang="plaintext">*hi*</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;div id="foo"</span>
-<span id="LC5" class="line" lang="plaintext">*hi*</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1956:1-1962:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div class</span>
-<span id="LC2" class="line" lang="plaintext">foo</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;div class</span>
-<span id="LC5" class="line" lang="plaintext">foo</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1965:1-1966:35" dir="auto">The initial tag doesn't even need to be a valid
-tag, as long as it starts like one:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1968:1-1974:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div *???-&amp;&amp;&amp;-&lt;---</span>
-<span id="LC2" class="line" lang="plaintext">*foo*</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;div *???-&amp;&amp;&amp;-&lt;---</span>
-<span id="LC5" class="line" lang="plaintext">*foo*</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1977:1-1978:7" dir="auto">In type 6 blocks, the initial tag need not be on a line by
-itself:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1980:1-1984:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div&gt;&lt;a href="bar"&gt;*foo*&lt;/a&gt;&lt;/div&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;div&gt;&lt;a href="bar"&gt;*foo*&lt;/a&gt;&lt;/div&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="1987:1-1995:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;&lt;tr&gt;&lt;td&gt;</span>
-<span id="LC2" class="line" lang="plaintext">foo</span>
-<span id="LC3" class="line" lang="plaintext">&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;table&gt;&lt;tr&gt;&lt;td&gt;</span>
-<span id="LC6" class="line" lang="plaintext">foo</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="1998:1-2002:43" dir="auto">Everything until the next blank line or end of document
-gets included in the HTML block. So, in the following
-example, what looks like a Markdown code block
-is actually part of the HTML block, which continues until a blank
-line or the end of the document is reached:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2004:1-2014:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div&gt;&lt;/div&gt;</span>
-<span id="LC2" class="line" lang="plaintext">``` c</span>
-<span id="LC3" class="line" lang="plaintext">int x = 33;</span>
-<span id="LC4" class="line" lang="plaintext">```</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;div&gt;&lt;/div&gt;</span>
-<span id="LC7" class="line" lang="plaintext">``` c</span>
-<span id="LC8" class="line" lang="plaintext">int x = 33;</span>
-<span id="LC9" class="line" lang="plaintext">```</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2017:1-2019:51" dir="auto">To start an [HTML block] with a tag that is <em>not</em> in the
-list of block-level tags in (6), you must put the tag by
-itself on the first line (and it must be complete):</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2021:1-2029:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a href="foo"&gt;</span>
-<span id="LC2" class="line" lang="plaintext">*bar*</span>
-<span id="LC3" class="line" lang="plaintext">&lt;/a&gt;</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;a href="foo"&gt;</span>
-<span id="LC6" class="line" lang="plaintext">*bar*</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/a&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2032:1-2032:49" dir="auto">In type 7 blocks, the [tag name] can be anything:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2034:1-2042:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;Warning&gt;</span>
-<span id="LC2" class="line" lang="plaintext">*bar*</span>
-<span id="LC3" class="line" lang="plaintext">&lt;/Warning&gt;</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;Warning&gt;</span>
-<span id="LC6" class="line" lang="plaintext">*bar*</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/Warning&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2045:1-2053:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;i class="foo"&gt;</span>
-<span id="LC2" class="line" lang="plaintext">*bar*</span>
-<span id="LC3" class="line" lang="plaintext">&lt;/i&gt;</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;i class="foo"&gt;</span>
-<span id="LC6" class="line" lang="plaintext">*bar*</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/i&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2056:1-2062:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;/ins&gt;</span>
-<span id="LC2" class="line" lang="plaintext">*bar*</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;/ins&gt;</span>
-<span id="LC5" class="line" lang="plaintext">*bar*</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2065:1-2069:59" dir="auto">These rules are designed to allow us to work with tags that
-can function as either block-level or inline-level tags.
-The <code>&lt;del&gt;</code> tag is a nice example. We can surround content with
-<code>&lt;del&gt;</code> tags in three different ways. In this case, we get a raw
-HTML block, because the <code>&lt;del&gt;</code> tag is on a line by itself:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2071:1-2079:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;del&gt;</span>
-<span id="LC2" class="line" lang="plaintext">*foo*</span>
-<span id="LC3" class="line" lang="plaintext">&lt;/del&gt;</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;del&gt;</span>
-<span id="LC6" class="line" lang="plaintext">*foo*</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/del&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2082:1-2084:54" dir="auto">In this case, we get a raw HTML block that just includes
-the <code>&lt;del&gt;</code> tag (because it ends with the following blank
-line). So the contents get interpreted as CommonMark:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2086:1-2096:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;del&gt;</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">*foo*</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">&lt;/del&gt;</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;del&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;/em&gt;&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/del&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2099:1-2102:29" dir="auto">Finally, in this case, the <code>&lt;del&gt;</code> tags are interpreted
-as [raw HTML] <em>inside</em> the CommonMark paragraph. (Because
-the tag is not on a line by itself, we get inline HTML
-rather than an [HTML block].)</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2104:1-2108:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;del&gt;*foo*&lt;/del&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;del&gt;&lt;em&gt;foo&lt;/em&gt;&lt;/del&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2111:1-2116:50" dir="auto">HTML tags designed to contain literal content
-(<code>script</code>, <code>style</code>, <code>pre</code>), comments, processing instructions,
-and declarations are treated somewhat differently.
-Instead of ending at the first blank line, these blocks
-end at the first line containing a corresponding end tag.
-As a result, these blocks can contain blank lines:</p>
-<p data-sourcepos="2118:1-2118:19" dir="auto">A pre tag (type 1):</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2120:1-2136:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre language="haskell"&gt;&lt;code&gt;</span>
-<span id="LC2" class="line" lang="plaintext">import Text.HTML.TagSoup</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">main :: IO ()</span>
-<span id="LC5" class="line" lang="plaintext">main = print $ parseTags tags</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC7" class="line" lang="plaintext">okay</span>
-<span id="LC8" class="line" lang="plaintext">.</span>
-<span id="LC9" class="line" lang="plaintext">&lt;pre language="haskell"&gt;&lt;code&gt;</span>
-<span id="LC10" class="line" lang="plaintext">import Text.HTML.TagSoup</span>
-<span id="LC11" class="line" lang="plaintext"></span>
-<span id="LC12" class="line" lang="plaintext">main :: IO ()</span>
-<span id="LC13" class="line" lang="plaintext">main = print $ parseTags tags</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;p&gt;okay&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2139:1-2139:22" dir="auto">A script tag (type 1):</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2141:1-2155:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;script type="text/javascript"&gt;</span>
-<span id="LC2" class="line" lang="plaintext">// JavaScript example</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">document.getElementById("demo").innerHTML = "Hello JavaScript!";</span>
-<span id="LC5" class="line" lang="plaintext">&lt;/script&gt;</span>
-<span id="LC6" class="line" lang="plaintext">okay</span>
-<span id="LC7" class="line" lang="plaintext">.</span>
-<span id="LC8" class="line" lang="plaintext">&lt;script type="text/javascript"&gt;</span>
-<span id="LC9" class="line" lang="plaintext">// JavaScript example</span>
-<span id="LC10" class="line" lang="plaintext"></span>
-<span id="LC11" class="line" lang="plaintext">document.getElementById("demo").innerHTML = "Hello JavaScript!";</span>
-<span id="LC12" class="line" lang="plaintext">&lt;/script&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;p&gt;okay&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2158:1-2158:21" dir="auto">A style tag (type 1):</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2160:1-2176:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;style</span>
-<span id="LC2" class="line" lang="plaintext"> type="text/css"&gt;</span>
-<span id="LC3" class="line" lang="plaintext">h1 {color:red;}</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">p {color:blue;}</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/style&gt;</span>
-<span id="LC7" class="line" lang="plaintext">okay</span>
-<span id="LC8" class="line" lang="plaintext">.</span>
-<span id="LC9" class="line" lang="plaintext">&lt;style</span>
-<span id="LC10" class="line" lang="plaintext"> type="text/css"&gt;</span>
-<span id="LC11" class="line" lang="plaintext">h1 {color:red;}</span>
-<span id="LC12" class="line" lang="plaintext"></span>
-<span id="LC13" class="line" lang="plaintext">p {color:blue;}</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/style&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;p&gt;okay&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2179:1-2181:28" dir="auto">If there is no matching end tag, the block will end at the
-end of the document (or the enclosing [block quote][block quotes]
-or [list item][list items]):</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2183:1-2193:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;style</span>
-<span id="LC2" class="line" lang="plaintext"> type="text/css"&gt;</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">foo</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;style</span>
-<span id="LC7" class="line" lang="plaintext"> type="text/css"&gt;</span>
-<span id="LC8" class="line" lang="plaintext"></span>
-<span id="LC9" class="line" lang="plaintext">foo</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2196:1-2207:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; &lt;div&gt;</span>
-<span id="LC2" class="line" lang="plaintext">&gt; foo</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">bar</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;div&gt;</span>
-<span id="LC8" class="line" lang="plaintext">foo</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2210:1-2220:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- &lt;div&gt;</span>
-<span id="LC2" class="line" lang="plaintext">- foo</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;div&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2223:1-2223:56" dir="auto">The end tag can occur on the same line as the start tag:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2225:1-2231:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;style&gt;p{color:red;}&lt;/style&gt;</span>
-<span id="LC2" class="line" lang="plaintext">*foo*</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;style&gt;p{color:red;}&lt;/style&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2234:1-2240:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;!-- foo --&gt;*bar*</span>
-<span id="LC2" class="line" lang="plaintext">*baz*</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;!-- foo --&gt;*bar*</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;baz&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2243:1-2244:45" dir="auto">Note that anything on the last line after the
-end tag will be included in the [HTML block]:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2246:1-2254:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;script&gt;</span>
-<span id="LC2" class="line" lang="plaintext">foo</span>
-<span id="LC3" class="line" lang="plaintext">&lt;/script&gt;1. *bar*</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;script&gt;</span>
-<span id="LC6" class="line" lang="plaintext">foo</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/script&gt;1. *bar*</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2257:1-2257:19" dir="auto">A comment (type 2):</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2259:1-2271:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;!-- Foo</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">bar</span>
-<span id="LC4" class="line" lang="plaintext"> baz --&gt;</span>
-<span id="LC5" class="line" lang="plaintext">okay</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;!-- Foo</span>
-<span id="LC8" class="line" lang="plaintext"></span>
-<span id="LC9" class="line" lang="plaintext">bar</span>
-<span id="LC10" class="line" lang="plaintext"> baz --&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;p&gt;okay&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2275:1-2275:34" dir="auto">A processing instruction (type 3):</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2277:1-2291:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;?php</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> echo '&gt;';</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">?&gt;</span>
-<span id="LC6" class="line" lang="plaintext">okay</span>
-<span id="LC7" class="line" lang="plaintext">.</span>
-<span id="LC8" class="line" lang="plaintext">&lt;?php</span>
-<span id="LC9" class="line" lang="plaintext"></span>
-<span id="LC10" class="line" lang="plaintext"> echo '&gt;';</span>
-<span id="LC11" class="line" lang="plaintext"></span>
-<span id="LC12" class="line" lang="plaintext">?&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;p&gt;okay&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2294:1-2294:23" dir="auto">A declaration (type 4):</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2296:1-2300:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;!DOCTYPE html&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;!DOCTYPE html&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2303:1-2303:15" dir="auto">CDATA (type 5):</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2305:1-2333:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;![CDATA[</span>
-<span id="LC2" class="line" lang="plaintext">function matchwo(a,b)</span>
-<span id="LC3" class="line" lang="plaintext">{</span>
-<span id="LC4" class="line" lang="plaintext"> if (a &lt; b &amp;&amp; a &lt; 0) then {</span>
-<span id="LC5" class="line" lang="plaintext"> return 1;</span>
-<span id="LC6" class="line" lang="plaintext"></span>
-<span id="LC7" class="line" lang="plaintext"> } else {</span>
-<span id="LC8" class="line" lang="plaintext"></span>
-<span id="LC9" class="line" lang="plaintext"> return 0;</span>
-<span id="LC10" class="line" lang="plaintext"> }</span>
-<span id="LC11" class="line" lang="plaintext">}</span>
-<span id="LC12" class="line" lang="plaintext">]]&gt;</span>
-<span id="LC13" class="line" lang="plaintext">okay</span>
-<span id="LC14" class="line" lang="plaintext">.</span>
-<span id="LC15" class="line" lang="plaintext">&lt;![CDATA[</span>
-<span id="LC16" class="line" lang="plaintext">function matchwo(a,b)</span>
-<span id="LC17" class="line" lang="plaintext">{</span>
-<span id="LC18" class="line" lang="plaintext"> if (a &lt; b &amp;&amp; a &lt; 0) then {</span>
-<span id="LC19" class="line" lang="plaintext"> return 1;</span>
-<span id="LC20" class="line" lang="plaintext"></span>
-<span id="LC21" class="line" lang="plaintext"> } else {</span>
-<span id="LC22" class="line" lang="plaintext"></span>
-<span id="LC23" class="line" lang="plaintext"> return 0;</span>
-<span id="LC24" class="line" lang="plaintext"> }</span>
-<span id="LC25" class="line" lang="plaintext">}</span>
-<span id="LC26" class="line" lang="plaintext">]]&gt;</span>
-<span id="LC27" class="line" lang="plaintext">&lt;p&gt;okay&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2336:1-2336:54" dir="auto">The opening tag can be indented 1-3 spaces, but not 4:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2338:1-2346:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> &lt;!-- foo --&gt;</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> &lt;!-- foo --&gt;</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext"> &lt;!-- foo --&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&amp;lt;!-- foo --&amp;gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2349:1-2357:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> &lt;div&gt;</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> &lt;div&gt;</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext"> &lt;div&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&amp;lt;div&amp;gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2360:1-2361:25" dir="auto">An HTML block of types 1--6 can interrupt a paragraph, and need not be
-preceded by a blank line.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2363:1-2373:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
-<span id="LC2" class="line" lang="plaintext">&lt;div&gt;</span>
-<span id="LC3" class="line" lang="plaintext">bar</span>
-<span id="LC4" class="line" lang="plaintext">&lt;/div&gt;</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;Foo&lt;/p&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;div&gt;</span>
-<span id="LC8" class="line" lang="plaintext">bar</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/div&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2376:1-2378:7" dir="auto">However, a following blank line is needed, except at the end of
-a document, and except for blocks of types 1--5, [above][HTML
-block]:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2380:1-2390:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div&gt;</span>
-<span id="LC2" class="line" lang="plaintext">bar</span>
-<span id="LC3" class="line" lang="plaintext">&lt;/div&gt;</span>
-<span id="LC4" class="line" lang="plaintext">*foo*</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;div&gt;</span>
-<span id="LC7" class="line" lang="plaintext">bar</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/div&gt;</span>
-<span id="LC9" class="line" lang="plaintext">*foo*</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2393:1-2393:51" dir="auto">HTML blocks of type 7 cannot interrupt a paragraph:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2395:1-2403:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
-<span id="LC2" class="line" lang="plaintext">&lt;a href="bar"&gt;</span>
-<span id="LC3" class="line" lang="plaintext">baz</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;Foo</span>
-<span id="LC6" class="line" lang="plaintext">&lt;a href="bar"&gt;</span>
-<span id="LC7" class="line" lang="plaintext">baz&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2406:1-2407:26" dir="auto">This rule differs from John Gruber's original Markdown syntax
-specification, which says:</p>
-<blockquote data-sourcepos="2409:1-2412:51" dir="auto">
-<p data-sourcepos="2409:3-2412:51">The only restrictions are that block-level HTML elements —
-e.g. <code>&lt;div&gt;</code>, <code>&lt;table&gt;</code>, <code>&lt;pre&gt;</code>, <code>&lt;p&gt;</code>, etc. — must be separated from
-surrounding content by blank lines, and the start and end tags of the
-block should not be indented with tabs or spaces.</p>
-</blockquote>
-<p data-sourcepos="2414:1-2415:5" dir="auto">In some ways Gruber's rule is more restrictive than the one given
-here:</p>
-<ul data-sourcepos="2417:1-2421:0" dir="auto">
-<li data-sourcepos="2417:1-2417:61">It requires that an HTML block be preceded by a blank line.</li>
-<li data-sourcepos="2418:1-2418:49">It does not allow the start tag to be indented.</li>
-<li data-sourcepos="2419:1-2421:0">It requires a matching end tag, which it also does not allow to
-be indented.</li>
-</ul>
-<p data-sourcepos="2422:1-2423:34" dir="auto">Most Markdown implementations (including some of Gruber's own) do not
-respect all of these restrictions.</p>
-<p data-sourcepos="2425:1-2432:61" dir="auto">There is one respect, however, in which Gruber's rule is more liberal
-than the one given here, since it allows blank lines to occur inside
-an HTML block. There are two reasons for disallowing them here.
-First, it removes the need to parse balanced tags, which is
-expensive and can require backtracking from the end of the document
-if no matching end tag is found. Second, it provides a very simple
-and flexible way of including Markdown content inside HTML tags:
-simply separate the Markdown from the HTML using blank lines:</p>
-<p data-sourcepos="2434:1-2434:8" dir="auto">Compare:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2436:1-2446:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div&gt;</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">*Emphasized* text.</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">&lt;/div&gt;</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;div&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;Emphasized&lt;/em&gt; text.&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/div&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2449:1-2457:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div&gt;</span>
-<span id="LC2" class="line" lang="plaintext">*Emphasized* text.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;/div&gt;</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;div&gt;</span>
-<span id="LC6" class="line" lang="plaintext">*Emphasized* text.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/div&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2460:1-2464:22" dir="auto">Some Markdown implementations have adopted a convention of
-interpreting content inside tags as text if the open tag has
-the attribute <code>markdown=1</code>. The rule given above seems a simpler and
-more elegant way of achieving the same expressive power, which is also
-much simpler to parse.</p>
-<p data-sourcepos="2466:1-2469:59" dir="auto">The main potential drawback is that one can no longer paste HTML
-blocks into Markdown documents with 100% reliability. However,
-<em>in most cases</em> this will work fine, because the blank lines in
-HTML are usually followed by HTML block tags. For example:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2471:1-2491:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">&lt;tr&gt;</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">&lt;td&gt;</span>
-<span id="LC6" class="line" lang="plaintext">Hi</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/td&gt;</span>
-<span id="LC8" class="line" lang="plaintext"></span>
-<span id="LC9" class="line" lang="plaintext">&lt;/tr&gt;</span>
-<span id="LC10" class="line" lang="plaintext"></span>
-<span id="LC11" class="line" lang="plaintext">&lt;/table&gt;</span>
-<span id="LC12" class="line" lang="plaintext">.</span>
-<span id="LC13" class="line" lang="plaintext">&lt;table&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;tr&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;td&gt;</span>
-<span id="LC16" class="line" lang="plaintext">Hi</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/td&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;/tr&gt;</span>
-<span id="LC19" class="line" lang="plaintext">&lt;/table&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2494:1-2496:23" dir="auto">There are problems, however, if the inner tags are indented
-<em>and</em> separated by spaces, as then they will be interpreted as
-an indented code block:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2498:1-2519:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> &lt;tr&gt;</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext"> &lt;td&gt;</span>
-<span id="LC6" class="line" lang="plaintext"> Hi</span>
-<span id="LC7" class="line" lang="plaintext"> &lt;/td&gt;</span>
-<span id="LC8" class="line" lang="plaintext"></span>
-<span id="LC9" class="line" lang="plaintext"> &lt;/tr&gt;</span>
-<span id="LC10" class="line" lang="plaintext"></span>
-<span id="LC11" class="line" lang="plaintext">&lt;/table&gt;</span>
-<span id="LC12" class="line" lang="plaintext">.</span>
-<span id="LC13" class="line" lang="plaintext">&lt;table&gt;</span>
-<span id="LC14" class="line" lang="plaintext"> &lt;tr&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&amp;lt;td&amp;gt;</span>
-<span id="LC16" class="line" lang="plaintext"> Hi</span>
-<span id="LC17" class="line" lang="plaintext">&amp;lt;/td&amp;gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC19" class="line" lang="plaintext"> &lt;/tr&gt;</span>
-<span id="LC20" class="line" lang="plaintext">&lt;/table&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2522:1-2525:26" dir="auto">Fortunately, blank lines are usually not necessary and can be
-deleted. The exception is inside <code>&lt;pre&gt;</code> tags, but as described
-[above][HTML blocks], raw HTML blocks starting with <code>&lt;pre&gt;</code>
-<em>can</em> contain blank lines.</p>
-<h2 data-sourcepos="2527:1-2527:29" dir="auto">
-<a id="user-content-link-reference-definitions" class="anchor" href="#link-reference-definitions" aria-hidden="true"></a>Link reference definitions</h2>
-<p data-sourcepos="2529:1-2537:61" dir="auto">A <a href="@">link reference definition</a>
-consists of a [link label], indented up to three spaces, followed
-by a colon (<code>:</code>), optional [whitespace] (including up to one
-[line ending]), a [link destination],
-optional [whitespace] (including up to one
-[line ending]), and an optional [link
-title], which if it is present must be separated
-from the [link destination] by [whitespace].
-No further [non-whitespace characters] may occur on the line.</p>
-<p data-sourcepos="2539:1-2544:5" dir="auto">A [link reference definition]
-does not correspond to a structural element of a document. Instead, it
-defines a label which can be used in [reference links]
-and reference-style [images] elsewhere in the document. [Link
-reference definitions] can come either before or after the links that use
-them.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2546:1-2552:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url "title"</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2555:1-2563:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> [foo]: </span>
-<span id="LC2" class="line" lang="plaintext"> /url </span>
-<span id="LC3" class="line" lang="plaintext"> 'the title' </span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">[foo]</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="the title"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2566:1-2572:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[Foo*bar\]]:my_(url) 'title (with parens)'</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[Foo*bar\]]</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="my_(url)" title="title (with parens)"&gt;Foo*bar]&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2575:1-2583:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[Foo bar]:</span>
-<span id="LC2" class="line" lang="plaintext">&lt;my url&gt;</span>
-<span id="LC3" class="line" lang="plaintext">'title'</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">[Foo bar]</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;&lt;a href="my%20url" title="title"&gt;Foo bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2586:1-2586:41" dir="auto">The title may extend over multiple lines:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2588:1-2602:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url '</span>
-<span id="LC2" class="line" lang="plaintext">title</span>
-<span id="LC3" class="line" lang="plaintext">line1</span>
-<span id="LC4" class="line" lang="plaintext">line2</span>
-<span id="LC5" class="line" lang="plaintext">'</span>
-<span id="LC6" class="line" lang="plaintext"></span>
-<span id="LC7" class="line" lang="plaintext">[foo]</span>
-<span id="LC8" class="line" lang="plaintext">.</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="</span>
-<span id="LC10" class="line" lang="plaintext">title</span>
-<span id="LC11" class="line" lang="plaintext">line1</span>
-<span id="LC12" class="line" lang="plaintext">line2</span>
-<span id="LC13" class="line" lang="plaintext">"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2605:1-2605:43" dir="auto">However, it may not contain a [blank line]:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2607:1-2617:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url 'title</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">with blank line'</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">[foo]</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;[foo]: /url 'title&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;with blank line'&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;[foo]&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2620:1-2620:25" dir="auto">The title may be omitted:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2622:1-2629:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]:</span>
-<span id="LC2" class="line" lang="plaintext">/url</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">[foo]</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2632:1-2632:40" dir="auto">The link destination may not be omitted:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2634:1-2641:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]:</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;[foo]:&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;[foo]&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2643:2-2644:16" dir="auto">However, an empty link destination may be specified using
-angle brackets:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2646:1-2652:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: &lt;&gt;</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href=""&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2654:1-2655:11" dir="auto">The title must be separated from the link destination by
-whitespace:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2657:1-2664:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: &lt;bar&gt;(baz)</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;[foo]: &lt;bar&gt;(baz)&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;[foo]&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2667:1-2668:24" dir="auto">Both title and destination can contain backslash escapes
-and literal backslashes:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2670:1-2676:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url\bar\*baz "foo\"bar\baz"</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url%5Cbar*baz" title="foo&amp;quot;bar\baz"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2679:1-2679:52" dir="auto">A link can come before its corresponding definition:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2681:1-2687:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: url</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="url"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2690:1-2691:11" dir="auto">If there are several matching definitions, the first one takes
-precedence:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2693:1-2700:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: first</span>
-<span id="LC4" class="line" lang="plaintext">[foo]: second</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;&lt;a href="first"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2703:1-2704:33" dir="auto">As noted in the section on [Links], matching of labels is
-case-insensitive (see [matches]).</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2706:1-2712:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[FOO]: /url</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[Foo]</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url"&gt;Foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2715:1-2721:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[ΑΓΩ]: /φου</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[αγω]</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/%CF%86%CE%BF%CF%85"&gt;αγω&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2724:1-2725:39" dir="auto">Here is a link reference definition with no corresponding link.
-It contributes nothing to the document.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2727:1-2730:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url</span>
-<span id="LC2" class="line" lang="plaintext">.</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2733:1-2733:20" dir="auto">Here is another one:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2735:1-2742:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[</span>
-<span id="LC2" class="line" lang="plaintext">foo</span>
-<span id="LC3" class="line" lang="plaintext">]: /url</span>
-<span id="LC4" class="line" lang="plaintext">bar</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2745:1-2746:44" dir="auto">This is not a link reference definition, because there are
-[non-whitespace characters] after the title:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2748:1-2752:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url "title" ok</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;[foo]: /url &amp;quot;title&amp;quot; ok&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2755:1-2755:57" dir="auto">This is a link reference definition, but it has no title:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2757:1-2762:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url</span>
-<span id="LC2" class="line" lang="plaintext">"title" ok</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;&amp;quot;title&amp;quot; ok&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2765:1-2766:12" dir="auto">This is not a link reference definition, because it is indented
-four spaces:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2768:1-2776:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> [foo]: /url "title"</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;[foo]: /url &amp;quot;title&amp;quot;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;[foo]&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2779:1-2780:13" dir="auto">This is not a link reference definition, because it occurs inside
-a code block:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2782:1-2792:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```</span>
-<span id="LC2" class="line" lang="plaintext">[foo]: /url</span>
-<span id="LC3" class="line" lang="plaintext">```</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">[foo]</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;[foo]: /url</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;[foo]&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2795:1-2795:59" dir="auto">A [link reference definition] cannot interrupt a paragraph.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2797:1-2806:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
-<span id="LC2" class="line" lang="plaintext">[bar]: /baz</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">[bar]</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;Foo</span>
-<span id="LC7" class="line" lang="plaintext">[bar]: /baz&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;[bar]&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2809:1-2810:65" dir="auto">However, it can directly follow other block elements, such as headings
-and thematic breaks, and it need not be followed by a blank line.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2812:1-2821:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"># [Foo]</span>
-<span id="LC2" class="line" lang="plaintext">[foo]: /url</span>
-<span id="LC3" class="line" lang="plaintext">&gt; bar</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;h1&gt;&lt;a href="/url"&gt;Foo&lt;/a&gt;&lt;/h1&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2823:1-2831:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url</span>
-<span id="LC2" class="line" lang="plaintext">bar</span>
-<span id="LC3" class="line" lang="plaintext">===</span>
-<span id="LC4" class="line" lang="plaintext">[foo]</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;h1&gt;bar&lt;/h1&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2833:1-2840:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url</span>
-<span id="LC2" class="line" lang="plaintext">===</span>
-<span id="LC3" class="line" lang="plaintext">[foo]</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;===</span>
-<span id="LC6" class="line" lang="plaintext">&lt;a href="/url"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2843:1-2844:61" dir="auto">Several [link reference definitions]
-can occur one after another, without intervening blank lines.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2846:1-2859:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /foo-url "foo"</span>
-<span id="LC2" class="line" lang="plaintext">[bar]: /bar-url</span>
-<span id="LC3" class="line" lang="plaintext"> "bar"</span>
-<span id="LC4" class="line" lang="plaintext">[baz]: /baz-url</span>
-<span id="LC5" class="line" lang="plaintext"></span>
-<span id="LC6" class="line" lang="plaintext">[foo],</span>
-<span id="LC7" class="line" lang="plaintext">[bar],</span>
-<span id="LC8" class="line" lang="plaintext">[baz]</span>
-<span id="LC9" class="line" lang="plaintext">.</span>
-<span id="LC10" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/foo-url" title="foo"&gt;foo&lt;/a&gt;,</span>
-<span id="LC11" class="line" lang="plaintext">&lt;a href="/bar-url" title="bar"&gt;bar&lt;/a&gt;,</span>
-<span id="LC12" class="line" lang="plaintext">&lt;a href="/baz-url"&gt;baz&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2862:1-2865:12" dir="auto">[Link reference definitions] can occur
-inside block containers, like lists and block quotations. They
-affect the entire document, not just the container in which they
-are defined:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2867:1-2875:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">&gt; [foo]: /url</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url"&gt;foo&lt;/a&gt;&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2878:1-2882:19" dir="auto">Whether something is a [link reference definition] is
-independent of whether the link reference it defines is
-used in the document. Thus, for example, the following
-document contains just a link reference definition, and
-no visible content:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2884:1-2887:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url</span>
-<span id="LC2" class="line" lang="plaintext">.</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="2890:1-2890:13" dir="auto">
-<a id="user-content-paragraphs" class="anchor" href="#paragraphs" aria-hidden="true"></a>Paragraphs</h2>
-<p data-sourcepos="2892:1-2897:13" dir="auto">A sequence of non-blank lines that cannot be interpreted as other
-kinds of blocks forms a <a href="@">paragraph</a>.
-The contents of the paragraph are the result of parsing the
-paragraph's raw content as inlines. The paragraph's raw content
-is formed by concatenating the lines and removing initial and final
-[whitespace].</p>
-<p data-sourcepos="2899:1-2899:37" dir="auto">A simple example with two paragraphs:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2901:1-2908:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">bbb</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;aaa&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;bbb&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2911:1-2911:58" dir="auto">Paragraphs can contain multiple lines, but no blank lines:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2913:1-2924:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
-<span id="LC2" class="line" lang="plaintext">bbb</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">ccc</span>
-<span id="LC5" class="line" lang="plaintext">ddd</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;aaa</span>
-<span id="LC8" class="line" lang="plaintext">bbb&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;ccc</span>
-<span id="LC10" class="line" lang="plaintext">ddd&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2927:1-2927:54" dir="auto">Multiple blank lines between paragraph have no effect:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2929:1-2937:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">bbb</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;aaa&lt;/p&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;bbb&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2940:1-2940:27" dir="auto">Leading spaces are skipped:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2942:1-2948:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> aaa</span>
-<span id="LC2" class="line" lang="plaintext"> bbb</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;aaa</span>
-<span id="LC5" class="line" lang="plaintext">bbb&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2951:1-2952:40" dir="auto">Lines after the first may be indented any amount, since indented
-code blocks cannot interrupt paragraphs.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2954:1-2962:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
-<span id="LC2" class="line" lang="plaintext"> bbb</span>
-<span id="LC3" class="line" lang="plaintext"> ccc</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;aaa</span>
-<span id="LC6" class="line" lang="plaintext">bbb</span>
-<span id="LC7" class="line" lang="plaintext">ccc&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2965:1-2966:44" dir="auto">However, the first line may be indented at most three spaces,
-or an indented code block will be triggered:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2968:1-2974:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> aaa</span>
-<span id="LC2" class="line" lang="plaintext">bbb</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;aaa</span>
-<span id="LC5" class="line" lang="plaintext">bbb&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2977:1-2984:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> aaa</span>
-<span id="LC2" class="line" lang="plaintext">bbb</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
-<span id="LC5" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;bbb&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="2987:1-2989:7" dir="auto">Final spaces are stripped before inline parsing, so a paragraph
-that ends with two or more spaces will not end with a [hard line
-break]:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="2991:1-2997:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa </span>
-<span id="LC2" class="line" lang="plaintext">bbb </span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;aaa&lt;br /&gt;</span>
-<span id="LC5" class="line" lang="plaintext">bbb&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="3000:1-3000:14" dir="auto">
-<a id="user-content-blank-lines" class="anchor" href="#blank-lines" aria-hidden="true"></a>Blank lines</h2>
-<p data-sourcepos="3002:1-3004:22" dir="auto">[Blank lines] between block-level elements are ignored,
-except for the role they play in determining whether a [list]
-is [tight] or [loose].</p>
-<p data-sourcepos="3006:1-3006:70" dir="auto">Blank lines at the beginning and end of the document are also ignored.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3008:1-3020:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> </span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">aaa</span>
-<span id="LC4" class="line" lang="plaintext"> </span>
-<span id="LC5" class="line" lang="plaintext"></span>
-<span id="LC6" class="line" lang="plaintext"># aaa</span>
-<span id="LC7" class="line" lang="plaintext"></span>
-<span id="LC8" class="line" lang="plaintext"> </span>
-<span id="LC9" class="line" lang="plaintext">.</span>
-<span id="LC10" class="line" lang="plaintext">&lt;p&gt;aaa&lt;/p&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;h1&gt;aaa&lt;/h1&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div>
-<h2 data-sourcepos="3024:1-3024:21">
-<a id="user-content-tables-extension" class="anchor" href="#tables-extension" aria-hidden="true"></a>Tables (extension)</h2>
-<p data-sourcepos="3026:1-3027:10">GFM enables the <code>table</code> extension, where an additional leaf block type is
-available.</p>
-<p data-sourcepos="3029:1-3031:23">A <a href="@">table</a> is an arrangement of data with rows and columns, consisting of a
-single header row, a [delimiter row] separating the header from the data, and
-zero or more data rows.</p>
-<p data-sourcepos="3033:1-3037:23">Each row consists of cells containing arbitrary text, in which [inlines] are
-parsed, separated by pipes (<code>|</code>). A leading and trailing pipe is also
-recommended for clarity of reading, and if there's otherwise parsing ambiguity.
-Spaces between pipes and cell content are trimmed. Block-level elements cannot
-be inserted in a table.</p>
-<p data-sourcepos="3039:1-3041:40">The <a href="@">delimiter row</a> consists of cells whose only content are hyphens (<code>-</code>),
-and optionally, a leading or trailing colon (<code>:</code>), or both, to indicate left,
-right, or center alignment respectively.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3043:1-3062:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">| foo | bar |</span>
-<span id="LC2" class="line" lang="plaintext">| --- | --- |</span>
-<span id="LC3" class="line" lang="plaintext">| baz | bim |</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;table&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;thead&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;tr&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;th&gt;foo&lt;/th&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;th&gt;bar&lt;/th&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/tr&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/thead&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;tbody&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;tr&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;td&gt;baz&lt;/td&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;td&gt;bim&lt;/td&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;/tr&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/tbody&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;/table&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3064:1-3065:74">Cells in one column don't need to match length, though it's easier to read if
-they are. Likewise, use of leading and trailing pipes may be inconsistent:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3067:1-3086:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">| abc | defghi |</span>
-<span id="LC2" class="line" lang="plaintext">:-: | -----------:</span>
-<span id="LC3" class="line" lang="plaintext">bar | baz</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;table&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;thead&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;tr&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;th align="center"&gt;abc&lt;/th&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;th align="right"&gt;defghi&lt;/th&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/tr&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/thead&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;tbody&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;tr&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;td align="center"&gt;bar&lt;/td&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;td align="right"&gt;baz&lt;/td&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;/tr&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/tbody&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;/table&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3088:1-3089:13">Include a pipe in a cell's content by escaping it, including inside other
-inline spans:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3091:1-3112:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">| f\|oo |</span>
-<span id="LC2" class="line" lang="plaintext">| ------ |</span>
-<span id="LC3" class="line" lang="plaintext">| b `\|` az |</span>
-<span id="LC4" class="line" lang="plaintext">| b **\|** im |</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;table&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;thead&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;tr&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;th&gt;f|oo&lt;/th&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/tr&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/thead&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;tbody&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;tr&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;td&gt;b &lt;code&gt;|&lt;/code&gt; az&lt;/td&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;/tr&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;tr&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;td&gt;b &lt;strong&gt;|&lt;/strong&gt; im&lt;/td&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;/tr&gt;</span>
-<span id="LC19" class="line" lang="plaintext">&lt;/tbody&gt;</span>
-<span id="LC20" class="line" lang="plaintext">&lt;/table&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3114:1-3115:22">The table is broken at the first empty line, or beginning of another
-block-level structure:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3117:1-3140:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">| abc | def |</span>
-<span id="LC2" class="line" lang="plaintext">| --- | --- |</span>
-<span id="LC3" class="line" lang="plaintext">| bar | baz |</span>
-<span id="LC4" class="line" lang="plaintext">&gt; bar</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;table&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;thead&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;tr&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;th&gt;abc&lt;/th&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;th&gt;def&lt;/th&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/tr&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;/thead&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;tbody&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;tr&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;td&gt;bar&lt;/td&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;td&gt;baz&lt;/td&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/tr&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;/tbody&gt;</span>
-<span id="LC19" class="line" lang="plaintext">&lt;/table&gt;</span>
-<span id="LC20" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC21" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
-<span id="LC22" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3142:1-3169:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">| abc | def |</span>
-<span id="LC2" class="line" lang="plaintext">| --- | --- |</span>
-<span id="LC3" class="line" lang="plaintext">| bar | baz |</span>
-<span id="LC4" class="line" lang="plaintext">bar</span>
-<span id="LC5" class="line" lang="plaintext"></span>
-<span id="LC6" class="line" lang="plaintext">bar</span>
-<span id="LC7" class="line" lang="plaintext">.</span>
-<span id="LC8" class="line" lang="plaintext">&lt;table&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;thead&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;tr&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;th&gt;abc&lt;/th&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;th&gt;def&lt;/th&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/tr&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/thead&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;tbody&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;tr&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;td&gt;bar&lt;/td&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;td&gt;baz&lt;/td&gt;</span>
-<span id="LC19" class="line" lang="plaintext">&lt;/tr&gt;</span>
-<span id="LC20" class="line" lang="plaintext">&lt;tr&gt;</span>
-<span id="LC21" class="line" lang="plaintext">&lt;td&gt;bar&lt;/td&gt;</span>
-<span id="LC22" class="line" lang="plaintext">&lt;td&gt;&lt;/td&gt;</span>
-<span id="LC23" class="line" lang="plaintext">&lt;/tr&gt;</span>
-<span id="LC24" class="line" lang="plaintext">&lt;/tbody&gt;</span>
-<span id="LC25" class="line" lang="plaintext">&lt;/table&gt;</span>
-<span id="LC26" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3171:1-3172:31">The header row must match the [delimiter row] in the number of cells. If not,
-a table will not be recognized:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3174:1-3182:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">| abc | def |</span>
-<span id="LC2" class="line" lang="plaintext">| --- |</span>
-<span id="LC3" class="line" lang="plaintext">| bar |</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;| abc | def |</span>
-<span id="LC6" class="line" lang="plaintext">| --- |</span>
-<span id="LC7" class="line" lang="plaintext">| bar |&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3184:1-3186:65">The remainder of the table's rows may vary in the number of cells. If there
-are a number of cells fewer than the number of cells in the header row, empty
-cells are inserted. If there are greater, the excess is ignored:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3188:1-3212:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">| abc | def |</span>
-<span id="LC2" class="line" lang="plaintext">| --- | --- |</span>
-<span id="LC3" class="line" lang="plaintext">| bar |</span>
-<span id="LC4" class="line" lang="plaintext">| bar | baz | boo |</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;table&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;thead&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;tr&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;th&gt;abc&lt;/th&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;th&gt;def&lt;/th&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/tr&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;/thead&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;tbody&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;tr&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;td&gt;bar&lt;/td&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;td&gt;&lt;/td&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/tr&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;tr&gt;</span>
-<span id="LC19" class="line" lang="plaintext">&lt;td&gt;bar&lt;/td&gt;</span>
-<span id="LC20" class="line" lang="plaintext">&lt;td&gt;baz&lt;/td&gt;</span>
-<span id="LC21" class="line" lang="plaintext">&lt;/tr&gt;</span>
-<span id="LC22" class="line" lang="plaintext">&lt;/tbody&gt;</span>
-<span id="LC23" class="line" lang="plaintext">&lt;/table&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3214:1-3214:75">If there are no rows in the body, no <code>&lt;tbody&gt;</code> is generated in HTML output:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3216:1-3228:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">| abc | def |</span>
-<span id="LC2" class="line" lang="plaintext">| --- | --- |</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;table&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;thead&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;tr&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;th&gt;abc&lt;/th&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;th&gt;def&lt;/th&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/tr&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/thead&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/table&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-</div>
-<h1 data-sourcepos="3232:1-3232:18" dir="auto">
-<a id="user-content-container-blocks" class="anchor" href="#container-blocks" aria-hidden="true"></a>Container blocks</h1>
-<p data-sourcepos="3234:1-3237:45" dir="auto">A <a href="#container-blocks">container block</a> is a block that has other
-blocks as its contents. There are two basic kinds of container blocks:
-[block quotes] and [list items].
-[Lists] are meta-containers for [list items].</p>
-<p data-sourcepos="3239:1-3240:26" dir="auto">We define the syntax for container blocks recursively. The general
-form of the definition is:</p>
-<blockquote data-sourcepos="3242:1-3244:35" dir="auto">
-<p data-sourcepos="3242:3-3244:35">If X is a sequence of blocks, then the result of
-transforming X in such-and-such a way is a container of type Y
-with these blocks as its content.</p>
-</blockquote>
-<p data-sourcepos="3246:1-3250:52" dir="auto">So, we explain what counts as a block quote or list item by explaining
-how these can be <em>generated</em> from their contents. This should suffice
-to define the syntax, although it does not give a recipe for <em>parsing</em>
-these constructions. (A recipe is provided below in the section entitled
-<a href="#appendix-a-parsing-strategy">A parsing strategy</a>.)</p>
-<h2 data-sourcepos="3252:1-3252:15" dir="auto">
-<a id="user-content-block-quotes" class="anchor" href="#block-quotes" aria-hidden="true"></a>Block quotes</h2>
-<p data-sourcepos="3254:1-3256:78" dir="auto">A <a href="@">block quote marker</a>
-consists of 0-3 spaces of initial indent, plus (a) the character <code>&gt;</code> together
-with a following space, or (b) a single character <code>&gt;</code> not followed by a space.</p>
-<p data-sourcepos="3258:1-3258:42" dir="auto">The following rules define [block quotes]:</p>
-<ol data-sourcepos="3260:1-3277:0" dir="auto">
-<li data-sourcepos="3260:1-3264:0">
-<p data-sourcepos="3260:5-3263:54"><strong>Basic case.</strong> If a string of lines <em>Ls</em> constitute a sequence
-of blocks <em>Bs</em>, then the result of prepending a [block quote
-marker] to the beginning of each line in <em>Ls</em>
-is a <a href="#block-quotes">block quote</a> containing <em>Bs</em>.</p>
-</li>
-<li data-sourcepos="3265:1-3274:0">
-<p data-sourcepos="3265:5-3273:48"><strong>Laziness.</strong> If a string of lines <em>Ls</em> constitute a <a href="#block-quotes">block
-quote</a> with contents <em>Bs</em>, then the result of deleting
-the initial [block quote marker] from one or
-more lines in which the next [non-whitespace character] after the [block
-quote marker] is [paragraph continuation
-text] is a block quote with <em>Bs</em> as its content.
-<a href="@">Paragraph continuation text</a> is text
-that will be parsed as part of the content of a paragraph, but does
-not occur at the beginning of the paragraph.</p>
-</li>
-<li data-sourcepos="3275:1-3277:0">
-<p data-sourcepos="3275:5-3276:65"><strong>Consecutiveness.</strong> A document cannot contain two [block
-quotes] in a row unless there is a [blank line] between them.</p>
-</li>
-</ol>
-<p data-sourcepos="3278:1-3278:54" dir="auto">Nothing else counts as a <a href="#block-quotes">block quote</a>.</p>
-<p data-sourcepos="3280:1-3280:25" dir="auto">Here is a simple example:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3282:1-3292:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; # Foo</span>
-<span id="LC2" class="line" lang="plaintext">&gt; bar</span>
-<span id="LC3" class="line" lang="plaintext">&gt; baz</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;h1&gt;Foo&lt;/h1&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;bar</span>
-<span id="LC8" class="line" lang="plaintext">baz&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3295:1-3295:51" dir="auto">The spaces after the <code>&gt;</code> characters can be omitted:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3297:1-3307:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt;# Foo</span>
-<span id="LC2" class="line" lang="plaintext">&gt;bar</span>
-<span id="LC3" class="line" lang="plaintext">&gt; baz</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;h1&gt;Foo&lt;/h1&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;bar</span>
-<span id="LC8" class="line" lang="plaintext">baz&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3310:1-3310:46" dir="auto">The <code>&gt;</code> characters can be indented 1-3 spaces:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3312:1-3322:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> &gt; # Foo</span>
-<span id="LC2" class="line" lang="plaintext"> &gt; bar</span>
-<span id="LC3" class="line" lang="plaintext"> &gt; baz</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;h1&gt;Foo&lt;/h1&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;bar</span>
-<span id="LC8" class="line" lang="plaintext">baz&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3325:1-3325:34" dir="auto">Four spaces gives us a code block:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3327:1-3336:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> &gt; # Foo</span>
-<span id="LC2" class="line" lang="plaintext"> &gt; bar</span>
-<span id="LC3" class="line" lang="plaintext"> &gt; baz</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&amp;gt; # Foo</span>
-<span id="LC6" class="line" lang="plaintext">&amp;gt; bar</span>
-<span id="LC7" class="line" lang="plaintext">&amp;gt; baz</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3339:1-3340:30" dir="auto">The Laziness clause allows us to omit the <code>&gt;</code> before
-[paragraph continuation text]:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3342:1-3352:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; # Foo</span>
-<span id="LC2" class="line" lang="plaintext">&gt; bar</span>
-<span id="LC3" class="line" lang="plaintext">baz</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;h1&gt;Foo&lt;/h1&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;bar</span>
-<span id="LC8" class="line" lang="plaintext">baz&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3355:1-3356:19" dir="auto">A block quote can contain some lazy and some non-lazy
-continuation lines:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3358:1-3368:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; bar</span>
-<span id="LC2" class="line" lang="plaintext">baz</span>
-<span id="LC3" class="line" lang="plaintext">&gt; foo</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;bar</span>
-<span id="LC7" class="line" lang="plaintext">baz</span>
-<span id="LC8" class="line" lang="plaintext">foo&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3371:1-3373:61" dir="auto">Laziness only applies to lines that would have been continuations of
-paragraphs had they been prepended with [block quote markers].
-For example, the <code>&gt; </code> cannot be omitted in the second line of</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3375:1-3378:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="gt">&gt; foo</span></span>
-<span id="LC2" class="line" lang="markdown"><span class="gt">&gt; ---</span></span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3380:1-3380:29" dir="auto">without changing the meaning:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3382:1-3390:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; foo</span>
-<span id="LC2" class="line" lang="plaintext">---</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3393:1-3393:52" dir="auto">Similarly, if we omit the <code>&gt; </code> in the second line of</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3395:1-3398:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="gt">&gt; - foo</span></span>
-<span id="LC2" class="line" lang="markdown"><span class="gt">&gt; - bar</span></span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3400:1-3400:47" dir="auto">then the block quote ends after the first line:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3402:1-3414:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; - foo</span>
-<span id="LC2" class="line" lang="plaintext">- bar</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3417:1-3418:53" dir="auto">For the same reason, we can't omit the <code>&gt; </code> in front of
-subsequent lines of an indented or fenced code block:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3420:1-3430:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; foo</span>
-<span id="LC2" class="line" lang="plaintext"> bar</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;bar</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3433:1-3443:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; ```</span>
-<span id="LC2" class="line" lang="plaintext">foo</span>
-<span id="LC3" class="line" lang="plaintext">```</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3446:1-3447:19" dir="auto">Note that in the following case, we have a [lazy
-continuation line]:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3449:1-3457:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; foo</span>
-<span id="LC2" class="line" lang="plaintext"> - bar</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;foo</span>
-<span id="LC6" class="line" lang="plaintext">- bar&lt;/p&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3460:1-3460:24" dir="auto">To see why, note that in</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3462:1-3465:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="gt">&gt; foo</span></span>
-<span id="LC2" class="line" lang="markdown"><span class="gt">&gt; - bar</span></span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3467:1-3469:61" dir="auto">the <code>- bar</code> is indented too far to start a list, and can't
-be an indented code block because indented code blocks cannot
-interrupt paragraphs, so it is [paragraph continuation text].</p>
-<p data-sourcepos="3471:1-3471:27" dir="auto">A block quote can be empty:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3473:1-3478:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC4" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3481:1-3488:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt;</span>
-<span id="LC2" class="line" lang="plaintext">&gt; </span>
-<span id="LC3" class="line" lang="plaintext">&gt; </span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3491:1-3491:52" dir="auto">A block quote can have initial or final blank lines:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3493:1-3501:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt;</span>
-<span id="LC2" class="line" lang="plaintext">&gt; foo</span>
-<span id="LC3" class="line" lang="plaintext">&gt; </span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3504:1-3504:43" dir="auto">A blank line always separates block quotes:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3506:1-3517:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; foo</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">&gt; bar</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3520:1-3523:44" dir="auto">(Most current Markdown implementations, including John Gruber's
-original <code>Markdown.pl</code>, will parse this example as a single block quote
-with two paragraphs. But it seems better to allow the author to decide
-whether two block quotes or one are wanted.)</p>
-<p data-sourcepos="3525:1-3526:28" dir="auto">Consecutiveness means that if we put these block quotes together,
-we get a single block quote:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3528:1-3536:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; foo</span>
-<span id="LC2" class="line" lang="plaintext">&gt; bar</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;foo</span>
-<span id="LC6" class="line" lang="plaintext">bar&lt;/p&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3539:1-3539:46" dir="auto">To get a block quote with two paragraphs, use:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3541:1-3550:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; foo</span>
-<span id="LC2" class="line" lang="plaintext">&gt;</span>
-<span id="LC3" class="line" lang="plaintext">&gt; bar</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3553:1-3553:38" dir="auto">Block quotes can interrupt paragraphs:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3555:1-3563:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span>
-<span id="LC2" class="line" lang="plaintext">&gt; bar</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3566:1-3567:7" dir="auto">In general, blank lines are not needed before or after block
-quotes:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3569:1-3581:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; aaa</span>
-<span id="LC2" class="line" lang="plaintext">***</span>
-<span id="LC3" class="line" lang="plaintext">&gt; bbb</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;aaa&lt;/p&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;hr /&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;p&gt;bbb&lt;/p&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3584:1-3585:40" dir="auto">However, because of laziness, a blank line is needed between
-a block quote and a following paragraph:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3587:1-3595:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; bar</span>
-<span id="LC2" class="line" lang="plaintext">baz</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;bar</span>
-<span id="LC6" class="line" lang="plaintext">baz&lt;/p&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3598:1-3607:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; bar</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">baz</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;baz&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3610:1-3619:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; bar</span>
-<span id="LC2" class="line" lang="plaintext">&gt;</span>
-<span id="LC3" class="line" lang="plaintext">baz</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;baz&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3622:1-3624:19" dir="auto">It is a consequence of the Laziness rule that any number
-of initial <code>&gt;</code>s may be omitted on a continuation line of a
-nested block quote:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3626:1-3638:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; &gt; &gt; foo</span>
-<span id="LC2" class="line" lang="plaintext">bar</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;foo</span>
-<span id="LC8" class="line" lang="plaintext">bar&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3641:1-3655:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt;&gt;&gt; foo</span>
-<span id="LC2" class="line" lang="plaintext">&gt; bar</span>
-<span id="LC3" class="line" lang="plaintext">&gt;&gt;baz</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;foo</span>
-<span id="LC9" class="line" lang="plaintext">bar</span>
-<span id="LC10" class="line" lang="plaintext">baz&lt;/p&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3658:1-3661:8" dir="auto">When including an indented code block in a block quote,
-remember that the [block quote marker] includes
-both the <code>&gt;</code> and a following space. So <em>five spaces</em> are needed after
-the <code>&gt;</code>:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3663:1-3675:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; code</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">&gt; not code</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;code</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;p&gt;not code&lt;/p&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="3679:1-3679:13" dir="auto">
-<a id="user-content-list-items" class="anchor" href="#list-items" aria-hidden="true"></a>List items</h2>
-<p data-sourcepos="3681:1-3682:49" dir="auto">A <a href="@">list marker</a> is a
-[bullet list marker] or an [ordered list marker].</p>
-<p data-sourcepos="3684:1-3685:32" dir="auto">A <a href="@">bullet list marker</a>
-is a <code>-</code>, <code>+</code>, or <code>*</code> character.</p>
-<p data-sourcepos="3687:1-3691:18" dir="auto">An <a href="@">ordered list marker</a>
-is a sequence of 1--9 arabic digits (<code>0-9</code>), followed by either a
-<code>.</code> character or a <code>)</code> character. (The reason for the length
-limit is that with 10 digits we start seeing integer overflows
-in some browsers.)</p>
-<p data-sourcepos="3693:1-3693:40" dir="auto">The following rules define [list items]:</p>
-<ol data-sourcepos="3695:1-3714:0" dir="auto">
-<li data-sourcepos="3695:1-3714:0">
-<p data-sourcepos="3695:5-3703:45"><strong>Basic case.</strong> If a sequence of lines <em>Ls</em> constitute a sequence of
-blocks <em>Bs</em> starting with a [non-whitespace character], and <em>M</em> is a
-list marker of width <em>W</em> followed by 1 ≤ <em>N</em> ≤ 4 spaces, then the result
-of prepending <em>M</em> and the following spaces to the first line of
-<em>Ls</em>, and indenting subsequent lines of <em>Ls</em> by <em>W + N</em> spaces, is a
-list item with <em>Bs</em> as its contents. The type of the list item
-(bullet or ordered) is determined by the type of its list marker.
-If the list item is ordered, then it is also assigned a start
-number, based on the ordered list marker.</p>
-<p data-sourcepos="3705:5-3705:15">Exceptions:</p>
-<ol data-sourcepos="3707:5-3714:0">
-<li data-sourcepos="3707:5-3711:57">When the first list item in a [list] interrupts
-a paragraph---that is, when it starts on a line that would
-otherwise count as [paragraph continuation text]---then (a)
-the lines <em>Ls</em> must not begin with a blank line, and (b) if
-the list item is ordered, the start number must be 1.</li>
-<li data-sourcepos="3712:5-3714:0">If any line is a [thematic break][thematic breaks] then
-that line is not a list item.</li>
-</ol>
-</li>
-</ol>
-<p data-sourcepos="3715:1-3715:34" dir="auto">For example, let <em>Ls</em> be the lines</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3717:1-3732:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">A paragraph</span>
-<span id="LC2" class="line" lang="plaintext">with two lines.</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext"> indented code</span>
-<span id="LC5" class="line" lang="plaintext"></span>
-<span id="LC6" class="line" lang="plaintext">&gt; A block quote.</span>
-<span id="LC7" class="line" lang="plaintext">.</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;A paragraph</span>
-<span id="LC9" class="line" lang="plaintext">with two lines.&lt;/p&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;indented code</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;p&gt;A block quote.&lt;/p&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3735:1-3737:30" dir="auto">And let <em>M</em> be the marker <code>1.</code>, and <em>N</em> = 2. Then rule #1 says
-that the following is an ordered list item with start number 1,
-and the same contents as <em>Ls</em>:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3739:1-3758:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. A paragraph</span>
-<span id="LC2" class="line" lang="plaintext"> with two lines.</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext"> indented code</span>
-<span id="LC5" class="line" lang="plaintext"></span>
-<span id="LC6" class="line" lang="plaintext"> &gt; A block quote.</span>
-<span id="LC7" class="line" lang="plaintext">.</span>
-<span id="LC8" class="line" lang="plaintext">&lt;ol&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;p&gt;A paragraph</span>
-<span id="LC11" class="line" lang="plaintext">with two lines.&lt;/p&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;indented code</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;p&gt;A block quote.&lt;/p&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3761:1-3767:5" dir="auto">The most important thing to notice is that the position of
-the text after the list marker determines how much indentation
-is needed in subsequent blocks in the list item. If the list
-marker takes up two spaces, and there are three spaces between
-the list marker and the next [non-whitespace character], then blocks
-must be indented five spaces in order to fall under the list
-item.</p>
-<p data-sourcepos="3769:1-3770:24" dir="auto">Here are some examples showing how far content must be indented to be
-put under the list item:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3772:1-3781:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- one</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> two</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;one&lt;/li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;two&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3784:1-3795:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- one</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> two</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;one&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;two&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3798:1-3808:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> - one</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> two</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;one&lt;/li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt; two</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3811:1-3822:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> - one</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> two</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;one&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;two&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3825:1-3831:13" dir="auto">It is tempting to think of this in terms of columns: the continuation
-blocks must be indented at least to the column of the first
-[non-whitespace character] after the list marker. However, that is not quite right.
-The spaces after the list marker determine how much relative indentation
-is needed. Which column this indentation reaches will depend on
-how the list item is embedded in other constructions, as shown by
-this example:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3833:1-3848:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> &gt; &gt; 1. one</span>
-<span id="LC2" class="line" lang="plaintext">&gt;&gt;</span>
-<span id="LC3" class="line" lang="plaintext">&gt;&gt; two</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;ol&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;one&lt;/p&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;p&gt;two&lt;/p&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;/ol&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3851:1-3853:67" dir="auto">Here <code>two</code> occurs in the same column as the list marker <code>1.</code>,
-but is actually contained in the list item, because there is
-sufficient indentation after the last containing blockquote marker.</p>
-<p data-sourcepos="3855:1-3858:38" dir="auto">The converse is also possible. In the following example, the word <code>two</code>
-occurs far to the right of the initial text of the list item, <code>one</code>, but
-it is not considered part of the list item, because it is not indented
-far enough past the blockquote marker:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3860:1-3873:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt;&gt;- one</span>
-<span id="LC2" class="line" lang="plaintext">&gt;&gt;</span>
-<span id="LC3" class="line" lang="plaintext"> &gt; &gt; two</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;li&gt;one&lt;/li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;p&gt;two&lt;/p&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3876:1-3877:51" dir="auto">Note that at least one space is needed between the list marker and
-any following content, so these are not list items:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3879:1-3886:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">-one</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">2.two</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;-one&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;2.two&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3889:1-3890:15" dir="auto">A list item may contain blocks that are separated by more than
-one blank line.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3892:1-3904:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext"> bar</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3907:1-3907:42" dir="auto">A list item may contain any kind of block:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3909:1-3931:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. foo</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> ```</span>
-<span id="LC4" class="line" lang="plaintext"> bar</span>
-<span id="LC5" class="line" lang="plaintext"> ```</span>
-<span id="LC6" class="line" lang="plaintext"></span>
-<span id="LC7" class="line" lang="plaintext"> baz</span>
-<span id="LC8" class="line" lang="plaintext"></span>
-<span id="LC9" class="line" lang="plaintext"> &gt; bam</span>
-<span id="LC10" class="line" lang="plaintext">.</span>
-<span id="LC11" class="line" lang="plaintext">&lt;ol&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;bar</span>
-<span id="LC15" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;p&gt;baz&lt;/p&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;p&gt;bam&lt;/p&gt;</span>
-<span id="LC19" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC20" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC21" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3934:1-3935:43" dir="auto">A list item that contains an indented code block will preserve
-empty lines within the code block verbatim.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3937:1-3955:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- Foo</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> bar</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext"></span>
-<span id="LC6" class="line" lang="plaintext"> baz</span>
-<span id="LC7" class="line" lang="plaintext">.</span>
-<span id="LC8" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;p&gt;Foo&lt;/p&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;bar</span>
-<span id="LC12" class="line" lang="plaintext"></span>
-<span id="LC13" class="line" lang="plaintext"></span>
-<span id="LC14" class="line" lang="plaintext">baz</span>
-<span id="LC15" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3957:1-3957:65" dir="auto">Note that ordered list start numbers must be nine digits or less:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3959:1-3965:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">123456789. ok</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;ol start="123456789"&gt;</span>
-<span id="LC4" class="line" lang="plaintext">&lt;li&gt;ok&lt;/li&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3968:1-3972:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1234567890. not ok</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;1234567890. not ok&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3975:1-3975:33" dir="auto">A start number may begin with 0s:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3977:1-3983:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">0. ok</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;ol start="0"&gt;</span>
-<span id="LC4" class="line" lang="plaintext">&lt;li&gt;ok&lt;/li&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3986:1-3992:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">003. ok</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;ol start="3"&gt;</span>
-<span id="LC4" class="line" lang="plaintext">&lt;li&gt;ok&lt;/li&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="3995:1-3995:35" dir="auto">A start number may not be negative:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="3997:1-4001:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">-1. not ok</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;-1. not ok&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<ol start="2" data-sourcepos="4005:1-4015:0" dir="auto">
-<li data-sourcepos="4005:1-4015:0">
-<strong>Item starting with indented code.</strong> If a sequence of lines <em>Ls</em>
-constitute a sequence of blocks <em>Bs</em> starting with an indented code
-block, and <em>M</em> is a list marker of width <em>W</em> followed by
-one space, then the result of prepending <em>M</em> and the following
-space to the first line of <em>Ls</em>, and indenting subsequent lines of
-<em>Ls</em> by <em>W + 1</em> spaces, is a list item with <em>Bs</em> as its contents.
-If a line is empty, then it need not be indented. The type of the
-list item (bullet or ordered) is determined by the type of its list
-marker. If the list item is ordered, then it is also assigned a
-start number, based on the ordered list marker.</li>
-</ol>
-<p data-sourcepos="4016:1-4018:39" dir="auto">An indented code block will have to be indented four spaces beyond
-the edge of the region where text will be included in the list item.
-In the following case that is 6 spaces:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4020:1-4032:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> bar</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;bar</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4035:1-4035:33" dir="auto">And in this case it is 11 spaces:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4037:1-4049:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> 10. foo</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> bar</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ol start="10"&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;bar</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4052:1-4054:12" dir="auto">If the <em>first</em> block in the list item is an indented code block,
-then by rule #2, the contents must be indented <em>one</em> space after the
-list marker:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4056:1-4068:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> indented code</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">paragraph</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext"> more code</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;indented code</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;paragraph&lt;/p&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;more code</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4071:1-4087:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. indented code</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> paragraph</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext"> more code</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;ol&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;indented code</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;p&gt;paragraph&lt;/p&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;more code</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4090:1-4091:22" dir="auto">Note that an additional space indent is interpreted as space
-inside the code block:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4093:1-4109:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. indented code</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> paragraph</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext"> more code</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;ol&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt; indented code</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;p&gt;paragraph&lt;/p&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;more code</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4112:1-4118:55" dir="auto">Note that rules #1 and #2 only apply to two cases: (a) cases
-in which the lines to be included in a list item begin with a
-[non-whitespace character], and (b) cases in which
-they begin with an indented code
-block. In a case like the following, where the first block begins with
-a three-space indent, the rules do not allow us to form a list item by
-indenting the whole thing and prepending a list marker:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4120:1-4127:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> foo</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">bar</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4130:1-4139:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> bar</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4142:1-4145:15" dir="auto">This is not a significant restriction, because when a block begins
-with 1-3 spaces indent, the indentation can always be removed without
-a change in interpretation, allowing rule #1 to be applied. So, in
-the above case:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4147:1-4158:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> bar</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<ol start="3" data-sourcepos="4161:1-4172:0" dir="auto">
-<li data-sourcepos="4161:1-4172:0">
-<strong>Item starting with a blank line.</strong> If a sequence of lines <em>Ls</em>
-starting with a single [blank line] constitute a (possibly empty)
-sequence of blocks <em>Bs</em>, not separated from each other by more than
-one blank line, and <em>M</em> is a list marker of width <em>W</em>,
-then the result of prepending <em>M</em> to the first line of <em>Ls</em>, and
-indenting subsequent lines of <em>Ls</em> by <em>W + 1</em> spaces, is a list
-item with <em>Bs</em> as its contents.
-If a line is empty, then it need not be indented. The type of the
-list item (bullet or ordered) is determined by the type of its list
-marker. If the list item is ordered, then it is also assigned a
-start number, based on the ordered list marker.</li>
-</ol>
-<p data-sourcepos="4173:1-4173:72" dir="auto">Here are some list items that start with a blank line but are not empty:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4175:1-4196:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">-</span>
-<span id="LC2" class="line" lang="plaintext"> foo</span>
-<span id="LC3" class="line" lang="plaintext">-</span>
-<span id="LC4" class="line" lang="plaintext"> ```</span>
-<span id="LC5" class="line" lang="plaintext"> bar</span>
-<span id="LC6" class="line" lang="plaintext"> ```</span>
-<span id="LC7" class="line" lang="plaintext">-</span>
-<span id="LC8" class="line" lang="plaintext"> baz</span>
-<span id="LC9" class="line" lang="plaintext">.</span>
-<span id="LC10" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;bar</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;baz</span>
-<span id="LC18" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC19" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC20" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4198:1-4199:66" dir="auto">When the list item starts with a blank line, the number of spaces
-following the list marker doesn't change the required indentation:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4201:1-4208:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- </span>
-<span id="LC2" class="line" lang="plaintext"> foo</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4211:1-4213:5" dir="auto">A list item can begin with at most one blank line.
-In the following example, <code>foo</code> is not part of the list
-item:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4215:1-4224:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">-</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> foo</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;&lt;/li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4227:1-4227:34" dir="auto">Here is an empty bullet list item:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4229:1-4239:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
-<span id="LC2" class="line" lang="plaintext">-</span>
-<span id="LC3" class="line" lang="plaintext">- bar</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;li&gt;&lt;/li&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4242:1-4242:72" dir="auto">It does not matter whether there are spaces following the [list marker]:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4244:1-4254:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
-<span id="LC2" class="line" lang="plaintext">- </span>
-<span id="LC3" class="line" lang="plaintext">- bar</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;li&gt;&lt;/li&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4257:1-4257:35" dir="auto">Here is an empty ordered list item:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4259:1-4269:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. foo</span>
-<span id="LC2" class="line" lang="plaintext">2.</span>
-<span id="LC3" class="line" lang="plaintext">3. bar</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ol&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;li&gt;&lt;/li&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4272:1-4272:48" dir="auto">A list may start or end with an empty list item:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4274:1-4280:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC4" class="line" lang="plaintext">&lt;li&gt;&lt;/li&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4282:1-4282:57" dir="auto">However, an empty list item cannot interrupt a paragraph:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4284:1-4295:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span>
-<span id="LC2" class="line" lang="plaintext">*</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">foo</span>
-<span id="LC5" class="line" lang="plaintext">1.</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;foo</span>
-<span id="LC8" class="line" lang="plaintext">*&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;foo</span>
-<span id="LC10" class="line" lang="plaintext">1.&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<ol start="4" data-sourcepos="4298:1-4303:0" dir="auto">
-<li data-sourcepos="4298:1-4303:0">
-<strong>Indentation.</strong> If a sequence of lines <em>Ls</em> constitutes a list item
-according to rule #1, #2, or #3, then the result of indenting each line
-of <em>Ls</em> by 1-3 spaces (the same for each line) also constitutes a
-list item with the same contents and attributes. If a line is
-empty, then it need not be indented.</li>
-</ol>
-<p data-sourcepos="4304:1-4304:19" dir="auto">Indented one space:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4306:1-4325:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> 1. A paragraph</span>
-<span id="LC2" class="line" lang="plaintext"> with two lines.</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext"> indented code</span>
-<span id="LC5" class="line" lang="plaintext"></span>
-<span id="LC6" class="line" lang="plaintext"> &gt; A block quote.</span>
-<span id="LC7" class="line" lang="plaintext">.</span>
-<span id="LC8" class="line" lang="plaintext">&lt;ol&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;p&gt;A paragraph</span>
-<span id="LC11" class="line" lang="plaintext">with two lines.&lt;/p&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;indented code</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;p&gt;A block quote.&lt;/p&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4328:1-4328:20" dir="auto">Indented two spaces:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4330:1-4349:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> 1. A paragraph</span>
-<span id="LC2" class="line" lang="plaintext"> with two lines.</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext"> indented code</span>
-<span id="LC5" class="line" lang="plaintext"></span>
-<span id="LC6" class="line" lang="plaintext"> &gt; A block quote.</span>
-<span id="LC7" class="line" lang="plaintext">.</span>
-<span id="LC8" class="line" lang="plaintext">&lt;ol&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;p&gt;A paragraph</span>
-<span id="LC11" class="line" lang="plaintext">with two lines.&lt;/p&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;indented code</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;p&gt;A block quote.&lt;/p&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4352:1-4352:22" dir="auto">Indented three spaces:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4354:1-4373:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> 1. A paragraph</span>
-<span id="LC2" class="line" lang="plaintext"> with two lines.</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext"> indented code</span>
-<span id="LC5" class="line" lang="plaintext"></span>
-<span id="LC6" class="line" lang="plaintext"> &gt; A block quote.</span>
-<span id="LC7" class="line" lang="plaintext">.</span>
-<span id="LC8" class="line" lang="plaintext">&lt;ol&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;p&gt;A paragraph</span>
-<span id="LC11" class="line" lang="plaintext">with two lines.&lt;/p&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;indented code</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;p&gt;A block quote.&lt;/p&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4376:1-4376:38" dir="auto">Four spaces indent gives a code block:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4378:1-4393:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> 1. A paragraph</span>
-<span id="LC2" class="line" lang="plaintext"> with two lines.</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext"> indented code</span>
-<span id="LC5" class="line" lang="plaintext"></span>
-<span id="LC6" class="line" lang="plaintext"> &gt; A block quote.</span>
-<span id="LC7" class="line" lang="plaintext">.</span>
-<span id="LC8" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;1. A paragraph</span>
-<span id="LC9" class="line" lang="plaintext"> with two lines.</span>
-<span id="LC10" class="line" lang="plaintext"></span>
-<span id="LC11" class="line" lang="plaintext"> indented code</span>
-<span id="LC12" class="line" lang="plaintext"></span>
-<span id="LC13" class="line" lang="plaintext"> &amp;gt; A block quote.</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<ol start="5" data-sourcepos="4397:1-4405:0" dir="auto">
-<li data-sourcepos="4397:1-4405:0">
-<strong>Laziness.</strong> If a string of lines <em>Ls</em> constitute a <a href="#list-items">list
-item</a> with contents <em>Bs</em>, then the result of deleting
-some or all of the indentation from one or more lines in which the
-next [non-whitespace character] after the indentation is
-[paragraph continuation text] is a
-list item with the same contents and attributes. The unindented
-lines are called
-<a href="@">lazy continuation line</a>s.</li>
-</ol>
-<p data-sourcepos="4406:1-4406:50" dir="auto">Here is an example with [lazy continuation lines]:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4408:1-4427:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> 1. A paragraph</span>
-<span id="LC2" class="line" lang="plaintext">with two lines.</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext"> indented code</span>
-<span id="LC5" class="line" lang="plaintext"></span>
-<span id="LC6" class="line" lang="plaintext"> &gt; A block quote.</span>
-<span id="LC7" class="line" lang="plaintext">.</span>
-<span id="LC8" class="line" lang="plaintext">&lt;ol&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;p&gt;A paragraph</span>
-<span id="LC11" class="line" lang="plaintext">with two lines.&lt;/p&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;indented code</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;p&gt;A block quote.&lt;/p&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4430:1-4430:37" dir="auto">Indentation can be partially deleted:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4432:1-4440:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> 1. A paragraph</span>
-<span id="LC2" class="line" lang="plaintext"> with two lines.</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;ol&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;li&gt;A paragraph</span>
-<span id="LC6" class="line" lang="plaintext">with two lines.&lt;/li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4443:1-4443:63" dir="auto">These examples show how laziness can work in nested structures:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4445:1-4459:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; 1. &gt; Blockquote</span>
-<span id="LC2" class="line" lang="plaintext">continued here.</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ol&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;Blockquote</span>
-<span id="LC9" class="line" lang="plaintext">continued here.&lt;/p&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;/ol&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4462:1-4476:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; 1. &gt; Blockquote</span>
-<span id="LC2" class="line" lang="plaintext">&gt; continued here.</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ol&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;Blockquote</span>
-<span id="LC9" class="line" lang="plaintext">continued here.&lt;/p&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;/ol&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<ol start="6" data-sourcepos="4480:1-4482:0" dir="auto">
-<li data-sourcepos="4480:1-4482:0">
-<strong>That's all.</strong> Nothing that is not counted as a list item by rules
-#1--5 counts as a <a href="#list-items">list item</a>.</li>
-</ol>
-<p data-sourcepos="4483:1-4486:17" dir="auto">The rules for sublists follow from the general rules
-[above][List items]. A sublist must be indented the same number
-of spaces a paragraph would need to be in order to be included
-in the list item.</p>
-<p data-sourcepos="4488:1-4488:43" dir="auto">So, in this case we need two spaces indent:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4490:1-4511:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
-<span id="LC2" class="line" lang="plaintext"> - bar</span>
-<span id="LC3" class="line" lang="plaintext"> - baz</span>
-<span id="LC4" class="line" lang="plaintext"> - boo</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;li&gt;foo</span>
-<span id="LC8" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;li&gt;bar</span>
-<span id="LC10" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;li&gt;baz</span>
-<span id="LC12" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;li&gt;boo&lt;/li&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC19" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC20" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4514:1-4514:18" dir="auto">One is not enough:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4516:1-4528:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
-<span id="LC2" class="line" lang="plaintext"> - bar</span>
-<span id="LC3" class="line" lang="plaintext"> - baz</span>
-<span id="LC4" class="line" lang="plaintext"> - boo</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;li&gt;baz&lt;/li&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;li&gt;boo&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4531:1-4531:52" dir="auto">Here we need four, because the list marker is wider:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4533:1-4544:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">10) foo</span>
-<span id="LC2" class="line" lang="plaintext"> - bar</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;ol start="10"&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;li&gt;foo</span>
-<span id="LC6" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4547:1-4547:20" dir="auto">Three is not enough:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4549:1-4559:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">10) foo</span>
-<span id="LC2" class="line" lang="plaintext"> - bar</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;ol start="10"&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/ol&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4562:1-4562:45" dir="auto">A list may be the first block in a list item:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4564:1-4574:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- - foo</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC4" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4577:1-4591:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. - 2. foo</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;ol&gt;</span>
-<span id="LC4" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;ol start="2"&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/ol&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4594:1-4594:34" dir="auto">A list item can contain a heading:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4596:1-4610:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- # Foo</span>
-<span id="LC2" class="line" lang="plaintext">- Bar</span>
-<span id="LC3" class="line" lang="plaintext"> ---</span>
-<span id="LC4" class="line" lang="plaintext"> baz</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;h1&gt;Foo&lt;/h1&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;h2&gt;Bar&lt;/h2&gt;</span>
-<span id="LC12" class="line" lang="plaintext">baz&lt;/li&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h3 data-sourcepos="4613:1-4613:14" dir="auto">
-<a id="user-content-motivation" class="anchor" href="#motivation" aria-hidden="true"></a>Motivation</h3>
-<p data-sourcepos="4615:1-4615:64" dir="auto">John Gruber's Markdown spec says the following about list items:</p>
-<ol data-sourcepos="4617:1-4636:0" dir="auto">
-<li data-sourcepos="4617:1-4620:0">
-<p data-sourcepos="4617:4-4619:20">"List markers typically start at the left margin, but may be indented
-by up to three spaces. List markers must be followed by one or more
-spaces or a tab."</p>
-</li>
-<li data-sourcepos="4621:1-4623:0">
-<p data-sourcepos="4621:4-4622:48">"To make lists look nice, you can wrap items with hanging indents....
-But if you don't want to, you don't have to."</p>
-</li>
-<li data-sourcepos="4624:1-4627:0">
-<p data-sourcepos="4624:4-4626:8">"List items may consist of multiple paragraphs. Each subsequent
-paragraph in a list item must be indented by either 4 spaces or one
-tab."</p>
-</li>
-<li data-sourcepos="4628:1-4630:0">
-<p data-sourcepos="4628:4-4629:55">"It looks nice if you indent every line of the subsequent paragraphs,
-but here again, Markdown will allow you to be lazy."</p>
-</li>
-<li data-sourcepos="4631:1-4633:0">
-<p data-sourcepos="4631:4-4632:35">"To put a blockquote within a list item, the blockquote's <code>&gt;</code>
-delimiters need to be indented."</p>
-</li>
-<li data-sourcepos="4634:1-4636:0">
-<p data-sourcepos="4634:4-4635:44">"To put a code block within a list item, the code block needs to be
-indented twice — 8 spaces or two tabs."</p>
-</li>
-</ol>
-<p data-sourcepos="4637:1-4646:18" dir="auto">These rules specify that a paragraph under a list item must be indented
-four spaces (presumably, from the left margin, rather than the start of
-the list marker, but this is not said), and that code under a list item
-must be indented eight spaces instead of the usual four. They also say
-that a block quote must be indented, but not by how much; however, the
-example given has four spaces indentation. Although nothing is said
-about other kinds of block-level content, it is certainly reasonable to
-infer that <em>all</em> block elements under a list item, including other
-lists, must be indented four spaces. This principle has been called the
-<em>four-space rule</em>.</p>
-<p data-sourcepos="4648:1-4659:48" dir="auto">The four-space rule is clear and principled, and if the reference
-implementation <code>Markdown.pl</code> had followed it, it probably would have
-become the standard. However, <code>Markdown.pl</code> allowed paragraphs and
-sublists to start with only two spaces indentation, at least on the
-outer level. Worse, its behavior was inconsistent: a sublist of an
-outer-level list needed two spaces indentation, but a sublist of this
-sublist needed three spaces. It is not surprising, then, that different
-implementations of Markdown have developed very different rules for
-determining what comes under a list item. (Pandoc and python-Markdown,
-for example, stuck with Gruber's syntax description and the four-space
-rule, while discount, redcarpet, marked, PHP Markdown, and others
-followed <code>Markdown.pl</code>'s behavior more closely.)</p>
-<p data-sourcepos="4661:1-4666:45" dir="auto">Unfortunately, given the divergences between implementations, there
-is no way to give a spec for list items that will be guaranteed not
-to break any existing documents. However, the spec given here should
-correctly handle lists formatted with either the four-space rule or
-the more forgiving <code>Markdown.pl</code> behavior, provided they are laid out
-in a way that is natural for a human to read.</p>
-<p data-sourcepos="4668:1-4674:22" dir="auto">The strategy here is to let the width and indentation of the list marker
-determine the indentation necessary for blocks to fall under the list
-item, rather than having a fixed and arbitrary number. The writer can
-think of the body of the list item as a unit which gets indented to the
-right enough to fit the list marker (and any indentation on the list
-marker). (The laziness rule, #5, then allows continuation lines to be
-unindented if needed.)</p>
-<p data-sourcepos="4676:1-4678:39" dir="auto">This rule is superior, we claim, to any rule requiring a fixed level of
-indentation from the margin. The four-space rule is clear but
-unnatural. It is quite unintuitive that</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4680:1-4686:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="p">-</span> foo</span>
-<span id="LC2" class="line" lang="markdown"></span>
-<span id="LC3" class="line" lang="markdown"> bar</span>
-<span id="LC4" class="line" lang="markdown"></span>
-<span id="LC5" class="line" lang="markdown"><span class="p"> -</span> baz</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4688:1-4688:60" dir="auto">should be parsed as two lists with an intervening paragraph,</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4690:1-4698:3" class="code highlight js-syntax-highlight language-html" lang="html" v-pre="true"><code><span id="LC1" class="line" lang="html"><span class="nt">&lt;ul&gt;</span></span>
-<span id="LC2" class="line" lang="html"><span class="nt">&lt;li&gt;</span>foo<span class="nt">&lt;/li&gt;</span></span>
-<span id="LC3" class="line" lang="html"><span class="nt">&lt;/ul&gt;</span></span>
-<span id="LC4" class="line" lang="html"><span class="nt">&lt;p&gt;</span>bar<span class="nt">&lt;/p&gt;</span></span>
-<span id="LC5" class="line" lang="html"><span class="nt">&lt;ul&gt;</span></span>
-<span id="LC6" class="line" lang="html"><span class="nt">&lt;li&gt;</span>baz<span class="nt">&lt;/li&gt;</span></span>
-<span id="LC7" class="line" lang="html"><span class="nt">&lt;/ul&gt;</span></span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4700:1-4700:58" dir="auto">as the four-space rule demands, rather than a single list,</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4702:1-4712:3" class="code highlight js-syntax-highlight language-html" lang="html" v-pre="true"><code><span id="LC1" class="line" lang="html"><span class="nt">&lt;ul&gt;</span></span>
-<span id="LC2" class="line" lang="html"><span class="nt">&lt;li&gt;</span></span>
-<span id="LC3" class="line" lang="html"><span class="nt">&lt;p&gt;</span>foo<span class="nt">&lt;/p&gt;</span></span>
-<span id="LC4" class="line" lang="html"><span class="nt">&lt;p&gt;</span>bar<span class="nt">&lt;/p&gt;</span></span>
-<span id="LC5" class="line" lang="html"><span class="nt">&lt;ul&gt;</span></span>
-<span id="LC6" class="line" lang="html"><span class="nt">&lt;li&gt;</span>baz<span class="nt">&lt;/li&gt;</span></span>
-<span id="LC7" class="line" lang="html"><span class="nt">&lt;/ul&gt;</span></span>
-<span id="LC8" class="line" lang="html"><span class="nt">&lt;/li&gt;</span></span>
-<span id="LC9" class="line" lang="html"><span class="nt">&lt;/ul&gt;</span></span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4714:1-4715:62" dir="auto">The choice of four spaces is arbitrary. It can be learned, but it is
-not likely to be guessed, and it trips up beginners regularly.</p>
-<p data-sourcepos="4717:1-4721:20" dir="auto">Would it help to adopt a two-space rule? The problem is that such
-a rule, together with the rule allowing 1--3 spaces indentation of the
-initial list marker, allows text that is indented <em>less than</em> the
-original list marker to be included in the list item. For example,
-<code>Markdown.pl</code> parses</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4723:1-4727:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="p"> -</span> one</span>
-<span id="LC2" class="line" lang="markdown"></span>
-<span id="LC3" class="line" lang="markdown"> two</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4729:1-4729:59" dir="auto">as a single list item, with <code>two</code> a continuation paragraph:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4731:1-4738:3" class="code highlight js-syntax-highlight language-html" lang="html" v-pre="true"><code><span id="LC1" class="line" lang="html"><span class="nt">&lt;ul&gt;</span></span>
-<span id="LC2" class="line" lang="html"><span class="nt">&lt;li&gt;</span></span>
-<span id="LC3" class="line" lang="html"><span class="nt">&lt;p&gt;</span>one<span class="nt">&lt;/p&gt;</span></span>
-<span id="LC4" class="line" lang="html"><span class="nt">&lt;p&gt;</span>two<span class="nt">&lt;/p&gt;</span></span>
-<span id="LC5" class="line" lang="html"><span class="nt">&lt;/li&gt;</span></span>
-<span id="LC6" class="line" lang="html"><span class="nt">&lt;/ul&gt;</span></span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4740:1-4740:13" dir="auto">and similarly</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4742:1-4746:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="gt">&gt; - one</span></span>
-<span id="LC2" class="line" lang="markdown"><span class="gt">&gt;</span></span>
-<span id="LC3" class="line" lang="markdown"><span class="gt">&gt; two</span></span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4748:1-4748:2" dir="auto">as</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4750:1-4759:3" class="code highlight js-syntax-highlight language-html" lang="html" v-pre="true"><code><span id="LC1" class="line" lang="html"><span class="nt">&lt;blockquote&gt;</span></span>
-<span id="LC2" class="line" lang="html"><span class="nt">&lt;ul&gt;</span></span>
-<span id="LC3" class="line" lang="html"><span class="nt">&lt;li&gt;</span></span>
-<span id="LC4" class="line" lang="html"><span class="nt">&lt;p&gt;</span>one<span class="nt">&lt;/p&gt;</span></span>
-<span id="LC5" class="line" lang="html"><span class="nt">&lt;p&gt;</span>two<span class="nt">&lt;/p&gt;</span></span>
-<span id="LC6" class="line" lang="html"><span class="nt">&lt;/li&gt;</span></span>
-<span id="LC7" class="line" lang="html"><span class="nt">&lt;/ul&gt;</span></span>
-<span id="LC8" class="line" lang="html"><span class="nt">&lt;/blockquote&gt;</span></span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4761:1-4761:30" dir="auto">This is extremely unintuitive.</p>
-<p data-sourcepos="4763:1-4768:52" dir="auto">Rather than requiring a fixed indent from the margin, we could require
-a fixed indent (say, two spaces, or even one space) from the list marker (which
-may itself be indented). This proposal would remove the last anomaly
-discussed. Unlike the spec presented above, it would count the following
-as a list item with a subparagraph, even though the paragraph <code>bar</code>
-is not indented as far as the first paragraph <code>foo</code>:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4770:1-4774:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="p"> 10.</span> foo</span>
-<span id="LC2" class="line" lang="markdown"></span>
-<span id="LC3" class="line" lang="markdown"> bar </span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4776:1-4779:62" dir="auto">Arguably this text does read like a list item with <code>bar</code> as a subparagraph,
-which may count in favor of the proposal. However, on this proposal indented
-code would have to be indented six spaces after the list marker. And this
-would break a lot of existing Markdown, which has the pattern:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4781:1-4785:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="p">1.</span> foo</span>
-<span id="LC2" class="line" lang="markdown"></span>
-<span id="LC3" class="line" lang="markdown"><span class="sb"> indented code</span></span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4787:1-4789:28" dir="auto">where the code is indented eight spaces. The spec above, by contrast, will
-parse this text as expected, since the code block's indentation is measured
-from the beginning of <code>foo</code>.</p>
-<p data-sourcepos="4791:1-4797:62" dir="auto">The one case that needs special treatment is a list item that <em>starts</em>
-with indented code. How much indentation is required in that case, since
-we don't have a "first paragraph" to measure from? Rule #2 simply stipulates
-that in such cases, we require one space indentation from the list marker
-(and then the normal four spaces for the indented code). This will match the
-four-space rule in cases where the list marker plus its initial indentation
-takes four spaces (a common case), but diverge in other cases.</p>
-<div>
-<h2 data-sourcepos="4801:1-4801:30">
-<a id="user-content-task-list-items-extension" class="anchor" href="#task-list-items-extension" aria-hidden="true"></a>Task list items (extension)</h2>
-<p data-sourcepos="4803:1-4804:26">GFM enables the <code>tasklist</code> extension, where an additional processing step is
-performed on [list items].</p>
-<p data-sourcepos="4806:1-4808:46">A <a href="@">task list item</a> is a [list item][list items] where the first block in it
-is a paragraph which begins with a [task list item marker] and at least one
-whitespace character before any other content.</p>
-<p data-sourcepos="4810:1-4812:55">A <a href="@">task list item marker</a> consists of an optional number of spaces, a left
-bracket (<code>[</code>), either a whitespace character or the letter <code>x</code> in either
-lowercase or uppercase, and then a right bracket (<code>]</code>).</p>
-<p data-sourcepos="4814:1-4815:70">When rendered, the [task list item marker] is replaced with a semantic checkbox element;
-in an HTML output, this would be an <code>&lt;input type="checkbox"&gt;</code> element.</p>
-<p data-sourcepos="4817:1-4818:50">If the character between the brackets is a whitespace character, the checkbox
-is unchecked. Otherwise, the checkbox is checked.</p>
-<p data-sourcepos="4820:1-4823:28">This spec does not define how the checkbox elements are interacted with: in practice,
-implementors are free to render the checkboxes as disabled or inmutable elements,
-or they may dynamically handle dynamic interactions (i.e. checking, unchecking) in
-the final rendered document.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4825:1-4833:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- [ ] foo</span>
-<span id="LC2" class="line" lang="plaintext">- [x] bar</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; foo&lt;/li&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; bar&lt;/li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4835:1-4835:37">Task lists can be arbitrarily nested:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4837:1-4852:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- [x] foo</span>
-<span id="LC2" class="line" lang="plaintext"> - [ ] bar</span>
-<span id="LC3" class="line" lang="plaintext"> - [x] baz</span>
-<span id="LC4" class="line" lang="plaintext">- [ ] bim</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; foo</span>
-<span id="LC8" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; bar&lt;/li&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; baz&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; bim&lt;/li&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-</div>
-<h2 data-sourcepos="4856:1-4856:8" dir="auto">
-<a id="user-content-lists" class="anchor" href="#lists" aria-hidden="true"></a>Lists</h2>
-<p data-sourcepos="4858:1-4860:46" dir="auto">A <a href="@">list</a> is a sequence of one or more
-list items [of the same type]. The list items
-may be separated by any number of blank lines.</p>
-<p data-sourcepos="4862:1-4867:30" dir="auto">Two list items are <a href="@">of the same type</a>
-if they begin with a [list marker] of the same type.
-Two list markers are of the
-same type if (a) they are bullet list markers using the same character
-(<code>-</code>, <code>+</code>, or <code>*</code>) or (b) they are ordered list numbers with the same
-delimiter (either <code>.</code> or <code>)</code>).</p>
-<p data-sourcepos="4869:1-4873:39" dir="auto">A list is an <a href="@">ordered list</a>
-if its constituent list items begin with
-[ordered list markers], and a
-<a href="@">bullet list</a> if its constituent list
-items begin with [bullet list markers].</p>
-<p data-sourcepos="4875:1-4878:12" dir="auto">The <a href="@">start number</a>
-of an [ordered list] is determined by the list number of
-its initial list item. The numbers of subsequent list items are
-disregarded.</p>
-<p data-sourcepos="4880:1-4885:65" dir="auto">A list is <a href="@">loose</a> if any of its constituent
-list items are separated by blank lines, or if any of its constituent
-list items directly contain two block-level elements with a blank line
-between them. Otherwise a list is <a href="@">tight</a>.
-(The difference in HTML output is that paragraphs in a loose list are
-wrapped in <code>&lt;p&gt;</code> tags, while paragraphs in a tight list are not.)</p>
-<p data-sourcepos="4887:1-4887:64" dir="auto">Changing the bullet or ordered list delimiter starts a new list:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4889:1-4901:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
-<span id="LC2" class="line" lang="plaintext">- bar</span>
-<span id="LC3" class="line" lang="plaintext">+ baz</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;li&gt;baz&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4904:1-4916:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. foo</span>
-<span id="LC2" class="line" lang="plaintext">2. bar</span>
-<span id="LC3" class="line" lang="plaintext">3) baz</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ol&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/ol&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;ol start="3"&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;li&gt;baz&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4919:1-4921:5" dir="auto">In CommonMark, a list can interrupt a paragraph. That is,
-no blank line is needed to separate a paragraph from a following
-list:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4923:1-4933:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
-<span id="LC2" class="line" lang="plaintext">- bar</span>
-<span id="LC3" class="line" lang="plaintext">- baz</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;Foo&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;li&gt;baz&lt;/li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4935:1-4936:37" dir="auto"><code>Markdown.pl</code> does not allow this, through fear of triggering a list
-via a numeral in a hard-wrapped line:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4938:1-4941:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown">The number of windows in my house is</span>
-<span id="LC2" class="line" lang="markdown"><span class="p">14.</span> The number of doors is 6.</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4943:1-4945:6" dir="auto">Oddly, though, <code>Markdown.pl</code> <em>does</em> allow a blockquote to
-interrupt a paragraph, even though the same considerations might
-apply.</p>
-<p data-sourcepos="4947:1-4949:35" dir="auto">In CommonMark, we do allow lists to interrupt paragraphs, for
-two reasons. First, it is natural and not uncommon for people
-to start lists without blank lines:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4951:1-4956:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown">I need to buy</span>
-<span id="LC2" class="line" lang="markdown"><span class="p">-</span> new shoes</span>
-<span id="LC3" class="line" lang="markdown"><span class="p">-</span> a coat</span>
-<span id="LC4" class="line" lang="markdown"><span class="p">-</span> a plane ticket</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4958:1-4958:29" dir="auto">Second, we are attracted to a</p>
-<blockquote data-sourcepos="4960:1-4963:54" dir="auto">
-<p data-sourcepos="4960:3-4963:54"><a href="@">principle of uniformity</a>:
-if a chunk of text has a certain
-meaning, it will continue to have the same meaning when put into a
-container block (such as a list item or blockquote).</p>
-</blockquote>
-<p data-sourcepos="4965:1-4966:47" dir="auto">(Indeed, the spec for [list items] and [block quotes] presupposes
-this principle.) This principle implies that if</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4968:1-4973:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="p"> *</span> I need to buy</span>
-<span id="LC2" class="line" lang="markdown"><span class="p"> -</span> new shoes</span>
-<span id="LC3" class="line" lang="markdown"><span class="p"> -</span> a coat</span>
-<span id="LC4" class="line" lang="markdown"><span class="p"> -</span> a plane ticket</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4975:1-4978:4" dir="auto">is a list item containing a paragraph followed by a nested sublist,
-as all Markdown implementations agree it is (though the paragraph
-may be rendered without <code>&lt;p&gt;</code> tags, since the list is "tight"),
-then</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="4980:1-4985:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown">I need to buy</span>
-<span id="LC2" class="line" lang="markdown"><span class="p">-</span> new shoes</span>
-<span id="LC3" class="line" lang="markdown"><span class="p">-</span> a coat</span>
-<span id="LC4" class="line" lang="markdown"><span class="p">-</span> a plane ticket</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="4987:1-4987:61" dir="auto">by itself should be a paragraph followed by a nested sublist.</p>
-<p data-sourcepos="4989:1-4994:30" dir="auto">Since it is well established Markdown practice to allow lists to
-interrupt paragraphs inside list items, the [principle of
-uniformity] requires us to allow this outside list items as
-well. (<a href="http://docutils.sourceforge.net/rst.html" rel="nofollow noreferrer noopener" target="_blank">reStructuredText</a>
-takes a different approach, requiring blank lines before lists
-even inside other list items.)</p>
-<p data-sourcepos="4996:1-4998:28" dir="auto">In order to solve of unwanted lists in paragraphs with
-hard-wrapped numerals, we allow only lists starting with <code>1</code> to
-interrupt paragraphs. Thus,</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5000:1-5006:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">The number of windows in my house is</span>
-<span id="LC2" class="line" lang="plaintext">14. The number of doors is 6.</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;The number of windows in my house is</span>
-<span id="LC5" class="line" lang="plaintext">14. The number of doors is 6.&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5008:1-5008:51" dir="auto">We may still get an unintended result in cases like</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5010:1-5018:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">The number of windows in my house is</span>
-<span id="LC2" class="line" lang="plaintext">1. The number of doors is 6.</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;The number of windows in my house is&lt;/p&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ol&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;The number of doors is 6.&lt;/li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5020:1-5020:57" dir="auto">but this rule should prevent most spurious list captures.</p>
-<p data-sourcepos="5022:1-5022:53" dir="auto">There can be any number of blank lines between items:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5024:1-5043:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">- bar</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext"></span>
-<span id="LC6" class="line" lang="plaintext">- baz</span>
-<span id="LC7" class="line" lang="plaintext">.</span>
-<span id="LC8" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;p&gt;baz&lt;/p&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5045:1-5067:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
-<span id="LC2" class="line" lang="plaintext"> - bar</span>
-<span id="LC3" class="line" lang="plaintext"> - baz</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext"></span>
-<span id="LC6" class="line" lang="plaintext"> bim</span>
-<span id="LC7" class="line" lang="plaintext">.</span>
-<span id="LC8" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;li&gt;foo</span>
-<span id="LC10" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;li&gt;bar</span>
-<span id="LC12" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;p&gt;baz&lt;/p&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;p&gt;bim&lt;/p&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC19" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC20" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC21" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5070:1-5073:8" dir="auto">To separate consecutive lists of the same type, or to separate a
-list from an indented code block that would otherwise be parsed
-as a subparagraph of the final list item, you can insert a blank HTML
-comment:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5075:1-5093:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
-<span id="LC2" class="line" lang="plaintext">- bar</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">&lt;!-- --&gt;</span>
-<span id="LC5" class="line" lang="plaintext"></span>
-<span id="LC6" class="line" lang="plaintext">- baz</span>
-<span id="LC7" class="line" lang="plaintext">- bim</span>
-<span id="LC8" class="line" lang="plaintext">.</span>
-<span id="LC9" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;!-- --&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;li&gt;baz&lt;/li&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;li&gt;bim&lt;/li&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5096:1-5119:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> notcode</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">- foo</span>
-<span id="LC6" class="line" lang="plaintext"></span>
-<span id="LC7" class="line" lang="plaintext">&lt;!-- --&gt;</span>
-<span id="LC8" class="line" lang="plaintext"></span>
-<span id="LC9" class="line" lang="plaintext"> code</span>
-<span id="LC10" class="line" lang="plaintext">.</span>
-<span id="LC11" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;p&gt;notcode&lt;/p&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC19" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC20" class="line" lang="plaintext">&lt;!-- --&gt;</span>
-<span id="LC21" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;code</span>
-<span id="LC22" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5122:1-5125:5" dir="auto">List items need not be indented to the same level. The following
-list items will be treated as items at the same list level,
-since none is indented enough to belong to the previous list
-item:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5127:1-5145:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span>
-<span id="LC2" class="line" lang="plaintext"> - b</span>
-<span id="LC3" class="line" lang="plaintext"> - c</span>
-<span id="LC4" class="line" lang="plaintext"> - d</span>
-<span id="LC5" class="line" lang="plaintext"> - e</span>
-<span id="LC6" class="line" lang="plaintext"> - f</span>
-<span id="LC7" class="line" lang="plaintext">- g</span>
-<span id="LC8" class="line" lang="plaintext">.</span>
-<span id="LC9" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;li&gt;a&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;li&gt;b&lt;/li&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;li&gt;c&lt;/li&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;li&gt;d&lt;/li&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;li&gt;e&lt;/li&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;li&gt;f&lt;/li&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;li&gt;g&lt;/li&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5148:1-5166:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. a</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> 2. b</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext"> 3. c</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;ol&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;a&lt;/p&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;p&gt;b&lt;/p&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;p&gt;c&lt;/p&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5168:1-5170:52" dir="auto">Note, however, that list items may not be indented more than
-three spaces. Here <code>- e</code> is treated as a paragraph continuation
-line, because it is indented more than three spaces:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5172:1-5186:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span>
-<span id="LC2" class="line" lang="plaintext"> - b</span>
-<span id="LC3" class="line" lang="plaintext"> - c</span>
-<span id="LC4" class="line" lang="plaintext"> - d</span>
-<span id="LC5" class="line" lang="plaintext"> - e</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;li&gt;a&lt;/li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;li&gt;b&lt;/li&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;li&gt;c&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;li&gt;d</span>
-<span id="LC12" class="line" lang="plaintext">- e&lt;/li&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5188:1-5190:11" dir="auto">And here, <code>3. c</code> is treated as in indented code block,
-because it is indented four spaces and preceded by a
-blank line.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5192:1-5209:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. a</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> 2. b</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext"> 3. c</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;ol&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;a&lt;/p&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;p&gt;b&lt;/p&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/ol&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;3. c</span>
-<span id="LC16" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5212:1-5213:22" dir="auto">This is a loose list, because there is a blank line between
-two of the list items:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5215:1-5232:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span>
-<span id="LC2" class="line" lang="plaintext">- b</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">- c</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;a&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;p&gt;b&lt;/p&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;p&gt;c&lt;/p&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5235:1-5235:37" dir="auto">So is this, with a empty second item:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5237:1-5252:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">* a</span>
-<span id="LC2" class="line" lang="plaintext">*</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">* c</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;a&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;li&gt;&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;p&gt;c&lt;/p&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5255:1-5257:31" dir="auto">These are loose lists, even though there is no space between the items,
-because one of the items directly contains two block-level elements
-with a blank line between them:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5259:1-5278:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span>
-<span id="LC2" class="line" lang="plaintext">- b</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext"> c</span>
-<span id="LC5" class="line" lang="plaintext">- d</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;a&lt;/p&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;p&gt;b&lt;/p&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;p&gt;c&lt;/p&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;p&gt;d&lt;/p&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5281:1-5299:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span>
-<span id="LC2" class="line" lang="plaintext">- b</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext"> [ref]: /url</span>
-<span id="LC5" class="line" lang="plaintext">- d</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;a&lt;/p&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;p&gt;b&lt;/p&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;p&gt;d&lt;/p&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5302:1-5302:66" dir="auto">This is a tight list, because the blank lines are in a code block:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5304:1-5323:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span>
-<span id="LC2" class="line" lang="plaintext">- ```</span>
-<span id="LC3" class="line" lang="plaintext"> b</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext"></span>
-<span id="LC6" class="line" lang="plaintext"> ```</span>
-<span id="LC7" class="line" lang="plaintext">- c</span>
-<span id="LC8" class="line" lang="plaintext">.</span>
-<span id="LC9" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;li&gt;a&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;b</span>
-<span id="LC13" class="line" lang="plaintext"></span>
-<span id="LC14" class="line" lang="plaintext"></span>
-<span id="LC15" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;li&gt;c&lt;/li&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5326:1-5328:24" dir="auto">This is a tight list, because the blank line is between two
-paragraphs of a sublist. So the sublist is loose while
-the outer list is tight:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5330:1-5348:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span>
-<span id="LC2" class="line" lang="plaintext"> - b</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext"> c</span>
-<span id="LC5" class="line" lang="plaintext">- d</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;li&gt;a</span>
-<span id="LC9" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;p&gt;b&lt;/p&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;p&gt;c&lt;/p&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;li&gt;d&lt;/li&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5351:1-5352:12" dir="auto">This is a tight list, because the blank line is inside the
-block quote:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5354:1-5368:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">* a</span>
-<span id="LC2" class="line" lang="plaintext"> &gt; b</span>
-<span id="LC3" class="line" lang="plaintext"> &gt;</span>
-<span id="LC4" class="line" lang="plaintext">* c</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;li&gt;a</span>
-<span id="LC8" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;b&lt;/p&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;li&gt;c&lt;/li&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5371:1-5372:33" dir="auto">This list is tight, because the consecutive block elements
-are not separated by blank lines:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5374:1-5392:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span>
-<span id="LC2" class="line" lang="plaintext"> &gt; b</span>
-<span id="LC3" class="line" lang="plaintext"> ```</span>
-<span id="LC4" class="line" lang="plaintext"> c</span>
-<span id="LC5" class="line" lang="plaintext"> ```</span>
-<span id="LC6" class="line" lang="plaintext">- d</span>
-<span id="LC7" class="line" lang="plaintext">.</span>
-<span id="LC8" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;li&gt;a</span>
-<span id="LC10" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;p&gt;b&lt;/p&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;c</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;li&gt;d&lt;/li&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5395:1-5395:33" dir="auto">A single-paragraph list is tight:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5397:1-5403:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC4" class="line" lang="plaintext">&lt;li&gt;a&lt;/li&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5406:1-5417:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span>
-<span id="LC2" class="line" lang="plaintext"> - b</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;li&gt;a</span>
-<span id="LC6" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;li&gt;b&lt;/li&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5420:1-5421:36" dir="auto">This list is loose, because of the blank line between the
-two block elements in the list item:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5423:1-5437:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. ```</span>
-<span id="LC2" class="line" lang="plaintext"> foo</span>
-<span id="LC3" class="line" lang="plaintext"> ```</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext"> bar</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;ol&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5440:1-5440:51" dir="auto">Here the outer list is loose, the inner list tight:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5442:1-5457:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">* foo</span>
-<span id="LC2" class="line" lang="plaintext"> * bar</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext"> baz</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;p&gt;baz&lt;/p&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5460:1-5485:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span>
-<span id="LC2" class="line" lang="plaintext"> - b</span>
-<span id="LC3" class="line" lang="plaintext"> - c</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">- d</span>
-<span id="LC6" class="line" lang="plaintext"> - e</span>
-<span id="LC7" class="line" lang="plaintext"> - f</span>
-<span id="LC8" class="line" lang="plaintext">.</span>
-<span id="LC9" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;p&gt;a&lt;/p&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;li&gt;b&lt;/li&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;li&gt;c&lt;/li&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;p&gt;d&lt;/p&gt;</span>
-<span id="LC19" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC20" class="line" lang="plaintext">&lt;li&gt;e&lt;/li&gt;</span>
-<span id="LC21" class="line" lang="plaintext">&lt;li&gt;f&lt;/li&gt;</span>
-<span id="LC22" class="line" lang="plaintext">&lt;/ul&gt;</span>
-<span id="LC23" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC24" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h1 data-sourcepos="5488:1-5488:9" dir="auto">
-<a id="user-content-inlines" class="anchor" href="#inlines" aria-hidden="true"></a>Inlines</h1>
-<p data-sourcepos="5490:1-5492:21" dir="auto">Inlines are parsed sequentially from the beginning of the character
-stream to the end (left to right, in left-to-right languages).
-Thus, for example, in</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5494:1-5498:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`hi`lo`</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;hi&lt;/code&gt;lo`&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5500:1-5501:9" dir="auto"><code>hi</code> is parsed as code, leaving the backtick at the end as a literal
-backtick.</p>
-<h2 data-sourcepos="5504:1-5504:20" dir="auto">
-<a id="user-content-backslash-escapes" class="anchor" href="#backslash-escapes" aria-hidden="true"></a>Backslash escapes</h2>
-<p data-sourcepos="5506:1-5506:57" dir="auto">Any ASCII punctuation character may be backslash-escaped:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5508:1-5512:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">\!\"\#\$\%\&amp;\'\(\)\*\+\,\-\.\/\:\;\&lt;\=\&gt;\?\@\[\\\]\^\_\`\{\|\}\~</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;!&amp;quot;#$%&amp;amp;'()*+,-./:;&amp;lt;=&amp;gt;?@[\]^_`{|}~&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5515:1-5516:12" dir="auto">Backslashes before other characters are treated as literal
-backslashes:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5518:1-5522:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">\→\A\a\ \3\φ\«</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;\→\A\a\ \3\φ\«&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5525:1-5526:39" dir="auto">Escaped characters are treated as regular characters and do
-not have their usual Markdown meanings:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5528:1-5548:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">\*not emphasized*</span>
-<span id="LC2" class="line" lang="plaintext">\&lt;br/&gt; not a tag</span>
-<span id="LC3" class="line" lang="plaintext">\[not a link](/foo)</span>
-<span id="LC4" class="line" lang="plaintext">\`not code`</span>
-<span id="LC5" class="line" lang="plaintext">1\. not a list</span>
-<span id="LC6" class="line" lang="plaintext">\* not a list</span>
-<span id="LC7" class="line" lang="plaintext">\# not a heading</span>
-<span id="LC8" class="line" lang="plaintext">\[foo]: /url "not a reference"</span>
-<span id="LC9" class="line" lang="plaintext">\&amp;ouml; not a character entity</span>
-<span id="LC10" class="line" lang="plaintext">.</span>
-<span id="LC11" class="line" lang="plaintext">&lt;p&gt;*not emphasized*</span>
-<span id="LC12" class="line" lang="plaintext">&amp;lt;br/&amp;gt; not a tag</span>
-<span id="LC13" class="line" lang="plaintext">[not a link](/foo)</span>
-<span id="LC14" class="line" lang="plaintext">`not code`</span>
-<span id="LC15" class="line" lang="plaintext">1. not a list</span>
-<span id="LC16" class="line" lang="plaintext">* not a list</span>
-<span id="LC17" class="line" lang="plaintext"># not a heading</span>
-<span id="LC18" class="line" lang="plaintext">[foo]: /url &amp;quot;not a reference&amp;quot;</span>
-<span id="LC19" class="line" lang="plaintext">&amp;amp;ouml; not a character entity&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5551:1-5551:65" dir="auto">If a backslash is itself escaped, the following character is not:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5553:1-5557:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">\\*emphasis*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;\&lt;em&gt;emphasis&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5560:1-5560:58" dir="auto">A backslash at the end of the line is a [hard line break]:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5562:1-5568:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo\</span>
-<span id="LC2" class="line" lang="plaintext">bar</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;foo&lt;br /&gt;</span>
-<span id="LC5" class="line" lang="plaintext">bar&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5571:1-5572:9" dir="auto">Backslash escapes do not work in code blocks, code spans, autolinks, or
-raw HTML:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5574:1-5578:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`` \[\` ``</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;\[\`&lt;/code&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5581:1-5586:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> \[\]</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;\[\]</span>
-<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5589:1-5596:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">~~~</span>
-<span id="LC2" class="line" lang="plaintext">\[\]</span>
-<span id="LC3" class="line" lang="plaintext">~~~</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;\[\]</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5599:1-5603:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;http://example.com?find=\*&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://example.com?find=%5C*"&gt;http://example.com?find=\*&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5606:1-5610:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a href="/bar\/)"&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;a href="/bar\/)"&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5613:1-5614:60" dir="auto">But they work in all other contexts, including URLs and link titles,
-link references, and [info strings] in [fenced code blocks]:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5616:1-5620:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo](/bar\* "ti\*tle")</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/bar*" title="ti*tle"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5623:1-5629:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: /bar\* "ti\*tle"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/bar*" title="ti*tle"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5632:1-5639:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">``` foo\+bar</span>
-<span id="LC2" class="line" lang="plaintext">foo</span>
-<span id="LC3" class="line" lang="plaintext">```</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code class="language-foo+bar"&gt;foo</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="5643:1-5643:42" dir="auto">
-<a id="user-content-entity-and-numeric-character-references" class="anchor" href="#entity-and-numeric-character-references" aria-hidden="true"></a>Entity and numeric character references</h2>
-<p data-sourcepos="5645:1-5647:30" dir="auto">Valid HTML entity references and numeric character references
-can be used in place of the corresponding Unicode character,
-with the following exceptions:</p>
-<ul data-sourcepos="5649:1-5658:0" dir="auto">
-<li data-sourcepos="5649:1-5651:0">
-<p data-sourcepos="5649:3-5650:24">Entity and character references are not recognized in code
-blocks and code spans.</p>
-</li>
-<li data-sourcepos="5652:1-5658:0">
-<p data-sourcepos="5652:3-5657:9">Entity and character references cannot stand in place of
-special characters that define structural elements in
-CommonMark. For example, although <code>&amp;#42;</code> can be used
-in place of a literal <code>*</code> character, <code>&amp;#42;</code> cannot replace
-<code>*</code> in emphasis delimiters, bullet list markers, or thematic
-breaks.</p>
-</li>
-</ul>
-<p data-sourcepos="5659:1-5661:49" dir="auto">Conforming CommonMark parsers need not store information about
-whether a particular character was represented in the source
-using a Unicode character or an entity reference.</p>
-<p data-sourcepos="5663:1-5667:47" dir="auto"><a href="@">Entity references</a> consist of <code>&amp;</code> + any of the valid
-HTML5 entity names + <code>;</code>. The
-document <a href="https://html.spec.whatwg.org/multipage/entities.json" rel="nofollow noreferrer noopener" target="_blank">https://html.spec.whatwg.org/multipage/entities.json</a>
-is used as an authoritative source for the valid entity
-references and their corresponding code points.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5669:1-5677:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&amp;nbsp; &amp;amp; &amp;copy; &amp;AElig; &amp;Dcaron;</span>
-<span id="LC2" class="line" lang="plaintext">&amp;frac34; &amp;HilbertSpace; &amp;DifferentialD;</span>
-<span id="LC3" class="line" lang="plaintext">&amp;ClockwiseContourIntegral; &amp;ngE;</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;  &amp;amp; © Æ Ď</span>
-<span id="LC6" class="line" lang="plaintext">¾ ℋ ⅆ</span>
-<span id="LC7" class="line" lang="plaintext">∲ ≧̸&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5680:1-5686:58" dir="auto"><a href="@">Decimal numeric character
-references</a>
-consist of <code>&amp;#</code> + a string of 1--7 arabic digits + <code>;</code>. A
-numeric character reference is parsed as the corresponding
-Unicode character. Invalid Unicode code points will be replaced by
-the REPLACEMENT CHARACTER (<code>U+FFFD</code>). For security reasons,
-the code point <code>U+0000</code> will also be replaced by <code>U+FFFD</code>.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5688:1-5692:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&amp;#35; &amp;#1234; &amp;#992; &amp;#0;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;# Ӓ Ϡ �&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5695:1-5699:62" dir="auto"><a href="@">Hexadecimal numeric character
-references</a> consist of <code>&amp;#</code> +
-either <code>X</code> or <code>x</code> + a string of 1-6 hexadecimal digits + <code>;</code>.
-They too are parsed as the corresponding Unicode character (this
-time specified with a hexadecimal numeral instead of decimal).</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5701:1-5705:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&amp;#X22; &amp;#XD06; &amp;#xcab;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&amp;quot; ആ ಫ&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5708:1-5708:26" dir="auto">Here are some nonentities:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5710:1-5720:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&amp;nbsp &amp;x; &amp;#; &amp;#x;</span>
-<span id="LC2" class="line" lang="plaintext">&amp;#987654321;</span>
-<span id="LC3" class="line" lang="plaintext">&amp;#abcdef0;</span>
-<span id="LC4" class="line" lang="plaintext">&amp;ThisIsNotDefined; &amp;hi?;</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;&amp;amp;nbsp &amp;amp;x; &amp;amp;#; &amp;amp;#x;</span>
-<span id="LC7" class="line" lang="plaintext">&amp;amp;#987654321;</span>
-<span id="LC8" class="line" lang="plaintext">&amp;amp;#abcdef0;</span>
-<span id="LC9" class="line" lang="plaintext">&amp;amp;ThisIsNotDefined; &amp;amp;hi?;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5723:1-5725:60" dir="auto">Although HTML5 does accept some entity references
-without a trailing semicolon (such as <code>&amp;copy</code>), these are not
-recognized here, because it makes the grammar too ambiguous:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5727:1-5731:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&amp;copy</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&amp;amp;copy&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5734:1-5735:39" dir="auto">Strings that are not on the list of HTML5 named entities are not
-recognized as entity references either:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5737:1-5741:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&amp;MadeUpEntity;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&amp;amp;MadeUpEntity;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5744:1-5746:62" dir="auto">Entity and numeric character references are recognized in any
-context besides code spans or code blocks, including
-URLs, [link titles], and [fenced code block][] [info strings]:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5748:1-5752:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a href="&amp;ouml;&amp;ouml;.html"&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;a href="&amp;ouml;&amp;ouml;.html"&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5755:1-5759:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo](/f&amp;ouml;&amp;ouml; "f&amp;ouml;&amp;ouml;")</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/f%C3%B6%C3%B6" title="föö"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5762:1-5768:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: /f&amp;ouml;&amp;ouml; "f&amp;ouml;&amp;ouml;"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/f%C3%B6%C3%B6" title="föö"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5771:1-5778:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">``` f&amp;ouml;&amp;ouml;</span>
-<span id="LC2" class="line" lang="plaintext">foo</span>
-<span id="LC3" class="line" lang="plaintext">```</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code class="language-föö"&gt;foo</span>
-<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5781:1-5782:35" dir="auto">Entity and numeric character references are treated as literal
-text in code spans and code blocks:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5784:1-5788:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`f&amp;ouml;&amp;ouml;`</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;f&amp;amp;ouml;&amp;amp;ouml;&lt;/code&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5791:1-5796:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> f&amp;ouml;f&amp;ouml;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;f&amp;amp;ouml;f&amp;amp;ouml;</span>
-<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5799:1-5801:10" dir="auto">Entity and numeric character references cannot be used
-in place of symbols indicating structure in CommonMark
-documents.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5803:1-5809:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&amp;#42;foo&amp;#42;</span>
-<span id="LC2" class="line" lang="plaintext">*foo*</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;*foo*</span>
-<span id="LC5" class="line" lang="plaintext">&lt;em&gt;foo&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5811:1-5820:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&amp;#42; foo</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">* foo</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;* foo&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5822:1-5828:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo&amp;#10;&amp;#10;bar</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">bar&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5830:1-5834:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&amp;#9;foo</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;→foo&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5837:1-5841:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[a](url &amp;quot;tit&amp;quot;)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;[a](url &amp;quot;tit&amp;quot;)&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="5844:1-5844:13" dir="auto">
-<a id="user-content-code-spans" class="anchor" href="#code-spans" aria-hidden="true"></a>Code spans</h2>
-<p data-sourcepos="5846:1-5848:36" dir="auto">A <a href="@">backtick string</a>
-is a string of one or more backtick characters (<code>`</code>) that is neither
-preceded nor followed by a backtick.</p>
-<p data-sourcepos="5850:1-5853:15" dir="auto">A <a href="@">code span</a> begins with a backtick string and ends with
-a backtick string of equal length. The contents of the code span are
-the characters between the two backtick strings, normalized in the
-following ways:</p>
-<ul data-sourcepos="5855:1-5862:0" dir="auto">
-<li data-sourcepos="5855:1-5855:50">First, [line endings] are converted to [spaces].</li>
-<li data-sourcepos="5856:1-5862:0">If the resulting string both begins <em>and</em> ends with a [space]
-character, but does not consist entirely of [space]
-characters, a single [space] character is removed from the
-front and back. This allows you to include code that begins
-or ends with backtick characters, which must be separated by
-whitespace from the opening or closing backtick strings.</li>
-</ul>
-<p data-sourcepos="5863:1-5863:27" dir="auto">This is a simple code span:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5865:1-5869:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`foo`</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;foo&lt;/code&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5872:1-5874:15" dir="auto">Here two backticks are used, because the code contains a backtick.
-This example also illustrates stripping of a single leading and
-trailing space:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5876:1-5880:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`` foo ` bar ``</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;foo ` bar&lt;/code&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5883:1-5884:7" dir="auto">This example shows the motivation for stripping leading and trailing
-spaces:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5886:1-5890:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">` `` `</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;``&lt;/code&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5892:1-5892:39" dir="auto">Note that only <em>one</em> space is stripped:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5894:1-5898:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">` `` `</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt; `` &lt;/code&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5900:1-5901:20" dir="auto">The stripping only happens if the space is on both
-sides of the string:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5903:1-5907:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">` a`</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt; a&lt;/code&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5909:1-5910:21" dir="auto">Only [spaces], and not [unicode whitespace] in general, are
-stripped in this way:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5912:1-5916:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">` b `</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt; b &lt;/code&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5918:1-5918:58" dir="auto">No stripping occurs if the code span contains only spaces:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5920:1-5926:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">` `</span>
-<span id="LC2" class="line" lang="plaintext">` `</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt; &lt;/code&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;code&gt; &lt;/code&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5929:1-5929:39" dir="auto">[Line endings] are treated like spaces:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5931:1-5939:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">``</span>
-<span id="LC2" class="line" lang="plaintext">foo</span>
-<span id="LC3" class="line" lang="plaintext">bar </span>
-<span id="LC4" class="line" lang="plaintext">baz</span>
-<span id="LC5" class="line" lang="plaintext">``</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;foo bar baz&lt;/code&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5941:1-5947:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">``</span>
-<span id="LC2" class="line" lang="plaintext">foo </span>
-<span id="LC3" class="line" lang="plaintext">``</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;foo &lt;/code&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5950:1-5950:34" dir="auto">Interior spaces are not collapsed:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5952:1-5957:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`foo bar </span>
-<span id="LC2" class="line" lang="plaintext">baz`</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;foo bar baz&lt;/code&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5959:1-5961:26" dir="auto">Note that browsers will typically collapse consecutive spaces
-when rendering <code>&lt;code&gt;</code> elements, so it is recommended that
-the following CSS be used:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5963:5-5965:0" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">code{white-space: pre-wrap;}</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5966:1-5967:22" dir="auto">Note that backslash escapes do not work in code spans. All backslashes
-are treated literally:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5969:1-5973:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`foo\`bar`</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;foo\&lt;/code&gt;bar`&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5976:1-5978:59" dir="auto">Backslash escapes are never needed, because one can always choose a
-string of <em>n</em> backtick characters as delimiters, where the code does
-not contain any strings of exactly <em>n</em> backtick characters.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5980:1-5984:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">``foo`bar``</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;foo`bar&lt;/code&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5986:1-5990:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">` foo `` bar `</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;foo `` bar&lt;/code&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="5993:1-5996:5" dir="auto">Code span backticks have higher precedence than any other inline
-constructs except HTML tags and autolinks. Thus, for example, this is
-not parsed as emphasized text, since the second <code>*</code> is part of a code
-span:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="5998:1-6002:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo`*`</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;*foo&lt;code&gt;*&lt;/code&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6005:1-6005:33" dir="auto">And this is not parsed as a link:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6007:1-6011:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[not a `link](/foo`)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;[not a &lt;code&gt;link](/foo&lt;/code&gt;)&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6014:1-6015:19" dir="auto">Code spans, HTML tags, and autolinks have the same precedence.
-Thus, this is code:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6017:1-6021:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`&lt;a href="`"&gt;`</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;&amp;lt;a href=&amp;quot;&lt;/code&gt;&amp;quot;&amp;gt;`&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6024:1-6024:24" dir="auto">But this is an HTML tag:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6026:1-6030:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a href="`"&gt;`</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="`"&gt;`&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6033:1-6033:17" dir="auto">And this is code:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6035:1-6039:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`&lt;http://foo.bar.`baz&gt;`</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;&amp;lt;http://foo.bar.&lt;/code&gt;baz&amp;gt;`&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6042:1-6042:24" dir="auto">But this is an autolink:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6044:1-6048:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;http://foo.bar.`baz&gt;`</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://foo.bar.%60baz"&gt;http://foo.bar.`baz&lt;/a&gt;`&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6051:1-6052:31" dir="auto">When a backtick string is not closed by a matching backtick string,
-we just have literal backticks:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6054:1-6058:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```foo``</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;```foo``&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6061:1-6065:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`foo</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;`foo&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6067:1-6068:47" dir="auto">The following case also illustrates the need for opening and
-closing backtick strings to be equal in length:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6070:1-6074:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`foo``bar``</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;`foo&lt;code&gt;bar&lt;/code&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="6077:1-6077:31" dir="auto">
-<a id="user-content-emphasis-and-strong-emphasis" class="anchor" href="#emphasis-and-strong-emphasis" aria-hidden="true"></a>Emphasis and strong emphasis</h2>
-<p data-sourcepos="6079:1-6080:73" dir="auto">John Gruber's original <a href="http://daringfireball.net/projects/markdown/syntax#em" rel="nofollow noreferrer noopener" target="_blank">Markdown syntax
-description</a> says:</p>
-<blockquote data-sourcepos="6082:1-6085:6" dir="auto">
-<p data-sourcepos="6082:3-6085:6">Markdown treats asterisks (<code>*</code>) and underscores (<code>_</code>) as indicators of
-emphasis. Text wrapped with one <code>*</code> or <code>_</code> will be wrapped with an HTML
-<code>&lt;em&gt;</code> tag; double <code>*</code>'s or <code>_</code>'s will be wrapped with an HTML <code>&lt;strong&gt;</code>
-tag.</p>
-</blockquote>
-<p data-sourcepos="6087:1-6091:57" dir="auto">This is enough for most users, but these rules leave much undecided,
-especially when it comes to nested emphasis. The original
-<code>Markdown.pl</code> test suite makes it clear that triple <code>***</code> and
-<code>___</code> delimiters can be used for strong emphasis, and most
-implementations have also allowed the following patterns:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6093:1-6099:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="gs">***strong emph**</span><span class="err">*</span></span>
-<span id="LC2" class="line" lang="markdown"><span class="gs">***strong**</span> in emph<span class="err">*</span></span>
-<span id="LC3" class="line" lang="markdown"><span class="gs">***emph* in strong**</span></span>
-<span id="LC4" class="line" lang="markdown"><span class="gs">**in strong *emph**</span><span class="err">*</span></span>
-<span id="LC5" class="line" lang="markdown"><span class="ge">*in emph **strong***</span></span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6101:1-6103:9" dir="auto">The following patterns are less widely supported, but the intent
-is clear and they are useful (especially in contexts like bibliography
-entries):</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6105:1-6108:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="ge">*emph *</span>with emph<span class="ge">* in it*</span></span>
-<span id="LC2" class="line" lang="markdown"><span class="gs">**strong **</span>with strong<span class="gs">** in it**</span></span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6110:1-6113:31" dir="auto">Many implementations have also restricted intraword emphasis to
-the <code>*</code> forms, to avoid unwanted emphasis in words containing
-internal underscores. (It is best practice to put these in code
-spans, but users often do not.)</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6115:1-6118:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown">internal emphasis: foo<span class="ge">*bar*</span>baz</span>
-<span id="LC2" class="line" lang="markdown">no emphasis: foo_bar_baz</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6120:1-6121:55" dir="auto">The rules given below capture all of these patterns, while allowing
-for efficient parsing strategies that do not backtrack.</p>
-<p data-sourcepos="6123:1-6127:38" dir="auto">First, some definitions. A <a href="@">delimiter run</a> is either
-a sequence of one or more <code>*</code> characters that is not preceded or
-followed by a non-backslash-escaped <code>*</code> character, or a sequence
-of one or more <code>_</code> characters that is not preceded or followed by
-a non-backslash-escaped <code>_</code> character.</p>
-<p data-sourcepos="6129:1-6135:37" dir="auto">A <a href="@">left-flanking delimiter run</a> is
-a [delimiter run] that is (1) not followed by [Unicode whitespace],
-and either (2a) not followed by a [punctuation character], or
-(2b) followed by a [punctuation character] and
-preceded by [Unicode whitespace] or a [punctuation character].
-For purposes of this definition, the beginning and the end of
-the line count as Unicode whitespace.</p>
-<p data-sourcepos="6137:1-6143:37" dir="auto">A <a href="@">right-flanking delimiter run</a> is
-a [delimiter run] that is (1) not preceded by [Unicode whitespace],
-and either (2a) not preceded by a [punctuation character], or
-(2b) preceded by a [punctuation character] and
-followed by [Unicode whitespace] or a [punctuation character].
-For purposes of this definition, the beginning and the end of
-the line count as Unicode whitespace.</p>
-<p data-sourcepos="6145:1-6145:41" dir="auto">Here are some examples of delimiter runs.</p>
-<ul data-sourcepos="6147:3-6178:0" dir="auto">
-<li data-sourcepos="6147:3-6155:0">
-<p data-sourcepos="6147:5-6147:41">left-flanking but not right-flanking:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6149:5-6154:7" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">***abc</span>
-<span id="LC2" class="line" lang="plaintext"> _abc</span>
-<span id="LC3" class="line" lang="plaintext">**"abc"</span>
-<span id="LC4" class="line" lang="plaintext"> _"abc"</span></code></pre>
-<copy-code></copy-code>
-</div>
-</li>
-<li data-sourcepos="6156:3-6164:0">
-<p data-sourcepos="6156:5-6156:41">right-flanking but not left-flanking:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6158:5-6163:7" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> abc***</span>
-<span id="LC2" class="line" lang="plaintext"> abc_</span>
-<span id="LC3" class="line" lang="plaintext">"abc"**</span>
-<span id="LC4" class="line" lang="plaintext">"abc"_</span></code></pre>
-<copy-code></copy-code>
-</div>
-</li>
-<li data-sourcepos="6165:3-6171:0">
-<p data-sourcepos="6165:5-6165:33">Both left and right-flanking:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6167:5-6170:7" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> abc***def</span>
-<span id="LC2" class="line" lang="plaintext">"abc"_"def"</span></code></pre>
-<copy-code></copy-code>
-</div>
-</li>
-<li data-sourcepos="6172:3-6178:0">
-<p data-sourcepos="6172:5-6172:36">Neither left nor right-flanking:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6174:5-6177:7" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">abc *** def</span>
-<span id="LC2" class="line" lang="plaintext">a _ b</span></code></pre>
-<copy-code></copy-code>
-</div>
-</li>
-</ul>
-<p data-sourcepos="6179:1-6185:49" dir="auto">(The idea of distinguishing left-flanking and right-flanking
-delimiter runs based on the character before and the character
-after comes from Roopesh Chander's
-<a href="http://www.vfmd.org/vfmd-spec/specification/#procedure-for-identifying-emphasis-tags" rel="nofollow noreferrer noopener" target="_blank">vfmd</a>.
-vfmd uses the terminology "emphasis indicator string" instead of "delimiter
-run," and its rules for distinguishing left- and right-flanking runs
-are a bit more complex than the ones given here.)</p>
-<p data-sourcepos="6187:1-6187:56" dir="auto">The following rules define emphasis and strong emphasis:</p>
-<ol data-sourcepos="6189:1-6253:0" dir="auto">
-<li data-sourcepos="6189:1-6191:0">
-<p data-sourcepos="6189:5-6190:71">A single <code>*</code> character <a href="@">can open emphasis</a>
-iff (if and only if) it is part of a [left-flanking delimiter run].</p>
-</li>
-<li data-sourcepos="6192:1-6197:0">
-<p data-sourcepos="6192:5-6196:28">A single <code>_</code> character [can open emphasis] iff
-it is part of a [left-flanking delimiter run]
-and either (a) not part of a [right-flanking delimiter run]
-or (b) part of a [right-flanking delimiter run]
-preceded by punctuation.</p>
-</li>
-<li data-sourcepos="6198:1-6200:0">
-<p data-sourcepos="6198:5-6199:55">A single <code>*</code> character <a href="@">can close emphasis</a>
-iff it is part of a [right-flanking delimiter run].</p>
-</li>
-<li data-sourcepos="6201:1-6206:0">
-<p data-sourcepos="6201:5-6205:28">A single <code>_</code> character [can close emphasis] iff
-it is part of a [right-flanking delimiter run]
-and either (a) not part of a [left-flanking delimiter run]
-or (b) part of a [left-flanking delimiter run]
-followed by punctuation.</p>
-</li>
-<li data-sourcepos="6207:1-6209:0">
-<p data-sourcepos="6207:5-6208:54">A double <code>**</code> <a href="@">can open strong emphasis</a>
-iff it is part of a [left-flanking delimiter run].</p>
-</li>
-<li data-sourcepos="6210:1-6215:0">
-<p data-sourcepos="6210:5-6214:28">A double <code>__</code> [can open strong emphasis] iff
-it is part of a [left-flanking delimiter run]
-and either (a) not part of a [right-flanking delimiter run]
-or (b) part of a [right-flanking delimiter run]
-preceded by punctuation.</p>
-</li>
-<li data-sourcepos="6216:1-6218:0">
-<p data-sourcepos="6216:5-6217:55">A double <code>**</code> <a href="@">can close strong emphasis</a>
-iff it is part of a [right-flanking delimiter run].</p>
-</li>
-<li data-sourcepos="6219:1-6224:0">
-<p data-sourcepos="6219:5-6223:28">A double <code>__</code> [can close strong emphasis] iff
-it is part of a [right-flanking delimiter run]
-and either (a) not part of a [left-flanking delimiter run]
-or (b) part of a [left-flanking delimiter run]
-followed by punctuation.</p>
-</li>
-<li data-sourcepos="6225:1-6234:0">
-<p data-sourcepos="6225:5-6233:19">Emphasis begins with a delimiter that [can open emphasis] and ends
-with a delimiter that [can close emphasis], and that uses the same
-character (<code>_</code> or <code>*</code>) as the opening delimiter. The
-opening and closing delimiters must belong to separate
-[delimiter runs]. If one of the delimiters can both
-open and close emphasis, then the sum of the lengths of the
-delimiter runs containing the opening and closing delimiters
-must not be a multiple of 3 unless both lengths are
-multiples of 3.</p>
-</li>
-<li data-sourcepos="6235:1-6245:0">
-<p data-sourcepos="6235:5-6244:23">Strong emphasis begins with a delimiter that
-[can open strong emphasis] and ends with a delimiter that
-[can close strong emphasis], and that uses the same character
-(<code>_</code> or <code>*</code>) as the opening delimiter. The
-opening and closing delimiters must belong to separate
-[delimiter runs]. If one of the delimiters can both open
-and close strong emphasis, then the sum of the lengths of
-the delimiter runs containing the opening and closing
-delimiters must not be a multiple of 3 unless both lengths
-are multiples of 3.</p>
-</li>
-<li data-sourcepos="6246:1-6249:0">
-<p data-sourcepos="6246:5-6248:25">A literal <code>*</code> character cannot occur at the beginning or end of
-<code>*</code>-delimited emphasis or <code>**</code>-delimited strong emphasis, unless it
-is backslash-escaped.</p>
-</li>
-<li data-sourcepos="6250:1-6253:0">
-<p data-sourcepos="6250:5-6252:25">A literal <code>_</code> character cannot occur at the beginning or end of
-<code>_</code>-delimited emphasis or <code>__</code>-delimited strong emphasis, unless it
-is backslash-escaped.</p>
-</li>
-</ol>
-<p data-sourcepos="6254:1-6255:43" dir="auto">Where rules 1--12 above are compatible with multiple parsings,
-the following principles resolve ambiguity:</p>
-<ol start="13" data-sourcepos="6257:1-6282:0" dir="auto">
-<li data-sourcepos="6257:1-6260:0">
-<p data-sourcepos="6257:5-6259:28">The number of nestings should be minimized. Thus, for example,
-an interpretation <code>&lt;strong&gt;...&lt;/strong&gt;</code> is always preferred to
-<code>&lt;em&gt;&lt;em&gt;...&lt;/em&gt;&lt;/em&gt;</code>.</p>
-</li>
-<li data-sourcepos="6261:1-6263:0">
-<p data-sourcepos="6261:5-6262:49">An interpretation <code>&lt;em&gt;&lt;strong&gt;...&lt;/strong&gt;&lt;/em&gt;</code> is always
-preferred to <code>&lt;strong&gt;&lt;em&gt;...&lt;/em&gt;&lt;/strong&gt;</code>.</p>
-</li>
-<li data-sourcepos="6264:1-6269:0">
-<p data-sourcepos="6264:5-6268:34">When two potential emphasis or strong emphasis spans overlap,
-so that the second begins before the first ends and ends after
-the first ends, the first takes precedence. Thus, for example,
-<code>*foo _bar* baz_</code> is parsed as <code>&lt;em&gt;foo _bar&lt;/em&gt; baz_</code> rather
-than <code>*foo &lt;em&gt;bar* baz&lt;/em&gt;</code>.</p>
-</li>
-<li data-sourcepos="6270:1-6275:0">
-<p data-sourcepos="6270:5-6274:49">When there are two potential emphasis or strong emphasis spans
-with the same closing delimiter, the shorter one (the one that
-opens later) takes precedence. Thus, for example,
-<code>**foo **bar baz**</code> is parsed as <code>**foo &lt;strong&gt;bar baz&lt;/strong&gt;</code>
-rather than <code>&lt;strong&gt;foo **bar baz&lt;/strong&gt;</code>.</p>
-</li>
-<li data-sourcepos="6276:1-6282:0">
-<p data-sourcepos="6276:5-6281:26">Inline code spans, links, images, and HTML tags group more tightly
-than emphasis. So, when there is a choice between an interpretation
-that contains one of these elements and one that does not, the
-former always wins. Thus, for example, <code>*[foo*](bar)</code> is
-parsed as <code>*&lt;a href="bar"&gt;foo*&lt;/a&gt;</code> rather than as
-<code>&lt;em&gt;[foo&lt;/em&gt;](bar)</code>.</p>
-</li>
-</ol>
-<p data-sourcepos="6283:1-6283:60" dir="auto">These rules can be illustrated through a series of examples.</p>
-<p data-sourcepos="6285:1-6285:7" dir="auto">Rule 1:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6287:1-6291:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo bar*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo bar&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6294:1-6295:66" dir="auto">This is not emphasis, because the opening <code>*</code> is followed by
-whitespace, and hence not part of a [left-flanking delimiter run]:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6297:1-6301:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">a * foo bar*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;a * foo bar*&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6304:1-6306:44" dir="auto">This is not emphasis, because the opening <code>*</code> is preceded
-by an alphanumeric and followed by punctuation, and hence
-not part of a [left-flanking delimiter run]:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6308:1-6312:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">a*"foo"*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;a*&amp;quot;foo&amp;quot;*&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6315:1-6315:52" dir="auto">Unicode nonbreaking spaces count as whitespace, too:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6317:1-6321:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">* a *</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;* a *&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6324:1-6324:41" dir="auto">Intraword emphasis with <code>*</code> is permitted:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6326:1-6330:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo*bar*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo&lt;em&gt;bar&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6333:1-6337:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">5*6*78</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;5&lt;em&gt;6&lt;/em&gt;78&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6340:1-6340:7" dir="auto">Rule 2:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6342:1-6346:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_foo bar_</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo bar&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6349:1-6350:11" dir="auto">This is not emphasis, because the opening <code>_</code> is followed by
-whitespace:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6352:1-6356:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_ foo bar_</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;_ foo bar_&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6359:1-6360:47" dir="auto">This is not emphasis, because the opening <code>_</code> is preceded
-by an alphanumeric and followed by punctuation:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6362:1-6366:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">a_"foo"_</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;a_&amp;quot;foo&amp;quot;_&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6369:1-6369:46" dir="auto">Emphasis with <code>_</code> is not allowed inside words:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6371:1-6375:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo_bar_</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo_bar_&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6378:1-6382:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">5_6_78</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;5_6_78&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6385:1-6389:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">пристаням_стремятся_</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;пристаням_стремятся_&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6392:1-6393:47" dir="auto">Here <code>_</code> does not generate emphasis, because the first delimiter run
-is right-flanking and the second left-flanking:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6395:1-6399:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aa_"bb"_cc</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;aa_&amp;quot;bb&amp;quot;_cc&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6402:1-6404:12" dir="auto">This is emphasis, even though the opening delimiter is
-both left- and right-flanking, because it is preceded by
-punctuation:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6406:1-6410:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo-_(bar)_</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo-&lt;em&gt;(bar)&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6413:1-6413:7" dir="auto">Rule 3:</p>
-<p data-sourcepos="6415:1-6416:32" dir="auto">This is not emphasis, because the closing delimiter does
-not match the opening delimiter:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6418:1-6422:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_foo*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;_foo*&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6425:1-6426:11" dir="auto">This is not emphasis, because the closing <code>*</code> is preceded by
-whitespace:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6428:1-6432:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo bar *</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;*foo bar *&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6435:1-6435:36" dir="auto">A newline also counts as whitespace:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6437:1-6443:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo bar</span>
-<span id="LC2" class="line" lang="plaintext">*</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;*foo bar</span>
-<span id="LC5" class="line" lang="plaintext">*&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6446:1-6448:58" dir="auto">This is not emphasis, because the second <code>*</code> is
-preceded by punctuation and followed by an alphanumeric
-(hence it is not part of a [right-flanking delimiter run]:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6450:1-6454:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*(*foo)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;*(*foo)&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6457:1-6458:18" dir="auto">The point of this restriction is more easily appreciated
-with this example:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6460:1-6464:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*(*foo*)*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;(&lt;em&gt;foo&lt;/em&gt;)&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6467:1-6467:39" dir="auto">Intraword emphasis with <code>*</code> is allowed:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6469:1-6473:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo*bar</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;/em&gt;bar&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6477:1-6477:7" dir="auto">Rule 4:</p>
-<p data-sourcepos="6479:1-6480:11" dir="auto">This is not emphasis, because the closing <code>_</code> is preceded by
-whitespace:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6482:1-6486:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_foo bar _</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;_foo bar _&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6489:1-6490:56" dir="auto">This is not emphasis, because the second <code>_</code> is
-preceded by punctuation and followed by an alphanumeric:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6492:1-6496:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_(_foo)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;_(_foo)&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6499:1-6499:33" dir="auto">This is emphasis within emphasis:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6501:1-6505:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_(_foo_)_</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;(&lt;em&gt;foo&lt;/em&gt;)&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6508:1-6508:41" dir="auto">Intraword emphasis is disallowed for <code>_</code>:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6510:1-6514:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_foo_bar</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;_foo_bar&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6517:1-6521:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_пристаням_стремятся</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;_пристаням_стремятся&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6524:1-6528:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_foo_bar_baz_</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo_bar_baz&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6531:1-6533:12" dir="auto">This is emphasis, even though the closing delimiter is
-both left- and right-flanking, because it is followed by
-punctuation:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6535:1-6539:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_(bar)_.</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;(bar)&lt;/em&gt;.&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6542:1-6542:7" dir="auto">Rule 5:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6544:1-6548:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo bar**</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo bar&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6551:1-6552:23" dir="auto">This is not strong emphasis, because the opening delimiter is
-followed by whitespace:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6554:1-6558:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">** foo bar**</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;** foo bar**&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6561:1-6563:44" dir="auto">This is not strong emphasis, because the opening <code>**</code> is preceded
-by an alphanumeric and followed by punctuation, and hence
-not part of a [left-flanking delimiter run]:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6565:1-6569:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">a**"foo"**</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;a**&amp;quot;foo&amp;quot;**&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6572:1-6572:49" dir="auto">Intraword strong emphasis with <code>**</code> is permitted:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6574:1-6578:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo**bar**</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo&lt;strong&gt;bar&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6581:1-6581:7" dir="auto">Rule 6:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6583:1-6587:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo bar__</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo bar&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6590:1-6591:23" dir="auto">This is not strong emphasis, because the opening delimiter is
-followed by whitespace:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6593:1-6597:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__ foo bar__</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;__ foo bar__&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6600:1-6600:31" dir="auto">A newline counts as whitespace:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6601:1-6607:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__</span>
-<span id="LC2" class="line" lang="plaintext">foo bar__</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;__</span>
-<span id="LC5" class="line" lang="plaintext">foo bar__&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6610:1-6611:47" dir="auto">This is not strong emphasis, because the opening <code>__</code> is preceded
-by an alphanumeric and followed by punctuation:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6613:1-6617:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">a__"foo"__</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;a__&amp;quot;foo&amp;quot;__&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6620:1-6620:49" dir="auto">Intraword strong emphasis is forbidden with <code>__</code>:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6622:1-6626:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo__bar__</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo__bar__&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6629:1-6633:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">5__6__78</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;5__6__78&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6636:1-6640:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">пристаням__стремятся__</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;пристаням__стремятся__&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6643:1-6647:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo, __bar__, baz__</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo, &lt;strong&gt;bar&lt;/strong&gt;, baz&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6650:1-6652:12" dir="auto">This is strong emphasis, even though the opening delimiter is
-both left- and right-flanking, because it is preceded by
-punctuation:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6654:1-6658:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo-__(bar)__</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo-&lt;strong&gt;(bar)&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6662:1-6662:7" dir="auto">Rule 7:</p>
-<p data-sourcepos="6664:1-6665:14" dir="auto">This is not strong emphasis, because the closing delimiter is preceded
-by whitespace:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6667:1-6671:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo bar **</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;**foo bar **&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6674:1-6675:9" dir="auto">(Nor can it be interpreted as an emphasized <code>*foo bar *</code>, because of
-Rule 11.)</p>
-<p data-sourcepos="6677:1-6678:56" dir="auto">This is not strong emphasis, because the second <code>**</code> is
-preceded by punctuation and followed by an alphanumeric:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6680:1-6684:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**(**foo)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;**(**foo)&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6687:1-6688:20" dir="auto">The point of this restriction is more easily appreciated
-with these examples:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6690:1-6694:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*(**foo**)*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;(&lt;strong&gt;foo&lt;/strong&gt;)&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6697:1-6703:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**Gomphocarpus (*Gomphocarpus physocarpus*, syn.</span>
-<span id="LC2" class="line" lang="plaintext">*Asclepias physocarpa*)**</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;Gomphocarpus (&lt;em&gt;Gomphocarpus physocarpus&lt;/em&gt;, syn.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;em&gt;Asclepias physocarpa&lt;/em&gt;)&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6706:1-6710:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo "*bar*" foo**</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo &amp;quot;&lt;em&gt;bar&lt;/em&gt;&amp;quot; foo&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6713:1-6713:19" dir="auto">Intraword emphasis:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6715:1-6719:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo**bar</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo&lt;/strong&gt;bar&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6722:1-6722:7" dir="auto">Rule 8:</p>
-<p data-sourcepos="6724:1-6725:23" dir="auto">This is not strong emphasis, because the closing delimiter is
-preceded by whitespace:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6727:1-6731:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo bar __</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;__foo bar __&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6734:1-6735:56" dir="auto">This is not strong emphasis, because the second <code>__</code> is
-preceded by punctuation and followed by an alphanumeric:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6737:1-6741:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__(__foo)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;__(__foo)&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6744:1-6745:18" dir="auto">The point of this restriction is more easily appreciated
-with this example:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6747:1-6751:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_(__foo__)_</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;(&lt;strong&gt;foo&lt;/strong&gt;)&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6754:1-6754:49" dir="auto">Intraword strong emphasis is forbidden with <code>__</code>:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6756:1-6760:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo__bar</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;__foo__bar&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6763:1-6767:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__пристаням__стремятся</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;__пристаням__стремятся&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6770:1-6774:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo__bar__baz__</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo__bar__baz&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6777:1-6779:12" dir="auto">This is strong emphasis, even though the closing delimiter is
-both left- and right-flanking, because it is followed by
-punctuation:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6781:1-6785:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__(bar)__.</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;(bar)&lt;/strong&gt;.&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6788:1-6788:7" dir="auto">Rule 9:</p>
-<p data-sourcepos="6790:1-6791:16" dir="auto">Any nonempty sequence of inline elements can be the contents of an
-emphasized span.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6793:1-6797:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo [bar](/url)*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo &lt;a href="/url"&gt;bar&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6800:1-6806:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo</span>
-<span id="LC2" class="line" lang="plaintext">bar*</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo</span>
-<span id="LC5" class="line" lang="plaintext">bar&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6809:1-6810:16" dir="auto">In particular, emphasis and strong emphasis can be nested
-inside emphasis:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6812:1-6816:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_foo __bar__ baz_</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo &lt;strong&gt;bar&lt;/strong&gt; baz&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6819:1-6823:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_foo _bar_ baz_</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo &lt;em&gt;bar&lt;/em&gt; baz&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6826:1-6830:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo_ bar_</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;&lt;em&gt;foo&lt;/em&gt; bar&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6833:1-6837:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo *bar**</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo &lt;em&gt;bar&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6840:1-6844:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo **bar** baz*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo &lt;strong&gt;bar&lt;/strong&gt; baz&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6846:1-6850:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo**bar**baz*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;strong&gt;bar&lt;/strong&gt;baz&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6852:1-6852:51" dir="auto">Note that in the preceding case, the interpretation</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6854:1-6856:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="nt">&lt;p&gt;&lt;em&gt;</span>foo<span class="nt">&lt;/em&gt;&lt;em&gt;</span>bar<span class="nt">&lt;em&gt;&lt;/em&gt;</span>baz<span class="nt">&lt;/em&gt;&lt;/p&gt;</span></span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6859:1-6864:32" dir="auto">is precluded by the condition that a delimiter that
-can both open and close (like the <code>*</code> after <code>foo</code>)
-cannot form emphasis if the sum of the lengths of
-the delimiter runs containing the opening and
-closing delimiters is a multiple of 3 unless
-both lengths are multiples of 3.</p>
-<p data-sourcepos="6867:1-6868:34" dir="auto">For the same reason, we don't get two consecutive
-emphasis sections in this example:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6870:1-6874:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo**bar*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo**bar&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6877:1-6880:8" dir="auto">The same condition ensures that the following
-cases are all strong emphasis nested inside
-emphasis, even when the interior spaces are
-omitted:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6883:1-6887:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">***foo** bar*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;&lt;strong&gt;foo&lt;/strong&gt; bar&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6890:1-6894:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo **bar***</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo &lt;strong&gt;bar&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6897:1-6901:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo**bar***</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;strong&gt;bar&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6904:1-6906:34" dir="auto">When the lengths of the interior closing and opening
-delimiter runs are <em>both</em> multiples of 3, though,
-they can match to create emphasis:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6908:1-6912:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo***bar***baz</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo&lt;em&gt;&lt;strong&gt;bar&lt;/strong&gt;&lt;/em&gt;baz&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6914:1-6918:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo******bar*********baz</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;bar&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;***baz&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6921:1-6921:42" dir="auto">Indefinite levels of nesting are possible:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6923:1-6927:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo **bar *baz* bim** bop*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo &lt;strong&gt;bar &lt;em&gt;baz&lt;/em&gt; bim&lt;/strong&gt; bop&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6930:1-6934:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo [*bar*](/url)*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo &lt;a href="/url"&gt;&lt;em&gt;bar&lt;/em&gt;&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6937:1-6937:50" dir="auto">There can be no empty emphasis or strong emphasis:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6939:1-6943:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">** is not an empty emphasis</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;** is not an empty emphasis&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6946:1-6950:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**** is not an empty strong emphasis</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;**** is not an empty strong emphasis&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6954:1-6954:8" dir="auto">Rule 10:</p>
-<p data-sourcepos="6956:1-6957:25" dir="auto">Any nonempty sequence of inline elements can be the contents of an
-strongly emphasized span.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6959:1-6963:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo [bar](/url)**</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo &lt;a href="/url"&gt;bar&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6966:1-6972:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo</span>
-<span id="LC2" class="line" lang="plaintext">bar**</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo</span>
-<span id="LC5" class="line" lang="plaintext">bar&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="6975:1-6976:23" dir="auto">In particular, emphasis and strong emphasis can be nested
-inside strong emphasis:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6978:1-6982:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo _bar_ baz__</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo &lt;em&gt;bar&lt;/em&gt; baz&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6985:1-6989:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo __bar__ baz__</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo &lt;strong&gt;bar&lt;/strong&gt; baz&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6992:1-6996:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">____foo__ bar__</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;&lt;strong&gt;foo&lt;/strong&gt; bar&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="6999:1-7003:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo **bar****</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo &lt;strong&gt;bar&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7006:1-7010:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo *bar* baz**</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo &lt;em&gt;bar&lt;/em&gt; baz&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7013:1-7017:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo*bar*baz**</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo&lt;em&gt;bar&lt;/em&gt;baz&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7020:1-7024:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">***foo* bar**</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;&lt;em&gt;foo&lt;/em&gt; bar&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7027:1-7031:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo *bar***</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo &lt;em&gt;bar&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7034:1-7034:42" dir="auto">Indefinite levels of nesting are possible:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7036:1-7042:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo *bar **baz**</span>
-<span id="LC2" class="line" lang="plaintext">bim* bop**</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo &lt;em&gt;bar &lt;strong&gt;baz&lt;/strong&gt;</span>
-<span id="LC5" class="line" lang="plaintext">bim&lt;/em&gt; bop&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7045:1-7049:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo [*bar*](/url)**</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo &lt;a href="/url"&gt;&lt;em&gt;bar&lt;/em&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7052:1-7052:50" dir="auto">There can be no empty emphasis or strong emphasis:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7054:1-7058:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__ is not an empty emphasis</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;__ is not an empty emphasis&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7061:1-7065:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">____ is not an empty strong emphasis</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;____ is not an empty strong emphasis&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7069:1-7069:8" dir="auto">Rule 11:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7071:1-7075:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo ***</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo ***&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7078:1-7082:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo *\**</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo &lt;em&gt;*&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7085:1-7089:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo *_*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo &lt;em&gt;_&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7092:1-7096:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo *****</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo *****&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7099:1-7103:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo **\***</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo &lt;strong&gt;*&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7106:1-7110:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo **_**</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo &lt;strong&gt;_&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7113:1-7115:32" dir="auto">Note that when delimiters do not match evenly, Rule 11 determines
-that the excess literal <code>*</code> characters will appear outside of the
-emphasis, rather than inside it:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7117:1-7121:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;*&lt;em&gt;foo&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7124:1-7128:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo**</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;/em&gt;*&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7131:1-7135:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">***foo**</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;*&lt;strong&gt;foo&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7138:1-7142:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">****foo*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;***&lt;em&gt;foo&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7145:1-7149:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo***</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo&lt;/strong&gt;*&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7152:1-7156:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo****</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;/em&gt;***&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7160:1-7160:8" dir="auto">Rule 12:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7162:1-7166:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo ___</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo ___&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7169:1-7173:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo _\__</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo &lt;em&gt;_&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7176:1-7180:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo _*_</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo &lt;em&gt;*&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7183:1-7187:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo _____</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo _____&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7190:1-7194:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo __\___</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo &lt;strong&gt;_&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7197:1-7201:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo __*__</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo &lt;strong&gt;*&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7204:1-7208:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo_</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;_&lt;em&gt;foo&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7211:1-7213:32" dir="auto">Note that when delimiters do not match evenly, Rule 12 determines
-that the excess literal <code>_</code> characters will appear outside of the
-emphasis, rather than inside it:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7215:1-7219:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_foo__</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;/em&gt;_&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7222:1-7226:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">___foo__</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;_&lt;strong&gt;foo&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7229:1-7233:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">____foo_</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;___&lt;em&gt;foo&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7236:1-7240:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo___</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo&lt;/strong&gt;_&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7243:1-7247:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_foo____</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;/em&gt;___&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7250:1-7251:44" dir="auto">Rule 13 implies that if you want emphasis nested directly inside
-emphasis, you must use different delimiters:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7253:1-7257:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo**</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7260:1-7264:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*_foo_*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;&lt;em&gt;foo&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7267:1-7271:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo__</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7274:1-7278:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_*foo*_</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;&lt;em&gt;foo&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7281:1-7282:21" dir="auto">However, strong emphasis within strong emphasis is possible without
-switching delimiters:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7284:1-7288:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">****foo****</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;&lt;strong&gt;foo&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7291:1-7295:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">____foo____</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;&lt;strong&gt;foo&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7299:1-7300:11" dir="auto">Rule 13 can be applied to arbitrarily long sequences of
-delimiters:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7302:1-7306:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">******foo******</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;foo&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7309:1-7309:8" dir="auto">Rule 14:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7311:1-7315:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">***foo***</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;&lt;strong&gt;foo&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7318:1-7322:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_____foo_____</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;strong&gt;foo&lt;/strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7325:1-7325:8" dir="auto">Rule 15:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7327:1-7331:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo _bar* baz_</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo _bar&lt;/em&gt; baz_&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7334:1-7338:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo __bar *baz bim__ bam*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo &lt;strong&gt;bar *baz bim&lt;/strong&gt; bam&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7341:1-7341:8" dir="auto">Rule 16:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7343:1-7347:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo **bar baz**</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;**foo &lt;strong&gt;bar baz&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7350:1-7354:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo *bar baz*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;*foo &lt;em&gt;bar baz&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7357:1-7357:8" dir="auto">Rule 17:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7359:1-7363:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*[bar*](/url)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;*&lt;a href="/url"&gt;bar*&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7366:1-7370:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_foo [bar_](/url)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;_foo &lt;a href="/url"&gt;bar_&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7373:1-7377:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*&lt;img src="foo" title="*"/&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;*&lt;img src="foo" title="*"/&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7380:1-7384:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**&lt;a href="**"&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;**&lt;a href="**"&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7387:1-7391:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__&lt;a href="__"&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;__&lt;a href="__"&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7394:1-7398:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*a `*`*</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;a &lt;code&gt;*&lt;/code&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7401:1-7405:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_a `_`_</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;a &lt;code&gt;_&lt;/code&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7408:1-7412:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**a&lt;http://foo.bar/?q=**&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;**a&lt;a href="http://foo.bar/?q=**"&gt;http://foo.bar/?q=**&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7415:1-7419:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__a&lt;http://foo.bar/?q=__&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;__a&lt;a href="http://foo.bar/?q=__"&gt;http://foo.bar/?q=__&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div>
-<h2 data-sourcepos="7424:1-7424:28">
-<a id="user-content-strikethrough-extension" class="anchor" href="#strikethrough-extension" aria-hidden="true"></a>Strikethrough (extension)</h2>
-<p data-sourcepos="7426:1-7427:10">GFM enables the <code>strikethrough</code> extension, where an additional emphasis type is
-available.</p>
-<p data-sourcepos="7429:1-7429:59">Strikethrough text is any text wrapped in two tildes (<code>~</code>).</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7431:1-7435:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">~~Hi~~ Hello, world!</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;del&gt;Hi&lt;/del&gt; Hello, world!&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7437:1-7438:17">As with regular emphasis delimiters, a new paragraph will cause strikethrough
-parsing to cease:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7440:1-7447:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">This ~~has a</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">new paragraph~~.</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;This ~~has a&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;new paragraph~~.&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-</div>
-<h2 data-sourcepos="7451:1-7451:8" dir="auto">
-<a id="user-content-links" class="anchor" href="#links" aria-hidden="true"></a>Links</h2>
-<p data-sourcepos="7453:1-7458:13" dir="auto">A link contains [link text] (the visible text), a [link destination]
-(the URI that is the link destination), and optionally a [link title].
-There are two basic kinds of links in Markdown. In [inline links] the
-destination and title are given immediately after the link text. In
-[reference links] the destination and title are defined elsewhere in
-the document.</p>
-<p data-sourcepos="7460:1-7462:22" dir="auto">A <a href="@">link text</a> consists of a sequence of zero or more
-inline elements enclosed by square brackets (<code>[</code> and <code>]</code>). The
-following rules apply:</p>
-<ul data-sourcepos="7464:1-7480:0" dir="auto">
-<li data-sourcepos="7464:1-7467:0">
-<p data-sourcepos="7464:3-7466:43">Links may not contain other links, at any level of nesting. If
-multiple otherwise valid link definitions appear nested inside each
-other, the inner-most definition is used.</p>
-</li>
-<li data-sourcepos="7468:1-7472:0">
-<p data-sourcepos="7468:3-7471:22">Brackets are allowed in the [link text] only if (a) they
-are backslash-escaped or (b) they appear as a matched pair of brackets,
-with an open bracket <code>[</code>, a sequence of zero or more inlines, and
-a close bracket <code>]</code>.</p>
-</li>
-<li data-sourcepos="7473:1-7477:0">
-<p data-sourcepos="7473:3-7476:25">Backtick [code spans], [autolinks], and raw [HTML tags] bind more tightly
-than the brackets in link text. Thus, for example,
-<code>[foo`]`</code> could not be a link text, since the second <code>]</code>
-is part of a code span.</p>
-</li>
-<li data-sourcepos="7478:1-7480:0">
-<p data-sourcepos="7478:3-7479:78">The brackets in link text bind more tightly than markers for
-[emphasis and strong emphasis]. Thus, for example, <code>*[foo*](url)</code> is a link.</p>
-</li>
-</ul>
-<p data-sourcepos="7481:1-7481:42" dir="auto">A <a href="@">link destination</a> consists of either</p>
-<ul data-sourcepos="7483:1-7494:0" dir="auto">
-<li data-sourcepos="7483:1-7486:0">
-<p data-sourcepos="7483:3-7485:27">a sequence of zero or more characters between an opening <code>&lt;</code> and a
-closing <code>&gt;</code> that contains no line breaks or unescaped
-<code>&lt;</code> or <code>&gt;</code> characters, or</p>
-</li>
-<li data-sourcepos="7487:1-7494:0">
-<p data-sourcepos="7487:3-7493:23">a nonempty sequence of characters that does not start with
-<code>&lt;</code>, does not include ASCII space or control characters, and
-includes parentheses only if (a) they are backslash-escaped or
-(b) they are part of a balanced pair of unescaped parentheses.
-(Implementations may impose limits on parentheses nesting to
-avoid performance issues, but at least three levels of nesting
-should be supported.)</p>
-</li>
-</ul>
-<p data-sourcepos="7495:1-7495:37" dir="auto">A <a href="@">link title</a> consists of either</p>
-<ul data-sourcepos="7497:1-7508:0" dir="auto">
-<li data-sourcepos="7497:1-7500:0">
-<p data-sourcepos="7497:3-7499:23">a sequence of zero or more characters between straight double-quote
-characters (<code>"</code>), including a <code>"</code> character only if it is
-backslash-escaped, or</p>
-</li>
-<li data-sourcepos="7501:1-7504:0">
-<p data-sourcepos="7501:3-7503:23">a sequence of zero or more characters between straight single-quote
-characters (<code>'</code>), including a <code>'</code> character only if it is
-backslash-escaped, or</p>
-</li>
-<li data-sourcepos="7505:1-7508:0">
-<p data-sourcepos="7505:3-7507:20">a sequence of zero or more characters between matching parentheses
-(<code>(...)</code>), including a <code>(</code> or <code>)</code> character only if it is
-backslash-escaped.</p>
-</li>
-</ul>
-<p data-sourcepos="7509:1-7510:15" dir="auto">Although [link titles] may span multiple lines, they may not contain
-a [blank line].</p>
-<p data-sourcepos="7512:1-7522:6" dir="auto">An <a href="@">inline link</a> consists of a [link text] followed immediately
-by a left parenthesis <code>(</code>, optional [whitespace], an optional
-[link destination], an optional [link title] separated from the link
-destination by [whitespace], optional [whitespace], and a right
-parenthesis <code>)</code>. The link's text consists of the inlines contained
-in the [link text] (excluding the enclosing square brackets).
-The link's URI consists of the link destination, excluding enclosing
-<code>&lt;...&gt;</code> if present, with backslash-escapes in effect as described
-above. The link's title consists of the link title, excluding its
-enclosing delimiters, with backslash-escapes in effect as described
-above.</p>
-<p data-sourcepos="7524:1-7524:29" dir="auto">Here is a simple inline link:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7526:1-7530:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](/uri "title")</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri" title="title"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7533:1-7533:25" dir="auto">The title may be omitted:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7535:1-7539:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](/uri)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7542:1-7542:50" dir="auto">Both the title and the destination may be omitted:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7544:1-7548:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link]()</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href=""&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7551:1-7555:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](&lt;&gt;)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href=""&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7557:1-7558:28" dir="auto">The destination can only contain spaces if it is
-enclosed in pointy brackets:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7560:1-7564:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](/my uri)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;[link](/my uri)&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7566:1-7570:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](&lt;/my uri&gt;)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/my%20uri"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7572:1-7573:36" dir="auto">The destination cannot contain line breaks,
-even if enclosed in pointy brackets:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7575:1-7581:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](foo</span>
-<span id="LC2" class="line" lang="plaintext">bar)</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;[link](foo</span>
-<span id="LC5" class="line" lang="plaintext">bar)&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7583:1-7589:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](&lt;foo</span>
-<span id="LC2" class="line" lang="plaintext">bar&gt;)</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;[link](&lt;foo</span>
-<span id="LC5" class="line" lang="plaintext">bar&gt;)&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7591:1-7592:19" dir="auto">The destination can contain <code>)</code> if it is enclosed
-in pointy brackets:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7594:1-7598:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[a](&lt;b)c&gt;)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="b)c"&gt;a&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7600:1-7600:53" dir="auto">Pointy brackets that enclose links must be unescaped:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7602:1-7606:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](&lt;foo\&gt;)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;[link](&amp;lt;foo&amp;gt;)&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7608:1-7609:24" dir="auto">These are not links, because the opening pointy bracket
-is not matched properly:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7611:1-7619:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[a](&lt;b)c</span>
-<span id="LC2" class="line" lang="plaintext">[a](&lt;b)c&gt;</span>
-<span id="LC3" class="line" lang="plaintext">[a](&lt;b&gt;c)</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;[a](&amp;lt;b)c</span>
-<span id="LC6" class="line" lang="plaintext">[a](&amp;lt;b)c&amp;gt;</span>
-<span id="LC7" class="line" lang="plaintext">[a](&lt;b&gt;c)&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7621:1-7621:55" dir="auto">Parentheses inside the link destination may be escaped:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7623:1-7627:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](\(foo\))</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="(foo)"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7629:1-7630:9" dir="auto">Any number of parentheses are allowed without escaping, as long as they are
-balanced:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7632:1-7636:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](foo(and(bar)))</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="foo(and(bar))"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7638:1-7639:13" dir="auto">However, if you have unbalanced parentheses, you need to escape or use the
-<code>&lt;...&gt;</code> form:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7641:1-7645:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](foo\(and\(bar\))</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="foo(and(bar)"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7648:1-7652:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](&lt;foo(and(bar)&gt;)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="foo(and(bar)"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7655:1-7656:12" dir="auto">Parentheses and other symbols can also be escaped, as usual
-in Markdown:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7658:1-7662:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](foo\)\:)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="foo):"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7665:1-7665:52" dir="auto">A link can contain fragment identifiers and queries:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7667:1-7677:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](#fragment)</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[link](http://example.com#fragment)</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">[link](http://example.com?foo=3#frag)</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;&lt;a href="#fragment"&gt;link&lt;/a&gt;&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://example.com#fragment"&gt;link&lt;/a&gt;&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://example.com?foo=3#frag"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7680:1-7681:17" dir="auto">Note that a backslash before a non-escapable character is
-just a backslash:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7683:1-7687:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](foo\bar)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="foo%5Cbar"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7690:1-7697:52" dir="auto">URL-escaping should be left alone inside the destination, as all
-URL-escaped characters are also valid URL characters. Entity and
-numerical character references in the destination will be parsed
-into the corresponding Unicode code points, as usual. These may
-be optionally URL-escaped when written as HTML, but this spec
-does not enforce any particular policy for rendering URLs in
-HTML or other formats. Renderers may make different decisions
-about how to escape or normalize URLs in the output.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7699:1-7703:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](foo%20b&amp;auml;)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="foo%20b%C3%A4"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7706:1-7708:23" dir="auto">Note that, because titles can often be parsed as destinations,
-if you try to omit the destination and keep the title, you'll
-get unexpected results:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7710:1-7714:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link]("title")</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="%22title%22"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7717:1-7717:62" dir="auto">Titles may be in single quotes, double quotes, or parentheses:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7719:1-7727:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](/url "title")</span>
-<span id="LC2" class="line" lang="plaintext">[link](/url 'title')</span>
-<span id="LC3" class="line" lang="plaintext">[link](/url (title))</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;link&lt;/a&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;a href="/url" title="title"&gt;link&lt;/a&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;a href="/url" title="title"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7730:1-7731:22" dir="auto">Backslash escapes and entity and numeric character references
-may be used in titles:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7733:1-7737:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](/url "title \"&amp;quot;")</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title &amp;quot;&amp;quot;"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7740:1-7741:64" dir="auto">Titles must be separated from the link using a [whitespace].
-Other [Unicode whitespace] like non-breaking space doesn't work.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7743:1-7747:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](/url "title")</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url%C2%A0%22title%22"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7750:1-7750:56" dir="auto">Nested balanced quotes are not allowed without escaping:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7752:1-7756:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](/url "title "and" title")</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;[link](/url &amp;quot;title &amp;quot;and&amp;quot; title&amp;quot;)&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7759:1-7759:67" dir="auto">But it is easy to work around this by using a different quote type:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7761:1-7765:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](/url 'title "and" title')</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title &amp;quot;and&amp;quot; title"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7768:1-7781:61" dir="auto">(Note: <code>Markdown.pl</code> did allow double quotes inside a double-quoted
-title, and its test suite included a test demonstrating this.
-But it is hard to see a good rationale for the extra complexity this
-brings, since there are already many ways---backslash escaping,
-entity and numeric character references, or using a different
-quote type for the enclosing title---to write titles containing
-double quotes. <code>Markdown.pl</code>'s handling of titles has a number
-of other strange features. For example, it allows single-quoted
-titles in inline links, but not reference links. And, in
-reference links but not inline links, it allows a title to begin
-with <code>"</code> and end with <code>)</code>. <code>Markdown.pl</code> 1.0.1 even allows
-titles with no closing quotation mark, though 1.0.2b8 does not.
-It seems preferable to adopt a simple, rational rule that works
-the same way in inline links and link reference definitions.)</p>
-<p data-sourcepos="7783:1-7783:57" dir="auto">[Whitespace] is allowed around the destination and title:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7785:1-7790:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link]( /uri</span>
-<span id="LC2" class="line" lang="plaintext"> "title" )</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri" title="title"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7793:1-7794:22" dir="auto">But it is not allowed between the link text and the
-following parenthesis:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7796:1-7800:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link] (/uri)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;[link] (/uri)&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7803:1-7804:24" dir="auto">The link text may contain balanced brackets, but not unbalanced ones,
-unless they are escaped:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7806:1-7810:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link [foo [bar]]](/uri)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;link [foo [bar]]&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7813:1-7817:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link] bar](/uri)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;[link] bar](/uri)&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7820:1-7824:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link [bar](/uri)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;[link &lt;a href="/uri"&gt;bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7827:1-7831:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link \[bar](/uri)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;link [bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7834:1-7834:41" dir="auto">The link text may contain inline content:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7836:1-7840:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link *foo **bar** `#`*](/uri)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;link &lt;em&gt;foo &lt;strong&gt;bar&lt;/strong&gt; &lt;code&gt;#&lt;/code&gt;&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7843:1-7847:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[![moon](moon.jpg)](/uri)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;&lt;img src="moon.jpg" alt="moon" /&gt;&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7850:1-7850:68" dir="auto">However, links may not contain other links, at any level of nesting.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7852:1-7856:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo [bar](/uri)](/uri)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;[foo &lt;a href="/uri"&gt;bar&lt;/a&gt;](/uri)&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7859:1-7863:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo *[bar [baz](/uri)](/uri)*](/uri)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;[foo &lt;em&gt;[bar &lt;a href="/uri"&gt;baz&lt;/a&gt;](/uri)&lt;/em&gt;](/uri)&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7866:1-7870:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![[[foo](uri1)](uri2)](uri3)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;img src="uri3" alt="[foo](uri2)" /&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7873:1-7874:18" dir="auto">These cases illustrate the precedence of link text grouping over
-emphasis grouping:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7876:1-7880:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*[foo*](/uri)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;*&lt;a href="/uri"&gt;foo*&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7883:1-7887:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo *bar](baz*)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="baz*"&gt;foo *bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7890:1-7891:11" dir="auto">Note that brackets that <em>aren't</em> part of links do not take
-precedence:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7893:1-7897:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo [bar* baz]</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo [bar&lt;/em&gt; baz]&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7900:1-7901:33" dir="auto">These cases illustrate the precedence of HTML tags, code spans,
-and autolinks over link grouping:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7903:1-7907:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo &lt;bar attr="](baz)"&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;[foo &lt;bar attr="](baz)"&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7910:1-7914:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo`](/uri)`</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;[foo&lt;code&gt;](/uri)&lt;/code&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7917:1-7921:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo&lt;http://example.com/?search=](uri)&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;[foo&lt;a href="http://example.com/?search=%5D(uri)"&gt;http://example.com/?search=](uri)&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7924:1-7926:41" dir="auto">There are three kinds of <a href="@">reference link</a>s:
-<a href="#full-reference-link">full</a>, <a href="#collapsed-reference-link">collapsed</a>,
-and <a href="#shortcut-reference-link">shortcut</a>.</p>
-<p data-sourcepos="7928:1-7930:71" dir="auto">A <a href="@">full reference link</a>
-consists of a [link text] immediately followed by a [link label]
-that [matches] a [link reference definition] elsewhere in the document.</p>
-<p data-sourcepos="7932:1-7938:9" dir="auto">A <a href="@">link label</a> begins with a left bracket (<code>[</code>) and ends
-with the first right bracket (<code>]</code>) that is not backslash-escaped.
-Between these brackets there must be at least one [non-whitespace character].
-Unescaped square bracket characters are not allowed inside the
-opening and closing square brackets of [link labels]. A link
-label can have at most 999 characters inside the square
-brackets.</p>
-<p data-sourcepos="7940:1-7947:69" dir="auto">One label <a href="@">matches</a>
-another just in case their normalized forms are equal. To normalize a
-label, strip off the opening and closing brackets,
-perform the <em>Unicode case fold</em>, strip leading and trailing
-[whitespace] and collapse consecutive internal
-[whitespace] to a single space. If there are multiple
-matching reference link definitions, the one that comes first in the
-document is used. (It is desirable in such cases to emit a warning.)</p>
-<p data-sourcepos="7949:1-7951:37" dir="auto">The contents of the first link label are parsed as inlines, which are
-used as the link's text. The link's URI and title are provided by the
-matching [link reference definition].</p>
-<p data-sourcepos="7953:1-7953:25" dir="auto">Here is a simple example:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7955:1-7961:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][bar]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[bar]: /url "title"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7964:1-7965:22" dir="auto">The rules for the [link text] are the same as with
-[inline links]. Thus:</p>
-<p data-sourcepos="7967:1-7968:24" dir="auto">The link text may contain balanced brackets, but not unbalanced ones,
-unless they are escaped:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7970:1-7976:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link [foo [bar]]][ref]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;link [foo [bar]]&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7979:1-7985:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link \[bar][ref]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;link [bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="7988:1-7988:41" dir="auto">The link text may contain inline content:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7990:1-7996:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link *foo **bar** `#`*][ref]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;link &lt;em&gt;foo &lt;strong&gt;bar&lt;/strong&gt; &lt;code&gt;#&lt;/code&gt;&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="7999:1-8005:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[![moon](moon.jpg)][ref]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;&lt;img src="moon.jpg" alt="moon" /&gt;&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8008:1-8008:68" dir="auto">However, links may not contain other links, at any level of nesting.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8010:1-8016:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo [bar](/uri)][ref]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;[foo &lt;a href="/uri"&gt;bar&lt;/a&gt;]&lt;a href="/uri"&gt;ref&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8019:1-8025:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo *bar [baz][ref]*][ref]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;[foo &lt;em&gt;bar &lt;a href="/uri"&gt;baz&lt;/a&gt;&lt;/em&gt;]&lt;a href="/uri"&gt;ref&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8028:1-8029:38" dir="auto">(In the examples above, we have two [shortcut reference links]
-instead of one [full reference link].)</p>
-<p data-sourcepos="8031:1-8032:18" dir="auto">The following cases illustrate the precedence of link text grouping over
-emphasis grouping:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8034:1-8040:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*[foo*][ref]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;*&lt;a href="/uri"&gt;foo*&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8043:1-8049:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo *bar][ref]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;foo *bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8052:1-8053:33" dir="auto">These cases illustrate the precedence of HTML tags, code spans,
-and autolinks over link grouping:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8055:1-8061:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo &lt;bar attr="][ref]"&gt;</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;[foo &lt;bar attr="][ref]"&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8064:1-8070:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo`][ref]`</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;[foo&lt;code&gt;][ref]&lt;/code&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8073:1-8079:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo&lt;http://example.com/?search=][ref]&gt;</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;[foo&lt;a href="http://example.com/?search=%5D%5Bref%5D"&gt;http://example.com/?search=][ref]&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8082:1-8082:29" dir="auto">Matching is case-insensitive:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8084:1-8090:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][BaR]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[bar]: /url "title"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8093:1-8093:26" dir="auto">Unicode case fold is used:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8095:1-8101:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[Толпой][Толпой] is a Russian word.</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[ТОЛПОЙ]: /url</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url"&gt;Толпой&lt;/a&gt; is a Russian word.&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8104:1-8105:33" dir="auto">Consecutive internal [whitespace] is treated as one space for
-purposes of determining matching:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8107:1-8114:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[Foo</span>
-<span id="LC2" class="line" lang="plaintext"> bar]: /url</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">[Baz][Foo bar]</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url"&gt;Baz&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8117:1-8118:13" dir="auto">No [whitespace] is allowed between the [link text] and the
-[link label]:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8120:1-8126:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo] [bar]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[bar]: /url "title"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;[foo] &lt;a href="/url" title="title"&gt;bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8129:1-8137:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]</span>
-<span id="LC2" class="line" lang="plaintext">[bar]</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">[bar]: /url "title"</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;[foo]</span>
-<span id="LC7" class="line" lang="plaintext">&lt;a href="/url" title="title"&gt;bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8140:1-8149:9" dir="auto">This is a departure from John Gruber's original Markdown syntax
-description, which explicitly allows whitespace between the link
-text and the link label. It brings reference links in line with
-[inline links], which (according to both original Markdown and
-this spec) cannot have whitespace after the link text. More
-importantly, it prevents inadvertent capture of consecutive
-[shortcut reference links]. If whitespace is allowed between the
-link text and the link label, then in the following we will have
-a single reference link, not two shortcut reference links, as
-intended:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8151:1-8157:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown">[foo]</span>
-<span id="LC2" class="line" lang="markdown">[bar]</span>
-<span id="LC3" class="line" lang="markdown"></span>
-<span id="LC4" class="line" lang="markdown"><span class="p">[</span><span class="ss">foo</span><span class="p">]:</span> <span class="sx">/url1</span></span>
-<span id="LC5" class="line" lang="markdown"><span class="p">[</span><span class="ss">bar</span><span class="p">]:</span> <span class="sx">/url2</span></span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8159:1-8165:20" dir="auto">(Note that [shortcut reference links] were introduced by Gruber
-himself in a beta version of <code>Markdown.pl</code>, but never included
-in the official syntax description. Without shortcut reference
-links, it is harmless to allow space between the link text and
-link label; but once shortcut references are introduced, it is
-too dangerous to allow this, as it frequently leads to
-unintended results.)</p>
-<p data-sourcepos="8167:1-8168:18" dir="auto">When there are multiple matching [link reference definitions],
-the first is used:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8170:1-8178:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url1</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: /url2</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">[bar][foo]</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url1"&gt;bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8181:1-8183:40" dir="auto">Note that matching is performed on normalized strings, not parsed
-inline content. So the following does not match, even though the
-labels define equivalent inline content:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8185:1-8191:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[bar][foo\!]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo!]: /url</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;[bar][foo!]&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8194:1-8195:18" dir="auto">[Link labels] cannot contain brackets, unless they are
-backslash-escaped:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8197:1-8204:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][ref[]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[ref[]: /uri</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;[foo][ref[]&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;[ref[]: /uri&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8207:1-8214:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][ref[bar]]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[ref[bar]]: /uri</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;[foo][ref[bar]]&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;[ref[bar]]: /uri&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8217:1-8224:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[[[foo]]]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[[[foo]]]: /url</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;[[[foo]]]&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;[[[foo]]]: /url&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8227:1-8233:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][ref\[]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[ref\[]: /uri</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8236:1-8236:55" dir="auto">Note that in this example <code>]</code> is not backslash-escaped:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8238:1-8244:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[bar\\]: /uri</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[bar\\]</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;bar\&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8247:1-8247:68" dir="auto">A [link label] must contain at least one [non-whitespace character]:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8249:1-8256:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[]: /uri</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;[]&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;[]: /uri&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8259:1-8270:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[</span>
-<span id="LC2" class="line" lang="plaintext"> ]</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">[</span>
-<span id="LC5" class="line" lang="plaintext"> ]: /uri</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;[</span>
-<span id="LC8" class="line" lang="plaintext">]&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;[</span>
-<span id="LC10" class="line" lang="plaintext">]: /uri&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8273:1-8280:40" dir="auto">A <a href="@">collapsed reference link</a>
-consists of a [link label] that [matches] a
-[link reference definition] elsewhere in the
-document, followed by the string <code>[]</code>.
-The contents of the first link label are parsed as inlines,
-which are used as the link's text. The link's URI and title are
-provided by the matching reference link definition. Thus,
-<code>[foo][]</code> is equivalent to <code>[foo][foo]</code>.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8282:1-8288:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8291:1-8297:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[*foo* bar][]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[*foo* bar]: /url "title"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;&lt;em&gt;foo&lt;/em&gt; bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8300:1-8300:37" dir="auto">The link labels are case-insensitive:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8302:1-8308:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[Foo][]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;Foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8312:1-8313:41" dir="auto">As with full reference links, [whitespace] is not
-allowed between the two sets of brackets:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8315:1-8323:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo] </span>
-<span id="LC2" class="line" lang="plaintext">[]</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">[foo]: /url "title"</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;foo&lt;/a&gt;</span>
-<span id="LC7" class="line" lang="plaintext">[]&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8326:1-8333:41" dir="auto">A <a href="@">shortcut reference link</a>
-consists of a [link label] that [matches] a
-[link reference definition] elsewhere in the
-document and is not followed by <code>[]</code> or a link label.
-The contents of the first link label are parsed as inlines,
-which are used as the link's text. The link's URI and title
-are provided by the matching link reference definition.
-Thus, <code>[foo]</code> is equivalent to <code>[foo][]</code>.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8335:1-8341:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8344:1-8350:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[*foo* bar]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[*foo* bar]: /url "title"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;&lt;em&gt;foo&lt;/em&gt; bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8353:1-8359:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[[*foo* bar]]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[*foo* bar]: /url "title"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;[&lt;a href="/url" title="title"&gt;&lt;em&gt;foo&lt;/em&gt; bar&lt;/a&gt;]&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8362:1-8368:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[[bar [foo]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: /url</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;[[bar &lt;a href="/url"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8371:1-8371:37" dir="auto">The link labels are case-insensitive:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8373:1-8379:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[Foo]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;Foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8382:1-8382:48" dir="auto">A space after the link text should be preserved:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8384:1-8390:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo] bar</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: /url</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url"&gt;foo&lt;/a&gt; bar&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8393:1-8394:31" dir="auto">If you just want bracketed text, you can backslash-escape the
-opening bracket to avoid links:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8396:1-8402:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">\[foo]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;[foo]&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8405:1-8406:26" dir="auto">Note that this is a link, because a link label ends with the first
-following closing bracket:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8408:1-8414:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo*]: /url</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">*[foo*]</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;*&lt;a href="/url"&gt;foo*&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8417:1-8418:11" dir="auto">Full and compact references take precedence over shortcut
-references:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8420:1-8427:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][bar]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: /url1</span>
-<span id="LC4" class="line" lang="plaintext">[bar]: /url2</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url2"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8429:1-8435:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: /url1</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url1"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8437:1-8437:34" dir="auto">Inline links also take precedence:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8439:1-8445:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]()</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: /url1</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href=""&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8447:1-8453:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo](not a link)</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: /url1</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url1"&gt;foo&lt;/a&gt;(not a link)&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8455:1-8456:23" dir="auto">In the following case <code>[bar][baz]</code> is parsed as a reference,
-<code>[foo]</code> as normal text:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8458:1-8464:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][bar][baz]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[baz]: /url</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;[foo]&lt;a href="/url"&gt;bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8467:1-8468:19" dir="auto">Here, though, <code>[foo][bar]</code> is parsed as a reference, since
-<code>[bar]</code> is defined:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8470:1-8477:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][bar][baz]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[baz]: /url1</span>
-<span id="LC4" class="line" lang="plaintext">[bar]: /url2</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url2"&gt;foo&lt;/a&gt;&lt;a href="/url1"&gt;baz&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8480:1-8481:65" dir="auto">Here <code>[foo]</code> is not parsed as a shortcut reference, because it
-is followed by a link label (even though <code>[bar]</code> is not defined):</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8483:1-8490:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][bar][baz]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[baz]: /url1</span>
-<span id="LC4" class="line" lang="plaintext">[foo]: /url2</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;[foo]&lt;a href="/url1"&gt;bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="8494:1-8494:9" dir="auto">
-<a id="user-content-images" class="anchor" href="#images" aria-hidden="true"></a>Images</h2>
-<p data-sourcepos="8496:1-8504:55" dir="auto">Syntax for images is like the syntax for links, with one
-difference. Instead of [link text], we have an
-<a href="@">image description</a>. The rules for this are the
-same as for [link text], except that (a) an
-image description starts with <code>![</code> rather than <code>[</code>, and
-(b) an image description may contain links.
-An image description has inline elements
-as its contents. When an image is rendered to HTML,
-this is standardly used as the image's <code>alt</code> attribute.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8506:1-8510:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo](/url "title")</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="foo" title="title" /&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8513:1-8519:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo *bar*]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo *bar*]: train.jpg "train &amp; tracks"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;img src="train.jpg" alt="foo bar" title="train &amp;amp; tracks" /&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8522:1-8526:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo ![bar](/url)](/url2)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url2" alt="foo bar" /&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8529:1-8533:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo [bar](/url)](/url2)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url2" alt="foo bar" /&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8536:1-8541:40" dir="auto">Though this spec is concerned with parsing, not rendering, it is
-recommended that in rendering to HTML, only the plain string content
-of the [image description] be used. Note that in
-the above example, the alt attribute's value is <code>foo bar</code>, not <code>foo [bar](/url)</code> or <code>foo &lt;a href="/url"&gt;bar&lt;/a&gt;</code>. Only the plain string
-content is rendered, without formatting.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8543:1-8549:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo *bar*][]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo *bar*]: train.jpg "train &amp; tracks"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;img src="train.jpg" alt="foo bar" title="train &amp;amp; tracks" /&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8552:1-8558:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo *bar*][foobar]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[FOOBAR]: train.jpg "train &amp; tracks"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;img src="train.jpg" alt="foo bar" title="train &amp;amp; tracks" /&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8561:1-8565:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo](train.jpg)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;img src="train.jpg" alt="foo" /&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8568:1-8572:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">My ![foo bar](/path/to/train.jpg "title" )</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;My &lt;img src="/path/to/train.jpg" alt="foo bar" title="title" /&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8575:1-8579:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo](&lt;url&gt;)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;img src="url" alt="foo" /&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8582:1-8586:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![](/url)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="" /&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8589:1-8589:16" dir="auto">Reference-style:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8591:1-8597:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo][bar]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[bar]: /url</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="foo" /&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8600:1-8606:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo][bar]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[BAR]: /url</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="foo" /&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8609:1-8609:10" dir="auto">Collapsed:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8611:1-8617:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo][]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="foo" title="title" /&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8620:1-8626:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![*foo* bar][]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[*foo* bar]: /url "title"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="foo bar" title="title" /&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8629:1-8629:32" dir="auto">The labels are case-insensitive:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8631:1-8637:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![Foo][]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="Foo" title="title" /&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8640:1-8641:33" dir="auto">As with reference links, [whitespace] is not allowed
-between the two sets of brackets:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8643:1-8651:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo] </span>
-<span id="LC2" class="line" lang="plaintext">[]</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">[foo]: /url "title"</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="foo" title="title" /&gt;</span>
-<span id="LC7" class="line" lang="plaintext">[]&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8654:1-8654:9" dir="auto">Shortcut:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8656:1-8662:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="foo" title="title" /&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8665:1-8671:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![*foo* bar]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[*foo* bar]: /url "title"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="foo bar" title="title" /&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8674:1-8674:56" dir="auto">Note that link labels cannot contain unescaped brackets:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8676:1-8683:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![[foo]]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[[foo]]: /url "title"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;![[foo]]&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;[[foo]]: /url &amp;quot;title&amp;quot;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8686:1-8686:37" dir="auto">The link labels are case-insensitive:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8688:1-8694:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![Foo]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="Foo" title="title" /&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8697:1-8698:33" dir="auto">If you just want a literal <code>!</code> followed by bracketed text, you can
-backslash-escape the opening <code>[</code>:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8700:1-8706:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">!\[foo]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;![foo]&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8709:1-8710:4" dir="auto">If you want a link after a literal <code>!</code>, backslash-escape the
-<code>!</code>:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8712:1-8718:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">\![foo]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;!&lt;a href="/url" title="title"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="8721:1-8721:12" dir="auto">
-<a id="user-content-autolinks" class="anchor" href="#autolinks" aria-hidden="true"></a>Autolinks</h2>
-<p data-sourcepos="8723:1-8725:18" dir="auto"><a href="@">Autolink</a>s are absolute URIs and email addresses inside
-<code>&lt;</code> and <code>&gt;</code>. They are parsed as links, with the URL or email address
-as the link label.</p>
-<p data-sourcepos="8727:1-8729:52" dir="auto">A <a href="@">URI autolink</a> consists of <code>&lt;</code>, followed by an
-[absolute URI] followed by <code>&gt;</code>. It is parsed as
-a link to the URI, with the URI as the link's label.</p>
-<p data-sourcepos="8731:1-8736:25" dir="auto">An <a href="@">absolute URI</a>,
-for these purposes, consists of a [scheme] followed by a colon (<code>:</code>)
-followed by zero or more characters other than ASCII
-[whitespace] and control characters, <code>&lt;</code>, and <code>&gt;</code>. If
-the URI includes these characters, they must be percent-encoded
-(e.g. <code>%20</code> for a space).</p>
-<p data-sourcepos="8738:1-8741:37" dir="auto">For purposes of this spec, a <a href="@">scheme</a> is any sequence
-of 2--32 characters beginning with an ASCII letter and followed
-by any combination of ASCII letters, digits, or the symbols plus
-("+"), period ("."), or hyphen ("-").</p>
-<p data-sourcepos="8743:1-8743:30" dir="auto">Here are some valid autolinks:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8745:1-8749:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;http://foo.bar.baz&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://foo.bar.baz"&gt;http://foo.bar.baz&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8752:1-8756:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;http://foo.bar.baz/test?q=hello&amp;id=22&amp;boolean&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://foo.bar.baz/test?q=hello&amp;amp;id=22&amp;amp;boolean"&gt;http://foo.bar.baz/test?q=hello&amp;amp;id=22&amp;amp;boolean&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8759:1-8763:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;irc://foo.bar:2233/baz&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="irc://foo.bar:2233/baz"&gt;irc://foo.bar:2233/baz&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8766:1-8766:23" dir="auto">Uppercase is also fine:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8768:1-8772:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;MAILTO:FOO@BAR.BAZ&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="MAILTO:FOO@BAR.BAZ"&gt;MAILTO:FOO@BAR.BAZ&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8775:1-8778:18" dir="auto">Note that many strings that count as [absolute URIs] for
-purposes of this spec are not valid URIs, because their
-schemes are not registered or because of other problems
-with their syntax:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8780:1-8784:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a+b+c:d&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="a+b+c:d"&gt;a+b+c:d&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8787:1-8791:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;made-up-scheme://foo,bar&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="made-up-scheme://foo,bar"&gt;made-up-scheme://foo,bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8794:1-8798:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;http://../&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://../"&gt;http://../&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8801:1-8805:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;localhost:5001/foo&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="localhost:5001/foo"&gt;localhost:5001/foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8808:1-8808:36" dir="auto">Spaces are not allowed in autolinks:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8810:1-8814:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;http://foo.bar/baz bim&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&amp;lt;http://foo.bar/baz bim&amp;gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8817:1-8817:47" dir="auto">Backslash-escapes do not work inside autolinks:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8819:1-8823:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;http://example.com/\[\&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://example.com/%5C%5B%5C"&gt;http://example.com/\[\&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8826:1-8829:55" dir="auto">An <a href="@">email autolink</a>
-consists of <code>&lt;</code>, followed by an [email address],
-followed by <code>&gt;</code>. The link's label is the email address,
-and the URL is <code>mailto:</code> followed by the email address.</p>
-<p data-sourcepos="8831:1-8834:83" dir="auto">An <a href="@">email address</a>,
-for these purposes, is anything that matches
-the <a href="https://html.spec.whatwg.org/multipage/forms.html#e-mail-state-(type=email)" rel="nofollow noreferrer noopener" target="_blank">non-normative regex from the HTML5
-spec</a>:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8836:5-8838:0" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">/^[a-zA-Z0-9.!#$%&amp;'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?</span>
-<span id="LC2" class="line" lang="plaintext">(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8839:1-8839:28" dir="auto">Examples of email autolinks:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8841:1-8845:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;foo@bar.example.com&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="mailto:foo@bar.example.com"&gt;foo@bar.example.com&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8848:1-8852:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;foo+special@Bar.baz-bar0.com&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="mailto:foo+special@Bar.baz-bar0.com"&gt;foo+special@Bar.baz-bar0.com&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8855:1-8855:53" dir="auto">Backslash-escapes do not work inside email autolinks:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8857:1-8861:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;foo\+@bar.example.com&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&amp;lt;foo+@bar.example.com&amp;gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8864:1-8864:24" dir="auto">These are not autolinks:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8866:1-8870:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&amp;lt;&amp;gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8873:1-8877:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt; http://foo.bar &gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&amp;lt; http://foo.bar &amp;gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8880:1-8884:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;m:abc&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&amp;lt;m:abc&amp;gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8887:1-8891:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;foo.bar.baz&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&amp;lt;foo.bar.baz&amp;gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8894:1-8898:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">http://example.com</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;http://example.com&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8901:1-8905:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo@bar.example.com</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo@bar.example.com&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div>
-<h2 data-sourcepos="8909:1-8909:24">
-<a id="user-content-autolinks-extension" class="anchor" href="#autolinks-extension" aria-hidden="true"></a>Autolinks (extension)</h2>
-<p data-sourcepos="8911:1-8912:29">GFM enables the <code>autolink</code> extension, where autolinks will be recognised in a
-greater number of conditions.</p>
-<p data-sourcepos="8914:1-8918:8">[Autolink]s can also be constructed without requiring the use of <code>&lt;</code> and to <code>&gt;</code>
-to delimit them, although they will be recognized under a smaller set of
-circumstances. All such recognized autolinks can only come at the beginning of
-a line, after whitespace, or any of the delimiting characters <code>*</code>, <code>_</code>, <code>~</code>,
-and <code>(</code>.</p>
-<p data-sourcepos="8920:1-8926:73">An <a href="@">extended www autolink</a> will be recognized
-when the text <code>www.</code> is found followed by a [valid domain].
-A <a href="@">valid domain</a> consists of segments
-of alphanumeric characters, underscores (<code>_</code>) and hyphens (<code>-</code>)
-separated by periods (<code>.</code>).
-There must be at least one period,
-and no underscores may be present in the last two segments of the domain.</p>
-<p data-sourcepos="8928:1-8928:49">The scheme <code>http</code> will be inserted automatically:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8930:1-8934:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">www.commonmark.org</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://www.commonmark.org"&gt;www.commonmark.org&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8936:1-8936:77">After a [valid domain], zero or more non-space non-<code>&lt;</code> characters may follow:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8938:1-8942:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Visit www.commonmark.org/help for more information.</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;Visit &lt;a href="http://www.commonmark.org/help"&gt;www.commonmark.org/help&lt;/a&gt; for more information.&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8944:1-8944:64">We then apply <a href="@">extended autolink path validation</a> as follows:</p>
-<p data-sourcepos="8946:1-8948:21">Trailing punctuation (specifically, <code>?</code>, <code>!</code>, <code>.</code>, <code>,</code>, <code>:</code>, <code>*</code>, <code>_</code>, and <code>~</code>)
-will not be considered part of the autolink, though they may be included in the
-interior of the link:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8950:1-8957:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Visit www.commonmark.org.</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">Visit www.commonmark.org/a.b.</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;Visit &lt;a href="http://www.commonmark.org"&gt;www.commonmark.org&lt;/a&gt;.&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;Visit &lt;a href="http://www.commonmark.org/a.b"&gt;www.commonmark.org/a.b&lt;/a&gt;.&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8959:1-8962:76">When an autolink ends in <code>)</code>, we scan the entire autolink for the total number
-of parentheses. If there is a greater number of closing parentheses than
-opening ones, we don't consider the unmatched trailing parentheses part of the
-autolink, in order to facilitate including an autolink inside a parenthesis:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8964:1-8977:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">www.google.com/search?q=Markup+(business)</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">www.google.com/search?q=Markup+(business)))</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">(www.google.com/search?q=Markup+(business))</span>
-<span id="LC6" class="line" lang="plaintext"></span>
-<span id="LC7" class="line" lang="plaintext">(www.google.com/search?q=Markup+(business)</span>
-<span id="LC8" class="line" lang="plaintext">.</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://www.google.com/search?q=Markup+(business)"&gt;www.google.com/search?q=Markup+(business)&lt;/a&gt;&lt;/p&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://www.google.com/search?q=Markup+(business)"&gt;www.google.com/search?q=Markup+(business)&lt;/a&gt;))&lt;/p&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;p&gt;(&lt;a href="http://www.google.com/search?q=Markup+(business)"&gt;www.google.com/search?q=Markup+(business)&lt;/a&gt;)&lt;/p&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;p&gt;(&lt;a href="http://www.google.com/search?q=Markup+(business)"&gt;www.google.com/search?q=Markup+(business)&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8979:1-8981:8">This check is only done when the link ends in a closing parentheses <code>)</code>, so if
-the only parentheses are in the interior of the autolink, no special rules are
-applied:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8983:1-8987:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">www.google.com/search?q=(business))+ok</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://www.google.com/search?q=(business))+ok"&gt;www.google.com/search?q=(business))+ok&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="8989:1-8992:13">If an autolink ends in a semicolon (<code>;</code>), we check to see if it appears to
-resemble an [entity reference][entity references]; if the preceding text is <code>&amp;</code>
-followed by one or more alphanumeric characters. If so, it is excluded from
-the autolink:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="8994:1-9001:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">www.google.com/search?q=commonmark&amp;hl=en</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">www.google.com/search?q=commonmark&amp;hl;</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://www.google.com/search?q=commonmark&amp;amp;hl=en"&gt;www.google.com/search?q=commonmark&amp;amp;hl=en&lt;/a&gt;&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://www.google.com/search?q=commonmark"&gt;www.google.com/search?q=commonmark&lt;/a&gt;&amp;amp;hl;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9003:1-9003:33"><code>&lt;</code> immediately ends an autolink.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9005:1-9009:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">www.commonmark.org/he&lt;lp</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://www.commonmark.org/he"&gt;www.commonmark.org/he&lt;/a&gt;&amp;lt;lp&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9011:1-9014:36">An <a href="@">extended url autolink</a> will be recognised when one of the schemes
-<code>http://</code>, <code>https://</code>, or <code>ftp://</code>, followed by a [valid domain], then zero or
-more non-space non-<code>&lt;</code> characters according to
-[extended autolink path validation]:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9016:1-9026:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">http://commonmark.org</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">(Visit https://encrypted.google.com/search?q=Markup+(business))</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">Anonymous FTP is available at ftp://foo.bar.baz.</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://commonmark.org"&gt;http://commonmark.org&lt;/a&gt;&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;(Visit &lt;a href="https://encrypted.google.com/search?q=Markup+(business)"&gt;https://encrypted.google.com/search?q=Markup+(business)&lt;/a&gt;)&lt;/p&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;Anonymous FTP is available at &lt;a href="ftp://foo.bar.baz"&gt;ftp://foo.bar.baz&lt;/a&gt;.&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9029:1-9031:20">An <a href="@">extended email autolink</a> will be recognised when an email address is
-recognised within any text node. Email addresses are recognised according to
-the following rules:</p>
-<ul data-sourcepos="9033:1-9039:0">
-<li data-sourcepos="9033:1-9033:75">One ore more characters which are alphanumeric, or <code>.</code>, <code>-</code>, <code>_</code>, or <code>+</code>.</li>
-<li data-sourcepos="9034:1-9034:16">An <code>@</code> symbol.</li>
-<li data-sourcepos="9035:1-9039:0">One or more characters which are alphanumeric, or <code>-</code> or <code>_</code>,
-separated by periods (<code>.</code>).
-There must be at least one period.
-The last character must not be one of <code>-</code> or <code>_</code>.</li>
-</ul>
-<p data-sourcepos="9040:1-9040:71">The scheme <code>mailto:</code> will automatically be added to the generated link:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9042:1-9046:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo@bar.baz</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="mailto:foo@bar.baz"&gt;foo@bar.baz&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9048:1-9048:44"><code>+</code> can occur before the <code>@</code>, but not after.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9050:1-9054:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">hello@mail+xyz.example isn't valid, but hello+xyz@mail.example is.</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;hello@mail+xyz.example isn't valid, but &lt;a href="mailto:hello+xyz@mail.example"&gt;hello+xyz@mail.example&lt;/a&gt; is.&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9056:1-9058:12"><code>.</code>, <code>-</code>, and <code>_</code> can occur on both sides of the <code>@</code>, but only <code>.</code> may occur at
-the end of the email address, in which case it will not be considered part of
-the address:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9060:1-9073:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">a.b-c_d@a.b</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">a.b-c_d@a.b.</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">a.b-c_d@a.b-</span>
-<span id="LC6" class="line" lang="plaintext"></span>
-<span id="LC7" class="line" lang="plaintext">a.b-c_d@a.b_</span>
-<span id="LC8" class="line" lang="plaintext">.</span>
-<span id="LC9" class="line" lang="plaintext">&lt;p&gt;&lt;a href="mailto:a.b-c_d@a.b"&gt;a.b-c_d@a.b&lt;/a&gt;&lt;/p&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;p&gt;&lt;a href="mailto:a.b-c_d@a.b"&gt;a.b-c_d@a.b&lt;/a&gt;.&lt;/p&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;p&gt;a.b-c_d@a.b-&lt;/p&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;p&gt;a.b-c_d@a.b_&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-</div>
-<h2 data-sourcepos="9077:1-9077:11" dir="auto">
-<a id="user-content-raw-html" class="anchor" href="#raw-html" aria-hidden="true"></a>Raw HTML</h2>
-<p data-sourcepos="9079:1-9082:57" dir="auto">Text between <code>&lt;</code> and <code>&gt;</code> that looks like an HTML tag is parsed as a
-raw HTML tag and will be rendered in HTML without escaping.
-Tag and attribute names are not limited to current HTML tags,
-so custom tags (and even, say, DocBook tags) may be used.</p>
-<p data-sourcepos="9084:1-9084:29" dir="auto">Here is the grammar for tags:</p>
-<p data-sourcepos="9086:1-9088:14" dir="auto">A <a href="@">tag name</a> consists of an ASCII letter
-followed by zero or more ASCII letters, digits, or
-hyphens (<code>-</code>).</p>
-<p data-sourcepos="9090:1-9092:32" dir="auto">An <a href="@">attribute</a> consists of [whitespace],
-an [attribute name], and an optional
-[attribute value specification].</p>
-<p data-sourcepos="9094:1-9097:52" dir="auto">An <a href="@">attribute name</a>
-consists of an ASCII letter, <code>_</code>, or <code>:</code>, followed by zero or more ASCII
-letters, digits, <code>_</code>, <code>.</code>, <code>:</code>, or <code>-</code>. (Note: This is the XML
-specification restricted to ASCII. HTML5 is laxer.)</p>
-<p data-sourcepos="9099:1-9102:7" dir="auto">An <a href="@">attribute value specification</a>
-consists of optional [whitespace],
-a <code>=</code> character, optional [whitespace], and an [attribute
-value].</p>
-<p data-sourcepos="9104:1-9106:72" dir="auto">An <a href="@">attribute value</a>
-consists of an [unquoted attribute value],
-a [single-quoted attribute value], or a [double-quoted attribute value].</p>
-<p data-sourcepos="9108:1-9110:60" dir="auto">An <a href="@">unquoted attribute value</a>
-is a nonempty string of characters not
-including [whitespace], <code>"</code>, <code>'</code>, <code>=</code>, <code>&lt;</code>, <code>&gt;</code>, or <code>`</code>.</p>
-<p data-sourcepos="9112:1-9114:46" dir="auto">A <a href="@">single-quoted attribute value</a>
-consists of <code>'</code>, zero or more
-characters not including <code>'</code>, and a final <code>'</code>.</p>
-<p data-sourcepos="9116:1-9118:46" dir="auto">A <a href="@">double-quoted attribute value</a>
-consists of <code>"</code>, zero or more
-characters not including <code>"</code>, and a final <code>"</code>.</p>
-<p data-sourcepos="9120:1-9122:31" dir="auto">An <a href="@">open tag</a> consists of a <code>&lt;</code> character, a [tag name],
-zero or more [attributes], optional [whitespace], an optional <code>/</code>
-character, and a <code>&gt;</code> character.</p>
-<p data-sourcepos="9124:1-9125:57" dir="auto">A <a href="@">closing tag</a> consists of the string <code>&lt;/</code>, a
-[tag name], optional [whitespace], and the character <code>&gt;</code>.</p>
-<p data-sourcepos="9127:1-9130:63" dir="auto">An <a href="@">HTML comment</a> consists of <code>&lt;!--</code> + <em>text</em> + <code>--&gt;</code>,
-where <em>text</em> does not start with <code>&gt;</code> or <code>-&gt;</code>, does not end with <code>-</code>,
-and does not contain <code>--</code>. (See the
-<a href="http://www.w3.org/TR/html5/syntax.html#comments" rel="nofollow noreferrer noopener" target="_blank">HTML5 spec</a>.)</p>
-<p data-sourcepos="9132:1-9135:5" dir="auto">A <a href="@">processing instruction</a>
-consists of the string <code>&lt;?</code>, a string
-of characters not including the string <code>?&gt;</code>, and the string
-<code>?&gt;</code>.</p>
-<p data-sourcepos="9137:1-9140:37" dir="auto">A <a href="@">declaration</a> consists of the
-string <code>&lt;!</code>, a name consisting of one or more uppercase ASCII letters,
-[whitespace], a string of characters not including the
-character <code>&gt;</code>, and the character <code>&gt;</code>.</p>
-<p data-sourcepos="9142:1-9144:28" dir="auto">A <a href="@">CDATA section</a> consists of
-the string <code>&lt;![CDATA[</code>, a string of characters not including the string
-<code>]]&gt;</code>, and the string <code>]]&gt;</code>.</p>
-<p data-sourcepos="9146:1-9148:21" dir="auto">An <a href="@">HTML tag</a> consists of an [open tag], a [closing tag],
-an [HTML comment], a [processing instruction], a [declaration],
-or a [CDATA section].</p>
-<p data-sourcepos="9150:1-9150:31" dir="auto">Here are some simple open tags:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9152:1-9156:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a&gt;&lt;bab&gt;&lt;c2c&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a&gt;&lt;bab&gt;&lt;c2c&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9159:1-9159:15" dir="auto">Empty elements:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9161:1-9165:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a/&gt;&lt;b2/&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a/&gt;&lt;b2/&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9168:1-9168:24" dir="auto">[Whitespace] is allowed:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9170:1-9176:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a /&gt;&lt;b2</span>
-<span id="LC2" class="line" lang="plaintext">data="foo" &gt;</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;&lt;a /&gt;&lt;b2</span>
-<span id="LC5" class="line" lang="plaintext">data="foo" &gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9179:1-9179:16" dir="auto">With attributes:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9181:1-9187:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a foo="bar" bam = 'baz &lt;em&gt;"&lt;/em&gt;'</span>
-<span id="LC2" class="line" lang="plaintext">_boolean zoop:33=zoop:33 /&gt;</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;&lt;a foo="bar" bam = 'baz &lt;em&gt;"&lt;/em&gt;'</span>
-<span id="LC5" class="line" lang="plaintext">_boolean zoop:33=zoop:33 /&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9190:1-9190:29" dir="auto">Custom tag names can be used:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9192:1-9196:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo &lt;responsive-image src="foo.jpg" /&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;Foo &lt;responsive-image src="foo.jpg" /&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9199:1-9199:38" dir="auto">Illegal tag names, not parsed as HTML:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9201:1-9205:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;33&gt; &lt;__&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&amp;lt;33&amp;gt; &amp;lt;__&amp;gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9208:1-9208:24" dir="auto">Illegal attribute names:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9210:1-9214:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a h*#ref="hi"&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&amp;lt;a h*#ref=&amp;quot;hi&amp;quot;&amp;gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9217:1-9217:25" dir="auto">Illegal attribute values:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9219:1-9223:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a href="hi'&gt; &lt;a href=hi'&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&amp;lt;a href=&amp;quot;hi'&amp;gt; &amp;lt;a href=hi'&amp;gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9226:1-9226:21" dir="auto">Illegal [whitespace]:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9228:1-9238:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt; a&gt;&lt;</span>
-<span id="LC2" class="line" lang="plaintext">foo&gt;&lt;bar/ &gt;</span>
-<span id="LC3" class="line" lang="plaintext">&lt;foo bar=baz</span>
-<span id="LC4" class="line" lang="plaintext">bim!bop /&gt;</span>
-<span id="LC5" class="line" lang="plaintext">.</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;&amp;lt; a&amp;gt;&amp;lt;</span>
-<span id="LC7" class="line" lang="plaintext">foo&amp;gt;&amp;lt;bar/ &amp;gt;</span>
-<span id="LC8" class="line" lang="plaintext">&amp;lt;foo bar=baz</span>
-<span id="LC9" class="line" lang="plaintext">bim!bop /&amp;gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9241:1-9241:21" dir="auto">Missing [whitespace]:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9243:1-9247:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a href='bar'title=title&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&amp;lt;a href='bar'title=title&amp;gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9250:1-9250:13" dir="auto">Closing tags:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9252:1-9256:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;/a&gt;&lt;/foo &gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;/a&gt;&lt;/foo &gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9259:1-9259:34" dir="auto">Illegal attributes in closing tag:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9261:1-9265:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;/a href="foo"&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&amp;lt;/a href=&amp;quot;foo&amp;quot;&amp;gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9268:1-9268:9" dir="auto">Comments:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9270:1-9276:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo &lt;!-- this is a</span>
-<span id="LC2" class="line" lang="plaintext">comment - with hyphen --&gt;</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;foo &lt;!-- this is a</span>
-<span id="LC5" class="line" lang="plaintext">comment - with hyphen --&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9279:1-9283:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo &lt;!-- not a comment -- two hyphens --&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo &amp;lt;!-- not a comment -- two hyphens --&amp;gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9286:1-9286:13" dir="auto">Not comments:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9288:1-9295:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo &lt;!--&gt; foo --&gt;</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">foo &lt;!-- foo---&gt;</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;foo &amp;lt;!--&amp;gt; foo --&amp;gt;&lt;/p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;p&gt;foo &amp;lt;!-- foo---&amp;gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9298:1-9298:24" dir="auto">Processing instructions:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9300:1-9304:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo &lt;?php echo $a; ?&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo &lt;?php echo $a; ?&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9307:1-9307:13" dir="auto">Declarations:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9309:1-9313:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo &lt;!ELEMENT br EMPTY&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo &lt;!ELEMENT br EMPTY&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9316:1-9316:15" dir="auto">CDATA sections:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9318:1-9322:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo &lt;![CDATA[&gt;&amp;&lt;]]&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo &lt;![CDATA[&gt;&amp;&lt;]]&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9325:1-9326:11" dir="auto">Entity and numeric character references are preserved in HTML
-attributes:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9328:1-9332:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo &lt;a href="&amp;ouml;"&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo &lt;a href="&amp;ouml;"&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9335:1-9335:49" dir="auto">Backslash escapes do not work in HTML attributes:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9337:1-9341:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo &lt;a href="\*"&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo &lt;a href="\*"&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9344:1-9348:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a href="\""&gt;</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&amp;lt;a href=&amp;quot;&amp;quot;&amp;quot;&amp;gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div>
-<h2 data-sourcepos="9353:1-9353:34">
-<a id="user-content-disallowed-raw-html-extension" class="anchor" href="#disallowed-raw-html-extension" aria-hidden="true"></a>Disallowed Raw HTML (extension)</h2>
-<p data-sourcepos="9355:1-9356:36">GFM enables the <code>tagfilter</code> extension, where the following HTML tags will be
-filtered when rendering HTML output:</p>
-<ul data-sourcepos="9358:1-9367:0">
-<li data-sourcepos="9358:1-9358:11"><code>&lt;title&gt;</code></li>
-<li data-sourcepos="9359:1-9359:14"><code>&lt;textarea&gt;</code></li>
-<li data-sourcepos="9360:1-9360:11"><code>&lt;style&gt;</code></li>
-<li data-sourcepos="9361:1-9361:9"><code>&lt;xmp&gt;</code></li>
-<li data-sourcepos="9362:1-9362:12"><code>&lt;iframe&gt;</code></li>
-<li data-sourcepos="9363:1-9363:13"><code>&lt;noembed&gt;</code></li>
-<li data-sourcepos="9364:1-9364:14"><code>&lt;noframes&gt;</code></li>
-<li data-sourcepos="9365:1-9365:12"><code>&lt;script&gt;</code></li>
-<li data-sourcepos="9366:1-9367:0"><code>&lt;plaintext&gt;</code></li>
-</ul>
-<p data-sourcepos="9368:1-9371:71">Filtering is done by replacing the leading <code>&lt;</code> with the entity <code>&amp;lt;</code>. These
-tags are chosen in particular as they change how HTML is interpreted in a way
-unique to them (i.e. nested HTML is interpreted differently), and this is
-usually undesireable in the context of other rendered Markdown content.</p>
-<p data-sourcepos="9373:1-9373:39">All other HTML tags are left untouched.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9375:1-9386:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;strong&gt; &lt;title&gt; &lt;style&gt; &lt;em&gt;</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC4" class="line" lang="plaintext"> &lt;xmp&gt; is disallowed. &lt;XMP&gt; is also disallowed.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt; &amp;lt;title&gt; &amp;lt;style&gt; &lt;em&gt;&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;blockquote&gt;</span>
-<span id="LC9" class="line" lang="plaintext"> &amp;lt;xmp&gt; is disallowed. &amp;lt;XMP&gt; is also disallowed.</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-</div>
-<h2 data-sourcepos="9390:1-9390:19" dir="auto">
-<a id="user-content-hard-line-breaks" class="anchor" href="#hard-line-breaks" aria-hidden="true"></a>Hard line breaks</h2>
-<p data-sourcepos="9392:1-9395:27" dir="auto">A line break (not in a code span or HTML tag) that is preceded
-by two or more spaces and does not occur at the end of a block
-is parsed as a <a href="@">hard line break</a> (rendered
-in HTML as a <code>&lt;br /&gt;</code> tag):</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9397:1-9403:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo </span>
-<span id="LC2" class="line" lang="plaintext">baz</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;foo&lt;br /&gt;</span>
-<span id="LC5" class="line" lang="plaintext">baz&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9406:1-9407:48" dir="auto">For a more visible alternative, a backslash before the
-[line ending] may be used instead of two spaces:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9409:1-9415:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo\</span>
-<span id="LC2" class="line" lang="plaintext">baz</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;foo&lt;br /&gt;</span>
-<span id="LC5" class="line" lang="plaintext">baz&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9418:1-9418:33" dir="auto">More than two spaces can be used:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9420:1-9426:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo </span>
-<span id="LC2" class="line" lang="plaintext">baz</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;foo&lt;br /&gt;</span>
-<span id="LC5" class="line" lang="plaintext">baz&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9429:1-9429:61" dir="auto">Leading spaces at the beginning of the next line are ignored:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9431:1-9437:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo </span>
-<span id="LC2" class="line" lang="plaintext"> bar</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;foo&lt;br /&gt;</span>
-<span id="LC5" class="line" lang="plaintext">bar&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9440:1-9446:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo\</span>
-<span id="LC2" class="line" lang="plaintext"> bar</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;foo&lt;br /&gt;</span>
-<span id="LC5" class="line" lang="plaintext">bar&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9449:1-9450:26" dir="auto">Line breaks can occur inside emphasis, links, and other constructs
-that allow inline content:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9452:1-9458:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo </span>
-<span id="LC2" class="line" lang="plaintext">bar*</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;br /&gt;</span>
-<span id="LC5" class="line" lang="plaintext">bar&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9461:1-9467:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo\</span>
-<span id="LC2" class="line" lang="plaintext">bar*</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;br /&gt;</span>
-<span id="LC5" class="line" lang="plaintext">bar&lt;/em&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9470:1-9470:42" dir="auto">Line breaks do not occur inside code spans</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9472:1-9477:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`code </span>
-<span id="LC2" class="line" lang="plaintext">span`</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;code span&lt;/code&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9480:1-9485:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`code\</span>
-<span id="LC2" class="line" lang="plaintext">span`</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;code\ span&lt;/code&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9488:1-9488:13" dir="auto">or HTML tags:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9490:1-9496:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a href="foo </span>
-<span id="LC2" class="line" lang="plaintext">bar"&gt;</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;&lt;a href="foo </span>
-<span id="LC5" class="line" lang="plaintext">bar"&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9499:1-9505:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a href="foo\</span>
-<span id="LC2" class="line" lang="plaintext">bar"&gt;</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;&lt;a href="foo\</span>
-<span id="LC5" class="line" lang="plaintext">bar"&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9508:1-9510:20" dir="auto">Hard line breaks are for separating inline content within a block.
-Neither syntax for hard line breaks works at the end of a paragraph or
-other block element:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9512:1-9516:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo\</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo\&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9519:1-9523:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo </span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9526:1-9530:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">### foo\</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;h3&gt;foo\&lt;/h3&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9533:1-9537:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">### foo </span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;h3&gt;foo&lt;/h3&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="9540:1-9540:19" dir="auto">
-<a id="user-content-soft-line-breaks" class="anchor" href="#soft-line-breaks" aria-hidden="true"></a>Soft line breaks</h2>
-<p data-sourcepos="9542:1-9546:62" dir="auto">A regular line break (not in a code span or HTML tag) that is not
-preceded by two or more spaces or a backslash is parsed as a
-<a href="@">softbreak</a>. (A softbreak may be rendered in HTML either as a
-[line ending] or as a space. The result will be the same in
-browsers. In the examples here, a [line ending] will be used.)</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9548:1-9554:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span>
-<span id="LC2" class="line" lang="plaintext">baz</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;foo</span>
-<span id="LC5" class="line" lang="plaintext">baz&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9557:1-9558:8" dir="auto">Spaces at the end of the line and beginning of the next line are
-removed:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9560:1-9566:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo </span>
-<span id="LC2" class="line" lang="plaintext"> baz</span>
-<span id="LC3" class="line" lang="plaintext">.</span>
-<span id="LC4" class="line" lang="plaintext">&lt;p&gt;foo</span>
-<span id="LC5" class="line" lang="plaintext">baz&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9569:1-9570:25" dir="auto">A conforming parser may render a soft line break in HTML either as a
-line break or as a space.</p>
-<p data-sourcepos="9572:1-9573:20" dir="auto">A renderer may also provide an option to render soft line breaks
-as hard line breaks.</p>
-<h2 data-sourcepos="9575:1-9575:18" dir="auto">
-<a id="user-content-textual-content" class="anchor" href="#textual-content" aria-hidden="true"></a>Textual content</h2>
-<p data-sourcepos="9577:1-9578:35" dir="auto">Any characters not given an interpretation by the above rules will
-be parsed as plain textual content.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9580:1-9584:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">hello $.;'there</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;hello $.;'there&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9587:1-9591:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo χρῆν</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;Foo χρῆν&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9594:1-9594:39" dir="auto">Internal spaces are preserved verbatim:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9596:1-9600:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Multiple spaces</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;Multiple spaces&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h1 data-sourcepos="9603:1-9603:40" dir="auto">
-<a id="user-content-gitlab-official-specification-markdown" class="anchor" href="#gitlab-official-specification-markdown" aria-hidden="true"></a>GitLab Official Specification Markdown</h1>
-<p data-sourcepos="9605:1-9608:104" dir="auto">Currently, only some of the GitLab-specific markdown features are
-listed in this section. We will eventually add all
-GitLab-specific features currently listed as supported in the
-<a href="https://docs.gitlab.com/ee/user/markdown.html" rel="nofollow noreferrer noopener" target="_blank">user-facing documentation for GitLab Flavored Markdown</a>.</p>
-<p data-sourcepos="9610:1-9611:69" dir="auto">There is currently only this single top-level heading, but the
-examples may be split into multiple top-level headings in the future.</p>
-<h2 data-sourcepos="9613:1-9613:12" dir="auto">
-<a id="user-content-footnotes" class="anchor" href="#footnotes" aria-hidden="true"></a>Footnotes</h2>
-<p data-sourcepos="9615:1-9616:143" dir="auto">See
-<a href="https://docs.gitlab.com/ee/user/markdown.html#footnotes" rel="nofollow noreferrer noopener" target="_blank">the footnotes section of the user-facing documentation for GitLab Flavored Markdown</a>.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9618:1-9642:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">footnote reference tag [^fortytwo]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">[^fortytwo]: footnote text</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;</span>
-<span id="LC6" class="line" lang="plaintext">footnote reference tag</span>
-<span id="LC7" class="line" lang="plaintext">&lt;sup&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;a href="#fn-fortytwo-42" id="fnref-fortytwo-42" data-footnote-ref&gt;</span>
-<span id="LC9" class="line" lang="plaintext">1</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/a&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/sup&gt;</span>
-<span id="LC12" class="line" lang="plaintext">&lt;/p&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;section data-footnotes&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;ol&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;li id="fn-fortytwo-42"&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;p&gt;</span>
-<span id="LC17" class="line" lang="plaintext">footnote text</span>
-<span id="LC18" class="line" lang="plaintext">&lt;a href="#fnref-fortytwo-42" data-footnote-backref&gt;</span>
-<span id="LC19" class="line" lang="plaintext">&lt;/a&gt;</span>
-<span id="LC20" class="line" lang="plaintext">&lt;/p&gt;</span>
-<span id="LC21" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC22" class="line" lang="plaintext">&lt;/ol&gt;</span>
-<span id="LC23" class="line" lang="plaintext">&lt;/section&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="9644:1-9644:18" dir="auto">
-<a id="user-content-task-list-items" class="anchor" href="#task-list-items" aria-hidden="true"></a>Task list items</h2>
-<p data-sourcepos="9646:1-9647:117" dir="auto">See
-<a href="https://docs.gitlab.com/ee/user/markdown.html#task-lists" rel="nofollow noreferrer noopener" target="_blank">Task lists</a> in the GitLab Flavored Markdown documentation.</p>
-<p data-sourcepos="9649:1-9652:39" dir="auto">Task list items (checkboxes) are defined as a GitHub Flavored Markdown extension in a section above.
-GitLab extends the behavior of task list items to support additional features.
-Some of these features are in-progress, and should not yet be considered part of the official
-GitLab Flavored Markdown specification.</p>
-<p data-sourcepos="9654:1-9654:85" dir="auto">Some of the behavior of task list items is implemented as client-side JavaScript/CSS.</p>
-<p data-sourcepos="9656:1-9656:80" dir="auto">The following are some basic examples; more examples may be added in the future.</p>
-<p data-sourcepos="9658:1-9658:16" dir="auto">Incomplete task:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9660:1-9670:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- [ ] incomplete</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC4" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;task-button/&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;input type="checkbox" disabled/&gt;</span>
-<span id="LC7" class="line" lang="plaintext">incomplete</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9672:1-9672:15" dir="auto">Completed task:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9674:1-9684:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- [x] completed</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC4" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;task-button/&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;input type="checkbox" checked disabled/&gt;</span>
-<span id="LC7" class="line" lang="plaintext">completed</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9686:1-9686:18" dir="auto">Inapplicable task:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9688:1-9700:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- [~] inapplicable</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC4" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC5" class="line" lang="plaintext">&lt;task-button/&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;input type="checkbox" data-inapplicable disabled&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;s&gt;</span>
-<span id="LC8" class="line" lang="plaintext">inapplicable</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/s&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC11" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9702:1-9703:50" dir="auto">Inapplicable task in a "loose" list. Note that the <code>&lt;del&gt;</code> tag is not applied to the
-loose text; it has strikethrough applied with CSS.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9705:1-9724:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- [~] inapplicable</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"> text in loose list</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;li&gt;</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;task-button/&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;input type="checkbox" data-inapplicable disabled&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;s&gt;</span>
-<span id="LC11" class="line" lang="plaintext">inapplicable</span>
-<span id="LC12" class="line" lang="plaintext">&lt;/s&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/p&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;p&gt;</span>
-<span id="LC15" class="line" lang="plaintext">text in loose list</span>
-<span id="LC16" class="line" lang="plaintext">&lt;/p&gt;</span>
-<span id="LC17" class="line" lang="plaintext">&lt;/li&gt;</span>
-<span id="LC18" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="9726:1-9726:15" dir="auto">
-<a id="user-content-front-matter" class="anchor" href="#front-matter" aria-hidden="true"></a>Front matter</h2>
-<p data-sourcepos="9728:1-9729:121" dir="auto">See
-<a href="https://docs.gitlab.com/ee/user/markdown.html#front-matter" rel="nofollow noreferrer noopener" target="_blank">Front matter</a> in the GitLab Flavored Markdown documentation.</p>
-<p data-sourcepos="9731:1-9732:95" dir="auto">Front matter is metadata included at the beginning of a Markdown document, preceding the content.
-This data can be used by static site generators like Jekyll, Hugo, and many other applications.</p>
-<p data-sourcepos="9734:1-9734:18" dir="auto">YAML front matter:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9736:1-9746:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">---</span>
-<span id="LC2" class="line" lang="plaintext">title: YAML front matter</span>
-<span id="LC3" class="line" lang="plaintext">---</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;code&gt;</span>
-<span id="LC7" class="line" lang="plaintext">title: YAML front matter</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/code&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9748:1-9748:18" dir="auto">TOML front matter:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9750:1-9760:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">+++</span>
-<span id="LC2" class="line" lang="plaintext">title: TOML front matter</span>
-<span id="LC3" class="line" lang="plaintext">+++</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;code&gt;</span>
-<span id="LC7" class="line" lang="plaintext">title: TOML front matter</span>
-<span id="LC8" class="line" lang="plaintext">&lt;/code&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9762:1-9762:18" dir="auto">JSON front matter:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9764:1-9778:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">;;;</span>
-<span id="LC2" class="line" lang="plaintext">{</span>
-<span id="LC3" class="line" lang="plaintext"> "title": "JSON front matter"</span>
-<span id="LC4" class="line" lang="plaintext">}</span>
-<span id="LC5" class="line" lang="plaintext">;;;</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;pre&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;code&gt;</span>
-<span id="LC9" class="line" lang="plaintext">{</span>
-<span id="LC10" class="line" lang="plaintext"> "title": "JSON front matter"</span>
-<span id="LC11" class="line" lang="plaintext">}</span>
-<span id="LC12" class="line" lang="plaintext">&lt;/code&gt;</span>
-<span id="LC13" class="line" lang="plaintext">&lt;/pre&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9780:1-9780:66" dir="auto">Front matter blocks should be inserted at the top of the document:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9782:1-9792:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">text</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">---</span>
-<span id="LC4" class="line" lang="plaintext">title: YAML front matter</span>
-<span id="LC5" class="line" lang="plaintext">---</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;text&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;hr&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;h2&gt;title: YAML front matter&lt;/h2&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9794:1-9794:74" dir="auto">Front matter block delimiters shouldn’t be preceded by space characters:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9796:1-9803:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> ---</span>
-<span id="LC2" class="line" lang="plaintext">title: YAML front matter</span>
-<span id="LC3" class="line" lang="plaintext">---</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;hr&gt;</span>
-<span id="LC6" class="line" lang="plaintext">&lt;h2&gt;title: YAML front matter&lt;/h2&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="9805:1-9805:20" dir="auto">
-<a id="user-content-table-of-contents" class="anchor" href="#table-of-contents" aria-hidden="true"></a>Table of contents</h2>
-<p data-sourcepos="9807:1-9809:46" dir="auto">See
-<a href="https://docs.gitlab.com/ee/user/markdown.html#table-of-contents" rel="nofollow noreferrer noopener" target="_blank">table of contents</a>
-in the GitLab Flavored Markdown documentation.</p>
-<p data-sourcepos="9811:1-9812:58" dir="auto">A table of contents is an unordered list that links to subheadings in the document.
-Add either the <code>[[_TOC_]]</code> or </p><ul class="section-nav">
-<li><a href="#introduction">Introduction</a></li>
-<li>
-<a href="#preliminaries">Preliminaries</a><ul>
-<li><a href="#characters-and-lines">Characters and lines</a></li>
-<li><a href="#tabs">Tabs</a></li>
-<li><a href="#insecure-characters">Insecure characters</a></li>
-</ul>
-</li>
-<li>
-<a href="#blocks-and-inlines">Blocks and inlines</a><ul>
-<li><a href="#precedence">Precedence</a></li>
-<li><a href="#container-blocks-and-leaf-blocks">Container blocks and leaf blocks</a></li>
-</ul>
-</li>
-<li>
-<a href="#leaf-blocks">Leaf blocks</a><ul>
-<li><a href="#thematic-breaks">Thematic breaks</a></li>
-<li><a href="#atx-headings">ATX headings</a></li>
-<li><a href="#setext-headings">Setext headings</a></li>
-<li><a href="#indented-code-blocks">Indented code blocks</a></li>
-<li><a href="#fenced-code-blocks">Fenced code blocks</a></li>
-<li><a href="#html-blocks">HTML blocks</a></li>
-<li><a href="#link-reference-definitions">Link reference definitions</a></li>
-<li><a href="#paragraphs">Paragraphs</a></li>
-<li><a href="#blank-lines">Blank lines</a></li>
-<li><a href="#tables-extension">Tables (extension)</a></li>
-</ul>
-</li>
-<li>
-<a href="#container-blocks">Container blocks</a><ul>
-<li><a href="#block-quotes">Block quotes</a></li>
-<li>
-<a href="#list-items">List items</a><ul><li><a href="#motivation">Motivation</a></li></ul>
-</li>
-<li><a href="#task-list-items-extension">Task list items (extension)</a></li>
-<li><a href="#lists">Lists</a></li>
-</ul>
-</li>
-<li>
-<a href="#inlines">Inlines</a><ul>
-<li><a href="#backslash-escapes">Backslash escapes</a></li>
-<li><a href="#entity-and-numeric-character-references">Entity and numeric character references</a></li>
-<li><a href="#code-spans">Code spans</a></li>
-<li><a href="#emphasis-and-strong-emphasis">Emphasis and strong emphasis</a></li>
-<li><a href="#strikethrough-extension">Strikethrough (extension)</a></li>
-<li><a href="#links">Links</a></li>
-<li><a href="#images">Images</a></li>
-<li><a href="#autolinks">Autolinks</a></li>
-<li><a href="#autolinks-extension">Autolinks (extension)</a></li>
-<li><a href="#raw-html">Raw HTML</a></li>
-<li><a href="#disallowed-raw-html-extension">Disallowed Raw HTML (extension)</a></li>
-<li><a href="#hard-line-breaks">Hard line breaks</a></li>
-<li><a href="#soft-line-breaks">Soft line breaks</a></li>
-<li><a href="#textual-content">Textual content</a></li>
-</ul>
-</li>
-<li>
-<a href="#gitlab-official-specification-markdown">GitLab Official Specification Markdown</a><ul>
-<li><a href="#footnotes">Footnotes</a></li>
-<li><a href="#task-list-items">Task list items</a></li>
-<li><a href="#front-matter">Front matter</a></li>
-<li><a href="#table-of-contents">Table of contents</a></li>
-</ul>
-</li>
-<li>
-<a href="#gitlab-internal-extension-markdown">GitLab Internal Extension Markdown</a><ul>
-<li><a href="#audio">Audio</a></li>
-<li><a href="#video">Video</a></li>
-<li><a href="#markdown-preview-api-request-overrides">Markdown Preview API Request Overrides</a></li>
-</ul>
-</li>
-<li>
-<a href="#appendix-a-parsing-strategy">Appendix: A parsing strategy</a><ul>
-<li><a href="#overview">Overview</a></li>
-<li><a href="#phase-1-block-structure">Phase 1: block structure</a></li>
-<li>
-<a href="#phase-2-inline-structure">Phase 2: inline structure</a><ul><li>
-<a href="#an-algorithm-for-parsing-nested-emphasis-and-links">An algorithm for parsing nested emphasis and links</a><ul>
-<li><a href="#look-for-link-or-image">look for link or image</a></li>
-<li><a href="#process-emphasis">process emphasis</a></li>
-</ul>
-</li></ul>
-</li>
-</ul>
-</li>
-</ul> tag on its own line.
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9814:1-9831:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[TOC]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"># Heading 1</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">## Heading 2</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;nav&gt;</span>
-<span id="LC8" class="line" lang="plaintext"> &lt;ul&gt;</span>
-<span id="LC9" class="line" lang="plaintext"> &lt;li&gt;&lt;a href="#heading-1"&gt;Heading 1&lt;/a&gt;&lt;/li&gt;</span>
-<span id="LC10" class="line" lang="plaintext"> &lt;ul&gt;</span>
-<span id="LC11" class="line" lang="plaintext"> &lt;li&gt;&lt;a href="#heading-2"&gt;Heading 2&lt;/a&gt;&lt;/li&gt;</span>
-<span id="LC12" class="line" lang="plaintext"> &lt;/ul&gt;</span>
-<span id="LC13" class="line" lang="plaintext"> &lt;/ul&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/nav&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;h1&gt;Heading 1&lt;/h1&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;h2&gt;Heading 2&lt;/h2&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9833:1-9850:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[[_TOC_]]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"># Heading 1</span>
-<span id="LC4" class="line" lang="plaintext"></span>
-<span id="LC5" class="line" lang="plaintext">## Heading 2</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;nav&gt;</span>
-<span id="LC8" class="line" lang="plaintext"> &lt;ul&gt;</span>
-<span id="LC9" class="line" lang="plaintext"> &lt;li&gt;&lt;a href="#heading-1"&gt;Heading 1&lt;/a&gt;&lt;/li&gt;</span>
-<span id="LC10" class="line" lang="plaintext"> &lt;ul&gt;</span>
-<span id="LC11" class="line" lang="plaintext"> &lt;li&gt;&lt;a href="#heading-2"&gt;Heading 2&lt;/a&gt;&lt;/li&gt;</span>
-<span id="LC12" class="line" lang="plaintext"> &lt;/ul&gt;</span>
-<span id="LC13" class="line" lang="plaintext"> &lt;/ul&gt;</span>
-<span id="LC14" class="line" lang="plaintext">&lt;/nav&gt;</span>
-<span id="LC15" class="line" lang="plaintext">&lt;h1&gt;Heading 1&lt;/h1&gt;</span>
-<span id="LC16" class="line" lang="plaintext">&lt;h2&gt;Heading 2&lt;/h2&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9852:1-9853:5" dir="auto">A table of contents is a block element. It should preceded and followed by a blank
-line.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9855:1-9864:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[[_TOC_]]</span>
-<span id="LC2" class="line" lang="plaintext">text</span>
-<span id="LC3" class="line" lang="plaintext"></span>
-<span id="LC4" class="line" lang="plaintext">text</span>
-<span id="LC5" class="line" lang="plaintext">[TOC]</span>
-<span id="LC6" class="line" lang="plaintext">.</span>
-<span id="LC7" class="line" lang="plaintext">&lt;p&gt;[[&lt;em&gt;TOC&lt;/em&gt;]]text&lt;/p&gt;</span>
-<span id="LC8" class="line" lang="plaintext">&lt;p&gt;text[TOC]&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9866:1-9866:60" dir="auto">A table of contents can be indented with up to three spaces.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9868:1-9879:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> [[_TOC_]]</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext"># Heading 1</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;nav&gt;</span>
-<span id="LC6" class="line" lang="plaintext"> &lt;ul&gt;</span>
-<span id="LC7" class="line" lang="plaintext"> &lt;li&gt;&lt;a href="#heading-1"&gt;Heading 1&lt;/a&gt;&lt;/li&gt;</span>
-<span id="LC8" class="line" lang="plaintext"> &lt;/ul&gt;</span>
-<span id="LC9" class="line" lang="plaintext">&lt;/nav&gt;</span>
-<span id="LC10" class="line" lang="plaintext">&lt;h1&gt;Heading 1&lt;/h1&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h1 data-sourcepos="9881:1-9881:36" dir="auto">
-<a id="user-content-gitlab-internal-extension-markdown" class="anchor" href="#gitlab-internal-extension-markdown" aria-hidden="true"></a>GitLab Internal Extension Markdown</h1>
-<h2 data-sourcepos="9883:1-9883:8" dir="auto">
-<a id="user-content-audio" class="anchor" href="#audio" aria-hidden="true"></a>Audio</h2>
-<p data-sourcepos="9885:1-9886:107" dir="auto">See
-<a href="https://docs.gitlab.com/ee/user/markdown.html#audio" rel="nofollow noreferrer noopener" target="_blank">audio</a> in the GitLab Flavored Markdown documentation.</p>
-<p data-sourcepos="9888:1-9890:63" dir="auto">GLFM renders image elements as an audio player as long as the resource’s file extension is
-one of the following supported audio extensions <code>.mp3</code>, <code>.oga</code>, <code>.ogg</code>, <code>.spx</code>, and <code>.wav</code>.
-Audio ignore the alternative text part of an image declaration.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9892:1-9896:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![audio](audio.oga "audio title")</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;audio src="audio.oga" title="audio title"&gt;&lt;/audio&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9898:1-9898:41" dir="auto">Reference definitions work audio as well:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9900:1-9906:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[audio]: audio.oga "audio title"</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">![audio][audio]</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;audio src="audio.oga" title="audio title"&gt;&lt;/audio&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="9908:1-9908:8" dir="auto">
-<a id="user-content-video" class="anchor" href="#video" aria-hidden="true"></a>Video</h2>
-<p data-sourcepos="9910:1-9911:109" dir="auto">See
-<a href="https://docs.gitlab.com/ee/user/markdown.html#videos" rel="nofollow noreferrer noopener" target="_blank">videos</a> in the GitLab Flavored Markdown documentation.</p>
-<p data-sourcepos="9913:1-9915:64" dir="auto">GLFM renders image elements as a video player as long as the resource’s file extension is
-one of the following supported video extensions <code>.mp4</code>, <code>.m4v</code>, <code>.mov</code>, <code>.webm</code>, and <code>.ogv</code>.
-Videos ignore the alternative text part of an image declaration.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9918:1-9922:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![video](video.m4v "video title")</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;video src="video.m4v" title="video title"&gt;&lt;/video&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9924:1-9924:41" dir="auto">Reference definitions work video as well:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9926:1-9932:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[video]: video.mov "video title"</span>
-<span id="LC2" class="line" lang="plaintext"></span>
-<span id="LC3" class="line" lang="plaintext">![video][video]</span>
-<span id="LC4" class="line" lang="plaintext">.</span>
-<span id="LC5" class="line" lang="plaintext">&lt;p&gt;&lt;video src="video.mov" title="video title"&gt;&lt;/video&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="9934:1-9934:41" dir="auto">
-<a id="user-content-markdown-preview-api-request-overrides" class="anchor" href="#markdown-preview-api-request-overrides" aria-hidden="true"></a>Markdown Preview API Request Overrides</h2>
-<p data-sourcepos="9936:1-9938:42" dir="auto">This section contains examples of all controllers which use <code>PreviewMarkdown</code> module
-and use different <code>markdown_context_params</code>. They exercise the various <code>preview_markdown</code>
-endpoints via <code>glfm_example_metadata.yml</code>.</p>
-<p data-sourcepos="9941:1-9941:75" dir="auto"><code>preview_markdown</code> exercising <code>groups</code> API endpoint and <code>UploadLinkFilter</code>:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9943:1-9947:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[groups-test-file](/uploads/groups-test-file)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="groups-test-file"&gt;groups-test-file&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9949:1-9949:81" dir="auto"><code>preview_markdown</code> exercising <code>projects</code> API endpoint and <code>RepositoryLinkFilter</code>:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9951:1-9955:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[projects-test-file](projects-test-file)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="projects-test-file"&gt;projects-test-file&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9957:1-9957:83" dir="auto"><code>preview_markdown</code> exercising <code>projects</code> API endpoint and <code>SnippetReferenceFilter</code>:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9959:1-9963:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">This project snippet ID reference IS filtered: $88888</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;This project snippet ID reference IS filtered: $88888&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9965:1-9968:50" dir="auto"><code>preview_markdown</code> exercising personal (non-project) <code>snippets</code> API endpoint. This is
-only used by the comment field on personal snippets. It has no unique custom markdown
-extension behavior, and specifically does not render snippet references via
-<code>SnippetReferenceFilter</code>, even if the ID is valid.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9970:1-9974:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">This personal snippet ID reference is not filtered: $99999</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;This personal snippet ID reference is not filtered: $99999&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9976:1-9976:80" dir="auto"><code>preview_markdown</code> exercising project <code>wikis</code> API endpoint and <code>WikiLinkFilter</code>:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9978:1-9982:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[project-wikis-test-file](project-wikis-test-file)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="project-wikis-test-file"&gt;project-wikis-test-file&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="9984:1-9985:63" dir="auto"><code>preview_markdown</code> exercising group <code>wikis</code> API endpoint and <code>WikiLinkFilter</code>. This example
-also requires an EE license enabling the <code>group_wikis</code> feature:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="9987:1-9991:32" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[group-wikis-test-file](group-wikis-test-file)</span>
-<span id="LC2" class="line" lang="plaintext">.</span>
-<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="group-wikis-test-file"&gt;group-wikis-test-file&lt;/a&gt;&lt;/p&gt;</span></code></pre>
-<copy-code></copy-code>
-</div>
-
-<h1 data-sourcepos="9995:1-9995:30" dir="auto">
-<a id="user-content-appendix-a-parsing-strategy" class="anchor" href="#appendix-a-parsing-strategy" aria-hidden="true"></a>Appendix: A parsing strategy</h1>
-<p data-sourcepos="9997:1-9998:49" dir="auto">In this appendix we describe some features of the parsing strategy
-used in the CommonMark reference implementations.</p>
-<h2 data-sourcepos="10000:1-10000:11" dir="auto">
-<a id="user-content-overview" class="anchor" href="#overview" aria-hidden="true"></a>Overview</h2>
-<p data-sourcepos="10002:1-10002:23" dir="auto">Parsing has two phases:</p>
-<ol data-sourcepos="10004:1-10014:0" dir="auto">
-<li data-sourcepos="10004:1-10009:0">
-<p data-sourcepos="10004:4-10008:28">In the first phase, lines of input are consumed and the block
-structure of the document---its division into paragraphs, block quotes,
-list items, and so on---is constructed. Text is assigned to these
-blocks but not parsed. Link reference definitions are parsed and a
-map of links is constructed.</p>
-</li>
-<li data-sourcepos="10010:1-10014:0">
-<p data-sourcepos="10010:4-10013:34">In the second phase, the raw text contents of paragraphs and headings
-are parsed into sequences of Markdown inline elements (strings,
-code spans, links, emphasis, and so on), using the map of link
-references constructed in phase 1.</p>
-</li>
-</ol>
-<p data-sourcepos="10015:1-10022:17" dir="auto">At each point in processing, the document is represented as a tree of
-<strong>blocks</strong>. The root of the tree is a <code>document</code> block. The <code>document</code>
-may have any number of other blocks as <strong>children</strong>. These children
-may, in turn, have other blocks as children. The last child of a block
-is normally considered <strong>open</strong>, meaning that subsequent lines of input
-can alter its contents. (Blocks that are not open are <strong>closed</strong>.)
-Here, for example, is a possible document tree, with the open blocks
-marked by arrows:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="10024:1-10036:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="tree" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">-&gt; document</span>
-<span id="LC2" class="line" lang="plaintext"> -&gt; block_quote</span>
-<span id="LC3" class="line" lang="plaintext"> paragraph</span>
-<span id="LC4" class="line" lang="plaintext"> "Lorem ipsum dolor\nsit amet."</span>
-<span id="LC5" class="line" lang="plaintext"> -&gt; list (type=bullet tight=true bullet_char=-)</span>
-<span id="LC6" class="line" lang="plaintext"> list_item</span>
-<span id="LC7" class="line" lang="plaintext"> paragraph</span>
-<span id="LC8" class="line" lang="plaintext"> "Qui *quodsi iracundia*"</span>
-<span id="LC9" class="line" lang="plaintext"> -&gt; list_item</span>
-<span id="LC10" class="line" lang="plaintext"> -&gt; paragraph</span>
-<span id="LC11" class="line" lang="plaintext"> "aliquando id"</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="10038:1-10038:27" dir="auto">
-<a id="user-content-phase-1-block-structure" class="anchor" href="#phase-1-block-structure" aria-hidden="true"></a>Phase 1: block structure</h2>
-<p data-sourcepos="10040:1-10042:37" dir="auto">Each line that is processed has an effect on this tree. The line is
-analyzed and, depending on its contents, the document may be altered
-in one or more of the following ways:</p>
-<ol data-sourcepos="10044:1-10049:0" dir="auto">
-<li data-sourcepos="10044:1-10044:41">One or more open blocks may be closed.</li>
-<li data-sourcepos="10045:1-10046:19">One or more new blocks may be created as children of the
-last open block.</li>
-<li data-sourcepos="10047:1-10049:0">Text may be added to the last (deepest) open block remaining
-on the tree.</li>
-</ol>
-<p data-sourcepos="10050:1-10051:54" dir="auto">Once a line has been incorporated into the tree in this way,
-it can be discarded, so input can be read in a stream.</p>
-<p data-sourcepos="10053:1-10053:40" dir="auto">For each line, we follow this procedure:</p>
-<ol data-sourcepos="10055:1-10074:0" dir="auto">
-<li data-sourcepos="10055:1-10063:0">
-<p data-sourcepos="10055:4-10062:25">First we iterate through the open blocks, starting with the
-root document, and descending through last children down to the last
-open block. Each block imposes a condition that the line must satisfy
-if the block is to remain open. For example, a block quote requires a
-<code>&gt;</code> character. A paragraph requires a non-blank line.
-In this phase we may match all or just some of the open
-blocks. But we cannot close unmatched blocks yet, because we may have a
-[lazy continuation line].</p>
-</li>
-<li data-sourcepos="10064:1-10069:0">
-<p data-sourcepos="10064:5-10068:14">Next, after consuming the continuation markers for existing
-blocks, we look for new block starts (e.g. <code>&gt;</code> for a block quote).
-If we encounter a new block start, we close any blocks unmatched
-in step 1 before creating the new block as a child of the last
-matched block.</p>
-</li>
-<li data-sourcepos="10070:1-10074:0">
-<p data-sourcepos="10070:5-10073:54">Finally, we look at the remainder of the line (after block
-markers like <code>&gt;</code>, list markers, and indentation have been consumed).
-This is text that can be incorporated into the last open
-block (a paragraph, code block, heading, or raw HTML).</p>
-</li>
-</ol>
-<p data-sourcepos="10075:1-10076:37" dir="auto">Setext headings are formed when we see a line of a paragraph
-that is a [setext heading underline].</p>
-<p data-sourcepos="10078:1-10081:17" dir="auto">Reference link definitions are detected when a paragraph is closed;
-the accumulated text lines are parsed to see if they begin with
-one or more reference link definitions. Any remainder becomes a
-normal paragraph.</p>
-<p data-sourcepos="10083:1-10084:36" dir="auto">We can see how this works by considering how the tree above is
-generated by four lines of Markdown:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="10086:1-10091:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="gt">&gt; Lorem ipsum dolor</span></span>
-<span id="LC2" class="line" lang="markdown">sit amet.</span>
-<span id="LC3" class="line" lang="markdown"><span class="gt">&gt; - Qui *quodsi iracundia*</span></span>
-<span id="LC4" class="line" lang="markdown"><span class="gt">&gt; - aliquando id</span></span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="10093:1-10093:41" dir="auto">At the outset, our document model is just</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="10095:1-10097:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="tree" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">-&gt; document</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="10099:1-10099:27" dir="auto">The first line of our text,</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="10101:1-10103:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="gt">&gt; Lorem ipsum dolor</span></span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="10105:1-10108:23" dir="auto">causes a <code>block_quote</code> block to be created as a child of our
-open <code>document</code> block, and a <code>paragraph</code> block as a child of
-the <code>block_quote</code>. Then the text is added to the last open
-block, the <code>paragraph</code>:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="10110:1-10115:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="tree" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">-&gt; document</span>
-<span id="LC2" class="line" lang="plaintext"> -&gt; block_quote</span>
-<span id="LC3" class="line" lang="plaintext"> -&gt; paragraph</span>
-<span id="LC4" class="line" lang="plaintext"> "Lorem ipsum dolor"</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="10117:1-10117:14" dir="auto">The next line,</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="10119:1-10121:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown">sit amet.</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="10123:1-10124:24" dir="auto">is a "lazy continuation" of the open <code>paragraph</code>, so it gets added
-to the paragraph's text:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="10126:1-10131:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="tree" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">-&gt; document</span>
-<span id="LC2" class="line" lang="plaintext"> -&gt; block_quote</span>
-<span id="LC3" class="line" lang="plaintext"> -&gt; paragraph</span>
-<span id="LC4" class="line" lang="plaintext"> "Lorem ipsum dolor\nsit amet."</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="10133:1-10133:15" dir="auto">The third line,</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="10135:1-10137:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="gt">&gt; - Qui *quodsi iracundia*</span></span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="10139:1-10142:64" dir="auto">causes the <code>paragraph</code> block to be closed, and a new <code>list</code> block
-opened as a child of the <code>block_quote</code>. A <code>list_item</code> is also
-added as a child of the <code>list</code>, and a <code>paragraph</code> as a child of
-the <code>list_item</code>. The text is then added to the new <code>paragraph</code>:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="10144:1-10153:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="tree" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">-&gt; document</span>
-<span id="LC2" class="line" lang="plaintext"> -&gt; block_quote</span>
-<span id="LC3" class="line" lang="plaintext"> paragraph</span>
-<span id="LC4" class="line" lang="plaintext"> "Lorem ipsum dolor\nsit amet."</span>
-<span id="LC5" class="line" lang="plaintext"> -&gt; list (type=bullet tight=true bullet_char=-)</span>
-<span id="LC6" class="line" lang="plaintext"> -&gt; list_item</span>
-<span id="LC7" class="line" lang="plaintext"> -&gt; paragraph</span>
-<span id="LC8" class="line" lang="plaintext"> "Qui *quodsi iracundia*"</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="10155:1-10155:16" dir="auto">The fourth line,</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="10157:1-10159:3" class="code highlight js-syntax-highlight language-markdown" lang="markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="gt">&gt; - aliquando id</span></span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="10161:1-10164:30" dir="auto">causes the <code>list_item</code> (and its child the <code>paragraph</code>) to be closed,
-and a new <code>list_item</code> opened up as child of the <code>list</code>. A <code>paragraph</code>
-is added as a child of the new <code>list_item</code>, to contain the text.
-We thus obtain the final tree:</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="10166:1-10178:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="tree" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">-&gt; document</span>
-<span id="LC2" class="line" lang="plaintext"> -&gt; block_quote</span>
-<span id="LC3" class="line" lang="plaintext"> paragraph</span>
-<span id="LC4" class="line" lang="plaintext"> "Lorem ipsum dolor\nsit amet."</span>
-<span id="LC5" class="line" lang="plaintext"> -&gt; list (type=bullet tight=true bullet_char=-)</span>
-<span id="LC6" class="line" lang="plaintext"> list_item</span>
-<span id="LC7" class="line" lang="plaintext"> paragraph</span>
-<span id="LC8" class="line" lang="plaintext"> "Qui *quodsi iracundia*"</span>
-<span id="LC9" class="line" lang="plaintext"> -&gt; list_item</span>
-<span id="LC10" class="line" lang="plaintext"> -&gt; paragraph</span>
-<span id="LC11" class="line" lang="plaintext"> "aliquando id"</span></code></pre>
-<copy-code></copy-code>
-</div>
-<h2 data-sourcepos="10180:1-10180:28" dir="auto">
-<a id="user-content-phase-2-inline-structure" class="anchor" href="#phase-2-inline-structure" aria-hidden="true"></a>Phase 2: inline structure</h2>
-<p data-sourcepos="10182:1-10182:66" dir="auto">Once all of the input has been parsed, all open blocks are closed.</p>
-<p data-sourcepos="10184:1-10187:33" dir="auto">We then "walk the tree," visiting every node, and parse raw
-string contents of paragraphs and headings as inlines. At this
-point we have seen all the link reference definitions, so we can
-resolve reference links as we go.</p>
-<div class="gl-relative markdown-code-block js-markdown-code">
-<pre data-sourcepos="10189:1-10205:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="tree" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">document</span>
-<span id="LC2" class="line" lang="plaintext"> block_quote</span>
-<span id="LC3" class="line" lang="plaintext"> paragraph</span>
-<span id="LC4" class="line" lang="plaintext"> str "Lorem ipsum dolor"</span>
-<span id="LC5" class="line" lang="plaintext"> softbreak</span>
-<span id="LC6" class="line" lang="plaintext"> str "sit amet."</span>
-<span id="LC7" class="line" lang="plaintext"> list (type=bullet tight=true bullet_char=-)</span>
-<span id="LC8" class="line" lang="plaintext"> list_item</span>
-<span id="LC9" class="line" lang="plaintext"> paragraph</span>
-<span id="LC10" class="line" lang="plaintext"> str "Qui "</span>
-<span id="LC11" class="line" lang="plaintext"> emph</span>
-<span id="LC12" class="line" lang="plaintext"> str "quodsi iracundia"</span>
-<span id="LC13" class="line" lang="plaintext"> list_item</span>
-<span id="LC14" class="line" lang="plaintext"> paragraph</span>
-<span id="LC15" class="line" lang="plaintext"> str "aliquando id"</span></code></pre>
-<copy-code></copy-code>
-</div>
-<p data-sourcepos="10207:1-10209:22" dir="auto">Notice how the [line ending] in the first paragraph has
-been parsed as a <code>softbreak</code>, and the asterisks in the first list item
-have become an <code>emph</code>.</p>
-<h3 data-sourcepos="10211:1-10211:54" dir="auto">
-<a id="user-content-an-algorithm-for-parsing-nested-emphasis-and-links" class="anchor" href="#an-algorithm-for-parsing-nested-emphasis-and-links" aria-hidden="true"></a>An algorithm for parsing nested emphasis and links</h3>
-<p data-sourcepos="10213:1-10215:10" dir="auto">By far the trickiest part of inline parsing is handling emphasis,
-strong emphasis, links, and images. This is done using the following
-algorithm.</p>
-<p data-sourcepos="10217:1-10217:44" dir="auto">When we're parsing inlines and we hit either</p>
-<ul data-sourcepos="10219:1-10221:0" dir="auto">
-<li data-sourcepos="10219:1-10219:36">a run of <code>*</code> or <code>_</code> characters, or</li>
-<li data-sourcepos="10220:1-10221:0">a <code>[</code> or <code>![</code>
-</li>
-</ul>
-<p data-sourcepos="10222:1-10223:60" dir="auto">we insert a text node with these symbols as its literal content, and we
-add a pointer to this text node to the <a href="@">delimiter stack</a>.</p>
-<p data-sourcepos="10225:1-10226:65" dir="auto">The [delimiter stack] is a doubly linked list. Each
-element contains a pointer to a text node, plus information about</p>
-<ul data-sourcepos="10228:1-10234:0" dir="auto">
-<li data-sourcepos="10228:1-10228:45">the type of delimiter (<code>[</code>, <code>![</code>, <code>*</code>, <code>_</code>)</li>
-<li data-sourcepos="10229:1-10229:27">the number of delimiters,</li>
-<li data-sourcepos="10230:1-10230:66">whether the delimiter is "active" (all are active to start), and</li>
-<li data-sourcepos="10231:1-10234:0">whether the delimiter is a potential opener, a potential closer,
-or both (which depends on what sort of characters precede
-and follow the delimiters).</li>
-</ul>
-<p data-sourcepos="10235:1-10236:22" dir="auto">When we hit a <code>]</code> character, we call the <em>look for link or image</em>
-procedure (see below).</p>
-<p data-sourcepos="10238:1-10239:50" dir="auto">When we hit the end of the input, we call the <em>process emphasis</em>
-procedure (see below), with <code>stack_bottom</code> = NULL.</p>
-<h4 data-sourcepos="10241:1-10241:29" dir="auto">
-<a id="user-content-look-for-link-or-image" class="anchor" href="#look-for-link-or-image" aria-hidden="true"></a><em>look for link or image</em>
-</h4>
-<p data-sourcepos="10243:1-10244:55" dir="auto">Starting at the top of the delimiter stack, we look backwards
-through the stack for an opening <code>[</code> or <code>![</code> delimiter.</p>
-<ul data-sourcepos="10246:1-10271:0" dir="auto">
-<li data-sourcepos="10246:1-10247:0">
-<p data-sourcepos="10246:3-10246:58">If we don't find one, we return a literal text node <code>]</code>.</p>
-</li>
-<li data-sourcepos="10248:1-10250:0">
-<p data-sourcepos="10248:3-10249:63">If we do find one, but it's not <em>active</em>, we remove the inactive
-delimiter from the stack, and return a literal text node <code>]</code>.</p>
-</li>
-<li data-sourcepos="10251:1-10271:0">
-<p data-sourcepos="10251:3-10253:47">If we find one and it's active, then we parse ahead to see if
-we have an inline link/image, reference link/image, compact reference
-link/image, or shortcut reference link/image.</p>
-<ul data-sourcepos="10255:3-10271:0">
-<li data-sourcepos="10255:3-10257:0">
-<p data-sourcepos="10255:5-10256:55">If we don't, then we remove the opening delimiter from the
-delimiter stack and return a literal text node <code>]</code>.</p>
-</li>
-<li data-sourcepos="10258:3-10271:0">
-<p data-sourcepos="10258:5-10258:18">If we do, then</p>
-<ul data-sourcepos="10260:5-10271:0">
-<li data-sourcepos="10260:5-10262:0">
-<p data-sourcepos="10260:7-10261:62">We return a link or image node whose children are the inlines
-after the text node pointed to by the opening delimiter.</p>
-</li>
-<li data-sourcepos="10263:5-10265:0">
-<p data-sourcepos="10263:7-10264:24">We run <em>process emphasis</em> on these inlines, with the <code>[</code> opener
-as <code>stack_bottom</code>.</p>
-</li>
-<li data-sourcepos="10266:5-10267:0">
-<p data-sourcepos="10266:7-10266:38">We remove the opening delimiter.</p>
-</li>
-<li data-sourcepos="10268:5-10271:0">
-<p data-sourcepos="10268:7-10270:55">If we have a link (and not an image), we also set all
-<code>[</code> delimiters before the opening delimiter to <em>inactive</em>. (This
-will prevent us from getting links within links.)</p>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<h4 data-sourcepos="10272:1-10272:23" dir="auto">
-<a id="user-content-process-emphasis" class="anchor" href="#process-emphasis" aria-hidden="true"></a><em>process emphasis</em>
-</h4>
-<p data-sourcepos="10274:1-10277:24" dir="auto">Parameter <code>stack_bottom</code> sets a lower bound to how far we
-descend in the [delimiter stack]. If it is NULL, we can
-go all the way to the bottom. Otherwise, we stop before
-visiting <code>stack_bottom</code>.</p>
-<p data-sourcepos="10279:1-10281:9" dir="auto">Let <code>current_position</code> point to the element on the [delimiter stack]
-just above <code>stack_bottom</code> (or the first element if <code>stack_bottom</code>
-is NULL).</p>
-<p data-sourcepos="10283:1-10285:47" dir="auto">We keep track of the <code>openers_bottom</code> for each delimiter
-type (<code>*</code>, <code>_</code>) and each length of the closing delimiter run
-(modulo 3). Initialize this to <code>stack_bottom</code>.</p>
-<p data-sourcepos="10287:1-10288:8" dir="auto">Then we repeat the following until we run out of potential
-closers:</p>
-<ul data-sourcepos="10290:1-10328:0" dir="auto">
-<li data-sourcepos="10290:1-10294:0">
-<p data-sourcepos="10290:3-10293:65">Move <code>current_position</code> forward in the delimiter stack (if needed)
-until we find the first potential closer with delimiter <code>*</code> or <code>_</code>.
-(This will be the potential closer closest
-to the beginning of the input -- the first one in parse order.)</p>
-</li>
-<li data-sourcepos="10295:1-10298:0">
-<p data-sourcepos="10295:3-10297:68">Now, look back in the stack (staying above <code>stack_bottom</code> and
-the <code>openers_bottom</code> for this delimiter type) for the
-first matching potential opener ("matching" means same delimiter).</p>
-</li>
-<li data-sourcepos="10299:1-10316:0">
-<p data-sourcepos="10299:3-10299:18">If one is found:</p>
-<ul data-sourcepos="10301:3-10316:0">
-<li data-sourcepos="10301:3-10304:0">
-<p data-sourcepos="10301:5-10303:30">Figure out whether we have emphasis or strong emphasis:
-if both closer and opener spans have length &gt;= 2, we have
-strong, otherwise regular.</p>
-</li>
-<li data-sourcepos="10305:3-10307:0">
-<p data-sourcepos="10305:5-10306:46">Insert an emph or strong emph node accordingly, after
-the text node corresponding to the opener.</p>
-</li>
-<li data-sourcepos="10308:3-10310:0">
-<p data-sourcepos="10308:5-10309:24">Remove any delimiters between the opener and closer from
-the delimiter stack.</p>
-</li>
-<li data-sourcepos="10311:3-10316:0">
-<p data-sourcepos="10311:5-10315:56">Remove 1 (for regular emph) or 2 (for strong emph) delimiters
-from the opening and closing text nodes. If they become empty
-as a result, remove them and remove the corresponding element
-of the delimiter stack. If the closing node is removed, reset
-<code>current_position</code> to the next element in the stack.</p>
-</li>
-</ul>
-</li>
-<li data-sourcepos="10317:1-10328:0">
-<p data-sourcepos="10317:3-10317:19">If none is found:</p>
-<ul data-sourcepos="10319:3-10328:0">
-<li data-sourcepos="10319:3-10322:0">
-<p data-sourcepos="10319:5-10321:73">Set <code>openers_bottom</code> to the element before <code>current_position</code>.
-(We know that there are no openers for this kind of closer up to and
-including this point, so this puts a lower bound on future searches.)</p>
-</li>
-<li data-sourcepos="10323:3-10326:0">
-<p data-sourcepos="10323:5-10325:24">If the closer at <code>current_position</code> is not a potential opener,
-remove it from the delimiter stack (since we know it can't
-be a closer either).</p>
-</li>
-<li data-sourcepos="10327:3-10328:0">
-<p data-sourcepos="10327:5-10327:64">Advance <code>current_position</code> to the next element in the stack.</p>
-</li>
-</ul>
-</li>
-</ul>
-<p data-sourcepos="10329:1-10330:16" dir="auto">After we're done, we remove all delimiters above <code>stack_bottom</code> from the
-delimiter stack.</p>
diff --git a/glfm_specification/example_snapshots/examples_index.yml b/glfm_specification/output_example_snapshots/examples_index.yml
index c0739912399..45d10679a71 100644
--- a/glfm_specification/example_snapshots/examples_index.yml
+++ b/glfm_specification/output_example_snapshots/examples_index.yml
@@ -1,2086 +1,2086 @@
---
02_01_00__preliminaries__tabs__001:
- spec_txt_example_position: 1
+ spec_example_position: 1
source_specification: commonmark
02_01_00__preliminaries__tabs__002:
- spec_txt_example_position: 2
+ spec_example_position: 2
source_specification: commonmark
02_01_00__preliminaries__tabs__003:
- spec_txt_example_position: 3
+ spec_example_position: 3
source_specification: commonmark
02_01_00__preliminaries__tabs__004:
- spec_txt_example_position: 4
+ spec_example_position: 4
source_specification: commonmark
02_01_00__preliminaries__tabs__005:
- spec_txt_example_position: 5
+ spec_example_position: 5
source_specification: commonmark
02_01_00__preliminaries__tabs__006:
- spec_txt_example_position: 6
+ spec_example_position: 6
source_specification: commonmark
02_01_00__preliminaries__tabs__007:
- spec_txt_example_position: 7
+ spec_example_position: 7
source_specification: commonmark
02_01_00__preliminaries__tabs__008:
- spec_txt_example_position: 8
+ spec_example_position: 8
source_specification: commonmark
02_01_00__preliminaries__tabs__009:
- spec_txt_example_position: 9
+ spec_example_position: 9
source_specification: commonmark
02_01_00__preliminaries__tabs__010:
- spec_txt_example_position: 10
+ spec_example_position: 10
source_specification: commonmark
02_01_00__preliminaries__tabs__011:
- spec_txt_example_position: 11
+ spec_example_position: 11
source_specification: commonmark
03_01_00__blocks_and_inlines__precedence__001:
- spec_txt_example_position: 12
+ spec_example_position: 12
source_specification: commonmark
04_01_00__leaf_blocks__thematic_breaks__001:
- spec_txt_example_position: 13
+ spec_example_position: 13
source_specification: commonmark
04_01_00__leaf_blocks__thematic_breaks__002:
- spec_txt_example_position: 14
+ spec_example_position: 14
source_specification: commonmark
04_01_00__leaf_blocks__thematic_breaks__003:
- spec_txt_example_position: 15
+ spec_example_position: 15
source_specification: commonmark
04_01_00__leaf_blocks__thematic_breaks__004:
- spec_txt_example_position: 16
+ spec_example_position: 16
source_specification: commonmark
04_01_00__leaf_blocks__thematic_breaks__005:
- spec_txt_example_position: 17
+ spec_example_position: 17
source_specification: commonmark
04_01_00__leaf_blocks__thematic_breaks__006:
- spec_txt_example_position: 18
+ spec_example_position: 18
source_specification: commonmark
04_01_00__leaf_blocks__thematic_breaks__007:
- spec_txt_example_position: 19
+ spec_example_position: 19
source_specification: commonmark
04_01_00__leaf_blocks__thematic_breaks__008:
- spec_txt_example_position: 20
+ spec_example_position: 20
source_specification: commonmark
04_01_00__leaf_blocks__thematic_breaks__009:
- spec_txt_example_position: 21
+ spec_example_position: 21
source_specification: commonmark
04_01_00__leaf_blocks__thematic_breaks__010:
- spec_txt_example_position: 22
+ spec_example_position: 22
source_specification: commonmark
04_01_00__leaf_blocks__thematic_breaks__011:
- spec_txt_example_position: 23
+ spec_example_position: 23
source_specification: commonmark
04_01_00__leaf_blocks__thematic_breaks__012:
- spec_txt_example_position: 24
+ spec_example_position: 24
source_specification: commonmark
04_01_00__leaf_blocks__thematic_breaks__013:
- spec_txt_example_position: 25
+ spec_example_position: 25
source_specification: commonmark
04_01_00__leaf_blocks__thematic_breaks__014:
- spec_txt_example_position: 26
+ spec_example_position: 26
source_specification: commonmark
04_01_00__leaf_blocks__thematic_breaks__015:
- spec_txt_example_position: 27
+ spec_example_position: 27
source_specification: commonmark
04_01_00__leaf_blocks__thematic_breaks__016:
- spec_txt_example_position: 28
+ spec_example_position: 28
source_specification: commonmark
04_01_00__leaf_blocks__thematic_breaks__017:
- spec_txt_example_position: 29
+ spec_example_position: 29
source_specification: commonmark
04_01_00__leaf_blocks__thematic_breaks__018:
- spec_txt_example_position: 30
+ spec_example_position: 30
source_specification: commonmark
04_01_00__leaf_blocks__thematic_breaks__019:
- spec_txt_example_position: 31
+ spec_example_position: 31
source_specification: commonmark
04_02_00__leaf_blocks__atx_headings__001:
- spec_txt_example_position: 32
+ spec_example_position: 32
source_specification: commonmark
04_02_00__leaf_blocks__atx_headings__002:
- spec_txt_example_position: 33
+ spec_example_position: 33
source_specification: commonmark
04_02_00__leaf_blocks__atx_headings__003:
- spec_txt_example_position: 34
+ spec_example_position: 34
source_specification: commonmark
04_02_00__leaf_blocks__atx_headings__004:
- spec_txt_example_position: 35
+ spec_example_position: 35
source_specification: commonmark
04_02_00__leaf_blocks__atx_headings__005:
- spec_txt_example_position: 36
+ spec_example_position: 36
source_specification: commonmark
04_02_00__leaf_blocks__atx_headings__006:
- spec_txt_example_position: 37
+ spec_example_position: 37
source_specification: commonmark
04_02_00__leaf_blocks__atx_headings__007:
- spec_txt_example_position: 38
+ spec_example_position: 38
source_specification: commonmark
04_02_00__leaf_blocks__atx_headings__008:
- spec_txt_example_position: 39
+ spec_example_position: 39
source_specification: commonmark
04_02_00__leaf_blocks__atx_headings__009:
- spec_txt_example_position: 40
+ spec_example_position: 40
source_specification: commonmark
04_02_00__leaf_blocks__atx_headings__010:
- spec_txt_example_position: 41
+ spec_example_position: 41
source_specification: commonmark
04_02_00__leaf_blocks__atx_headings__011:
- spec_txt_example_position: 42
+ spec_example_position: 42
source_specification: commonmark
04_02_00__leaf_blocks__atx_headings__012:
- spec_txt_example_position: 43
+ spec_example_position: 43
source_specification: commonmark
04_02_00__leaf_blocks__atx_headings__013:
- spec_txt_example_position: 44
+ spec_example_position: 44
source_specification: commonmark
04_02_00__leaf_blocks__atx_headings__014:
- spec_txt_example_position: 45
+ spec_example_position: 45
source_specification: commonmark
04_02_00__leaf_blocks__atx_headings__015:
- spec_txt_example_position: 46
+ spec_example_position: 46
source_specification: commonmark
04_02_00__leaf_blocks__atx_headings__016:
- spec_txt_example_position: 47
+ spec_example_position: 47
source_specification: commonmark
04_02_00__leaf_blocks__atx_headings__017:
- spec_txt_example_position: 48
+ spec_example_position: 48
source_specification: commonmark
04_02_00__leaf_blocks__atx_headings__018:
- spec_txt_example_position: 49
+ spec_example_position: 49
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__001:
- spec_txt_example_position: 50
+ spec_example_position: 50
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__002:
- spec_txt_example_position: 51
+ spec_example_position: 51
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__003:
- spec_txt_example_position: 52
+ spec_example_position: 52
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__004:
- spec_txt_example_position: 53
+ spec_example_position: 53
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__005:
- spec_txt_example_position: 54
+ spec_example_position: 54
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__006:
- spec_txt_example_position: 55
+ spec_example_position: 55
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__007:
- spec_txt_example_position: 56
+ spec_example_position: 56
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__008:
- spec_txt_example_position: 57
+ spec_example_position: 57
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__009:
- spec_txt_example_position: 58
+ spec_example_position: 58
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__010:
- spec_txt_example_position: 59
+ spec_example_position: 59
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__011:
- spec_txt_example_position: 60
+ spec_example_position: 60
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__012:
- spec_txt_example_position: 61
+ spec_example_position: 61
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__013:
- spec_txt_example_position: 62
+ spec_example_position: 62
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__014:
- spec_txt_example_position: 63
+ spec_example_position: 63
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__015:
- spec_txt_example_position: 64
+ spec_example_position: 64
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__016:
- spec_txt_example_position: 65
+ spec_example_position: 65
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__017:
- spec_txt_example_position: 66
+ spec_example_position: 66
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__018:
- spec_txt_example_position: 67
+ spec_example_position: 67
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__019:
- spec_txt_example_position: 68
+ spec_example_position: 68
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__020:
- spec_txt_example_position: 69
+ spec_example_position: 69
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__021:
- spec_txt_example_position: 70
+ spec_example_position: 70
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__022:
- spec_txt_example_position: 71
+ spec_example_position: 71
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__023:
- spec_txt_example_position: 72
+ spec_example_position: 72
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__024:
- spec_txt_example_position: 73
+ spec_example_position: 73
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__025:
- spec_txt_example_position: 74
+ spec_example_position: 74
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__026:
- spec_txt_example_position: 75
+ spec_example_position: 75
source_specification: commonmark
04_03_00__leaf_blocks__setext_headings__027:
- spec_txt_example_position: 76
+ spec_example_position: 76
source_specification: commonmark
04_04_00__leaf_blocks__indented_code_blocks__001:
- spec_txt_example_position: 77
+ spec_example_position: 77
source_specification: commonmark
04_04_00__leaf_blocks__indented_code_blocks__002:
- spec_txt_example_position: 78
+ spec_example_position: 78
source_specification: commonmark
04_04_00__leaf_blocks__indented_code_blocks__003:
- spec_txt_example_position: 79
+ spec_example_position: 79
source_specification: commonmark
04_04_00__leaf_blocks__indented_code_blocks__004:
- spec_txt_example_position: 80
+ spec_example_position: 80
source_specification: commonmark
04_04_00__leaf_blocks__indented_code_blocks__005:
- spec_txt_example_position: 81
+ spec_example_position: 81
source_specification: commonmark
04_04_00__leaf_blocks__indented_code_blocks__006:
- spec_txt_example_position: 82
+ spec_example_position: 82
source_specification: commonmark
04_04_00__leaf_blocks__indented_code_blocks__007:
- spec_txt_example_position: 83
+ spec_example_position: 83
source_specification: commonmark
04_04_00__leaf_blocks__indented_code_blocks__008:
- spec_txt_example_position: 84
+ spec_example_position: 84
source_specification: commonmark
04_04_00__leaf_blocks__indented_code_blocks__009:
- spec_txt_example_position: 85
+ spec_example_position: 85
source_specification: commonmark
04_04_00__leaf_blocks__indented_code_blocks__010:
- spec_txt_example_position: 86
+ spec_example_position: 86
source_specification: commonmark
04_04_00__leaf_blocks__indented_code_blocks__011:
- spec_txt_example_position: 87
+ spec_example_position: 87
source_specification: commonmark
04_04_00__leaf_blocks__indented_code_blocks__012:
- spec_txt_example_position: 88
+ spec_example_position: 88
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__001:
- spec_txt_example_position: 89
+ spec_example_position: 89
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__002:
- spec_txt_example_position: 90
+ spec_example_position: 90
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__003:
- spec_txt_example_position: 91
+ spec_example_position: 91
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__004:
- spec_txt_example_position: 92
+ spec_example_position: 92
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__005:
- spec_txt_example_position: 93
+ spec_example_position: 93
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__006:
- spec_txt_example_position: 94
+ spec_example_position: 94
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__007:
- spec_txt_example_position: 95
+ spec_example_position: 95
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__008:
- spec_txt_example_position: 96
+ spec_example_position: 96
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__009:
- spec_txt_example_position: 97
+ spec_example_position: 97
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__010:
- spec_txt_example_position: 98
+ spec_example_position: 98
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__011:
- spec_txt_example_position: 99
+ spec_example_position: 99
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__012:
- spec_txt_example_position: 100
+ spec_example_position: 100
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__013:
- spec_txt_example_position: 101
+ spec_example_position: 101
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__014:
- spec_txt_example_position: 102
+ spec_example_position: 102
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__015:
- spec_txt_example_position: 103
+ spec_example_position: 103
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__016:
- spec_txt_example_position: 104
+ spec_example_position: 104
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__017:
- spec_txt_example_position: 105
+ spec_example_position: 105
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__018:
- spec_txt_example_position: 106
+ spec_example_position: 106
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__019:
- spec_txt_example_position: 107
+ spec_example_position: 107
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__020:
- spec_txt_example_position: 108
+ spec_example_position: 108
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__021:
- spec_txt_example_position: 109
+ spec_example_position: 109
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__022:
- spec_txt_example_position: 110
+ spec_example_position: 110
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__023:
- spec_txt_example_position: 111
+ spec_example_position: 111
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__024:
- spec_txt_example_position: 112
+ spec_example_position: 112
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__025:
- spec_txt_example_position: 113
+ spec_example_position: 113
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__026:
- spec_txt_example_position: 114
+ spec_example_position: 114
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__027:
- spec_txt_example_position: 115
+ spec_example_position: 115
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__028:
- spec_txt_example_position: 116
+ spec_example_position: 116
source_specification: commonmark
04_05_00__leaf_blocks__fenced_code_blocks__029:
- spec_txt_example_position: 117
+ spec_example_position: 117
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__001:
- spec_txt_example_position: 118
+ spec_example_position: 118
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__002:
- spec_txt_example_position: 119
+ spec_example_position: 119
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__003:
- spec_txt_example_position: 120
+ spec_example_position: 120
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__004:
- spec_txt_example_position: 121
+ spec_example_position: 121
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__005:
- spec_txt_example_position: 122
+ spec_example_position: 122
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__006:
- spec_txt_example_position: 123
+ spec_example_position: 123
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__007:
- spec_txt_example_position: 124
+ spec_example_position: 124
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__008:
- spec_txt_example_position: 125
+ spec_example_position: 125
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__009:
- spec_txt_example_position: 126
+ spec_example_position: 126
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__010:
- spec_txt_example_position: 127
+ spec_example_position: 127
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__011:
- spec_txt_example_position: 128
+ spec_example_position: 128
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__012:
- spec_txt_example_position: 129
+ spec_example_position: 129
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__013:
- spec_txt_example_position: 130
+ spec_example_position: 130
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__014:
- spec_txt_example_position: 131
+ spec_example_position: 131
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__015:
- spec_txt_example_position: 132
+ spec_example_position: 132
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__016:
- spec_txt_example_position: 133
+ spec_example_position: 133
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__017:
- spec_txt_example_position: 134
+ spec_example_position: 134
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__018:
- spec_txt_example_position: 135
+ spec_example_position: 135
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__019:
- spec_txt_example_position: 136
+ spec_example_position: 136
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__020:
- spec_txt_example_position: 137
+ spec_example_position: 137
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__021:
- spec_txt_example_position: 138
+ spec_example_position: 138
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__022:
- spec_txt_example_position: 139
+ spec_example_position: 139
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__023:
- spec_txt_example_position: 140
+ spec_example_position: 140
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__024:
- spec_txt_example_position: 141
+ spec_example_position: 141
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__025:
- spec_txt_example_position: 142
+ spec_example_position: 142
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__026:
- spec_txt_example_position: 143
+ spec_example_position: 143
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__027:
- spec_txt_example_position: 144
+ spec_example_position: 144
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__028:
- spec_txt_example_position: 145
+ spec_example_position: 145
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__029:
- spec_txt_example_position: 146
+ spec_example_position: 146
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__030:
- spec_txt_example_position: 147
+ spec_example_position: 147
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__031:
- spec_txt_example_position: 148
+ spec_example_position: 148
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__032:
- spec_txt_example_position: 149
+ spec_example_position: 149
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__033:
- spec_txt_example_position: 150
+ spec_example_position: 150
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__034:
- spec_txt_example_position: 151
+ spec_example_position: 151
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__035:
- spec_txt_example_position: 152
+ spec_example_position: 152
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__036:
- spec_txt_example_position: 153
+ spec_example_position: 153
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__037:
- spec_txt_example_position: 154
+ spec_example_position: 154
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__038:
- spec_txt_example_position: 155
+ spec_example_position: 155
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__039:
- spec_txt_example_position: 156
+ spec_example_position: 156
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__040:
- spec_txt_example_position: 157
+ spec_example_position: 157
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__041:
- spec_txt_example_position: 158
+ spec_example_position: 158
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__042:
- spec_txt_example_position: 159
+ spec_example_position: 159
source_specification: commonmark
04_06_00__leaf_blocks__html_blocks__043:
- spec_txt_example_position: 160
+ spec_example_position: 160
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__001:
- spec_txt_example_position: 161
+ spec_example_position: 161
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__002:
- spec_txt_example_position: 162
+ spec_example_position: 162
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__003:
- spec_txt_example_position: 163
+ spec_example_position: 163
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__004:
- spec_txt_example_position: 164
+ spec_example_position: 164
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__005:
- spec_txt_example_position: 165
+ spec_example_position: 165
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__006:
- spec_txt_example_position: 166
+ spec_example_position: 166
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__007:
- spec_txt_example_position: 167
+ spec_example_position: 167
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__008:
- spec_txt_example_position: 168
+ spec_example_position: 168
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__009:
- spec_txt_example_position: 169
+ spec_example_position: 169
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__010:
- spec_txt_example_position: 170
+ spec_example_position: 170
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__011:
- spec_txt_example_position: 171
+ spec_example_position: 171
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__012:
- spec_txt_example_position: 172
+ spec_example_position: 172
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__013:
- spec_txt_example_position: 173
+ spec_example_position: 173
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__014:
- spec_txt_example_position: 174
+ spec_example_position: 174
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__015:
- spec_txt_example_position: 175
+ spec_example_position: 175
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__016:
- spec_txt_example_position: 176
+ spec_example_position: 176
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__017:
- spec_txt_example_position: 177
+ spec_example_position: 177
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__018:
- spec_txt_example_position: 178
+ spec_example_position: 178
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__019:
- spec_txt_example_position: 179
+ spec_example_position: 179
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__020:
- spec_txt_example_position: 180
+ spec_example_position: 180
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__021:
- spec_txt_example_position: 181
+ spec_example_position: 181
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__022:
- spec_txt_example_position: 182
+ spec_example_position: 182
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__023:
- spec_txt_example_position: 183
+ spec_example_position: 183
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__024:
- spec_txt_example_position: 184
+ spec_example_position: 184
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__025:
- spec_txt_example_position: 185
+ spec_example_position: 185
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__026:
- spec_txt_example_position: 186
+ spec_example_position: 186
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__027:
- spec_txt_example_position: 187
+ spec_example_position: 187
source_specification: commonmark
04_07_00__leaf_blocks__link_reference_definitions__028:
- spec_txt_example_position: 188
+ spec_example_position: 188
source_specification: commonmark
04_08_00__leaf_blocks__paragraphs__001:
- spec_txt_example_position: 189
+ spec_example_position: 189
source_specification: commonmark
04_08_00__leaf_blocks__paragraphs__002:
- spec_txt_example_position: 190
+ spec_example_position: 190
source_specification: commonmark
04_08_00__leaf_blocks__paragraphs__003:
- spec_txt_example_position: 191
+ spec_example_position: 191
source_specification: commonmark
04_08_00__leaf_blocks__paragraphs__004:
- spec_txt_example_position: 192
+ spec_example_position: 192
source_specification: commonmark
04_08_00__leaf_blocks__paragraphs__005:
- spec_txt_example_position: 193
+ spec_example_position: 193
source_specification: commonmark
04_08_00__leaf_blocks__paragraphs__006:
- spec_txt_example_position: 194
+ spec_example_position: 194
source_specification: commonmark
04_08_00__leaf_blocks__paragraphs__007:
- spec_txt_example_position: 195
+ spec_example_position: 195
source_specification: commonmark
04_08_00__leaf_blocks__paragraphs__008:
- spec_txt_example_position: 196
+ spec_example_position: 196
source_specification: commonmark
04_09_00__leaf_blocks__blank_lines__001:
- spec_txt_example_position: 197
+ spec_example_position: 197
source_specification: commonmark
04_10_00__leaf_blocks__tables_extension__001:
- spec_txt_example_position: 198
+ spec_example_position: 198
source_specification: github
04_10_00__leaf_blocks__tables_extension__002:
- spec_txt_example_position: 199
+ spec_example_position: 199
source_specification: github
04_10_00__leaf_blocks__tables_extension__003:
- spec_txt_example_position: 200
+ spec_example_position: 200
source_specification: github
04_10_00__leaf_blocks__tables_extension__004:
- spec_txt_example_position: 201
+ spec_example_position: 201
source_specification: github
04_10_00__leaf_blocks__tables_extension__005:
- spec_txt_example_position: 202
+ spec_example_position: 202
source_specification: github
04_10_00__leaf_blocks__tables_extension__006:
- spec_txt_example_position: 203
+ spec_example_position: 203
source_specification: github
04_10_00__leaf_blocks__tables_extension__007:
- spec_txt_example_position: 204
+ spec_example_position: 204
source_specification: github
04_10_00__leaf_blocks__tables_extension__008:
- spec_txt_example_position: 205
+ spec_example_position: 205
source_specification: github
05_01_00__container_blocks__block_quotes__001:
- spec_txt_example_position: 206
+ spec_example_position: 206
source_specification: commonmark
05_01_00__container_blocks__block_quotes__002:
- spec_txt_example_position: 207
+ spec_example_position: 207
source_specification: commonmark
05_01_00__container_blocks__block_quotes__003:
- spec_txt_example_position: 208
+ spec_example_position: 208
source_specification: commonmark
05_01_00__container_blocks__block_quotes__004:
- spec_txt_example_position: 209
+ spec_example_position: 209
source_specification: commonmark
05_01_00__container_blocks__block_quotes__005:
- spec_txt_example_position: 210
+ spec_example_position: 210
source_specification: commonmark
05_01_00__container_blocks__block_quotes__006:
- spec_txt_example_position: 211
+ spec_example_position: 211
source_specification: commonmark
05_01_00__container_blocks__block_quotes__007:
- spec_txt_example_position: 212
+ spec_example_position: 212
source_specification: commonmark
05_01_00__container_blocks__block_quotes__008:
- spec_txt_example_position: 213
+ spec_example_position: 213
source_specification: commonmark
05_01_00__container_blocks__block_quotes__009:
- spec_txt_example_position: 214
+ spec_example_position: 214
source_specification: commonmark
05_01_00__container_blocks__block_quotes__010:
- spec_txt_example_position: 215
+ spec_example_position: 215
source_specification: commonmark
05_01_00__container_blocks__block_quotes__011:
- spec_txt_example_position: 216
+ spec_example_position: 216
source_specification: commonmark
05_01_00__container_blocks__block_quotes__012:
- spec_txt_example_position: 217
+ spec_example_position: 217
source_specification: commonmark
05_01_00__container_blocks__block_quotes__013:
- spec_txt_example_position: 218
+ spec_example_position: 218
source_specification: commonmark
05_01_00__container_blocks__block_quotes__014:
- spec_txt_example_position: 219
+ spec_example_position: 219
source_specification: commonmark
05_01_00__container_blocks__block_quotes__015:
- spec_txt_example_position: 220
+ spec_example_position: 220
source_specification: commonmark
05_01_00__container_blocks__block_quotes__016:
- spec_txt_example_position: 221
+ spec_example_position: 221
source_specification: commonmark
05_01_00__container_blocks__block_quotes__017:
- spec_txt_example_position: 222
+ spec_example_position: 222
source_specification: commonmark
05_01_00__container_blocks__block_quotes__018:
- spec_txt_example_position: 223
+ spec_example_position: 223
source_specification: commonmark
05_01_00__container_blocks__block_quotes__019:
- spec_txt_example_position: 224
+ spec_example_position: 224
source_specification: commonmark
05_01_00__container_blocks__block_quotes__020:
- spec_txt_example_position: 225
+ spec_example_position: 225
source_specification: commonmark
05_01_00__container_blocks__block_quotes__021:
- spec_txt_example_position: 226
+ spec_example_position: 226
source_specification: commonmark
05_01_00__container_blocks__block_quotes__022:
- spec_txt_example_position: 227
+ spec_example_position: 227
source_specification: commonmark
05_01_00__container_blocks__block_quotes__023:
- spec_txt_example_position: 228
+ spec_example_position: 228
source_specification: commonmark
05_01_00__container_blocks__block_quotes__024:
- spec_txt_example_position: 229
+ spec_example_position: 229
source_specification: commonmark
05_01_00__container_blocks__block_quotes__025:
- spec_txt_example_position: 230
+ spec_example_position: 230
source_specification: commonmark
05_02_00__container_blocks__list_items__001:
- spec_txt_example_position: 231
+ spec_example_position: 231
source_specification: commonmark
05_02_00__container_blocks__list_items__002:
- spec_txt_example_position: 232
+ spec_example_position: 232
source_specification: commonmark
05_02_00__container_blocks__list_items__003:
- spec_txt_example_position: 233
+ spec_example_position: 233
source_specification: commonmark
05_02_00__container_blocks__list_items__004:
- spec_txt_example_position: 234
+ spec_example_position: 234
source_specification: commonmark
05_02_00__container_blocks__list_items__005:
- spec_txt_example_position: 235
+ spec_example_position: 235
source_specification: commonmark
05_02_00__container_blocks__list_items__006:
- spec_txt_example_position: 236
+ spec_example_position: 236
source_specification: commonmark
05_02_00__container_blocks__list_items__007:
- spec_txt_example_position: 237
+ spec_example_position: 237
source_specification: commonmark
05_02_00__container_blocks__list_items__008:
- spec_txt_example_position: 238
+ spec_example_position: 238
source_specification: commonmark
05_02_00__container_blocks__list_items__009:
- spec_txt_example_position: 239
+ spec_example_position: 239
source_specification: commonmark
05_02_00__container_blocks__list_items__010:
- spec_txt_example_position: 240
+ spec_example_position: 240
source_specification: commonmark
05_02_00__container_blocks__list_items__011:
- spec_txt_example_position: 241
+ spec_example_position: 241
source_specification: commonmark
05_02_00__container_blocks__list_items__012:
- spec_txt_example_position: 242
+ spec_example_position: 242
source_specification: commonmark
05_02_00__container_blocks__list_items__013:
- spec_txt_example_position: 243
+ spec_example_position: 243
source_specification: commonmark
05_02_00__container_blocks__list_items__014:
- spec_txt_example_position: 244
+ spec_example_position: 244
source_specification: commonmark
05_02_00__container_blocks__list_items__015:
- spec_txt_example_position: 245
+ spec_example_position: 245
source_specification: commonmark
05_02_00__container_blocks__list_items__016:
- spec_txt_example_position: 246
+ spec_example_position: 246
source_specification: commonmark
05_02_00__container_blocks__list_items__017:
- spec_txt_example_position: 247
+ spec_example_position: 247
source_specification: commonmark
05_02_00__container_blocks__list_items__018:
- spec_txt_example_position: 248
+ spec_example_position: 248
source_specification: commonmark
05_02_00__container_blocks__list_items__019:
- spec_txt_example_position: 249
+ spec_example_position: 249
source_specification: commonmark
05_02_00__container_blocks__list_items__020:
- spec_txt_example_position: 250
+ spec_example_position: 250
source_specification: commonmark
05_02_00__container_blocks__list_items__021:
- spec_txt_example_position: 251
+ spec_example_position: 251
source_specification: commonmark
05_02_00__container_blocks__list_items__022:
- spec_txt_example_position: 252
+ spec_example_position: 252
source_specification: commonmark
05_02_00__container_blocks__list_items__023:
- spec_txt_example_position: 253
+ spec_example_position: 253
source_specification: commonmark
05_02_00__container_blocks__list_items__024:
- spec_txt_example_position: 254
+ spec_example_position: 254
source_specification: commonmark
05_02_00__container_blocks__list_items__025:
- spec_txt_example_position: 255
+ spec_example_position: 255
source_specification: commonmark
05_02_00__container_blocks__list_items__026:
- spec_txt_example_position: 256
+ spec_example_position: 256
source_specification: commonmark
05_02_00__container_blocks__list_items__027:
- spec_txt_example_position: 257
+ spec_example_position: 257
source_specification: commonmark
05_02_00__container_blocks__list_items__028:
- spec_txt_example_position: 258
+ spec_example_position: 258
source_specification: commonmark
05_02_00__container_blocks__list_items__029:
- spec_txt_example_position: 259
+ spec_example_position: 259
source_specification: commonmark
05_02_00__container_blocks__list_items__030:
- spec_txt_example_position: 260
+ spec_example_position: 260
source_specification: commonmark
05_02_00__container_blocks__list_items__031:
- spec_txt_example_position: 261
+ spec_example_position: 261
source_specification: commonmark
05_02_00__container_blocks__list_items__032:
- spec_txt_example_position: 262
+ spec_example_position: 262
source_specification: commonmark
05_02_00__container_blocks__list_items__033:
- spec_txt_example_position: 263
+ spec_example_position: 263
source_specification: commonmark
05_02_00__container_blocks__list_items__034:
- spec_txt_example_position: 264
+ spec_example_position: 264
source_specification: commonmark
05_02_00__container_blocks__list_items__035:
- spec_txt_example_position: 265
+ spec_example_position: 265
source_specification: commonmark
05_02_00__container_blocks__list_items__036:
- spec_txt_example_position: 266
+ spec_example_position: 266
source_specification: commonmark
05_02_00__container_blocks__list_items__037:
- spec_txt_example_position: 267
+ spec_example_position: 267
source_specification: commonmark
05_02_00__container_blocks__list_items__038:
- spec_txt_example_position: 268
+ spec_example_position: 268
source_specification: commonmark
05_02_00__container_blocks__list_items__039:
- spec_txt_example_position: 269
+ spec_example_position: 269
source_specification: commonmark
05_02_00__container_blocks__list_items__040:
- spec_txt_example_position: 270
+ spec_example_position: 270
source_specification: commonmark
05_02_00__container_blocks__list_items__041:
- spec_txt_example_position: 271
+ spec_example_position: 271
source_specification: commonmark
05_02_00__container_blocks__list_items__042:
- spec_txt_example_position: 272
+ spec_example_position: 272
source_specification: commonmark
05_02_00__container_blocks__list_items__043:
- spec_txt_example_position: 273
+ spec_example_position: 273
source_specification: commonmark
05_02_00__container_blocks__list_items__044:
- spec_txt_example_position: 274
+ spec_example_position: 274
source_specification: commonmark
05_02_00__container_blocks__list_items__045:
- spec_txt_example_position: 275
+ spec_example_position: 275
source_specification: commonmark
05_02_00__container_blocks__list_items__046:
- spec_txt_example_position: 276
+ spec_example_position: 276
source_specification: commonmark
05_02_00__container_blocks__list_items__047:
- spec_txt_example_position: 277
+ spec_example_position: 277
source_specification: commonmark
05_02_00__container_blocks__list_items__048:
- spec_txt_example_position: 278
+ spec_example_position: 278
source_specification: commonmark
05_04_00__container_blocks__lists__001:
- spec_txt_example_position: 281
+ spec_example_position: 281
source_specification: commonmark
05_04_00__container_blocks__lists__002:
- spec_txt_example_position: 282
+ spec_example_position: 282
source_specification: commonmark
05_04_00__container_blocks__lists__003:
- spec_txt_example_position: 283
+ spec_example_position: 283
source_specification: commonmark
05_04_00__container_blocks__lists__004:
- spec_txt_example_position: 284
+ spec_example_position: 284
source_specification: commonmark
05_04_00__container_blocks__lists__005:
- spec_txt_example_position: 285
+ spec_example_position: 285
source_specification: commonmark
05_04_00__container_blocks__lists__006:
- spec_txt_example_position: 286
+ spec_example_position: 286
source_specification: commonmark
05_04_00__container_blocks__lists__007:
- spec_txt_example_position: 287
+ spec_example_position: 287
source_specification: commonmark
05_04_00__container_blocks__lists__008:
- spec_txt_example_position: 288
+ spec_example_position: 288
source_specification: commonmark
05_04_00__container_blocks__lists__009:
- spec_txt_example_position: 289
+ spec_example_position: 289
source_specification: commonmark
05_04_00__container_blocks__lists__010:
- spec_txt_example_position: 290
+ spec_example_position: 290
source_specification: commonmark
05_04_00__container_blocks__lists__011:
- spec_txt_example_position: 291
+ spec_example_position: 291
source_specification: commonmark
05_04_00__container_blocks__lists__012:
- spec_txt_example_position: 292
+ spec_example_position: 292
source_specification: commonmark
05_04_00__container_blocks__lists__013:
- spec_txt_example_position: 293
+ spec_example_position: 293
source_specification: commonmark
05_04_00__container_blocks__lists__014:
- spec_txt_example_position: 294
+ spec_example_position: 294
source_specification: commonmark
05_04_00__container_blocks__lists__015:
- spec_txt_example_position: 295
+ spec_example_position: 295
source_specification: commonmark
05_04_00__container_blocks__lists__016:
- spec_txt_example_position: 296
+ spec_example_position: 296
source_specification: commonmark
05_04_00__container_blocks__lists__017:
- spec_txt_example_position: 297
+ spec_example_position: 297
source_specification: commonmark
05_04_00__container_blocks__lists__018:
- spec_txt_example_position: 298
+ spec_example_position: 298
source_specification: commonmark
05_04_00__container_blocks__lists__019:
- spec_txt_example_position: 299
+ spec_example_position: 299
source_specification: commonmark
05_04_00__container_blocks__lists__020:
- spec_txt_example_position: 300
+ spec_example_position: 300
source_specification: commonmark
05_04_00__container_blocks__lists__021:
- spec_txt_example_position: 301
+ spec_example_position: 301
source_specification: commonmark
05_04_00__container_blocks__lists__022:
- spec_txt_example_position: 302
+ spec_example_position: 302
source_specification: commonmark
05_04_00__container_blocks__lists__023:
- spec_txt_example_position: 303
+ spec_example_position: 303
source_specification: commonmark
05_04_00__container_blocks__lists__024:
- spec_txt_example_position: 304
+ spec_example_position: 304
source_specification: commonmark
05_04_00__container_blocks__lists__025:
- spec_txt_example_position: 305
+ spec_example_position: 305
source_specification: commonmark
05_04_00__container_blocks__lists__026:
- spec_txt_example_position: 306
+ spec_example_position: 306
source_specification: commonmark
06_01_00__inlines__001:
- spec_txt_example_position: 307
+ spec_example_position: 307
source_specification: commonmark
06_02_00__inlines__backslash_escapes__001:
- spec_txt_example_position: 308
+ spec_example_position: 308
source_specification: commonmark
06_02_00__inlines__backslash_escapes__002:
- spec_txt_example_position: 309
+ spec_example_position: 309
source_specification: commonmark
06_02_00__inlines__backslash_escapes__003:
- spec_txt_example_position: 310
+ spec_example_position: 310
source_specification: commonmark
06_02_00__inlines__backslash_escapes__004:
- spec_txt_example_position: 311
+ spec_example_position: 311
source_specification: commonmark
06_02_00__inlines__backslash_escapes__005:
- spec_txt_example_position: 312
+ spec_example_position: 312
source_specification: commonmark
06_02_00__inlines__backslash_escapes__006:
- spec_txt_example_position: 313
+ spec_example_position: 313
source_specification: commonmark
06_02_00__inlines__backslash_escapes__007:
- spec_txt_example_position: 314
+ spec_example_position: 314
source_specification: commonmark
06_02_00__inlines__backslash_escapes__008:
- spec_txt_example_position: 315
+ spec_example_position: 315
source_specification: commonmark
06_02_00__inlines__backslash_escapes__009:
- spec_txt_example_position: 316
+ spec_example_position: 316
source_specification: commonmark
06_02_00__inlines__backslash_escapes__010:
- spec_txt_example_position: 317
+ spec_example_position: 317
source_specification: commonmark
06_02_00__inlines__backslash_escapes__011:
- spec_txt_example_position: 318
+ spec_example_position: 318
source_specification: commonmark
06_02_00__inlines__backslash_escapes__012:
- spec_txt_example_position: 319
+ spec_example_position: 319
source_specification: commonmark
06_02_00__inlines__backslash_escapes__013:
- spec_txt_example_position: 320
+ spec_example_position: 320
source_specification: commonmark
06_03_00__inlines__entity_and_numeric_character_references__001:
- spec_txt_example_position: 321
+ spec_example_position: 321
source_specification: commonmark
06_03_00__inlines__entity_and_numeric_character_references__002:
- spec_txt_example_position: 322
+ spec_example_position: 322
source_specification: commonmark
06_03_00__inlines__entity_and_numeric_character_references__003:
- spec_txt_example_position: 323
+ spec_example_position: 323
source_specification: commonmark
06_03_00__inlines__entity_and_numeric_character_references__004:
- spec_txt_example_position: 324
+ spec_example_position: 324
source_specification: commonmark
06_03_00__inlines__entity_and_numeric_character_references__005:
- spec_txt_example_position: 325
+ spec_example_position: 325
source_specification: commonmark
06_03_00__inlines__entity_and_numeric_character_references__006:
- spec_txt_example_position: 326
+ spec_example_position: 326
source_specification: commonmark
06_03_00__inlines__entity_and_numeric_character_references__007:
- spec_txt_example_position: 327
+ spec_example_position: 327
source_specification: commonmark
06_03_00__inlines__entity_and_numeric_character_references__008:
- spec_txt_example_position: 328
+ spec_example_position: 328
source_specification: commonmark
06_03_00__inlines__entity_and_numeric_character_references__009:
- spec_txt_example_position: 329
+ spec_example_position: 329
source_specification: commonmark
06_03_00__inlines__entity_and_numeric_character_references__010:
- spec_txt_example_position: 330
+ spec_example_position: 330
source_specification: commonmark
06_03_00__inlines__entity_and_numeric_character_references__011:
- spec_txt_example_position: 331
+ spec_example_position: 331
source_specification: commonmark
06_03_00__inlines__entity_and_numeric_character_references__012:
- spec_txt_example_position: 332
+ spec_example_position: 332
source_specification: commonmark
06_03_00__inlines__entity_and_numeric_character_references__013:
- spec_txt_example_position: 333
+ spec_example_position: 333
source_specification: commonmark
06_03_00__inlines__entity_and_numeric_character_references__014:
- spec_txt_example_position: 334
+ spec_example_position: 334
source_specification: commonmark
06_03_00__inlines__entity_and_numeric_character_references__015:
- spec_txt_example_position: 335
+ spec_example_position: 335
source_specification: commonmark
06_03_00__inlines__entity_and_numeric_character_references__016:
- spec_txt_example_position: 336
+ spec_example_position: 336
source_specification: commonmark
06_03_00__inlines__entity_and_numeric_character_references__017:
- spec_txt_example_position: 337
+ spec_example_position: 337
source_specification: commonmark
06_04_00__inlines__code_spans__001:
- spec_txt_example_position: 338
+ spec_example_position: 338
source_specification: commonmark
06_04_00__inlines__code_spans__002:
- spec_txt_example_position: 339
+ spec_example_position: 339
source_specification: commonmark
06_04_00__inlines__code_spans__003:
- spec_txt_example_position: 340
+ spec_example_position: 340
source_specification: commonmark
06_04_00__inlines__code_spans__004:
- spec_txt_example_position: 341
+ spec_example_position: 341
source_specification: commonmark
06_04_00__inlines__code_spans__005:
- spec_txt_example_position: 342
+ spec_example_position: 342
source_specification: commonmark
06_04_00__inlines__code_spans__006:
- spec_txt_example_position: 343
+ spec_example_position: 343
source_specification: commonmark
06_04_00__inlines__code_spans__007:
- spec_txt_example_position: 344
+ spec_example_position: 344
source_specification: commonmark
06_04_00__inlines__code_spans__008:
- spec_txt_example_position: 345
+ spec_example_position: 345
source_specification: commonmark
06_04_00__inlines__code_spans__009:
- spec_txt_example_position: 346
+ spec_example_position: 346
source_specification: commonmark
06_04_00__inlines__code_spans__010:
- spec_txt_example_position: 347
+ spec_example_position: 347
source_specification: commonmark
06_04_00__inlines__code_spans__011:
- spec_txt_example_position: 348
+ spec_example_position: 348
source_specification: commonmark
06_04_00__inlines__code_spans__012:
- spec_txt_example_position: 349
+ spec_example_position: 349
source_specification: commonmark
06_04_00__inlines__code_spans__013:
- spec_txt_example_position: 350
+ spec_example_position: 350
source_specification: commonmark
06_04_00__inlines__code_spans__014:
- spec_txt_example_position: 351
+ spec_example_position: 351
source_specification: commonmark
06_04_00__inlines__code_spans__015:
- spec_txt_example_position: 352
+ spec_example_position: 352
source_specification: commonmark
06_04_00__inlines__code_spans__016:
- spec_txt_example_position: 353
+ spec_example_position: 353
source_specification: commonmark
06_04_00__inlines__code_spans__017:
- spec_txt_example_position: 354
+ spec_example_position: 354
source_specification: commonmark
06_04_00__inlines__code_spans__018:
- spec_txt_example_position: 355
+ spec_example_position: 355
source_specification: commonmark
06_04_00__inlines__code_spans__019:
- spec_txt_example_position: 356
+ spec_example_position: 356
source_specification: commonmark
06_04_00__inlines__code_spans__020:
- spec_txt_example_position: 357
+ spec_example_position: 357
source_specification: commonmark
06_04_00__inlines__code_spans__021:
- spec_txt_example_position: 358
+ spec_example_position: 358
source_specification: commonmark
06_04_00__inlines__code_spans__022:
- spec_txt_example_position: 359
+ spec_example_position: 359
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__001:
- spec_txt_example_position: 360
+ spec_example_position: 360
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__002:
- spec_txt_example_position: 361
+ spec_example_position: 361
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__003:
- spec_txt_example_position: 362
+ spec_example_position: 362
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__004:
- spec_txt_example_position: 363
+ spec_example_position: 363
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__005:
- spec_txt_example_position: 364
+ spec_example_position: 364
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__006:
- spec_txt_example_position: 365
+ spec_example_position: 365
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__007:
- spec_txt_example_position: 366
+ spec_example_position: 366
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__008:
- spec_txt_example_position: 367
+ spec_example_position: 367
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__009:
- spec_txt_example_position: 368
+ spec_example_position: 368
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__010:
- spec_txt_example_position: 369
+ spec_example_position: 369
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__011:
- spec_txt_example_position: 370
+ spec_example_position: 370
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__012:
- spec_txt_example_position: 371
+ spec_example_position: 371
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__013:
- spec_txt_example_position: 372
+ spec_example_position: 372
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__014:
- spec_txt_example_position: 373
+ spec_example_position: 373
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__015:
- spec_txt_example_position: 374
+ spec_example_position: 374
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__016:
- spec_txt_example_position: 375
+ spec_example_position: 375
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__017:
- spec_txt_example_position: 376
+ spec_example_position: 376
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__018:
- spec_txt_example_position: 377
+ spec_example_position: 377
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__019:
- spec_txt_example_position: 378
+ spec_example_position: 378
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__020:
- spec_txt_example_position: 379
+ spec_example_position: 379
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__021:
- spec_txt_example_position: 380
+ spec_example_position: 380
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__022:
- spec_txt_example_position: 381
+ spec_example_position: 381
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__023:
- spec_txt_example_position: 382
+ spec_example_position: 382
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__024:
- spec_txt_example_position: 383
+ spec_example_position: 383
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__025:
- spec_txt_example_position: 384
+ spec_example_position: 384
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__026:
- spec_txt_example_position: 385
+ spec_example_position: 385
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__027:
- spec_txt_example_position: 386
+ spec_example_position: 386
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__028:
- spec_txt_example_position: 387
+ spec_example_position: 387
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__029:
- spec_txt_example_position: 388
+ spec_example_position: 388
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__030:
- spec_txt_example_position: 389
+ spec_example_position: 389
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__031:
- spec_txt_example_position: 390
+ spec_example_position: 390
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__032:
- spec_txt_example_position: 391
+ spec_example_position: 391
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__033:
- spec_txt_example_position: 392
+ spec_example_position: 392
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__034:
- spec_txt_example_position: 393
+ spec_example_position: 393
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__035:
- spec_txt_example_position: 394
+ spec_example_position: 394
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__036:
- spec_txt_example_position: 395
+ spec_example_position: 395
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__037:
- spec_txt_example_position: 396
+ spec_example_position: 396
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__038:
- spec_txt_example_position: 397
+ spec_example_position: 397
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__039:
- spec_txt_example_position: 398
+ spec_example_position: 398
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__040:
- spec_txt_example_position: 399
+ spec_example_position: 399
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__041:
- spec_txt_example_position: 400
+ spec_example_position: 400
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__042:
- spec_txt_example_position: 401
+ spec_example_position: 401
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__043:
- spec_txt_example_position: 402
+ spec_example_position: 402
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__044:
- spec_txt_example_position: 403
+ spec_example_position: 403
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__045:
- spec_txt_example_position: 404
+ spec_example_position: 404
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__046:
- spec_txt_example_position: 405
+ spec_example_position: 405
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__047:
- spec_txt_example_position: 406
+ spec_example_position: 406
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__048:
- spec_txt_example_position: 407
+ spec_example_position: 407
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__049:
- spec_txt_example_position: 408
+ spec_example_position: 408
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__050:
- spec_txt_example_position: 409
+ spec_example_position: 409
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__051:
- spec_txt_example_position: 410
+ spec_example_position: 410
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__052:
- spec_txt_example_position: 411
+ spec_example_position: 411
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__053:
- spec_txt_example_position: 412
+ spec_example_position: 412
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__054:
- spec_txt_example_position: 413
+ spec_example_position: 413
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__055:
- spec_txt_example_position: 414
+ spec_example_position: 414
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__056:
- spec_txt_example_position: 415
+ spec_example_position: 415
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__057:
- spec_txt_example_position: 416
+ spec_example_position: 416
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__058:
- spec_txt_example_position: 417
+ spec_example_position: 417
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__059:
- spec_txt_example_position: 418
+ spec_example_position: 418
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__060:
- spec_txt_example_position: 419
+ spec_example_position: 419
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__061:
- spec_txt_example_position: 420
+ spec_example_position: 420
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__062:
- spec_txt_example_position: 421
+ spec_example_position: 421
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__063:
- spec_txt_example_position: 422
+ spec_example_position: 422
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__064:
- spec_txt_example_position: 423
+ spec_example_position: 423
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__065:
- spec_txt_example_position: 424
+ spec_example_position: 424
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__066:
- spec_txt_example_position: 425
+ spec_example_position: 425
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__067:
- spec_txt_example_position: 426
+ spec_example_position: 426
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__068:
- spec_txt_example_position: 427
+ spec_example_position: 427
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__069:
- spec_txt_example_position: 428
+ spec_example_position: 428
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__070:
- spec_txt_example_position: 429
+ spec_example_position: 429
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__071:
- spec_txt_example_position: 430
+ spec_example_position: 430
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__072:
- spec_txt_example_position: 431
+ spec_example_position: 431
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__073:
- spec_txt_example_position: 432
+ spec_example_position: 432
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__074:
- spec_txt_example_position: 433
+ spec_example_position: 433
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__075:
- spec_txt_example_position: 434
+ spec_example_position: 434
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__076:
- spec_txt_example_position: 435
+ spec_example_position: 435
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__077:
- spec_txt_example_position: 436
+ spec_example_position: 436
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__078:
- spec_txt_example_position: 437
+ spec_example_position: 437
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__079:
- spec_txt_example_position: 438
+ spec_example_position: 438
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__080:
- spec_txt_example_position: 439
+ spec_example_position: 439
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__081:
- spec_txt_example_position: 440
+ spec_example_position: 440
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__082:
- spec_txt_example_position: 441
+ spec_example_position: 441
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__083:
- spec_txt_example_position: 442
+ spec_example_position: 442
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__084:
- spec_txt_example_position: 443
+ spec_example_position: 443
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__085:
- spec_txt_example_position: 444
+ spec_example_position: 444
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__086:
- spec_txt_example_position: 445
+ spec_example_position: 445
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__087:
- spec_txt_example_position: 446
+ spec_example_position: 446
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__088:
- spec_txt_example_position: 447
+ spec_example_position: 447
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__089:
- spec_txt_example_position: 448
+ spec_example_position: 448
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__090:
- spec_txt_example_position: 449
+ spec_example_position: 449
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__091:
- spec_txt_example_position: 450
+ spec_example_position: 450
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__092:
- spec_txt_example_position: 451
+ spec_example_position: 451
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__093:
- spec_txt_example_position: 452
+ spec_example_position: 452
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__094:
- spec_txt_example_position: 453
+ spec_example_position: 453
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__095:
- spec_txt_example_position: 454
+ spec_example_position: 454
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__096:
- spec_txt_example_position: 455
+ spec_example_position: 455
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__097:
- spec_txt_example_position: 456
+ spec_example_position: 456
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__098:
- spec_txt_example_position: 457
+ spec_example_position: 457
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__099:
- spec_txt_example_position: 458
+ spec_example_position: 458
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__100:
- spec_txt_example_position: 459
+ spec_example_position: 459
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__101:
- spec_txt_example_position: 460
+ spec_example_position: 460
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__102:
- spec_txt_example_position: 461
+ spec_example_position: 461
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__103:
- spec_txt_example_position: 462
+ spec_example_position: 462
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__104:
- spec_txt_example_position: 463
+ spec_example_position: 463
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__105:
- spec_txt_example_position: 464
+ spec_example_position: 464
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__106:
- spec_txt_example_position: 465
+ spec_example_position: 465
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__107:
- spec_txt_example_position: 466
+ spec_example_position: 466
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__108:
- spec_txt_example_position: 467
+ spec_example_position: 467
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__109:
- spec_txt_example_position: 468
+ spec_example_position: 468
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__110:
- spec_txt_example_position: 469
+ spec_example_position: 469
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__111:
- spec_txt_example_position: 470
+ spec_example_position: 470
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__112:
- spec_txt_example_position: 471
+ spec_example_position: 471
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__113:
- spec_txt_example_position: 472
+ spec_example_position: 472
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__114:
- spec_txt_example_position: 473
+ spec_example_position: 473
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__115:
- spec_txt_example_position: 474
+ spec_example_position: 474
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__116:
- spec_txt_example_position: 475
+ spec_example_position: 475
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__117:
- spec_txt_example_position: 476
+ spec_example_position: 476
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__118:
- spec_txt_example_position: 477
+ spec_example_position: 477
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__119:
- spec_txt_example_position: 478
+ spec_example_position: 478
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__120:
- spec_txt_example_position: 479
+ spec_example_position: 479
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__121:
- spec_txt_example_position: 480
+ spec_example_position: 480
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__122:
- spec_txt_example_position: 481
+ spec_example_position: 481
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__123:
- spec_txt_example_position: 482
+ spec_example_position: 482
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__124:
- spec_txt_example_position: 483
+ spec_example_position: 483
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__125:
- spec_txt_example_position: 484
+ spec_example_position: 484
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__126:
- spec_txt_example_position: 485
+ spec_example_position: 485
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__127:
- spec_txt_example_position: 486
+ spec_example_position: 486
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__128:
- spec_txt_example_position: 487
+ spec_example_position: 487
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__129:
- spec_txt_example_position: 488
+ spec_example_position: 488
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__130:
- spec_txt_example_position: 489
+ spec_example_position: 489
source_specification: commonmark
06_05_00__inlines__emphasis_and_strong_emphasis__131:
- spec_txt_example_position: 490
+ spec_example_position: 490
source_specification: commonmark
06_06_00__inlines__strikethrough_extension__001:
- spec_txt_example_position: 491
+ spec_example_position: 491
source_specification: github
06_06_00__inlines__strikethrough_extension__002:
- spec_txt_example_position: 492
+ spec_example_position: 492
source_specification: github
06_07_00__inlines__links__001:
- spec_txt_example_position: 493
+ spec_example_position: 493
source_specification: commonmark
06_07_00__inlines__links__002:
- spec_txt_example_position: 494
+ spec_example_position: 494
source_specification: commonmark
06_07_00__inlines__links__003:
- spec_txt_example_position: 495
+ spec_example_position: 495
source_specification: commonmark
06_07_00__inlines__links__004:
- spec_txt_example_position: 496
+ spec_example_position: 496
source_specification: commonmark
06_07_00__inlines__links__005:
- spec_txt_example_position: 497
+ spec_example_position: 497
source_specification: commonmark
06_07_00__inlines__links__006:
- spec_txt_example_position: 498
+ spec_example_position: 498
source_specification: commonmark
06_07_00__inlines__links__007:
- spec_txt_example_position: 499
+ spec_example_position: 499
source_specification: commonmark
06_07_00__inlines__links__008:
- spec_txt_example_position: 500
+ spec_example_position: 500
source_specification: commonmark
06_07_00__inlines__links__009:
- spec_txt_example_position: 501
+ spec_example_position: 501
source_specification: commonmark
06_07_00__inlines__links__010:
- spec_txt_example_position: 502
+ spec_example_position: 502
source_specification: commonmark
06_07_00__inlines__links__011:
- spec_txt_example_position: 503
+ spec_example_position: 503
source_specification: commonmark
06_07_00__inlines__links__012:
- spec_txt_example_position: 504
+ spec_example_position: 504
source_specification: commonmark
06_07_00__inlines__links__013:
- spec_txt_example_position: 505
+ spec_example_position: 505
source_specification: commonmark
06_07_00__inlines__links__014:
- spec_txt_example_position: 506
+ spec_example_position: 506
source_specification: commonmark
06_07_00__inlines__links__015:
- spec_txt_example_position: 507
+ spec_example_position: 507
source_specification: commonmark
06_07_00__inlines__links__016:
- spec_txt_example_position: 508
+ spec_example_position: 508
source_specification: commonmark
06_07_00__inlines__links__017:
- spec_txt_example_position: 509
+ spec_example_position: 509
source_specification: commonmark
06_07_00__inlines__links__018:
- spec_txt_example_position: 510
+ spec_example_position: 510
source_specification: commonmark
06_07_00__inlines__links__019:
- spec_txt_example_position: 511
+ spec_example_position: 511
source_specification: commonmark
06_07_00__inlines__links__020:
- spec_txt_example_position: 512
+ spec_example_position: 512
source_specification: commonmark
06_07_00__inlines__links__021:
- spec_txt_example_position: 513
+ spec_example_position: 513
source_specification: commonmark
06_07_00__inlines__links__022:
- spec_txt_example_position: 514
+ spec_example_position: 514
source_specification: commonmark
06_07_00__inlines__links__023:
- spec_txt_example_position: 515
+ spec_example_position: 515
source_specification: commonmark
06_07_00__inlines__links__024:
- spec_txt_example_position: 516
+ spec_example_position: 516
source_specification: commonmark
06_07_00__inlines__links__025:
- spec_txt_example_position: 517
+ spec_example_position: 517
source_specification: commonmark
06_07_00__inlines__links__026:
- spec_txt_example_position: 518
+ spec_example_position: 518
source_specification: commonmark
06_07_00__inlines__links__027:
- spec_txt_example_position: 519
+ spec_example_position: 519
source_specification: commonmark
06_07_00__inlines__links__028:
- spec_txt_example_position: 520
+ spec_example_position: 520
source_specification: commonmark
06_07_00__inlines__links__029:
- spec_txt_example_position: 521
+ spec_example_position: 521
source_specification: commonmark
06_07_00__inlines__links__030:
- spec_txt_example_position: 522
+ spec_example_position: 522
source_specification: commonmark
06_07_00__inlines__links__031:
- spec_txt_example_position: 523
+ spec_example_position: 523
source_specification: commonmark
06_07_00__inlines__links__032:
- spec_txt_example_position: 524
+ spec_example_position: 524
source_specification: commonmark
06_07_00__inlines__links__033:
- spec_txt_example_position: 525
+ spec_example_position: 525
source_specification: commonmark
06_07_00__inlines__links__034:
- spec_txt_example_position: 526
+ spec_example_position: 526
source_specification: commonmark
06_07_00__inlines__links__035:
- spec_txt_example_position: 527
+ spec_example_position: 527
source_specification: commonmark
06_07_00__inlines__links__036:
- spec_txt_example_position: 528
+ spec_example_position: 528
source_specification: commonmark
06_07_00__inlines__links__037:
- spec_txt_example_position: 529
+ spec_example_position: 529
source_specification: commonmark
06_07_00__inlines__links__038:
- spec_txt_example_position: 530
+ spec_example_position: 530
source_specification: commonmark
06_07_00__inlines__links__039:
- spec_txt_example_position: 531
+ spec_example_position: 531
source_specification: commonmark
06_07_00__inlines__links__040:
- spec_txt_example_position: 532
+ spec_example_position: 532
source_specification: commonmark
06_07_00__inlines__links__041:
- spec_txt_example_position: 533
+ spec_example_position: 533
source_specification: commonmark
06_07_00__inlines__links__042:
- spec_txt_example_position: 534
+ spec_example_position: 534
source_specification: commonmark
06_07_00__inlines__links__043:
- spec_txt_example_position: 535
+ spec_example_position: 535
source_specification: commonmark
06_07_00__inlines__links__044:
- spec_txt_example_position: 536
+ spec_example_position: 536
source_specification: commonmark
06_07_00__inlines__links__045:
- spec_txt_example_position: 537
+ spec_example_position: 537
source_specification: commonmark
06_07_00__inlines__links__046:
- spec_txt_example_position: 538
+ spec_example_position: 538
source_specification: commonmark
06_07_00__inlines__links__047:
- spec_txt_example_position: 539
+ spec_example_position: 539
source_specification: commonmark
06_07_00__inlines__links__048:
- spec_txt_example_position: 540
+ spec_example_position: 540
source_specification: commonmark
06_07_00__inlines__links__049:
- spec_txt_example_position: 541
+ spec_example_position: 541
source_specification: commonmark
06_07_00__inlines__links__050:
- spec_txt_example_position: 542
+ spec_example_position: 542
source_specification: commonmark
06_07_00__inlines__links__051:
- spec_txt_example_position: 543
+ spec_example_position: 543
source_specification: commonmark
06_07_00__inlines__links__052:
- spec_txt_example_position: 544
+ spec_example_position: 544
source_specification: commonmark
06_07_00__inlines__links__053:
- spec_txt_example_position: 545
+ spec_example_position: 545
source_specification: commonmark
06_07_00__inlines__links__054:
- spec_txt_example_position: 546
+ spec_example_position: 546
source_specification: commonmark
06_07_00__inlines__links__055:
- spec_txt_example_position: 547
+ spec_example_position: 547
source_specification: commonmark
06_07_00__inlines__links__056:
- spec_txt_example_position: 548
+ spec_example_position: 548
source_specification: commonmark
06_07_00__inlines__links__057:
- spec_txt_example_position: 549
+ spec_example_position: 549
source_specification: commonmark
06_07_00__inlines__links__058:
- spec_txt_example_position: 550
+ spec_example_position: 550
source_specification: commonmark
06_07_00__inlines__links__059:
- spec_txt_example_position: 551
+ spec_example_position: 551
source_specification: commonmark
06_07_00__inlines__links__060:
- spec_txt_example_position: 552
+ spec_example_position: 552
source_specification: commonmark
06_07_00__inlines__links__061:
- spec_txt_example_position: 553
+ spec_example_position: 553
source_specification: commonmark
06_07_00__inlines__links__062:
- spec_txt_example_position: 554
+ spec_example_position: 554
source_specification: commonmark
06_07_00__inlines__links__063:
- spec_txt_example_position: 555
+ spec_example_position: 555
source_specification: commonmark
06_07_00__inlines__links__064:
- spec_txt_example_position: 556
+ spec_example_position: 556
source_specification: commonmark
06_07_00__inlines__links__065:
- spec_txt_example_position: 557
+ spec_example_position: 557
source_specification: commonmark
06_07_00__inlines__links__066:
- spec_txt_example_position: 558
+ spec_example_position: 558
source_specification: commonmark
06_07_00__inlines__links__067:
- spec_txt_example_position: 559
+ spec_example_position: 559
source_specification: commonmark
06_07_00__inlines__links__068:
- spec_txt_example_position: 560
+ spec_example_position: 560
source_specification: commonmark
06_07_00__inlines__links__069:
- spec_txt_example_position: 561
+ spec_example_position: 561
source_specification: commonmark
06_07_00__inlines__links__070:
- spec_txt_example_position: 562
+ spec_example_position: 562
source_specification: commonmark
06_07_00__inlines__links__071:
- spec_txt_example_position: 563
+ spec_example_position: 563
source_specification: commonmark
06_07_00__inlines__links__072:
- spec_txt_example_position: 564
+ spec_example_position: 564
source_specification: commonmark
06_07_00__inlines__links__073:
- spec_txt_example_position: 565
+ spec_example_position: 565
source_specification: commonmark
06_07_00__inlines__links__074:
- spec_txt_example_position: 566
+ spec_example_position: 566
source_specification: commonmark
06_07_00__inlines__links__075:
- spec_txt_example_position: 567
+ spec_example_position: 567
source_specification: commonmark
06_07_00__inlines__links__076:
- spec_txt_example_position: 568
+ spec_example_position: 568
source_specification: commonmark
06_07_00__inlines__links__077:
- spec_txt_example_position: 569
+ spec_example_position: 569
source_specification: commonmark
06_07_00__inlines__links__078:
- spec_txt_example_position: 570
+ spec_example_position: 570
source_specification: commonmark
06_07_00__inlines__links__079:
- spec_txt_example_position: 571
+ spec_example_position: 571
source_specification: commonmark
06_07_00__inlines__links__080:
- spec_txt_example_position: 572
+ spec_example_position: 572
source_specification: commonmark
06_07_00__inlines__links__081:
- spec_txt_example_position: 573
+ spec_example_position: 573
source_specification: commonmark
06_07_00__inlines__links__082:
- spec_txt_example_position: 574
+ spec_example_position: 574
source_specification: commonmark
06_07_00__inlines__links__083:
- spec_txt_example_position: 575
+ spec_example_position: 575
source_specification: commonmark
06_07_00__inlines__links__084:
- spec_txt_example_position: 576
+ spec_example_position: 576
source_specification: commonmark
06_07_00__inlines__links__085:
- spec_txt_example_position: 577
+ spec_example_position: 577
source_specification: commonmark
06_07_00__inlines__links__086:
- spec_txt_example_position: 578
+ spec_example_position: 578
source_specification: commonmark
06_07_00__inlines__links__087:
- spec_txt_example_position: 579
+ spec_example_position: 579
source_specification: commonmark
06_08_00__inlines__images__001:
- spec_txt_example_position: 580
+ spec_example_position: 580
source_specification: commonmark
06_08_00__inlines__images__002:
- spec_txt_example_position: 581
+ spec_example_position: 581
source_specification: commonmark
06_08_00__inlines__images__003:
- spec_txt_example_position: 582
+ spec_example_position: 582
source_specification: commonmark
06_08_00__inlines__images__004:
- spec_txt_example_position: 583
+ spec_example_position: 583
source_specification: commonmark
06_08_00__inlines__images__005:
- spec_txt_example_position: 584
+ spec_example_position: 584
source_specification: commonmark
06_08_00__inlines__images__006:
- spec_txt_example_position: 585
+ spec_example_position: 585
source_specification: commonmark
06_08_00__inlines__images__007:
- spec_txt_example_position: 586
+ spec_example_position: 586
source_specification: commonmark
06_08_00__inlines__images__008:
- spec_txt_example_position: 587
+ spec_example_position: 587
source_specification: commonmark
06_08_00__inlines__images__009:
- spec_txt_example_position: 588
+ spec_example_position: 588
source_specification: commonmark
06_08_00__inlines__images__010:
- spec_txt_example_position: 589
+ spec_example_position: 589
source_specification: commonmark
06_08_00__inlines__images__011:
- spec_txt_example_position: 590
+ spec_example_position: 590
source_specification: commonmark
06_08_00__inlines__images__012:
- spec_txt_example_position: 591
+ spec_example_position: 591
source_specification: commonmark
06_08_00__inlines__images__013:
- spec_txt_example_position: 592
+ spec_example_position: 592
source_specification: commonmark
06_08_00__inlines__images__014:
- spec_txt_example_position: 593
+ spec_example_position: 593
source_specification: commonmark
06_08_00__inlines__images__015:
- spec_txt_example_position: 594
+ spec_example_position: 594
source_specification: commonmark
06_08_00__inlines__images__016:
- spec_txt_example_position: 595
+ spec_example_position: 595
source_specification: commonmark
06_08_00__inlines__images__017:
- spec_txt_example_position: 596
+ spec_example_position: 596
source_specification: commonmark
06_08_00__inlines__images__018:
- spec_txt_example_position: 597
+ spec_example_position: 597
source_specification: commonmark
06_08_00__inlines__images__019:
- spec_txt_example_position: 598
+ spec_example_position: 598
source_specification: commonmark
06_08_00__inlines__images__020:
- spec_txt_example_position: 599
+ spec_example_position: 599
source_specification: commonmark
06_08_00__inlines__images__021:
- spec_txt_example_position: 600
+ spec_example_position: 600
source_specification: commonmark
06_08_00__inlines__images__022:
- spec_txt_example_position: 601
+ spec_example_position: 601
source_specification: commonmark
06_09_00__inlines__autolinks__001:
- spec_txt_example_position: 602
+ spec_example_position: 602
source_specification: commonmark
06_09_00__inlines__autolinks__002:
- spec_txt_example_position: 603
+ spec_example_position: 603
source_specification: commonmark
06_09_00__inlines__autolinks__003:
- spec_txt_example_position: 604
+ spec_example_position: 604
source_specification: commonmark
06_09_00__inlines__autolinks__004:
- spec_txt_example_position: 605
+ spec_example_position: 605
source_specification: commonmark
06_09_00__inlines__autolinks__005:
- spec_txt_example_position: 606
+ spec_example_position: 606
source_specification: commonmark
06_09_00__inlines__autolinks__006:
- spec_txt_example_position: 607
+ spec_example_position: 607
source_specification: commonmark
06_09_00__inlines__autolinks__007:
- spec_txt_example_position: 608
+ spec_example_position: 608
source_specification: commonmark
06_09_00__inlines__autolinks__008:
- spec_txt_example_position: 609
+ spec_example_position: 609
source_specification: commonmark
06_09_00__inlines__autolinks__009:
- spec_txt_example_position: 610
+ spec_example_position: 610
source_specification: commonmark
06_09_00__inlines__autolinks__010:
- spec_txt_example_position: 611
+ spec_example_position: 611
source_specification: commonmark
06_09_00__inlines__autolinks__011:
- spec_txt_example_position: 612
+ spec_example_position: 612
source_specification: commonmark
06_09_00__inlines__autolinks__012:
- spec_txt_example_position: 613
+ spec_example_position: 613
source_specification: commonmark
06_09_00__inlines__autolinks__013:
- spec_txt_example_position: 614
+ spec_example_position: 614
source_specification: commonmark
06_09_00__inlines__autolinks__014:
- spec_txt_example_position: 615
+ spec_example_position: 615
source_specification: commonmark
06_09_00__inlines__autolinks__015:
- spec_txt_example_position: 616
+ spec_example_position: 616
source_specification: commonmark
06_09_00__inlines__autolinks__016:
- spec_txt_example_position: 617
+ spec_example_position: 617
source_specification: commonmark
06_09_00__inlines__autolinks__017:
- spec_txt_example_position: 618
+ spec_example_position: 618
source_specification: commonmark
06_09_00__inlines__autolinks__018:
- spec_txt_example_position: 619
+ spec_example_position: 619
source_specification: commonmark
06_09_00__inlines__autolinks__019:
- spec_txt_example_position: 620
+ spec_example_position: 620
source_specification: commonmark
06_10_00__inlines__autolinks_extension__001:
- spec_txt_example_position: 621
+ spec_example_position: 621
source_specification: github
06_10_00__inlines__autolinks_extension__002:
- spec_txt_example_position: 622
+ spec_example_position: 622
source_specification: github
06_10_00__inlines__autolinks_extension__003:
- spec_txt_example_position: 623
+ spec_example_position: 623
source_specification: github
06_10_00__inlines__autolinks_extension__004:
- spec_txt_example_position: 624
+ spec_example_position: 624
source_specification: github
06_10_00__inlines__autolinks_extension__005:
- spec_txt_example_position: 625
+ spec_example_position: 625
source_specification: github
06_10_00__inlines__autolinks_extension__006:
- spec_txt_example_position: 626
+ spec_example_position: 626
source_specification: github
06_10_00__inlines__autolinks_extension__007:
- spec_txt_example_position: 627
+ spec_example_position: 627
source_specification: github
06_10_00__inlines__autolinks_extension__008:
- spec_txt_example_position: 628
+ spec_example_position: 628
source_specification: github
06_10_00__inlines__autolinks_extension__009:
- spec_txt_example_position: 629
+ spec_example_position: 629
source_specification: github
06_10_00__inlines__autolinks_extension__010:
- spec_txt_example_position: 630
+ spec_example_position: 630
source_specification: github
06_10_00__inlines__autolinks_extension__011:
- spec_txt_example_position: 631
+ spec_example_position: 631
source_specification: github
06_11_00__inlines__raw_html__001:
- spec_txt_example_position: 632
+ spec_example_position: 632
source_specification: commonmark
06_11_00__inlines__raw_html__002:
- spec_txt_example_position: 633
+ spec_example_position: 633
source_specification: commonmark
06_11_00__inlines__raw_html__003:
- spec_txt_example_position: 634
+ spec_example_position: 634
source_specification: commonmark
06_11_00__inlines__raw_html__004:
- spec_txt_example_position: 635
+ spec_example_position: 635
source_specification: commonmark
06_11_00__inlines__raw_html__005:
- spec_txt_example_position: 636
+ spec_example_position: 636
source_specification: commonmark
06_11_00__inlines__raw_html__006:
- spec_txt_example_position: 637
+ spec_example_position: 637
source_specification: commonmark
06_11_00__inlines__raw_html__007:
- spec_txt_example_position: 638
+ spec_example_position: 638
source_specification: commonmark
06_11_00__inlines__raw_html__008:
- spec_txt_example_position: 639
+ spec_example_position: 639
source_specification: commonmark
06_11_00__inlines__raw_html__009:
- spec_txt_example_position: 640
+ spec_example_position: 640
source_specification: commonmark
06_11_00__inlines__raw_html__010:
- spec_txt_example_position: 641
+ spec_example_position: 641
source_specification: commonmark
06_11_00__inlines__raw_html__011:
- spec_txt_example_position: 642
+ spec_example_position: 642
source_specification: commonmark
06_11_00__inlines__raw_html__012:
- spec_txt_example_position: 643
+ spec_example_position: 643
source_specification: commonmark
06_11_00__inlines__raw_html__013:
- spec_txt_example_position: 644
+ spec_example_position: 644
source_specification: commonmark
06_11_00__inlines__raw_html__014:
- spec_txt_example_position: 645
+ spec_example_position: 645
source_specification: commonmark
06_11_00__inlines__raw_html__015:
- spec_txt_example_position: 646
+ spec_example_position: 646
source_specification: commonmark
06_11_00__inlines__raw_html__016:
- spec_txt_example_position: 647
+ spec_example_position: 647
source_specification: commonmark
06_11_00__inlines__raw_html__017:
- spec_txt_example_position: 648
+ spec_example_position: 648
source_specification: commonmark
06_11_00__inlines__raw_html__018:
- spec_txt_example_position: 649
+ spec_example_position: 649
source_specification: commonmark
06_11_00__inlines__raw_html__019:
- spec_txt_example_position: 650
+ spec_example_position: 650
source_specification: commonmark
06_11_00__inlines__raw_html__020:
- spec_txt_example_position: 651
+ spec_example_position: 651
source_specification: commonmark
06_11_00__inlines__raw_html__021:
- spec_txt_example_position: 652
+ spec_example_position: 652
source_specification: commonmark
06_12_00__inlines__disallowed_raw_html_extension__001:
- spec_txt_example_position: 653
+ spec_example_position: 653
source_specification: github
06_13_00__inlines__hard_line_breaks__001:
- spec_txt_example_position: 654
+ spec_example_position: 654
source_specification: commonmark
06_13_00__inlines__hard_line_breaks__002:
- spec_txt_example_position: 655
+ spec_example_position: 655
source_specification: commonmark
06_13_00__inlines__hard_line_breaks__003:
- spec_txt_example_position: 656
+ spec_example_position: 656
source_specification: commonmark
06_13_00__inlines__hard_line_breaks__004:
- spec_txt_example_position: 657
+ spec_example_position: 657
source_specification: commonmark
06_13_00__inlines__hard_line_breaks__005:
- spec_txt_example_position: 658
+ spec_example_position: 658
source_specification: commonmark
06_13_00__inlines__hard_line_breaks__006:
- spec_txt_example_position: 659
+ spec_example_position: 659
source_specification: commonmark
06_13_00__inlines__hard_line_breaks__007:
- spec_txt_example_position: 660
+ spec_example_position: 660
source_specification: commonmark
06_13_00__inlines__hard_line_breaks__008:
- spec_txt_example_position: 661
+ spec_example_position: 661
source_specification: commonmark
06_13_00__inlines__hard_line_breaks__009:
- spec_txt_example_position: 662
+ spec_example_position: 662
source_specification: commonmark
06_13_00__inlines__hard_line_breaks__010:
- spec_txt_example_position: 663
+ spec_example_position: 663
source_specification: commonmark
06_13_00__inlines__hard_line_breaks__011:
- spec_txt_example_position: 664
+ spec_example_position: 664
source_specification: commonmark
06_13_00__inlines__hard_line_breaks__012:
- spec_txt_example_position: 665
+ spec_example_position: 665
source_specification: commonmark
06_13_00__inlines__hard_line_breaks__013:
- spec_txt_example_position: 666
+ spec_example_position: 666
source_specification: commonmark
06_13_00__inlines__hard_line_breaks__014:
- spec_txt_example_position: 667
+ spec_example_position: 667
source_specification: commonmark
06_13_00__inlines__hard_line_breaks__015:
- spec_txt_example_position: 668
+ spec_example_position: 668
source_specification: commonmark
06_14_00__inlines__soft_line_breaks__001:
- spec_txt_example_position: 669
+ spec_example_position: 669
source_specification: commonmark
06_14_00__inlines__soft_line_breaks__002:
- spec_txt_example_position: 670
+ spec_example_position: 670
source_specification: commonmark
06_15_00__inlines__textual_content__001:
- spec_txt_example_position: 671
+ spec_example_position: 671
source_specification: commonmark
06_15_00__inlines__textual_content__002:
- spec_txt_example_position: 672
+ spec_example_position: 672
source_specification: commonmark
06_15_00__inlines__textual_content__003:
- spec_txt_example_position: 673
+ spec_example_position: 673
source_specification: commonmark
07_01_00__gitlab_official_specification_markdown__footnotes__001:
- spec_txt_example_position: 674
+ spec_example_position: 674
source_specification: gitlab
07_02_00__gitlab_official_specification_markdown__task_list_items__001:
- spec_txt_example_position: 675
+ spec_example_position: 675
source_specification: gitlab
07_02_00__gitlab_official_specification_markdown__task_list_items__002:
- spec_txt_example_position: 676
+ spec_example_position: 676
source_specification: gitlab
07_02_00__gitlab_official_specification_markdown__task_list_items__003:
- spec_txt_example_position: 677
+ spec_example_position: 677
source_specification: gitlab
07_02_00__gitlab_official_specification_markdown__task_list_items__004:
- spec_txt_example_position: 678
+ spec_example_position: 678
source_specification: gitlab
07_03_00__gitlab_official_specification_markdown__front_matter__001:
- spec_txt_example_position: 679
+ spec_example_position: 679
source_specification: gitlab
07_03_00__gitlab_official_specification_markdown__front_matter__002:
- spec_txt_example_position: 680
+ spec_example_position: 680
source_specification: gitlab
07_03_00__gitlab_official_specification_markdown__front_matter__003:
- spec_txt_example_position: 681
+ spec_example_position: 681
source_specification: gitlab
07_03_00__gitlab_official_specification_markdown__front_matter__004:
- spec_txt_example_position: 682
+ spec_example_position: 682
source_specification: gitlab
07_03_00__gitlab_official_specification_markdown__front_matter__005:
- spec_txt_example_position: 683
+ spec_example_position: 683
source_specification: gitlab
07_04_00__gitlab_official_specification_markdown__table_of_contents__001:
- spec_txt_example_position: 684
+ spec_example_position: 684
source_specification: gitlab
07_04_00__gitlab_official_specification_markdown__table_of_contents__002:
- spec_txt_example_position: 685
+ spec_example_position: 685
source_specification: gitlab
07_04_00__gitlab_official_specification_markdown__table_of_contents__003:
- spec_txt_example_position: 686
+ spec_example_position: 686
source_specification: gitlab
07_04_00__gitlab_official_specification_markdown__table_of_contents__004:
- spec_txt_example_position: 687
+ spec_example_position: 687
source_specification: gitlab
08_01_00__gitlab_internal_extension_markdown__audio__001:
- spec_txt_example_position: 688
+ spec_example_position: 688
source_specification: gitlab
08_01_00__gitlab_internal_extension_markdown__audio__002:
- spec_txt_example_position: 689
+ spec_example_position: 689
source_specification: gitlab
08_02_00__gitlab_internal_extension_markdown__video__001:
- spec_txt_example_position: 690
+ spec_example_position: 690
source_specification: gitlab
08_02_00__gitlab_internal_extension_markdown__video__002:
- spec_txt_example_position: 691
+ spec_example_position: 691
source_specification: gitlab
08_03_00__gitlab_internal_extension_markdown__markdown_preview_api_request_overrides__001:
- spec_txt_example_position: 692
+ spec_example_position: 692
source_specification: gitlab
08_03_00__gitlab_internal_extension_markdown__markdown_preview_api_request_overrides__002:
- spec_txt_example_position: 693
+ spec_example_position: 693
source_specification: gitlab
08_03_00__gitlab_internal_extension_markdown__markdown_preview_api_request_overrides__003:
- spec_txt_example_position: 694
+ spec_example_position: 694
source_specification: gitlab
08_03_00__gitlab_internal_extension_markdown__markdown_preview_api_request_overrides__004:
- spec_txt_example_position: 695
+ spec_example_position: 695
source_specification: gitlab
08_03_00__gitlab_internal_extension_markdown__markdown_preview_api_request_overrides__005:
- spec_txt_example_position: 696
+ spec_example_position: 696
source_specification: gitlab
08_03_00__gitlab_internal_extension_markdown__markdown_preview_api_request_overrides__006:
- spec_txt_example_position: 697
+ spec_example_position: 697
source_specification: gitlab
diff --git a/glfm_specification/example_snapshots/html.yml b/glfm_specification/output_example_snapshots/html.yml
index ef2ba39f925..bdd0777ce17 100644
--- a/glfm_specification/example_snapshots/html.yml
+++ b/glfm_specification/output_example_snapshots/html.yml
@@ -2,22 +2,22 @@
02_01_00__preliminaries__tabs__001:
canonical: "<pre><code>foo\tbaz\t\tbim\n</code></pre>\n"
static: "<div class=\"gl-relative markdown-code-block js-markdown-code\">\n<pre
- data-sourcepos=\"1:2-1:13\" class=\"code highlight js-syntax-highlight language-plaintext\"
- lang=\"plaintext\" data-canonical-lang=\"\" v-pre=\"true\"><code><span id=\"LC1\"
+ data-sourcepos=\"1:2-1:13\" lang=\"plaintext\" class=\"code highlight js-syntax-highlight
+ language-plaintext\" data-canonical-lang=\"\" v-pre=\"true\"><code><span id=\"LC1\"
class=\"line\" lang=\"plaintext\">foo\tbaz\t\tbim</span></code></pre>\n<copy-code></copy-code>\n</div>"
wysiwyg: "<pre class=\"content-editor-code-block undefined code highlight\"><code>foo\tbaz\t\tbim</code></pre>"
02_01_00__preliminaries__tabs__002:
canonical: "<pre><code>foo\tbaz\t\tbim\n</code></pre>\n"
static: "<div class=\"gl-relative markdown-code-block js-markdown-code\">\n<pre
- data-sourcepos=\"1:4-1:15\" class=\"code highlight js-syntax-highlight language-plaintext\"
- lang=\"plaintext\" data-canonical-lang=\"\" v-pre=\"true\"><code><span id=\"LC1\"
+ data-sourcepos=\"1:4-1:15\" lang=\"plaintext\" class=\"code highlight js-syntax-highlight
+ language-plaintext\" data-canonical-lang=\"\" v-pre=\"true\"><code><span id=\"LC1\"
class=\"line\" lang=\"plaintext\">foo\tbaz\t\tbim</span></code></pre>\n<copy-code></copy-code>\n</div>"
wysiwyg: "<pre class=\"content-editor-code-block undefined code highlight\"><code>foo\tbaz\t\tbim</code></pre>"
02_01_00__preliminaries__tabs__003:
canonical: "<pre><code>a\ta\nὐ\ta\n</code></pre>\n"
static: "<div class=\"gl-relative markdown-code-block js-markdown-code\">\n<pre
- data-sourcepos=\"1:5-2:9\" class=\"code highlight js-syntax-highlight language-plaintext\"
- lang=\"plaintext\" data-canonical-lang=\"\" v-pre=\"true\"><code><span id=\"LC1\"
+ data-sourcepos=\"1:5-2:9\" lang=\"plaintext\" class=\"code highlight js-syntax-highlight
+ language-plaintext\" data-canonical-lang=\"\" v-pre=\"true\"><code><span id=\"LC1\"
class=\"line\" lang=\"plaintext\">a\ta</span>\n<span id=\"LC2\" class=\"line\"
lang=\"plaintext\">ὐ\ta</span></code></pre>\n<copy-code></copy-code>\n</div>"
wysiwyg: "<pre class=\"content-editor-code-block undefined code highlight\"><code>a\ta\nὐ\ta</code></pre>"
@@ -52,7 +52,7 @@
<li data-sourcepos="1:1-3:5">
<p data-sourcepos="1:3-1:5">foo</p>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="3:2-3:5" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> bar</span></code></pre>
+ <pre data-sourcepos="3:2-3:5" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> bar</span></code></pre>
<copy-code></copy-code>
</div>
</li>
@@ -68,7 +68,7 @@
static: |-
<blockquote data-sourcepos="1:1-1:6" dir="auto">
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:3-1:6" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> foo</span></code></pre>
+ <pre data-sourcepos="1:3-1:6" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> foo</span></code></pre>
<copy-code></copy-code>
</div>
</blockquote>
@@ -86,7 +86,7 @@
<ul data-sourcepos="1:1-1:6" dir="auto">
<li data-sourcepos="1:1-1:6">
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:3-1:6" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> foo</span></code></pre>
+ <pre data-sourcepos="1:3-1:6" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> foo</span></code></pre>
<copy-code></copy-code>
</div>
</li>
@@ -100,7 +100,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:5-2:4" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span>
+ <pre data-sourcepos="1:5-2:4" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span>
<span id="LC2" class="line" lang="plaintext">bar</span></code></pre>
<copy-code></copy-code>
</div>
@@ -221,7 +221,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:5-1:7" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">***</span></code></pre>
+ <pre data-sourcepos="1:5-1:7" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">***</span></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -464,7 +464,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:5-1:9" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"># foo</span></code></pre>
+ <pre data-sourcepos="1:5-1:9" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"># foo</span></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -661,7 +661,7 @@
<hr />
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:5-4:7" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
+ <pre data-sourcepos="1:5-4:7" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
<span id="LC2" class="line" lang="plaintext">---</span>
<span id="LC3" class="line" lang="plaintext"></span>
<span id="LC4" class="line" lang="plaintext">Foo</span></code></pre>
@@ -806,7 +806,7 @@
<p>Baz</p>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-3:3" class="code highlight js-syntax-highlight language-yaml" lang="yaml" data-lang-params="frontmatter" v-pre="true"><code><span id="LC1" class="line" lang="yaml"><span class="s">Foo</span></span></code></pre>
+ <pre data-sourcepos="1:1-3:3" lang="yaml" class="code highlight js-syntax-highlight language-yaml" data-lang-params="frontmatter" v-pre="true"><code><span id="LC1" class="line" lang="yaml"><span class="s">Foo</span></span></code></pre>
<copy-code></copy-code>
</div>
<h2 data-sourcepos="4:1-6:3" dir="auto">
@@ -829,7 +829,7 @@
<hr />
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-2:3" class="code highlight js-syntax-highlight language-yaml" lang="yaml" data-lang-params="frontmatter" v-pre="true"><code></code></pre>
+ <pre data-sourcepos="1:1-2:3" lang="yaml" class="code highlight js-syntax-highlight language-yaml" data-lang-params="frontmatter" v-pre="true"><code></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -855,7 +855,7 @@
<hr />
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:5-1:7" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span></code></pre>
+ <pre data-sourcepos="1:5-1:7" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span></code></pre>
<copy-code></copy-code>
</div>
<hr data-sourcepos="2:1-2:3">
@@ -953,7 +953,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:5-2:25" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">a simple</span>
+ <pre data-sourcepos="1:5-2:25" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">a simple</span>
<span id="LC2" class="line" lang="plaintext"> indented code block</span></code></pre>
<copy-code></copy-code>
</div>
@@ -1007,7 +1007,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:5-4:9" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a/&gt;</span>
+ <pre data-sourcepos="1:5-4:9" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a/&gt;</span>
<span id="LC2" class="line" lang="plaintext">*hi*</span>
<span id="LC3" class="line" lang="plaintext"></span>
<span id="LC4" class="line" lang="plaintext">- one</span></code></pre>
@@ -1030,7 +1030,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:5-7:10" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">chunk1</span>
+ <pre data-sourcepos="1:5-7:10" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">chunk1</span>
<span id="LC2" class="line" lang="plaintext"></span>
<span id="LC3" class="line" lang="plaintext">chunk2</span>
<span id="LC4" class="line" lang="plaintext"></span>
@@ -1051,7 +1051,7 @@
canonical: "<pre><code>chunk1\n \n chunk2\n</code></pre>\n"
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:5-3:12" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">chunk1</span>
+ <pre data-sourcepos="1:5-3:12" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">chunk1</span>
<span id="LC2" class="line" lang="plaintext"> </span>
<span id="LC3" class="line" lang="plaintext"> chunk2</span></code></pre>
<copy-code></copy-code>
@@ -1075,7 +1075,7 @@
<p>bar</p>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:5-1:7" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span></code></pre>
+ <pre data-sourcepos="1:5-1:7" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span></code></pre>
<copy-code></copy-code>
</div>
<p data-sourcepos="2:1-2:3" dir="auto">bar</p>
@@ -1095,13 +1095,13 @@
<h1 data-sourcepos="1:1-1:9" dir="auto">
<a id="user-content-heading" class="anchor" href="#heading" aria-hidden="true"></a>Heading</h1>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="2:5-2:7" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span></code></pre>
+ <pre data-sourcepos="2:5-2:7" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span></code></pre>
<copy-code></copy-code>
</div>
<h2 data-sourcepos="3:1-5:7" dir="auto">
<a id="user-content-heading-1" class="anchor" href="#heading-1" aria-hidden="true"></a>Heading</h2>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="5:5-5:7" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span></code></pre>
+ <pre data-sourcepos="5:5-5:7" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span></code></pre>
<copy-code></copy-code>
</div>
<hr data-sourcepos="6:1-6:4">
@@ -1118,7 +1118,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:5-2:7" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> foo</span>
+ <pre data-sourcepos="1:5-2:7" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> foo</span>
<span id="LC2" class="line" lang="plaintext">bar</span></code></pre>
<copy-code></copy-code>
</div>
@@ -1131,7 +1131,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="3:5-5:0" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span></code></pre>
+ <pre data-sourcepos="3:5-5:0" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -1140,7 +1140,7 @@
canonical: "<pre><code>foo \n</code></pre>\n"
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:5-1:9" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo </span></code></pre>
+ <pre data-sourcepos="1:5-1:9" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo </span></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -1152,7 +1152,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-4:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;</span>
+ <pre data-sourcepos="1:1-4:3" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;</span>
<span id="LC2" class="line" lang="plaintext"> &gt;</span></code></pre>
<copy-code></copy-code>
</div>
@@ -1166,7 +1166,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-4:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;</span>
+ <pre data-sourcepos="1:1-4:3" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;</span>
<span id="LC2" class="line" lang="plaintext"> &gt;</span></code></pre>
<copy-code></copy-code>
</div>
@@ -1187,7 +1187,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-4:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
+ <pre data-sourcepos="1:1-4:3" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
<span id="LC2" class="line" lang="plaintext">~~~</span></code></pre>
<copy-code></copy-code>
</div>
@@ -1201,7 +1201,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-4:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
+ <pre data-sourcepos="1:1-4:3" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
<span id="LC2" class="line" lang="plaintext">```</span></code></pre>
<copy-code></copy-code>
</div>
@@ -1215,7 +1215,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-4:6" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
+ <pre data-sourcepos="1:1-4:6" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
<span id="LC2" class="line" lang="plaintext">```</span></code></pre>
<copy-code></copy-code>
</div>
@@ -1229,7 +1229,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-4:4" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
+ <pre data-sourcepos="1:1-4:4" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
<span id="LC2" class="line" lang="plaintext">~~~</span></code></pre>
<copy-code></copy-code>
</div>
@@ -1241,7 +1241,7 @@
<pre><code></code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-1:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code></code></pre>
+ <pre data-sourcepos="1:1-1:3" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -1254,7 +1254,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-4:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"></span>
+ <pre data-sourcepos="1:1-4:3" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"></span>
<span id="LC2" class="line" lang="plaintext">```</span>
<span id="LC3" class="line" lang="plaintext">aaa</span></code></pre>
<copy-code></copy-code>
@@ -1273,7 +1273,7 @@
static: |-
<blockquote data-sourcepos="1:1-2:5" dir="auto">
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:3-3:0" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span></code></pre>
+ <pre data-sourcepos="1:3-3:0" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span></code></pre>
<copy-code></copy-code>
</div>
</blockquote>
@@ -1285,7 +1285,7 @@
canonical: "<pre><code>\n \n</code></pre>\n"
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-4:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"></span>
+ <pre data-sourcepos="1:1-4:3" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"></span>
<span id="LC2" class="line" lang="plaintext"> </span></code></pre>
<copy-code></copy-code>
</div>
@@ -1296,7 +1296,7 @@
<pre><code></code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-2:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code></code></pre>
+ <pre data-sourcepos="1:1-2:3" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -1308,7 +1308,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:2-4:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
+ <pre data-sourcepos="1:2-4:3" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
<span id="LC2" class="line" lang="plaintext">aaa</span></code></pre>
<copy-code></copy-code>
</div>
@@ -1323,7 +1323,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:3-5:5" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
+ <pre data-sourcepos="1:3-5:5" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
<span id="LC2" class="line" lang="plaintext">aaa</span>
<span id="LC3" class="line" lang="plaintext">aaa</span></code></pre>
<copy-code></copy-code>
@@ -1340,7 +1340,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:4-5:6" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
+ <pre data-sourcepos="1:4-5:6" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
<span id="LC2" class="line" lang="plaintext"> aaa</span>
<span id="LC3" class="line" lang="plaintext">aaa</span></code></pre>
<copy-code></copy-code>
@@ -1357,7 +1357,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:5-3:7" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```</span>
+ <pre data-sourcepos="1:5-3:7" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```</span>
<span id="LC2" class="line" lang="plaintext">aaa</span>
<span id="LC3" class="line" lang="plaintext">```</span></code></pre>
<copy-code></copy-code>
@@ -1372,7 +1372,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-3:5" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span></code></pre>
+ <pre data-sourcepos="1:1-3:5" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -1383,7 +1383,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:4-3:5" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span></code></pre>
+ <pre data-sourcepos="1:4-3:5" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -1395,7 +1395,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-3:7" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
+ <pre data-sourcepos="1:1-3:7" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
<span id="LC2" class="line" lang="plaintext"> ```</span></code></pre>
<copy-code></copy-code>
</div>
@@ -1419,7 +1419,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-3:6" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
+ <pre data-sourcepos="1:1-3:6" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
<span id="LC2" class="line" lang="plaintext">~~~ ~~</span></code></pre>
<copy-code></copy-code>
</div>
@@ -1435,7 +1435,7 @@
static: |-
<p data-sourcepos="1:1-1:3" dir="auto">foo</p>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="2:1-4:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">bar</span></code></pre>
+ <pre data-sourcepos="2:1-4:3" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">bar</span></code></pre>
<copy-code></copy-code>
</div>
<p data-sourcepos="5:1-5:3" dir="auto">baz</p>
@@ -1453,7 +1453,7 @@
<h2 data-sourcepos="1:1-3:3" dir="auto">
<a id="user-content-foo" class="anchor" href="#foo" aria-hidden="true"></a>foo</h2>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="3:1-5:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">bar</span></code></pre>
+ <pre data-sourcepos="3:1-5:3" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">bar</span></code></pre>
<copy-code></copy-code>
</div>
<h1 data-sourcepos="6:1-6:5" dir="auto">
@@ -1470,7 +1470,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-5:3" class="code highlight js-syntax-highlight language-ruby" lang="ruby" v-pre="true"><code><span id="LC1" class="line" lang="ruby"><span class="k">def</span> <span class="nf">foo</span><span class="p">(</span><span class="n">x</span><span class="p">)</span></span>
+ <pre data-sourcepos="1:1-5:3" lang="ruby" class="code highlight js-syntax-highlight language-ruby" v-pre="true"><code><span id="LC1" class="line" lang="ruby"><span class="k">def</span> <span class="nf">foo</span><span class="p">(</span><span class="n">x</span><span class="p">)</span></span>
<span id="LC2" class="line" lang="ruby"> <span class="k">return</span> <span class="mi">3</span></span>
<span id="LC3" class="line" lang="ruby"><span class="k">end</span></span></code></pre>
<copy-code></copy-code>
@@ -1487,7 +1487,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-5:7" class="code highlight js-syntax-highlight language-ruby" lang="ruby" v-pre="true"><code><span id="LC1" class="line" lang="ruby"><span class="k">def</span> <span class="nf">foo</span><span class="p">(</span><span class="n">x</span><span class="p">)</span></span>
+ <pre data-sourcepos="1:1-5:7" lang="ruby" class="code highlight js-syntax-highlight language-ruby" v-pre="true"><code><span id="LC1" class="line" lang="ruby"><span class="k">def</span> <span class="nf">foo</span><span class="p">(</span><span class="n">x</span><span class="p">)</span></span>
<span id="LC2" class="line" lang="ruby"> <span class="k">return</span> <span class="mi">3</span></span>
<span id="LC3" class="line" lang="ruby"><span class="k">end</span></span></code></pre>
<copy-code></copy-code>
@@ -1501,7 +1501,7 @@
<pre><code class="language-;"></code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-2:4" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang=";" v-pre="true"><code></code></pre>
+ <pre data-sourcepos="1:1-2:4" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang=";" v-pre="true"><code></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -1522,7 +1522,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-3:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="aa" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span></code></pre>
+ <pre data-sourcepos="1:1-3:3" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="aa" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -1533,7 +1533,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-3:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">``` aaa</span></code></pre>
+ <pre data-sourcepos="1:1-3:3" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">``` aaa</span></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -1799,7 +1799,7 @@
<p>okay</p>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"></span>
+ <pre lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"></span>
<span id="LC2" class="line" lang="plaintext">import Text.HTML.TagSoup</span>
<span id="LC3" class="line" lang="plaintext"></span>
<span id="LC4" class="line" lang="plaintext">main :: IO ()</span>
@@ -1978,19 +1978,8 @@
}
]]>
<p>okay</p>
- static: |-
- &lt;![CDATA[
- function matchwo(a,b)
- {
- if (a &lt; b &amp;&amp; a &lt; 0) then {
- return 1;
-
- } else {
+ static: |2-
- return 0;
- }
- }
- ]]&gt;
<p data-sourcepos="13:1-13:4" dir="auto">okay</p>
wysiwyg: |-
<p>okay</p>
@@ -2000,8 +1989,8 @@
<pre><code>&lt;!-- foo --&gt;
</code></pre>
static: " \n<div class=\"gl-relative markdown-code-block js-markdown-code\">\n<pre
- data-sourcepos=\"3:5-3:16\" class=\"code highlight js-syntax-highlight language-plaintext\"
- lang=\"plaintext\" data-canonical-lang=\"\" v-pre=\"true\"><code><span id=\"LC1\"
+ data-sourcepos=\"3:5-3:16\" lang=\"plaintext\" class=\"code highlight js-syntax-highlight
+ language-plaintext\" data-canonical-lang=\"\" v-pre=\"true\"><code><span id=\"LC1\"
class=\"line\" lang=\"plaintext\">&lt;!-- foo --&gt;</span></code></pre>\n<copy-code></copy-code>\n</div>"
wysiwyg: |-
<pre class="content-editor-code-block undefined code highlight"><code>&lt;!-- foo --&gt;</code></pre>
@@ -2013,7 +2002,7 @@
static: |2-
<div>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="3:5-3:9" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div&gt;</span></code></pre>
+ <pre data-sourcepos="3:5-3:9" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div&gt;</span></code></pre>
<copy-code></copy-code>
</div>
</div>
@@ -2124,7 +2113,7 @@
<table dir="auto">
<tr>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="5:5-8:0" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;td&gt;</span>
+ <pre data-sourcepos="5:5-8:0" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;td&gt;</span>
<span id="LC2" class="line" lang="plaintext"> Hi</span>
<span id="LC3" class="line" lang="plaintext">&lt;/td&gt;</span></code></pre>
<copy-code></copy-code>
@@ -2317,7 +2306,7 @@
<p>[foo]</p>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:5-2:0" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url "title"</span></code></pre>
+ <pre data-sourcepos="1:5-2:0" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url "title"</span></code></pre>
<copy-code></copy-code>
</div>
<p data-sourcepos="3:1-3:5" dir="auto">[foo]</p>
@@ -2331,7 +2320,7 @@
<p>[foo]</p>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-3:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url</span></code></pre>
+ <pre data-sourcepos="1:1-3:3" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url</span></code></pre>
<copy-code></copy-code>
</div>
<p data-sourcepos="5:1-5:5" dir="auto">[foo]</p>
@@ -2500,7 +2489,7 @@
<p>bbb</p>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:5-1:7" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span></code></pre>
+ <pre data-sourcepos="1:5-1:7" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span></code></pre>
<copy-code></copy-code>
</div>
<p data-sourcepos="2:1-2:3" dir="auto">bbb</p>
@@ -2847,7 +2836,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:5-3:9" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; # Foo</span>
+ <pre data-sourcepos="1:5-3:9" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; # Foo</span>
<span id="LC2" class="line" lang="plaintext">&gt; bar</span>
<span id="LC3" class="line" lang="plaintext">&gt; baz</span></code></pre>
<copy-code></copy-code>
@@ -2937,12 +2926,12 @@
static: |-
<blockquote data-sourcepos="1:1-1:9" dir="auto">
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:7-1:9" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span></code></pre>
+ <pre data-sourcepos="1:7-1:9" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span></code></pre>
<copy-code></copy-code>
</div>
</blockquote>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="2:5-2:7" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">bar</span></code></pre>
+ <pre data-sourcepos="2:5-2:7" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">bar</span></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -2958,13 +2947,13 @@
static: |-
<blockquote data-sourcepos="1:1-1:5" dir="auto">
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:3-2:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code></code></pre>
+ <pre data-sourcepos="1:3-2:3" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code></code></pre>
<copy-code></copy-code>
</div>
</blockquote>
<p data-sourcepos="2:1-2:3" dir="auto">foo</p>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="3:1-3:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code></code></pre>
+ <pre data-sourcepos="3:1-3:3" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -3195,7 +3184,7 @@
static: |-
<blockquote data-sourcepos="1:1-1:10" dir="auto">
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:7-1:10" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">code</span></code></pre>
+ <pre data-sourcepos="1:7-1:10" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">code</span></code></pre>
<copy-code></copy-code>
</div>
</blockquote>
@@ -3218,7 +3207,7 @@
<p data-sourcepos="1:1-2:15" dir="auto">A paragraph
with two lines.</p>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="4:5-5:0" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">indented code</span></code></pre>
+ <pre data-sourcepos="4:5-5:0" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">indented code</span></code></pre>
<copy-code></copy-code>
</div>
<blockquote data-sourcepos="6:1-6:16" dir="auto">
@@ -3248,7 +3237,7 @@
<p data-sourcepos="1:5-2:19">A paragraph
with two lines.</p>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="4:9-5:0" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">indented code</span></code></pre>
+ <pre data-sourcepos="4:9-5:0" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">indented code</span></code></pre>
<copy-code></copy-code>
</div>
<blockquote data-sourcepos="6:5-6:20">
@@ -3302,7 +3291,7 @@
<li data-sourcepos="1:2-2:0">one</li>
</ul>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="3:5-3:8" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> two</span></code></pre>
+ <pre data-sourcepos="3:5-3:8" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> two</span></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -3416,7 +3405,7 @@
<li data-sourcepos="1:1-9:9">
<p data-sourcepos="1:5-1:7">foo</p>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="3:5-5:7" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">bar</span></code></pre>
+ <pre data-sourcepos="3:5-5:7" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">bar</span></code></pre>
<copy-code></copy-code>
</div>
<p data-sourcepos="7:5-7:7">baz</p>
@@ -3444,7 +3433,7 @@
<li data-sourcepos="1:1-6:9">
<p data-sourcepos="1:3-1:5">Foo</p>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="3:7-6:9" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">bar</span>
+ <pre data-sourcepos="3:7-6:9" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">bar</span>
<span id="LC2" class="line" lang="plaintext"></span>
<span id="LC3" class="line" lang="plaintext"></span>
<span id="LC4" class="line" lang="plaintext">baz</span></code></pre>
@@ -3518,7 +3507,7 @@
<li data-sourcepos="1:1-3:9">
<p data-sourcepos="1:3-1:5">foo</p>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="3:7-3:9" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">bar</span></code></pre>
+ <pre data-sourcepos="3:7-3:9" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">bar</span></code></pre>
<copy-code></copy-code>
</div>
</li>
@@ -3539,7 +3528,7 @@
<li data-sourcepos="1:3-3:14">
<p data-sourcepos="1:8-1:10">foo</p>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="3:12-3:14" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">bar</span></code></pre>
+ <pre data-sourcepos="3:12-3:14" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">bar</span></code></pre>
<copy-code></copy-code>
</div>
</li>
@@ -3555,12 +3544,12 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:5-2:0" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">indented code</span></code></pre>
+ <pre data-sourcepos="1:5-2:0" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">indented code</span></code></pre>
<copy-code></copy-code>
</div>
<p data-sourcepos="3:1-3:9" dir="auto">paragraph</p>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="5:5-5:13" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">more code</span></code></pre>
+ <pre data-sourcepos="5:5-5:13" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">more code</span></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -3582,12 +3571,12 @@
<ol data-sourcepos="1:1-5:16" dir="auto">
<li data-sourcepos="1:1-5:16">
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:8-2:0" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">indented code</span></code></pre>
+ <pre data-sourcepos="1:8-2:0" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">indented code</span></code></pre>
<copy-code></copy-code>
</div>
<p data-sourcepos="3:4-3:12">paragraph</p>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="5:8-5:16" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">more code</span></code></pre>
+ <pre data-sourcepos="5:8-5:16" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">more code</span></code></pre>
<copy-code></copy-code>
</div>
</li>
@@ -3609,12 +3598,12 @@
<ol data-sourcepos="1:1-5:16" dir="auto">
<li data-sourcepos="1:1-5:16">
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:8-2:0" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> indented code</span></code></pre>
+ <pre data-sourcepos="1:8-2:0" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> indented code</span></code></pre>
<copy-code></copy-code>
</div>
<p data-sourcepos="3:4-3:12">paragraph</p>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="5:8-5:16" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">more code</span></code></pre>
+ <pre data-sourcepos="5:8-5:16" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">more code</span></code></pre>
<copy-code></copy-code>
</div>
</li>
@@ -3680,13 +3669,13 @@
<li data-sourcepos="1:1-2:5">foo</li>
<li data-sourcepos="3:1-6:5">
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="4:3-6:5" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">bar</span></code></pre>
+ <pre data-sourcepos="4:3-6:5" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">bar</span></code></pre>
<copy-code></copy-code>
</div>
</li>
<li data-sourcepos="7:1-8:9">
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="8:7-8:9" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">baz</span></code></pre>
+ <pre data-sourcepos="8:7-8:9" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">baz</span></code></pre>
<copy-code></copy-code>
</div>
</li>
@@ -3814,7 +3803,7 @@
<p data-sourcepos="1:6-2:20">A paragraph
with two lines.</p>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="4:10-5:0" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">indented code</span></code></pre>
+ <pre data-sourcepos="4:10-5:0" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">indented code</span></code></pre>
<copy-code></copy-code>
</div>
<blockquote data-sourcepos="6:6-6:21">
@@ -3844,7 +3833,7 @@
<p data-sourcepos="1:7-2:21">A paragraph
with two lines.</p>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="4:11-5:0" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">indented code</span></code></pre>
+ <pre data-sourcepos="4:11-5:0" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">indented code</span></code></pre>
<copy-code></copy-code>
</div>
<blockquote data-sourcepos="6:7-6:22">
@@ -3874,7 +3863,7 @@
<p data-sourcepos="1:8-2:22">A paragraph
with two lines.</p>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="4:12-5:0" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">indented code</span></code></pre>
+ <pre data-sourcepos="4:12-5:0" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">indented code</span></code></pre>
<copy-code></copy-code>
</div>
<blockquote data-sourcepos="6:8-6:23">
@@ -3896,7 +3885,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:5-6:24" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. A paragraph</span>
+ <pre data-sourcepos="1:5-6:24" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. A paragraph</span>
<span id="LC2" class="line" lang="plaintext"> with two lines.</span>
<span id="LC3" class="line" lang="plaintext"></span>
<span id="LC4" class="line" lang="plaintext"> indented code</span>
@@ -3930,7 +3919,7 @@
<p data-sourcepos="1:7-2:15">A paragraph
with two lines.</p>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="4:11-5:0" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">indented code</span></code></pre>
+ <pre data-sourcepos="4:11-5:0" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">indented code</span></code></pre>
<copy-code></copy-code>
</div>
<blockquote data-sourcepos="6:7-6:22">
@@ -4356,7 +4345,7 @@
</ul>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="9:5-9:8" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">code</span></code></pre>
+ <pre data-sourcepos="9:5-9:8" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">code</span></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -4454,7 +4443,7 @@
</li>
</ol>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="5:5-5:8" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">3. c</span></code></pre>
+ <pre data-sourcepos="5:5-5:8" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">3. c</span></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -4584,7 +4573,7 @@
<li data-sourcepos="1:1-1:3">a</li>
<li data-sourcepos="2:1-6:5">
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="2:3-6:5" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">b</span>
+ <pre data-sourcepos="2:3-6:5" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">b</span>
<span id="LC2" class="line" lang="plaintext"></span>
<span id="LC3" class="line" lang="plaintext"></span></code></pre>
<copy-code></copy-code>
@@ -4661,7 +4650,7 @@
<p data-sourcepos="2:5-2:5">b</p>
</blockquote>
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="3:3-5:5" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">c</span></code></pre>
+ <pre data-sourcepos="3:3-5:5" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">c</span></code></pre>
<copy-code></copy-code>
</div>
</li>
@@ -4712,7 +4701,7 @@
<ol data-sourcepos="1:1-5:6" dir="auto">
<li data-sourcepos="1:1-5:6">
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:4-3:6" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span></code></pre>
+ <pre data-sourcepos="1:4-3:6" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span></code></pre>
<copy-code></copy-code>
</div>
<p data-sourcepos="5:4-5:6">bar</p>
@@ -4859,7 +4848,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:5-1:8" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">\[\]</span></code></pre>
+ <pre data-sourcepos="1:5-1:8" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">\[\]</span></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -4870,7 +4859,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-3:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">\[\]</span></code></pre>
+ <pre data-sourcepos="1:1-3:3" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">\[\]</span></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -4910,7 +4899,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-3:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="foo+bar" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span></code></pre>
+ <pre data-sourcepos="1:1-3:3" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="foo+bar" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -5000,7 +4989,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-3:3" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="föö" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span></code></pre>
+ <pre data-sourcepos="1:1-3:3" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="föö" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -5018,7 +5007,7 @@
</code></pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:5-1:18" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">f&amp;ouml;f&amp;ouml;</span></code></pre>
+ <pre data-sourcepos="1:5-1:18" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">f&amp;ouml;f&amp;ouml;</span></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -7424,14 +7413,14 @@
canonical: |
<p>foo <!ELEMENT br EMPTY></p>
static: |-
- <p data-sourcepos="1:1-1:23" dir="auto">foo &lt;!ELEMENT br EMPTY&gt;</p>
+ <p data-sourcepos="1:1-1:23" dir="auto">foo </p>
wysiwyg: |-
<p>foo </p>
06_11_00__inlines__raw_html__018:
canonical: |
<p>foo <![CDATA[>&<]]></p>
static: |-
- <p data-sourcepos="1:1-1:19" dir="auto">foo &lt;![CDATA[&gt;&amp;&lt;]]&gt;</p>
+ <p data-sourcepos="1:1-1:19" dir="auto">foo &amp;&lt;]]&gt;</p>
wysiwyg: |-
<p>foo &amp;&lt;]]&gt;</p>
06_11_00__inlines__raw_html__019:
@@ -7752,7 +7741,7 @@
</pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-3:3" class="code highlight js-syntax-highlight language-yaml" lang="yaml" data-lang-params="frontmatter" v-pre="true"><code><span id="LC1" class="line" lang="yaml"><span class="na">title</span><span class="pi">:</span> <span class="s">YAML front matter</span></span></code></pre>
+ <pre data-sourcepos="1:1-3:3" lang="yaml" class="code highlight js-syntax-highlight language-yaml" data-lang-params="frontmatter" v-pre="true"><code><span id="LC1" class="line" lang="yaml"><span class="na">title</span><span class="pi">:</span> <span class="s">YAML front matter</span></span></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -7766,7 +7755,7 @@
</pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-3:3" class="code highlight js-syntax-highlight language-toml" lang="toml" data-lang-params="frontmatter" v-pre="true"><code><span id="LC1" class="line" lang="toml"><span class="err">title:</span> <span class="err">TOML</span> <span class="err">front</span> <span class="err">matter</span></span></code></pre>
+ <pre data-sourcepos="1:1-3:3" lang="toml" class="code highlight js-syntax-highlight language-toml" data-lang-params="frontmatter" v-pre="true"><code><span id="LC1" class="line" lang="toml"><span class="err">title:</span> <span class="err">TOML</span> <span class="err">front</span> <span class="err">matter</span></span></code></pre>
<copy-code></copy-code>
</div>
wysiwyg: |-
@@ -7782,7 +7771,7 @@
</pre>
static: |-
<div class="gl-relative markdown-code-block js-markdown-code">
- <pre data-sourcepos="1:1-5:3" class="code highlight js-syntax-highlight language-json" lang="json" data-lang-params="frontmatter" v-pre="true"><code><span id="LC1" class="line" lang="json"><span class="p">{</span></span>
+ <pre data-sourcepos="1:1-5:3" lang="json" class="code highlight js-syntax-highlight language-json" data-lang-params="frontmatter" v-pre="true"><code><span id="LC1" class="line" lang="json"><span class="p">{</span></span>
<span id="LC2" class="line" lang="json"><span class="w"> </span><span class="nl">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"JSON front matter"</span></span>
<span id="LC3" class="line" lang="json"><span class="p">}</span></span></code></pre>
<copy-code></copy-code>
@@ -7932,7 +7921,7 @@
canonical: |
<p><a href="projects-test-file">projects-test-file</a></p>
static: |-
- <p data-sourcepos="1:1-1:40" dir="auto"><a href="/glfm_group/glfm_project/-/blob/master/projects-test-file">projects-test-file</a></p>
+ <p data-sourcepos="1:1-1:40" dir="auto"><a href="/glfm_group/glfm_project/-/blob/master/projects-test-file" class="gfm">projects-test-file</a></p>
08_03_00__gitlab_internal_extension_markdown__markdown_preview_api_request_overrides__003:
canonical: |
<p>This project snippet ID reference IS filtered: $88888</p>
diff --git a/glfm_specification/example_snapshots/markdown.yml b/glfm_specification/output_example_snapshots/markdown.yml
index 867108a6cc5..867108a6cc5 100644
--- a/glfm_specification/example_snapshots/markdown.yml
+++ b/glfm_specification/output_example_snapshots/markdown.yml
diff --git a/glfm_specification/example_snapshots/prosemirror_json.yml b/glfm_specification/output_example_snapshots/prosemirror_json.yml
index de54518a574..de54518a574 100644
--- a/glfm_specification/example_snapshots/prosemirror_json.yml
+++ b/glfm_specification/output_example_snapshots/prosemirror_json.yml
diff --git a/glfm_specification/output_example_snapshots/snapshot_spec.html b/glfm_specification/output_example_snapshots/snapshot_spec.html
new file mode 100644
index 00000000000..20cfc4cf84f
--- /dev/null
+++ b/glfm_specification/output_example_snapshots/snapshot_spec.html
@@ -0,0 +1,10245 @@
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1:1-4:3" lang="yaml" class="code highlight js-syntax-highlight language-yaml" data-lang-params="frontmatter" v-pre="true"><code><span id="LC1" class="line" lang="yaml"><span class="na">title</span><span class="pi">:</span> <span class="s">GitLab Flavored Markdown (GLFM) Spec</span></span>
+<span id="LC2" class="line" lang="yaml"><span class="na">version</span><span class="pi">:</span> <span class="s">alpha</span></span></code></pre>
+<copy-code></copy-code>
+</div>
+<h1 data-sourcepos="5:1-5:15" dir="auto">
+<a id="user-content-preliminaries" class="anchor" href="#preliminaries" aria-hidden="true"></a>Preliminaries</h1>
+<h2 data-sourcepos="7:1-7:23" dir="auto">
+<a id="user-content-characters-and-lines" class="anchor" href="#characters-and-lines" aria-hidden="true"></a>Characters and lines</h2>
+<p data-sourcepos="9:1-10:9" dir="auto">Any sequence of [characters] is a valid CommonMark
+document.</p>
+<p data-sourcepos="12:1-15:26" dir="auto">A <a href="@">character</a> is a Unicode code point. Although some
+code points (for example, combining accents) do not correspond to
+characters in an intuitive sense, all code points count as characters
+for purposes of this spec.</p>
+<p data-sourcepos="17:1-19:22" dir="auto">This spec does not specify an encoding; it thinks of lines as composed
+of [characters] rather than bytes. A conforming parser may be limited
+to a certain encoding.</p>
+<p data-sourcepos="21:1-23:50" dir="auto">A <a href="@">line</a> is a sequence of zero or more [characters]
+other than newline (<code>U+000A</code>) or carriage return (<code>U+000D</code>),
+followed by a [line ending] or by the end of file.</p>
+<p data-sourcepos="25:1-27:18" dir="auto">A <a href="@">line ending</a> is a newline (<code>U+000A</code>), a carriage return
+(<code>U+000D</code>) not followed by a newline, or a carriage return and a
+following newline.</p>
+<p data-sourcepos="29:1-30:59" dir="auto">A line containing no characters, or a line containing only spaces
+(<code>U+0020</code>) or tabs (<code>U+0009</code>), is called a <a href="@">blank line</a>.</p>
+<p data-sourcepos="32:1-32:73" dir="auto">The following definitions of character classes will be used in this spec:</p>
+<p data-sourcepos="34:1-36:52" dir="auto">A <a href="@">whitespace character</a> is a space
+(<code>U+0020</code>), tab (<code>U+0009</code>), newline (<code>U+000A</code>), line tabulation (<code>U+000B</code>),
+form feed (<code>U+000C</code>), or carriage return (<code>U+000D</code>).</p>
+<p data-sourcepos="38:1-39:12" dir="auto"><a href="@">Whitespace</a> is a sequence of one or more [whitespace
+characters].</p>
+<p data-sourcepos="41:1-44:11" dir="auto">A <a href="@">Unicode whitespace character</a> is
+any code point in the Unicode <code>Zs</code> general category, or a tab (<code>U+0009</code>),
+carriage return (<code>U+000D</code>), newline (<code>U+000A</code>), or form feed
+(<code>U+000C</code>).</p>
+<p data-sourcepos="46:1-47:40" dir="auto"><a href="@">Unicode whitespace</a> is a sequence of one
+or more [Unicode whitespace characters].</p>
+<p data-sourcepos="49:1-49:25" dir="auto">A <a href="@">space</a> is <code>U+0020</code>.</p>
+<p data-sourcepos="51:1-52:37" dir="auto">A <a href="@">non-whitespace character</a> is any character
+that is not a [whitespace character].</p>
+<p data-sourcepos="54:1-59:38" dir="auto">An <a href="@">ASCII punctuation character</a>
+is <code>!</code>, <code>"</code>, <code>#</code>, <code>$</code>, <code>%</code>, <code>&amp;</code>, <code>'</code>, <code>(</code>, <code>)</code>,
+<code>*</code>, <code>+</code>, <code>,</code>, <code>-</code>, <code>.</code>, <code>/</code> (U+0021–2F),
+<code>:</code>, <code>;</code>, <code>&lt;</code>, <code>=</code>, <code>&gt;</code>, <code>?</code>, <code>@</code> (U+003A–0040),
+<code>[</code>, <code>\</code>, <code>]</code>, <code>^</code>, <code>_</code>, <code>`</code> (U+005B–0060),
+<code>{</code>, <code>|</code>, <code>}</code>, or <code>~</code> (U+007B–007E).</p>
+<p data-sourcepos="61:1-63:76" dir="auto">A <a href="@">punctuation character</a> is an [ASCII
+punctuation character] or anything in
+the general Unicode categories <code>Pc</code>, <code>Pd</code>, <code>Pe</code>, <code>Pf</code>, <code>Pi</code>, <code>Po</code>, or <code>Ps</code>.</p>
+<h2 data-sourcepos="65:1-65:7" dir="auto">
+<a id="user-content-tabs" class="anchor" href="#tabs" aria-hidden="true"></a>Tabs</h2>
+<p data-sourcepos="67:1-70:16" dir="auto">Tabs in lines are not expanded to [spaces]. However,
+in contexts where whitespace helps to define block structure,
+tabs behave as if they were replaced by spaces with a tab stop
+of 4 characters.</p>
+<p data-sourcepos="72:1-75:8" dir="auto">Thus, for example, a tab can be used instead of four spaces
+in an indented code block. (Note, however, that internal
+tabs are passed through as literal tabs, not expanded to
+spaces.)</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="77:1-79:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">→foo→baz→→bim</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="81:1-84:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo→baz→→bim</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="86:1-88:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> →foo→baz→→bim</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="90:1-93:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo→baz→→bim</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="95:1-98:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> a→a</span>
+<span id="LC2" class="line" lang="plaintext"> ὐ→a</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="100:1-104:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;a→a</span>
+<span id="LC2" class="line" lang="plaintext">ὐ→a</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="106:1-108:38" dir="auto">In the following example, a continuation paragraph of a list
+item is indented with a tab; this has exactly the same effect
+as indentation with four spaces would:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="110:1-114:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> - foo</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">→bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="116:1-123:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="125:1-129:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">→→bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="131:1-139:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt; bar</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="141:1-148:36" dir="auto">Normally the <code>&gt;</code> that begins a block quote may be followed
+optionally by a space, which is not considered part of the
+content. In the following case <code>&gt;</code> is followed by a tab,
+which is treated as if it were expanded into three spaces.
+Since one of these spaces is considered part of the
+delimiter, <code>foo</code> is considered to be indented six spaces
+inside the block quote context, so we get an indented
+code block starting with two spaces.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="150:1-152:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt;→→foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="154:1-159:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt; foo</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="161:1-163:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">-→→foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="165:1-172:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt; foo</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="175:1-178:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> foo</span>
+<span id="LC2" class="line" lang="plaintext">→bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="180:1-184:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo</span>
+<span id="LC2" class="line" lang="plaintext">bar</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="186:1-190:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> - foo</span>
+<span id="LC2" class="line" lang="plaintext"> - bar</span>
+<span id="LC3" class="line" lang="plaintext">→ - baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="192:1-204:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;foo</span>
+<span id="LC3" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;li&gt;bar</span>
+<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;li&gt;baz&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="206:1-208:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">#→Foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="210:1-212:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h1&gt;Foo&lt;/h1&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="214:1-216:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*→*→*→</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="218:1-220:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="223:1-223:22" dir="auto">
+<a id="user-content-insecure-characters" class="anchor" href="#insecure-characters" aria-hidden="true"></a>Insecure characters</h2>
+<p data-sourcepos="225:1-226:42" dir="auto">For security reasons, the Unicode character <code>U+0000</code> must be replaced
+with the REPLACEMENT CHARACTER (<code>U+FFFD</code>).</p>
+<h1 data-sourcepos="228:1-228:20" dir="auto">
+<a id="user-content-blocks-and-inlines" class="anchor" href="#blocks-and-inlines" aria-hidden="true"></a>Blocks and inlines</h1>
+<p data-sourcepos="230:1-235:54" dir="auto">We can think of a document as a sequence of
+<a href="@">blocks</a>---structural elements like paragraphs, block
+quotations, lists, headings, rules, and code blocks. Some blocks (like
+block quotes and list items) contain other blocks; others (like
+headings and paragraphs) contain <a href="@">inline</a> content---text,
+links, emphasized text, images, code spans, and so on.</p>
+<h2 data-sourcepos="237:1-237:13" dir="auto">
+<a id="user-content-precedence" class="anchor" href="#precedence" aria-hidden="true"></a>Precedence</h2>
+<p data-sourcepos="239:1-241:59" dir="auto">Indicators of block structure always take precedence over indicators
+of inline structure. So, for example, the following is a list with
+two items, not a list with one item containing a code span:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="243:1-246:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- `one</span>
+<span id="LC2" class="line" lang="plaintext">- two`</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="248:1-253:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;`one&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;li&gt;two`&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="256:1-263:66" dir="auto">This means that parsing can proceed in two steps: first, the block
+structure of the document can be discerned; second, text lines inside
+paragraphs, headings, and other block constructs can be parsed for inline
+structure. The second step requires information about link reference
+definitions that will be available only at the end of the first
+step. Note that the first step requires processing lines in sequence,
+but the second can be parallelized, since the inline parsing of
+one block element does not affect the inline parsing of any other.</p>
+<h2 data-sourcepos="265:1-265:35" dir="auto">
+<a id="user-content-container-blocks-and-leaf-blocks" class="anchor" href="#container-blocks-and-leaf-blocks" aria-hidden="true"></a>Container blocks and leaf blocks</h2>
+<p data-sourcepos="267:1-270:13" dir="auto">We can divide blocks into two types:
+<a href="@">container blocks</a>,
+which can contain other blocks, and <a href="@">leaf blocks</a>,
+which cannot.</p>
+<h1 data-sourcepos="272:1-272:13" dir="auto">
+<a id="user-content-leaf-blocks" class="anchor" href="#leaf-blocks" aria-hidden="true"></a>Leaf blocks</h1>
+<p data-sourcepos="274:1-275:18" dir="auto">This section describes the different kinds of leaf block that make up a
+Markdown document.</p>
+<h2 data-sourcepos="277:1-277:18" dir="auto">
+<a id="user-content-thematic-breaks" class="anchor" href="#thematic-breaks" aria-hidden="true"></a>Thematic breaks</h2>
+<p data-sourcepos="279:1-282:20" dir="auto">A line consisting of 0-3 spaces of indentation, followed by a sequence
+of three or more matching <code>-</code>, <code>_</code>, or <code>*</code> characters, each followed
+optionally by any number of spaces or tabs, forms a
+<a href="@">thematic break</a>.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="284:1-288:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">***</span>
+<span id="LC2" class="line" lang="plaintext">---</span>
+<span id="LC3" class="line" lang="plaintext">___</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="290:1-294:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;hr /&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;hr /&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="297:1-297:17" dir="auto">Wrong characters:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="299:1-301:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">+++</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="303:1-305:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;+++&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="308:1-310:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">===</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="312:1-314:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;===&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="317:1-317:22" dir="auto">Not enough characters:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="319:1-323:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">--</span>
+<span id="LC2" class="line" lang="plaintext">**</span>
+<span id="LC3" class="line" lang="plaintext">__</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="325:1-329:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;--</span>
+<span id="LC2" class="line" lang="plaintext">**</span>
+<span id="LC3" class="line" lang="plaintext">__&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="332:1-332:39" dir="auto">One to three spaces indent are allowed:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="334:1-338:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> ***</span>
+<span id="LC2" class="line" lang="plaintext"> ***</span>
+<span id="LC3" class="line" lang="plaintext"> ***</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="340:1-344:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;hr /&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;hr /&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="347:1-347:24" dir="auto">Four spaces is too many:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="349:1-351:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> ***</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="353:1-356:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;***</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="359:1-362:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
+<span id="LC2" class="line" lang="plaintext"> ***</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="364:1-367:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;Foo</span>
+<span id="LC2" class="line" lang="plaintext">***&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="370:1-370:39" dir="auto">More than three characters may be used:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="372:1-374:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_____________________________________</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="376:1-378:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="381:1-381:42" dir="auto">Spaces are allowed between the characters:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="383:1-385:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> - - -</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="387:1-389:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="392:1-394:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> ** * ** * ** * **</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="396:1-398:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="401:1-403:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- - - -</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="405:1-407:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="410:1-410:30" dir="auto">Spaces are allowed at the end:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="412:1-414:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- - - - </span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="416:1-418:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="421:1-421:51" dir="auto">However, no other characters may occur in the line:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="423:1-429:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_ _ _ _ a</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">a------</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">---a---</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="431:1-435:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;_ _ _ _ a&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;a------&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;---a---&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="438:1-439:33" dir="auto">It is required that all of the [non-whitespace characters] be the same.
+So, this is not a thematic break:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="441:1-443:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> *-*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="445:1-447:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;-&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="450:1-450:56" dir="auto">Thematic breaks do not need blank lines before or after:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="452:1-456:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
+<span id="LC2" class="line" lang="plaintext">***</span>
+<span id="LC3" class="line" lang="plaintext">- bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="458:1-466:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;hr /&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="469:1-469:42" dir="auto">Thematic breaks can interrupt a paragraph:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="471:1-475:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
+<span id="LC2" class="line" lang="plaintext">***</span>
+<span id="LC3" class="line" lang="plaintext">bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="477:1-481:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;Foo&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;hr /&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="484:1-488:71" dir="auto">If a line of dashes that meets the above conditions for being a
+thematic break could also be interpreted as the underline of a [setext
+heading], the interpretation as a
+[setext heading] takes precedence. Thus, for example,
+this is a setext heading, not a paragraph followed by a thematic break:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="490:1-494:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
+<span id="LC2" class="line" lang="plaintext">---</span>
+<span id="LC3" class="line" lang="plaintext">bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="496:1-499:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h2&gt;Foo&lt;/h2&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="502:1-503:63" dir="auto">When both a thematic break and a list item are possible
+interpretations of a line, the thematic break takes precedence:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="505:1-509:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">* Foo</span>
+<span id="LC2" class="line" lang="plaintext">* * *</span>
+<span id="LC3" class="line" lang="plaintext">* Bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="511:1-519:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;Foo&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;hr /&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;li&gt;Bar&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="522:1-522:68" dir="auto">If you want a thematic break in a list item, use a different bullet:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="524:1-527:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- Foo</span>
+<span id="LC2" class="line" lang="plaintext">- * * *</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="529:1-536:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;Foo&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;hr /&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="539:1-539:15" dir="auto">
+<a id="user-content-atx-headings" class="anchor" href="#atx-headings" aria-hidden="true"></a>ATX headings</h2>
+<p data-sourcepos="541:1-551:35" dir="auto">An <a href="@">ATX heading</a>
+consists of a string of characters, parsed as inline content, between an
+opening sequence of 1--6 unescaped <code>#</code> characters and an optional
+closing sequence of any number of unescaped <code>#</code> characters.
+The opening sequence of <code>#</code> characters must be followed by a
+[space] or by the end of line. The optional closing sequence of <code>#</code>s must be
+preceded by a [space] and may be followed by spaces only. The opening
+<code>#</code> character may be indented 0-3 spaces. The raw contents of the
+heading are stripped of leading and trailing spaces before being parsed
+as inline content. The heading level is equal to the number of <code>#</code>
+characters in the opening sequence.</p>
+<p data-sourcepos="553:1-553:16" dir="auto">Simple headings:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="555:1-562:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"># foo</span>
+<span id="LC2" class="line" lang="plaintext">## foo</span>
+<span id="LC3" class="line" lang="plaintext">### foo</span>
+<span id="LC4" class="line" lang="plaintext">#### foo</span>
+<span id="LC5" class="line" lang="plaintext">##### foo</span>
+<span id="LC6" class="line" lang="plaintext">###### foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="564:1-571:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h1&gt;foo&lt;/h1&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;h2&gt;foo&lt;/h2&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;h3&gt;foo&lt;/h3&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;h4&gt;foo&lt;/h4&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;h5&gt;foo&lt;/h5&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;h6&gt;foo&lt;/h6&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="574:1-574:46" dir="auto">More than six <code>#</code> characters is not a heading:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="576:1-578:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">####### foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="580:1-582:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;####### foo&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="585:1-591:9" dir="auto">At least one space is required between the <code>#</code> characters and the
+heading's contents, unless the heading is empty. Note that many
+implementations currently do not require the space. However, the
+space was required by the
+<a href="http://www.aaronsw.com/2002/atx/atx.py" rel="nofollow noreferrer noopener" target="_blank">original ATX implementation</a>,
+and it helps prevent things like the following from being parsed as
+headings:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="593:1-597:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">#5 bolt</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">#hashtag</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="599:1-602:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;#5 bolt&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;#hashtag&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="605:1-605:56" dir="auto">This is not a heading, because the first <code>#</code> is escaped:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="607:1-609:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">\## foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="611:1-613:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;## foo&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="616:1-616:31" dir="auto">Contents are parsed as inlines:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="618:1-620:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"># foo *bar* \*baz\*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="622:1-624:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h1&gt;foo &lt;em&gt;bar&lt;/em&gt; *baz*&lt;/h1&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="627:1-627:71" dir="auto">Leading and trailing [whitespace] is ignored in parsing inline content:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="629:1-631:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"># foo </span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="633:1-635:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h1&gt;foo&lt;/h1&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="638:1-638:44" dir="auto">One to three spaces indentation are allowed:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="640:1-644:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> ### foo</span>
+<span id="LC2" class="line" lang="plaintext"> ## foo</span>
+<span id="LC3" class="line" lang="plaintext"> # foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="646:1-650:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h3&gt;foo&lt;/h3&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;h2&gt;foo&lt;/h2&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;h1&gt;foo&lt;/h1&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="653:1-653:25" dir="auto">Four spaces are too much:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="655:1-657:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> # foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="659:1-662:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;# foo</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="665:1-668:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span>
+<span id="LC2" class="line" lang="plaintext"> # bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="670:1-673:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo</span>
+<span id="LC2" class="line" lang="plaintext"># bar&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="676:1-676:49" dir="auto">A closing sequence of <code>#</code> characters is optional:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="678:1-681:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">## foo ##</span>
+<span id="LC2" class="line" lang="plaintext"> ### bar ###</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="683:1-686:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h2&gt;foo&lt;/h2&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;h3&gt;bar&lt;/h3&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="689:1-689:55" dir="auto">It need not be the same length as the opening sequence:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="691:1-694:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"># foo ##################################</span>
+<span id="LC2" class="line" lang="plaintext">##### foo ##</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="696:1-699:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h1&gt;foo&lt;/h1&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;h5&gt;foo&lt;/h5&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="702:1-702:46" dir="auto">Spaces are allowed after the closing sequence:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="704:1-706:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">### foo ### </span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="708:1-710:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h3&gt;foo&lt;/h3&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="713:1-715:8" dir="auto">A sequence of <code>#</code> characters with anything but [spaces] following it
+is not a closing sequence, but counts as part of the contents of the
+heading:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="717:1-719:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">### foo ### b</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="721:1-723:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h3&gt;foo ### b&lt;/h3&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="726:1-726:49" dir="auto">The closing sequence must be preceded by a space:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="728:1-730:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"># foo#</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="732:1-734:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h1&gt;foo#&lt;/h1&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="737:1-738:24" dir="auto">Backslash-escaped <code>#</code> characters do not count as part
+of the closing sequence:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="740:1-744:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">### foo \###</span>
+<span id="LC2" class="line" lang="plaintext">## foo #\##</span>
+<span id="LC3" class="line" lang="plaintext"># foo \#</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="746:1-750:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h3&gt;foo ###&lt;/h3&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;h2&gt;foo ###&lt;/h2&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;h1&gt;foo #&lt;/h1&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="753:1-754:41" dir="auto">ATX headings need not be separated from surrounding content by blank
+lines, and they can interrupt paragraphs:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="756:1-760:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">****</span>
+<span id="LC2" class="line" lang="plaintext">## foo</span>
+<span id="LC3" class="line" lang="plaintext">****</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="762:1-766:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;hr /&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;h2&gt;foo&lt;/h2&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="769:1-773:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo bar</span>
+<span id="LC2" class="line" lang="plaintext"># baz</span>
+<span id="LC3" class="line" lang="plaintext">Bar foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="775:1-779:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;Foo bar&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;h1&gt;baz&lt;/h1&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;Bar foo&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="782:1-782:26" dir="auto">ATX headings can be empty:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="784:1-788:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">## </span>
+<span id="LC2" class="line" lang="plaintext">#</span>
+<span id="LC3" class="line" lang="plaintext">### ###</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="790:1-794:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h2&gt;&lt;/h2&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;h1&gt;&lt;/h1&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;h3&gt;&lt;/h3&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="797:1-797:18" dir="auto">
+<a id="user-content-setext-headings" class="anchor" href="#setext-headings" aria-hidden="true"></a>Setext headings</h2>
+<p data-sourcepos="799:1-807:54" dir="auto">A <a href="@">setext heading</a> consists of one or more
+lines of text, each containing at least one [non-whitespace
+character], with no more than 3 spaces indentation, followed by
+a [setext heading underline]. The lines of text must be such
+that, were they not followed by the setext heading underline,
+they would be interpreted as a paragraph: they cannot be
+interpretable as a [code fence], [ATX heading][ATX headings],
+[block quote][block quotes], [thematic break][thematic breaks],
+[list item][list items], or [HTML block][HTML blocks].</p>
+<p data-sourcepos="809:1-814:40" dir="auto">A <a href="@">setext heading underline</a> is a sequence of
+<code>=</code> characters or a sequence of <code>-</code> characters, with no more than 3
+spaces indentation and any number of trailing spaces. If a line
+containing a single <code>-</code> can be interpreted as an
+empty [list items], it should be interpreted this way
+and not as a [setext heading underline].</p>
+<p data-sourcepos="816:1-820:8" dir="auto">The heading is a level 1 heading if <code>=</code> characters are used in
+the [setext heading underline], and a level 2 heading if <code>-</code>
+characters are used. The contents of the heading are the result
+of parsing the preceding lines of text as CommonMark inline
+content.</p>
+<p data-sourcepos="822:1-825:5" dir="auto">In general, a setext heading need not be preceded or followed by a
+blank line. However, it cannot interrupt a paragraph, so when a
+setext heading comes after a paragraph, a blank line is needed between
+them.</p>
+<p data-sourcepos="827:1-827:16" dir="auto">Simple examples:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="829:1-835:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo *bar*</span>
+<span id="LC2" class="line" lang="plaintext">=========</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">Foo *bar*</span>
+<span id="LC5" class="line" lang="plaintext">---------</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="837:1-840:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h1&gt;Foo &lt;em&gt;bar&lt;/em&gt;&lt;/h1&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;h2&gt;Foo &lt;em&gt;bar&lt;/em&gt;&lt;/h2&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="843:1-843:54" dir="auto">The content of the header may span more than one line:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="845:1-849:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo *bar</span>
+<span id="LC2" class="line" lang="plaintext">baz*</span>
+<span id="LC3" class="line" lang="plaintext">====</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="851:1-854:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h1&gt;Foo &lt;em&gt;bar</span>
+<span id="LC2" class="line" lang="plaintext">baz&lt;/em&gt;&lt;/h1&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="856:1-859:13" dir="auto">The contents are the result of parsing the headings's raw
+content as inlines. The heading's raw content is formed by
+concatenating the lines and removing initial and final
+[whitespace].</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="861:1-865:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> Foo *bar</span>
+<span id="LC2" class="line" lang="plaintext">baz*→</span>
+<span id="LC3" class="line" lang="plaintext">====</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="867:1-870:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h1&gt;Foo &lt;em&gt;bar</span>
+<span id="LC2" class="line" lang="plaintext">baz&lt;/em&gt;&lt;/h1&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="873:1-873:34" dir="auto">The underlining can be any length:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="875:1-881:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
+<span id="LC2" class="line" lang="plaintext">-------------------------</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">Foo</span>
+<span id="LC5" class="line" lang="plaintext">=</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="883:1-886:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h2&gt;Foo&lt;/h2&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;h1&gt;Foo&lt;/h1&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="889:1-890:33" dir="auto">The heading content can be indented up to three spaces, and need
+not line up with the underlining:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="892:1-901:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> Foo</span>
+<span id="LC2" class="line" lang="plaintext">---</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext"> Foo</span>
+<span id="LC5" class="line" lang="plaintext">-----</span>
+<span id="LC6" class="line" lang="plaintext"></span>
+<span id="LC7" class="line" lang="plaintext"> Foo</span>
+<span id="LC8" class="line" lang="plaintext"> ===</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="903:1-907:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h2&gt;Foo&lt;/h2&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;h2&gt;Foo&lt;/h2&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;h1&gt;Foo&lt;/h1&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="910:1-910:31" dir="auto">Four spaces indent is too much:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="912:1-918:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> Foo</span>
+<span id="LC2" class="line" lang="plaintext"> ---</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext"> Foo</span>
+<span id="LC5" class="line" lang="plaintext">---</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="920:1-927:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;Foo</span>
+<span id="LC2" class="line" lang="plaintext">---</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">Foo</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="930:1-931:25" dir="auto">The setext heading underline can be indented up to three spaces, and
+may have trailing spaces:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="933:1-936:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
+<span id="LC2" class="line" lang="plaintext"> ---- </span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="938:1-940:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h2&gt;Foo&lt;/h2&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="943:1-943:24" dir="auto">Four spaces is too much:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="945:1-948:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
+<span id="LC2" class="line" lang="plaintext"> ---</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="950:1-953:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;Foo</span>
+<span id="LC2" class="line" lang="plaintext">---&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="956:1-956:60" dir="auto">The setext heading underline cannot contain internal spaces:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="958:1-964:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
+<span id="LC2" class="line" lang="plaintext">= =</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">Foo</span>
+<span id="LC5" class="line" lang="plaintext">--- -</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="966:1-971:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;Foo</span>
+<span id="LC2" class="line" lang="plaintext">= =&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;Foo&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="974:1-974:62" dir="auto">Trailing spaces in the content line do not cause a line break:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="976:1-979:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo </span>
+<span id="LC2" class="line" lang="plaintext">-----</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="981:1-983:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h2&gt;Foo&lt;/h2&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="986:1-986:32" dir="auto">Nor does a backslash at the end:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="988:1-991:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo\</span>
+<span id="LC2" class="line" lang="plaintext">----</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="993:1-995:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h2&gt;Foo\&lt;/h2&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="998:1-999:66" dir="auto">Since indicators of block structure take precedence over
+indicators of inline structure, the following are setext headings:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1001:1-1009:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`Foo</span>
+<span id="LC2" class="line" lang="plaintext">----</span>
+<span id="LC3" class="line" lang="plaintext">`</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">&lt;a title="a lot</span>
+<span id="LC6" class="line" lang="plaintext">---</span>
+<span id="LC7" class="line" lang="plaintext">of dashes"/&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1011:1-1016:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h2&gt;`Foo&lt;/h2&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;`&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;h2&gt;&amp;lt;a title=&amp;quot;a lot&lt;/h2&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;of dashes&amp;quot;/&amp;gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1019:1-1020:36" dir="auto">The setext heading underline cannot be a [lazy continuation
+line] in a list item or block quote:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1022:1-1025:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; Foo</span>
+<span id="LC2" class="line" lang="plaintext">---</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1027:1-1032:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;Foo&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1035:1-1039:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; foo</span>
+<span id="LC2" class="line" lang="plaintext">bar</span>
+<span id="LC3" class="line" lang="plaintext">===</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1041:1-1047:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;foo</span>
+<span id="LC3" class="line" lang="plaintext">bar</span>
+<span id="LC4" class="line" lang="plaintext">===&lt;/p&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1050:1-1053:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- Foo</span>
+<span id="LC2" class="line" lang="plaintext">---</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1055:1-1060:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;Foo&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1063:1-1065:25" dir="auto">A blank line is needed between a paragraph and a following
+setext heading, since otherwise the paragraph becomes part
+of the heading's content:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1067:1-1071:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
+<span id="LC2" class="line" lang="plaintext">Bar</span>
+<span id="LC3" class="line" lang="plaintext">---</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1073:1-1076:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h2&gt;Foo</span>
+<span id="LC2" class="line" lang="plaintext">Bar&lt;/h2&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1079:1-1080:16" dir="auto">But in general a blank line is not required before or after
+setext headings:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1082:1-1089:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">---</span>
+<span id="LC2" class="line" lang="plaintext">Foo</span>
+<span id="LC3" class="line" lang="plaintext">---</span>
+<span id="LC4" class="line" lang="plaintext">Bar</span>
+<span id="LC5" class="line" lang="plaintext">---</span>
+<span id="LC6" class="line" lang="plaintext">Baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1091:1-1096:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;hr /&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;h2&gt;Foo&lt;/h2&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;h2&gt;Bar&lt;/h2&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;Baz&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1099:1-1099:32" dir="auto">Setext headings cannot be empty:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1101:1-1104:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"></span>
+<span id="LC2" class="line" lang="plaintext">====</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1106:1-1108:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;====&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1111:1-1113:55" dir="auto">Setext heading text lines must not be interpretable as block
+constructs other than paragraphs. So, the line of dashes
+in these examples gets interpreted as a thematic break:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1115:1-1118:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">---</span>
+<span id="LC2" class="line" lang="plaintext">---</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1120:1-1123:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;hr /&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1126:1-1129:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
+<span id="LC2" class="line" lang="plaintext">-----</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1131:1-1136:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1139:1-1142:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> foo</span>
+<span id="LC2" class="line" lang="plaintext">---</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1144:1-1148:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1151:1-1154:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; foo</span>
+<span id="LC2" class="line" lang="plaintext">-----</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1156:1-1161:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1164:1-1165:22" dir="auto">If you want a heading with <code>&gt; foo</code> as its literal text, you can
+use backslash escapes:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1167:1-1170:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">\&gt; foo</span>
+<span id="LC2" class="line" lang="plaintext">------</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1172:1-1174:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h2&gt;&amp;gt; foo&lt;/h2&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1177:1-1179:48" dir="auto"><strong>Compatibility note:</strong> Most existing Markdown implementations
+do not allow the text of setext headings to span multiple lines.
+But there is no consensus about how to interpret</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1181:1-1186:3" lang="markdown" class="code highlight js-syntax-highlight language-markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown">Foo</span>
+<span id="LC2" class="line" lang="markdown"><span class="gh">bar</span></span>
+<span id="LC3" class="line" lang="markdown"><span class="gh">---</span></span>
+<span id="LC4" class="line" lang="markdown">baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1188:1-1188:44" dir="auto">One can find four different interpretations:</p>
+<ol data-sourcepos="1190:1-1194:0" dir="auto">
+<li data-sourcepos="1190:1-1190:50">paragraph "Foo", heading "bar", paragraph "baz"</li>
+<li data-sourcepos="1191:1-1191:55">paragraph "Foo bar", thematic break, paragraph "baz"</li>
+<li data-sourcepos="1192:1-1192:30">paragraph "Foo bar --- baz"</li>
+<li data-sourcepos="1193:1-1194:0">heading "Foo bar", paragraph "baz"</li>
+</ol>
+<p data-sourcepos="1195:1-1198:43" dir="auto">We find interpretation 4 most natural, and interpretation 4
+increases the expressive power of CommonMark, by allowing
+multiline headings. Authors who want interpretation 1 can
+put a blank line after the first paragraph:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1200:1-1206:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">bar</span>
+<span id="LC4" class="line" lang="plaintext">---</span>
+<span id="LC5" class="line" lang="plaintext">baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1208:1-1212:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;Foo&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;h2&gt;bar&lt;/h2&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;baz&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1215:1-1216:19" dir="auto">Authors who want interpretation 2 can put blank lines around
+the thematic break,</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1218:1-1225:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
+<span id="LC2" class="line" lang="plaintext">bar</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">---</span>
+<span id="LC5" class="line" lang="plaintext"></span>
+<span id="LC6" class="line" lang="plaintext">baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1227:1-1232:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;Foo</span>
+<span id="LC2" class="line" lang="plaintext">bar&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;hr /&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;baz&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1235:1-1236:19" dir="auto">or use a thematic break that cannot count as a [setext heading
+underline], such as</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1238:1-1243:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
+<span id="LC2" class="line" lang="plaintext">bar</span>
+<span id="LC3" class="line" lang="plaintext">* * *</span>
+<span id="LC4" class="line" lang="plaintext">baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1245:1-1250:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;Foo</span>
+<span id="LC2" class="line" lang="plaintext">bar&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;hr /&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;baz&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1253:1-1253:60" dir="auto">Authors who want interpretation 3 can use backslash escapes:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1255:1-1260:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
+<span id="LC2" class="line" lang="plaintext">bar</span>
+<span id="LC3" class="line" lang="plaintext">\---</span>
+<span id="LC4" class="line" lang="plaintext">baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1262:1-1267:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;Foo</span>
+<span id="LC2" class="line" lang="plaintext">bar</span>
+<span id="LC3" class="line" lang="plaintext">---</span>
+<span id="LC4" class="line" lang="plaintext">baz&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="1270:1-1270:23" dir="auto">
+<a id="user-content-indented-code-blocks" class="anchor" href="#indented-code-blocks" aria-hidden="true"></a>Indented code blocks</h2>
+<p data-sourcepos="1272:1-1278:44" dir="auto">An <a href="@">indented code block</a> is composed of one or more
+[indented chunks] separated by blank lines.
+An <a href="@">indented chunk</a> is a sequence of non-blank lines,
+each indented four or more spaces. The contents of the code block are
+the literal contents of the lines, including trailing
+[line endings], minus four spaces of indentation.
+An indented code block has no [info string].</p>
+<p data-sourcepos="1280:1-1283:11" dir="auto">An indented code block cannot interrupt a paragraph, so there must be
+a blank line between a paragraph and a following indented code block.
+(A blank line is not needed, however, between a code block and a following
+paragraph.)</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1285:1-1288:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> a simple</span>
+<span id="LC2" class="line" lang="plaintext"> indented code block</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1290:1-1294:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;a simple</span>
+<span id="LC2" class="line" lang="plaintext"> indented code block</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1297:1-1299:65" dir="auto">If there is any ambiguity between an interpretation of indentation
+as a code block and as indicating that material belongs to a [list
+item][list items], the list item interpretation takes precedence:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1301:1-1305:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> - foo</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1307:1-1314:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1317:1-1321:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. foo</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> - bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1323:1-1332:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1336:1-1337:12" dir="auto">The contents of a code block are literal text, and do not get parsed
+as Markdown:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1339:1-1344:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> &lt;a/&gt;</span>
+<span id="LC2" class="line" lang="plaintext"> *hi*</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext"> - one</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1346:1-1352:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&amp;lt;a/&amp;gt;</span>
+<span id="LC2" class="line" lang="plaintext">*hi*</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">- one</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1355:1-1355:51" dir="auto">Here we have three chunks separated by blank lines:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1357:1-1365:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> chunk1</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> chunk2</span>
+<span id="LC4" class="line" lang="plaintext"> </span>
+<span id="LC5" class="line" lang="plaintext"> </span>
+<span id="LC6" class="line" lang="plaintext"> </span>
+<span id="LC7" class="line" lang="plaintext"> chunk3</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1367:1-1376:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;chunk1</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">chunk2</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext"></span>
+<span id="LC6" class="line" lang="plaintext"></span>
+<span id="LC7" class="line" lang="plaintext">chunk3</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1379:1-1380:24" dir="auto">Any initial spaces beyond four will be included in the content, even
+in interior blank lines:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1382:1-1386:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> chunk1</span>
+<span id="LC2" class="line" lang="plaintext"> </span>
+<span id="LC3" class="line" lang="plaintext"> chunk2</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1388:1-1393:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;chunk1</span>
+<span id="LC2" class="line" lang="plaintext"> </span>
+<span id="LC3" class="line" lang="plaintext"> chunk2</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1396:1-1397:37" dir="auto">An indented code block cannot interrupt a paragraph. (This
+allows hanging indents and the like.)</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1399:1-1403:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
+<span id="LC2" class="line" lang="plaintext"> bar</span>
+<span id="LC3" class="line" lang="plaintext"></span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1405:1-1408:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;Foo</span>
+<span id="LC2" class="line" lang="plaintext">bar&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1411:1-1413:20" dir="auto">However, any non-blank line with fewer than four leading spaces ends
+the code block immediately. So a paragraph may occur immediately
+after indented code:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1415:1-1418:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> foo</span>
+<span id="LC2" class="line" lang="plaintext">bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1420:1-1424:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1427:1-1428:7" dir="auto">And indented code can occur immediately before and after other kinds of
+blocks:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1430:1-1437:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"># Heading</span>
+<span id="LC2" class="line" lang="plaintext"> foo</span>
+<span id="LC3" class="line" lang="plaintext">Heading</span>
+<span id="LC4" class="line" lang="plaintext">------</span>
+<span id="LC5" class="line" lang="plaintext"> foo</span>
+<span id="LC6" class="line" lang="plaintext">----</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1439:1-1447:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h1&gt;Heading&lt;/h1&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;h2&gt;Heading&lt;/h2&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1450:1-1450:53" dir="auto">The first line can be indented more than four spaces:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1452:1-1455:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> foo</span>
+<span id="LC2" class="line" lang="plaintext"> bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1457:1-1461:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt; foo</span>
+<span id="LC2" class="line" lang="plaintext">bar</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1464:1-1465:23" dir="auto">Blank lines preceding or following an indented code block
+are not included in it:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1467:1-1473:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"></span>
+<span id="LC2" class="line" lang="plaintext"> </span>
+<span id="LC3" class="line" lang="plaintext"> foo</span>
+<span id="LC4" class="line" lang="plaintext"> </span>
+<span id="LC5" class="line" lang="plaintext"></span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1475:1-1478:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1481:1-1481:57" dir="auto">Trailing spaces are included in the code block's content:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1483:1-1485:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> foo </span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1487:1-1490:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo </span>
+<span id="LC2" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="1494:1-1494:21" dir="auto">
+<a id="user-content-fenced-code-blocks" class="anchor" href="#fenced-code-blocks" aria-hidden="true"></a>Fenced code blocks</h2>
+<p data-sourcepos="1496:1-1500:61" dir="auto">A <a href="@">code fence</a> is a sequence
+of at least three consecutive backtick characters (<code>`</code>) or
+tildes (<code>~</code>). (Tildes and backticks cannot be mixed.)
+A <a href="@">fenced code block</a>
+begins with a code fence, indented no more than three spaces.</p>
+<p data-sourcepos="1502:1-1508:34" dir="auto">The line with the opening code fence may optionally contain some text
+following the code fence; this is trimmed of leading and trailing
+whitespace and called the <a href="@">info string</a>. If the [info string] comes
+after a backtick fence, it may not contain any backtick
+characters. (The reason for this restriction is that otherwise
+some inline code would be incorrectly interpreted as the
+beginning of a fenced code block.)</p>
+<p data-sourcepos="1510:1-1517:43" dir="auto">The content of the code block consists of all subsequent lines, until
+a closing [code fence] of the same type as the code block
+began with (backticks or tildes), and with at least as many backticks
+or tildes as the opening code fence. If the leading code fence is
+indented N spaces, then up to N spaces of indentation are removed from
+each line of the content (if present). (If a content line is not
+indented, it is preserved unchanged. If it is indented less than N
+spaces, all of the indentation is removed.)</p>
+<p data-sourcepos="1519:1-1527:25" dir="auto">The closing code fence may be indented up to three spaces, and may be
+followed only by spaces, which are ignored. If the end of the
+containing block (or document) is reached and no closing code fence
+has been found, the code block contains all of the lines after the
+opening code fence until the end of the containing block (or
+document). (An alternative spec would require backtracking in the
+event that a closing code fence is not found. But this makes parsing
+much less efficient, and there seems to be no real down side to the
+behavior described here.)</p>
+<p data-sourcepos="1529:1-1530:36" dir="auto">A fenced code block may interrupt a paragraph, and does not require
+a blank line either before or after.</p>
+<p data-sourcepos="1532:1-1536:42" dir="auto">The content of a code fence is treated as literal text, not parsed
+as inlines. The first word of the [info string] is typically used to
+specify the language of the code sample, and rendered in the <code>class</code>
+attribute of the <code>code</code> tag. However, this spec does not mandate any
+particular treatment of the [info string].</p>
+<p data-sourcepos="1538:1-1538:40" dir="auto">Here is a simple example with backticks:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1540:1-1545:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```</span>
+<span id="LC2" class="line" lang="plaintext">&lt;</span>
+<span id="LC3" class="line" lang="plaintext"> &gt;</span>
+<span id="LC4" class="line" lang="plaintext">```</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1547:1-1551:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&amp;lt;</span>
+<span id="LC2" class="line" lang="plaintext"> &amp;gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1554:1-1554:12" dir="auto">With tildes:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1556:1-1561:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">~~~</span>
+<span id="LC2" class="line" lang="plaintext">&lt;</span>
+<span id="LC3" class="line" lang="plaintext"> &gt;</span>
+<span id="LC4" class="line" lang="plaintext">~~~</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1563:1-1567:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&amp;lt;</span>
+<span id="LC2" class="line" lang="plaintext"> &amp;gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1569:1-1569:41" dir="auto">Fewer than three backticks is not enough:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1571:1-1575:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">``</span>
+<span id="LC2" class="line" lang="plaintext">foo</span>
+<span id="LC3" class="line" lang="plaintext">``</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1577:1-1579:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;foo&lt;/code&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1581:1-1582:6" dir="auto">The closing code fence must use the same character as the opening
+fence:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1584:1-1589:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```</span>
+<span id="LC2" class="line" lang="plaintext">aaa</span>
+<span id="LC3" class="line" lang="plaintext">~~~</span>
+<span id="LC4" class="line" lang="plaintext">```</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1591:1-1595:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
+<span id="LC2" class="line" lang="plaintext">~~~</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1598:1-1603:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">~~~</span>
+<span id="LC2" class="line" lang="plaintext">aaa</span>
+<span id="LC3" class="line" lang="plaintext">```</span>
+<span id="LC4" class="line" lang="plaintext">~~~</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1605:1-1609:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
+<span id="LC2" class="line" lang="plaintext">```</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1612:1-1612:69" dir="auto">The closing code fence must be at least as long as the opening fence:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1614:1-1619:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">````</span>
+<span id="LC2" class="line" lang="plaintext">aaa</span>
+<span id="LC3" class="line" lang="plaintext">```</span>
+<span id="LC4" class="line" lang="plaintext">``````</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1621:1-1625:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
+<span id="LC2" class="line" lang="plaintext">```</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1628:1-1633:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">~~~~</span>
+<span id="LC2" class="line" lang="plaintext">aaa</span>
+<span id="LC3" class="line" lang="plaintext">~~~</span>
+<span id="LC4" class="line" lang="plaintext">~~~~</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1635:1-1639:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
+<span id="LC2" class="line" lang="plaintext">~~~</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1642:1-1643:74" dir="auto">Unclosed code blocks are closed by the end of the document
+(or the enclosing [block quote][block quotes] or [list item][list items]):</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1645:1-1647:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1649:1-1651:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1654:1-1659:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`````</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">```</span>
+<span id="LC4" class="line" lang="plaintext">aaa</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1661:1-1666:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;</span>
+<span id="LC2" class="line" lang="plaintext">```</span>
+<span id="LC3" class="line" lang="plaintext">aaa</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1669:1-1674:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; ```</span>
+<span id="LC2" class="line" lang="plaintext">&gt; aaa</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">bbb</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1676:1-1682:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;p&gt;bbb&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1685:1-1685:53" dir="auto">A code block can have all empty lines as its content:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1687:1-1692:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> </span>
+<span id="LC4" class="line" lang="plaintext">```</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1694:1-1698:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;</span>
+<span id="LC2" class="line" lang="plaintext"> </span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1701:1-1701:26" dir="auto">A code block can be empty:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1703:1-1706:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```</span>
+<span id="LC2" class="line" lang="plaintext">```</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1708:1-1710:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1713:1-1715:11" dir="auto">Fences can be indented. If the opening fence is indented,
+content lines will have equivalent opening indentation removed,
+if present:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1717:1-1722:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> ```</span>
+<span id="LC2" class="line" lang="plaintext"> aaa</span>
+<span id="LC3" class="line" lang="plaintext">aaa</span>
+<span id="LC4" class="line" lang="plaintext">```</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1724:1-1728:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
+<span id="LC2" class="line" lang="plaintext">aaa</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1731:1-1737:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> ```</span>
+<span id="LC2" class="line" lang="plaintext">aaa</span>
+<span id="LC3" class="line" lang="plaintext"> aaa</span>
+<span id="LC4" class="line" lang="plaintext">aaa</span>
+<span id="LC5" class="line" lang="plaintext"> ```</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1739:1-1744:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
+<span id="LC2" class="line" lang="plaintext">aaa</span>
+<span id="LC3" class="line" lang="plaintext">aaa</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1747:1-1753:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> ```</span>
+<span id="LC2" class="line" lang="plaintext"> aaa</span>
+<span id="LC3" class="line" lang="plaintext"> aaa</span>
+<span id="LC4" class="line" lang="plaintext"> aaa</span>
+<span id="LC5" class="line" lang="plaintext"> ```</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1755:1-1760:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
+<span id="LC2" class="line" lang="plaintext"> aaa</span>
+<span id="LC3" class="line" lang="plaintext">aaa</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1763:1-1763:56" dir="auto">Four spaces indentation produces an indented code block:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1765:1-1769:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> ```</span>
+<span id="LC2" class="line" lang="plaintext"> aaa</span>
+<span id="LC3" class="line" lang="plaintext"> ```</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1771:1-1776:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;```</span>
+<span id="LC2" class="line" lang="plaintext">aaa</span>
+<span id="LC3" class="line" lang="plaintext">```</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1779:1-1780:41" dir="auto">Closing fences may be indented by 0-3 spaces, and their indentation
+need not match that of the opening fence:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1782:1-1786:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```</span>
+<span id="LC2" class="line" lang="plaintext">aaa</span>
+<span id="LC3" class="line" lang="plaintext"> ```</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1788:1-1791:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1794:1-1798:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> ```</span>
+<span id="LC2" class="line" lang="plaintext">aaa</span>
+<span id="LC3" class="line" lang="plaintext"> ```</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1800:1-1803:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1806:1-1806:61" dir="auto">This is not a closing fence, because it is indented 4 spaces:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1808:1-1812:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```</span>
+<span id="LC2" class="line" lang="plaintext">aaa</span>
+<span id="LC3" class="line" lang="plaintext"> ```</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1814:1-1818:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
+<span id="LC2" class="line" lang="plaintext"> ```</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1822:1-1822:65" dir="auto">Code fences (opening and closing) cannot contain internal spaces:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1824:1-1827:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">``` ```</span>
+<span id="LC2" class="line" lang="plaintext">aaa</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1829:1-1832:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt; &lt;/code&gt;</span>
+<span id="LC2" class="line" lang="plaintext">aaa&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1835:1-1839:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">~~~~~~</span>
+<span id="LC2" class="line" lang="plaintext">aaa</span>
+<span id="LC3" class="line" lang="plaintext">~~~ ~~</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1841:1-1845:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
+<span id="LC2" class="line" lang="plaintext">~~~ ~~</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1848:1-1849:53" dir="auto">Fenced code blocks can interrupt paragraphs, and can be followed
+directly by paragraphs, without a blank line between:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1851:1-1857:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span>
+<span id="LC2" class="line" lang="plaintext">```</span>
+<span id="LC3" class="line" lang="plaintext">bar</span>
+<span id="LC4" class="line" lang="plaintext">```</span>
+<span id="LC5" class="line" lang="plaintext">baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1859:1-1864:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;bar</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;baz&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1867:1-1868:34" dir="auto">Other blocks can also occur before and after fenced code blocks
+without an intervening blank line:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1870:1-1877:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span>
+<span id="LC2" class="line" lang="plaintext">---</span>
+<span id="LC3" class="line" lang="plaintext">~~~</span>
+<span id="LC4" class="line" lang="plaintext">bar</span>
+<span id="LC5" class="line" lang="plaintext">~~~</span>
+<span id="LC6" class="line" lang="plaintext"># baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1879:1-1884:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h2&gt;foo&lt;/h2&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;bar</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;h1&gt;baz&lt;/h1&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1887:1-1892:45" dir="auto">An [info string] can be provided after the opening code fence.
+Although this spec doesn't mandate any particular treatment of
+the info string, the first word is typically used to specify
+the language of the code block. In HTML output, the language is
+normally indicated by adding a class to the <code>code</code> element consisting
+of <code>language-</code> followed by the language name.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1894:1-1900:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```ruby</span>
+<span id="LC2" class="line" lang="plaintext">def foo(x)</span>
+<span id="LC3" class="line" lang="plaintext"> return 3</span>
+<span id="LC4" class="line" lang="plaintext">end</span>
+<span id="LC5" class="line" lang="plaintext">```</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1902:1-1907:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code class="language-ruby"&gt;def foo(x)</span>
+<span id="LC2" class="line" lang="plaintext"> return 3</span>
+<span id="LC3" class="line" lang="plaintext">end</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1910:1-1916:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">~~~~ ruby startline=3 $%@#$</span>
+<span id="LC2" class="line" lang="plaintext">def foo(x)</span>
+<span id="LC3" class="line" lang="plaintext"> return 3</span>
+<span id="LC4" class="line" lang="plaintext">end</span>
+<span id="LC5" class="line" lang="plaintext">~~~~~~~</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1918:1-1923:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code class="language-ruby"&gt;def foo(x)</span>
+<span id="LC2" class="line" lang="plaintext"> return 3</span>
+<span id="LC3" class="line" lang="plaintext">end</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1926:1-1929:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">````;</span>
+<span id="LC2" class="line" lang="plaintext">````</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1931:1-1933:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code class="language-;"&gt;&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1936:1-1936:65" dir="auto">[Info strings] for backtick code blocks cannot contain backticks:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1938:1-1941:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">``` aa ```</span>
+<span id="LC2" class="line" lang="plaintext">foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1943:1-1946:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;aa&lt;/code&gt;</span>
+<span id="LC2" class="line" lang="plaintext">foo&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1949:1-1949:70" dir="auto">[Info strings] for tilde code blocks can contain backticks and tildes:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1951:1-1955:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">~~~ aa ``` ~~~</span>
+<span id="LC2" class="line" lang="plaintext">foo</span>
+<span id="LC3" class="line" lang="plaintext">~~~</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1957:1-1960:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code class="language-aa"&gt;foo</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="1963:1-1963:47" dir="auto">Closing code fences cannot have [info strings]:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1965:1-1969:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```</span>
+<span id="LC2" class="line" lang="plaintext">``` aaa</span>
+<span id="LC3" class="line" lang="plaintext">```</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1971:1-1974:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;``` aaa</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="1978:1-1978:14" dir="auto">
+<a id="user-content-html-blocks" class="anchor" href="#html-blocks" aria-hidden="true"></a>HTML blocks</h2>
+<p data-sourcepos="1980:1-1981:53" dir="auto">An <a href="@">HTML block</a> is a group of lines that is treated
+as raw HTML (and will not be escaped in HTML output).</p>
+<p data-sourcepos="1983:1-1991:50" dir="auto">There are seven kinds of [HTML block], which can be defined by their
+start and end conditions. The block begins with a line that meets a
+<a href="@">start condition</a> (after up to three spaces optional indentation).
+It ends with the first subsequent line that meets a matching <a href="@">end
+condition</a>, or the last line of the document, or the last line of
+the <a href="#container-blocks">container block</a> containing the current HTML
+block, if no line is encountered that meets the [end condition]. If
+the first line meets both the [start condition] and the [end
+condition], the block will contain just that line.</p>
+<ol data-sourcepos="1993:1-2034:0" dir="auto">
+<li data-sourcepos="1993:1-1999:0">
+<p data-sourcepos="1993:5-1998:30"><strong>Start condition:</strong> line begins with the string <code>&lt;script</code>,
+<code>&lt;pre</code>, or <code>&lt;style</code> (case-insensitive), followed by whitespace,
+the string <code>&gt;</code>, or the end of the line.<br>
+<strong>End condition:</strong> line contains an end tag
+<code>&lt;/script&gt;</code>, <code>&lt;/pre&gt;</code>, or <code>&lt;/style&gt;</code> (case-insensitive; it
+need not match the start tag).</p>
+</li>
+<li data-sourcepos="2000:1-2002:0">
+<p data-sourcepos="2000:5-2001:51"><strong>Start condition:</strong> line begins with the string <code>&lt;!--</code>.<br>
+<strong>End condition:</strong> line contains the string <code>--&gt;</code>.</p>
+</li>
+<li data-sourcepos="2003:1-2005:0">
+<p data-sourcepos="2003:5-2004:49"><strong>Start condition:</strong> line begins with the string <code>&lt;?</code>.<br>
+<strong>End condition:</strong> line contains the string <code>?&gt;</code>.</p>
+</li>
+<li data-sourcepos="2006:1-2009:0">
+<p data-sourcepos="2006:5-2008:51"><strong>Start condition:</strong> line begins with the string <code>&lt;!</code>
+followed by an uppercase ASCII letter.<br>
+<strong>End condition:</strong> line contains the character <code>&gt;</code>.</p>
+</li>
+<li data-sourcepos="2010:1-2013:0">
+<p data-sourcepos="2010:5-2012:50"><strong>Start condition:</strong> line begins with the string
+<code>&lt;![CDATA[</code>.<br>
+<strong>End condition:</strong> line contains the string <code>]]&gt;</code>.</p>
+</li>
+<li data-sourcepos="2014:1-2028:0">
+<p data-sourcepos="2014:5-2027:54"><strong>Start condition:</strong> line begins the string <code>&lt;</code> or <code>&lt;/</code>
+followed by one of the strings (case-insensitive) <code>address</code>,
+<code>article</code>, <code>aside</code>, <code>base</code>, <code>basefont</code>, <code>blockquote</code>, <code>body</code>,
+<code>caption</code>, <code>center</code>, <code>col</code>, <code>colgroup</code>, <code>dd</code>, <code>details</code>, <code>dialog</code>,
+<code>dir</code>, <code>div</code>, <code>dl</code>, <code>dt</code>, <code>fieldset</code>, <code>figcaption</code>, <code>figure</code>,
+<code>footer</code>, <code>form</code>, <code>frame</code>, <code>frameset</code>,
+<code>h1</code>, <code>h2</code>, <code>h3</code>, <code>h4</code>, <code>h5</code>, <code>h6</code>, <code>head</code>, <code>header</code>, <code>hr</code>,
+<code>html</code>, <code>iframe</code>, <code>legend</code>, <code>li</code>, <code>link</code>, <code>main</code>, <code>menu</code>, <code>menuitem</code>,
+<code>nav</code>, <code>noframes</code>, <code>ol</code>, <code>optgroup</code>, <code>option</code>, <code>p</code>, <code>param</code>,
+<code>section</code>, <code>summary</code>, <code>table</code>, <code>tbody</code>, <code>td</code>,
+<code>tfoot</code>, <code>th</code>, <code>thead</code>, <code>title</code>, <code>tr</code>, <code>track</code>, <code>ul</code>, followed
+by [whitespace], the end of the line, the string <code>&gt;</code>, or
+the string <code>/&gt;</code>.<br>
+<strong>End condition:</strong> line is followed by a [blank line].</p>
+</li>
+<li data-sourcepos="2029:1-2034:0">
+<p data-sourcepos="2029:5-2033:54"><strong>Start condition:</strong> line begins with a complete [open tag]
+(with any [tag name] other than <code>script</code>,
+<code>style</code>, or <code>pre</code>) or a complete [closing tag],
+followed only by [whitespace] or the end of the line.<br>
+<strong>End condition:</strong> line is followed by a [blank line].</p>
+</li>
+</ol>
+<p data-sourcepos="2035:1-2040:19" dir="auto">HTML blocks continue until they are closed by their appropriate
+[end condition], or the last line of the document or other <a href="#container-blocks">container
+block</a>. This means any HTML <strong>within an HTML
+block</strong> that might otherwise be recognised as a start condition will
+be ignored by the parser and passed through as-is, without changing
+the parser's state.</p>
+<p data-sourcepos="2042:1-2044:51" dir="auto">For instance, <code>&lt;pre&gt;</code> within a HTML block started by <code>&lt;table&gt;</code> will not affect
+the parser state; as the HTML block was started in by start condition 6, it
+will end at any blank line. This can be surprising:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2046:1-2054:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;&lt;tr&gt;&lt;td&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;pre&gt;</span>
+<span id="LC3" class="line" lang="plaintext">**Hello**,</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">_world_.</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/pre&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2056:1-2063:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;&lt;tr&gt;&lt;td&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;pre&gt;</span>
+<span id="LC3" class="line" lang="plaintext">**Hello**,</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;world&lt;/em&gt;.</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/pre&gt;&lt;/p&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2065:1-2067:55" dir="auto">In this case, the HTML block is terminated by the newline — the <code>**Hello**</code>
+text remains verbatim — and regular parsing resumes, with a paragraph,
+emphasised <code>world</code> and inline and block HTML following.</p>
+<p data-sourcepos="2069:1-2072:65" dir="auto">All types of [HTML blocks] except type 7 may interrupt
+a paragraph. Blocks of type 7 may not interrupt a paragraph.
+(This restriction is intended to prevent unwanted interpretation
+of long tags inside a wrapped paragraph as starting HTML blocks.)</p>
+<p data-sourcepos="2074:1-2075:10" dir="auto">Some simple examples follow. Here are some basic HTML blocks
+of type 6:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2077:1-2087:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;</span>
+<span id="LC2" class="line" lang="plaintext"> &lt;tr&gt;</span>
+<span id="LC3" class="line" lang="plaintext"> &lt;td&gt;</span>
+<span id="LC4" class="line" lang="plaintext"> hi</span>
+<span id="LC5" class="line" lang="plaintext"> &lt;/td&gt;</span>
+<span id="LC6" class="line" lang="plaintext"> &lt;/tr&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/table&gt;</span>
+<span id="LC8" class="line" lang="plaintext"></span>
+<span id="LC9" class="line" lang="plaintext">okay.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2089:1-2098:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;</span>
+<span id="LC2" class="line" lang="plaintext"> &lt;tr&gt;</span>
+<span id="LC3" class="line" lang="plaintext"> &lt;td&gt;</span>
+<span id="LC4" class="line" lang="plaintext"> hi</span>
+<span id="LC5" class="line" lang="plaintext"> &lt;/td&gt;</span>
+<span id="LC6" class="line" lang="plaintext"> &lt;/tr&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/table&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;p&gt;okay.&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2101:1-2105:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> &lt;div&gt;</span>
+<span id="LC2" class="line" lang="plaintext"> *hello*</span>
+<span id="LC3" class="line" lang="plaintext"> &lt;foo&gt;&lt;a&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2107:1-2111:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> &lt;div&gt;</span>
+<span id="LC2" class="line" lang="plaintext"> *hello*</span>
+<span id="LC3" class="line" lang="plaintext"> &lt;foo&gt;&lt;a&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2114:1-2114:42" dir="auto">A block can also start with a closing tag:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2116:1-2119:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;/div&gt;</span>
+<span id="LC2" class="line" lang="plaintext">*foo*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2121:1-2124:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;/div&gt;</span>
+<span id="LC2" class="line" lang="plaintext">*foo*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2127:1-2127:68" dir="auto">Here we have two HTML blocks with a Markdown paragraph between them:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2129:1-2135:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;DIV CLASS="foo"&gt;</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">*Markdown*</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">&lt;/DIV&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2137:1-2141:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;DIV CLASS="foo"&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;Markdown&lt;/em&gt;&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/DIV&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2144:1-2145:47" dir="auto">The tag on the first line can be partial, as long
+as it is split where there would be whitespace:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2147:1-2151:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div id="foo"</span>
+<span id="LC2" class="line" lang="plaintext"> class="bar"&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/div&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2153:1-2157:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div id="foo"</span>
+<span id="LC2" class="line" lang="plaintext"> class="bar"&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/div&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2160:1-2164:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div id="foo" class="bar</span>
+<span id="LC2" class="line" lang="plaintext"> baz"&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/div&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2166:1-2170:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div id="foo" class="bar</span>
+<span id="LC2" class="line" lang="plaintext"> baz"&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/div&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2173:1-2173:31" dir="auto">An open tag need not be closed:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2174:1-2179:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div&gt;</span>
+<span id="LC2" class="line" lang="plaintext">*foo*</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">*bar*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2181:1-2185:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div&gt;</span>
+<span id="LC2" class="line" lang="plaintext">*foo*</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;bar&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2189:1-2190:17" dir="auto">A partial tag need not even be completed (garbage
+in, garbage out):</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2192:1-2195:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div id="foo"</span>
+<span id="LC2" class="line" lang="plaintext">*hi*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2197:1-2200:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div id="foo"</span>
+<span id="LC2" class="line" lang="plaintext">*hi*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2203:1-2206:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div class</span>
+<span id="LC2" class="line" lang="plaintext">foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2208:1-2211:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div class</span>
+<span id="LC2" class="line" lang="plaintext">foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2214:1-2215:35" dir="auto">The initial tag doesn't even need to be a valid
+tag, as long as it starts like one:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2217:1-2220:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div *???-&amp;&amp;&amp;-&lt;---</span>
+<span id="LC2" class="line" lang="plaintext">*foo*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2222:1-2225:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div *???-&amp;&amp;&amp;-&lt;---</span>
+<span id="LC2" class="line" lang="plaintext">*foo*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2228:1-2229:7" dir="auto">In type 6 blocks, the initial tag need not be on a line by
+itself:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2231:1-2233:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div&gt;&lt;a href="bar"&gt;*foo*&lt;/a&gt;&lt;/div&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2235:1-2237:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div&gt;&lt;a href="bar"&gt;*foo*&lt;/a&gt;&lt;/div&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2240:1-2244:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;&lt;tr&gt;&lt;td&gt;</span>
+<span id="LC2" class="line" lang="plaintext">foo</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2246:1-2250:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;&lt;tr&gt;&lt;td&gt;</span>
+<span id="LC2" class="line" lang="plaintext">foo</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2253:1-2257:43" dir="auto">Everything until the next blank line or end of document
+gets included in the HTML block. So, in the following
+example, what looks like a Markdown code block
+is actually part of the HTML block, which continues until a blank
+line or the end of the document is reached:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2259:1-2264:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div&gt;&lt;/div&gt;</span>
+<span id="LC2" class="line" lang="plaintext">``` c</span>
+<span id="LC3" class="line" lang="plaintext">int x = 33;</span>
+<span id="LC4" class="line" lang="plaintext">```</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2266:1-2271:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div&gt;&lt;/div&gt;</span>
+<span id="LC2" class="line" lang="plaintext">``` c</span>
+<span id="LC3" class="line" lang="plaintext">int x = 33;</span>
+<span id="LC4" class="line" lang="plaintext">```</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2274:1-2276:51" dir="auto">To start an [HTML block] with a tag that is <em>not</em> in the
+list of block-level tags in (6), you must put the tag by
+itself on the first line (and it must be complete):</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2278:1-2282:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a href="foo"&gt;</span>
+<span id="LC2" class="line" lang="plaintext">*bar*</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/a&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2284:1-2288:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a href="foo"&gt;</span>
+<span id="LC2" class="line" lang="plaintext">*bar*</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/a&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2291:1-2291:49" dir="auto">In type 7 blocks, the [tag name] can be anything:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2293:1-2297:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;Warning&gt;</span>
+<span id="LC2" class="line" lang="plaintext">*bar*</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/Warning&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2299:1-2303:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;Warning&gt;</span>
+<span id="LC2" class="line" lang="plaintext">*bar*</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/Warning&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2306:1-2310:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;i class="foo"&gt;</span>
+<span id="LC2" class="line" lang="plaintext">*bar*</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/i&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2312:1-2316:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;i class="foo"&gt;</span>
+<span id="LC2" class="line" lang="plaintext">*bar*</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/i&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2319:1-2322:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;/ins&gt;</span>
+<span id="LC2" class="line" lang="plaintext">*bar*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2324:1-2327:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;/ins&gt;</span>
+<span id="LC2" class="line" lang="plaintext">*bar*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2330:1-2334:59" dir="auto">These rules are designed to allow us to work with tags that
+can function as either block-level or inline-level tags.
+The <code>&lt;del&gt;</code> tag is a nice example. We can surround content with
+<code>&lt;del&gt;</code> tags in three different ways. In this case, we get a raw
+HTML block, because the <code>&lt;del&gt;</code> tag is on a line by itself:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2336:1-2340:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;del&gt;</span>
+<span id="LC2" class="line" lang="plaintext">*foo*</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/del&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2342:1-2346:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;del&gt;</span>
+<span id="LC2" class="line" lang="plaintext">*foo*</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/del&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2349:1-2351:54" dir="auto">In this case, we get a raw HTML block that just includes
+the <code>&lt;del&gt;</code> tag (because it ends with the following blank
+line). So the contents get interpreted as CommonMark:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2353:1-2359:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;del&gt;</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">*foo*</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">&lt;/del&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2361:1-2365:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;del&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;/em&gt;&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/del&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2368:1-2371:29" dir="auto">Finally, in this case, the <code>&lt;del&gt;</code> tags are interpreted
+as [raw HTML] <em>inside</em> the CommonMark paragraph. (Because
+the tag is not on a line by itself, we get inline HTML
+rather than an [HTML block].)</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2373:1-2375:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;del&gt;*foo*&lt;/del&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2377:1-2379:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;del&gt;&lt;em&gt;foo&lt;/em&gt;&lt;/del&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2382:1-2387:50" dir="auto">HTML tags designed to contain literal content
+(<code>script</code>, <code>style</code>, <code>pre</code>), comments, processing instructions,
+and declarations are treated somewhat differently.
+Instead of ending at the first blank line, these blocks
+end at the first line containing a corresponding end tag.
+As a result, these blocks can contain blank lines:</p>
+<p data-sourcepos="2389:1-2389:19" dir="auto">A pre tag (type 1):</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2391:1-2399:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre language="haskell"&gt;&lt;code&gt;</span>
+<span id="LC2" class="line" lang="plaintext">import Text.HTML.TagSoup</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">main :: IO ()</span>
+<span id="LC5" class="line" lang="plaintext">main = print $ parseTags tags</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC7" class="line" lang="plaintext">okay</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2401:1-2409:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre language="haskell"&gt;&lt;code&gt;</span>
+<span id="LC2" class="line" lang="plaintext">import Text.HTML.TagSoup</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">main :: IO ()</span>
+<span id="LC5" class="line" lang="plaintext">main = print $ parseTags tags</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;p&gt;okay&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2412:1-2412:22" dir="auto">A script tag (type 1):</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2414:1-2421:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;script type="text/javascript"&gt;</span>
+<span id="LC2" class="line" lang="plaintext">// JavaScript example</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">document.getElementById("demo").innerHTML = "Hello JavaScript!";</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/script&gt;</span>
+<span id="LC6" class="line" lang="plaintext">okay</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2423:1-2430:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;script type="text/javascript"&gt;</span>
+<span id="LC2" class="line" lang="plaintext">// JavaScript example</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">document.getElementById("demo").innerHTML = "Hello JavaScript!";</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/script&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;p&gt;okay&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2433:1-2433:21" dir="auto">A style tag (type 1):</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2435:1-2443:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;style</span>
+<span id="LC2" class="line" lang="plaintext"> type="text/css"&gt;</span>
+<span id="LC3" class="line" lang="plaintext">h1 {color:red;}</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">p {color:blue;}</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/style&gt;</span>
+<span id="LC7" class="line" lang="plaintext">okay</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2445:1-2453:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;style</span>
+<span id="LC2" class="line" lang="plaintext"> type="text/css"&gt;</span>
+<span id="LC3" class="line" lang="plaintext">h1 {color:red;}</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">p {color:blue;}</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/style&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;p&gt;okay&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2456:1-2458:28" dir="auto">If there is no matching end tag, the block will end at the
+end of the document (or the enclosing [block quote][block quotes]
+or [list item][list items]):</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2460:1-2465:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;style</span>
+<span id="LC2" class="line" lang="plaintext"> type="text/css"&gt;</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2467:1-2472:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;style</span>
+<span id="LC2" class="line" lang="plaintext"> type="text/css"&gt;</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2475:1-2480:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; &lt;div&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&gt; foo</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2482:1-2488:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;div&gt;</span>
+<span id="LC3" class="line" lang="plaintext">foo</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2491:1-2494:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- &lt;div&gt;</span>
+<span id="LC2" class="line" lang="plaintext">- foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2496:1-2503:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;div&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2506:1-2506:56" dir="auto">The end tag can occur on the same line as the start tag:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2508:1-2511:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;style&gt;p{color:red;}&lt;/style&gt;</span>
+<span id="LC2" class="line" lang="plaintext">*foo*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2513:1-2516:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;style&gt;p{color:red;}&lt;/style&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2519:1-2522:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;!-- foo --&gt;*bar*</span>
+<span id="LC2" class="line" lang="plaintext">*baz*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2524:1-2527:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;!-- foo --&gt;*bar*</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;baz&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2530:1-2531:45" dir="auto">Note that anything on the last line after the
+end tag will be included in the [HTML block]:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2533:1-2537:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;script&gt;</span>
+<span id="LC2" class="line" lang="plaintext">foo</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/script&gt;1. *bar*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2539:1-2543:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;script&gt;</span>
+<span id="LC2" class="line" lang="plaintext">foo</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/script&gt;1. *bar*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2546:1-2546:19" dir="auto">A comment (type 2):</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2548:1-2554:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;!-- Foo</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">bar</span>
+<span id="LC4" class="line" lang="plaintext"> baz --&gt;</span>
+<span id="LC5" class="line" lang="plaintext">okay</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2556:1-2562:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;!-- Foo</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">bar</span>
+<span id="LC4" class="line" lang="plaintext"> baz --&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;p&gt;okay&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2566:1-2566:34" dir="auto">A processing instruction (type 3):</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2568:1-2575:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;?php</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> echo '&gt;';</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">?&gt;</span>
+<span id="LC6" class="line" lang="plaintext">okay</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2577:1-2584:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;?php</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> echo '&gt;';</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">?&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;p&gt;okay&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2587:1-2587:23" dir="auto">A declaration (type 4):</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2589:1-2591:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;!DOCTYPE html&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2593:1-2595:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;!DOCTYPE html&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2598:1-2598:15" dir="auto">CDATA (type 5):</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2600:1-2614:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;![CDATA[</span>
+<span id="LC2" class="line" lang="plaintext">function matchwo(a,b)</span>
+<span id="LC3" class="line" lang="plaintext">{</span>
+<span id="LC4" class="line" lang="plaintext"> if (a &lt; b &amp;&amp; a &lt; 0) then {</span>
+<span id="LC5" class="line" lang="plaintext"> return 1;</span>
+<span id="LC6" class="line" lang="plaintext"></span>
+<span id="LC7" class="line" lang="plaintext"> } else {</span>
+<span id="LC8" class="line" lang="plaintext"></span>
+<span id="LC9" class="line" lang="plaintext"> return 0;</span>
+<span id="LC10" class="line" lang="plaintext"> }</span>
+<span id="LC11" class="line" lang="plaintext">}</span>
+<span id="LC12" class="line" lang="plaintext">]]&gt;</span>
+<span id="LC13" class="line" lang="plaintext">okay</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2616:1-2630:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;![CDATA[</span>
+<span id="LC2" class="line" lang="plaintext">function matchwo(a,b)</span>
+<span id="LC3" class="line" lang="plaintext">{</span>
+<span id="LC4" class="line" lang="plaintext"> if (a &lt; b &amp;&amp; a &lt; 0) then {</span>
+<span id="LC5" class="line" lang="plaintext"> return 1;</span>
+<span id="LC6" class="line" lang="plaintext"></span>
+<span id="LC7" class="line" lang="plaintext"> } else {</span>
+<span id="LC8" class="line" lang="plaintext"></span>
+<span id="LC9" class="line" lang="plaintext"> return 0;</span>
+<span id="LC10" class="line" lang="plaintext"> }</span>
+<span id="LC11" class="line" lang="plaintext">}</span>
+<span id="LC12" class="line" lang="plaintext">]]&gt;</span>
+<span id="LC13" class="line" lang="plaintext">&lt;p&gt;okay&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2633:1-2633:54" dir="auto">The opening tag can be indented 1-3 spaces, but not 4:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2635:1-2639:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> &lt;!-- foo --&gt;</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> &lt;!-- foo --&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2641:1-2645:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> &lt;!-- foo --&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&amp;lt;!-- foo --&amp;gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2648:1-2652:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> &lt;div&gt;</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> &lt;div&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2654:1-2658:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> &lt;div&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&amp;lt;div&amp;gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2661:1-2662:25" dir="auto">An HTML block of types 1--6 can interrupt a paragraph, and need not be
+preceded by a blank line.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2664:1-2669:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
+<span id="LC2" class="line" lang="plaintext">&lt;div&gt;</span>
+<span id="LC3" class="line" lang="plaintext">bar</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/div&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2671:1-2676:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;Foo&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;div&gt;</span>
+<span id="LC3" class="line" lang="plaintext">bar</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/div&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2679:1-2681:7" dir="auto">However, a following blank line is needed, except at the end of
+a document, and except for blocks of types 1--5, [above][HTML
+block]:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2683:1-2688:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div&gt;</span>
+<span id="LC2" class="line" lang="plaintext">bar</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/div&gt;</span>
+<span id="LC4" class="line" lang="plaintext">*foo*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2690:1-2695:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div&gt;</span>
+<span id="LC2" class="line" lang="plaintext">bar</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/div&gt;</span>
+<span id="LC4" class="line" lang="plaintext">*foo*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2698:1-2698:51" dir="auto">HTML blocks of type 7 cannot interrupt a paragraph:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2700:1-2704:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
+<span id="LC2" class="line" lang="plaintext">&lt;a href="bar"&gt;</span>
+<span id="LC3" class="line" lang="plaintext">baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2706:1-2710:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;Foo</span>
+<span id="LC2" class="line" lang="plaintext">&lt;a href="bar"&gt;</span>
+<span id="LC3" class="line" lang="plaintext">baz&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2713:1-2714:26" dir="auto">This rule differs from John Gruber's original Markdown syntax
+specification, which says:</p>
+<blockquote data-sourcepos="2716:1-2719:51" dir="auto">
+<p data-sourcepos="2716:3-2719:51">The only restrictions are that block-level HTML elements —
+e.g. <code>&lt;div&gt;</code>, <code>&lt;table&gt;</code>, <code>&lt;pre&gt;</code>, <code>&lt;p&gt;</code>, etc. — must be separated from
+surrounding content by blank lines, and the start and end tags of the
+block should not be indented with tabs or spaces.</p>
+</blockquote>
+<p data-sourcepos="2721:1-2722:5" dir="auto">In some ways Gruber's rule is more restrictive than the one given
+here:</p>
+<ul data-sourcepos="2724:1-2728:0" dir="auto">
+<li data-sourcepos="2724:1-2724:61">It requires that an HTML block be preceded by a blank line.</li>
+<li data-sourcepos="2725:1-2725:49">It does not allow the start tag to be indented.</li>
+<li data-sourcepos="2726:1-2728:0">It requires a matching end tag, which it also does not allow to
+be indented.</li>
+</ul>
+<p data-sourcepos="2729:1-2730:34" dir="auto">Most Markdown implementations (including some of Gruber's own) do not
+respect all of these restrictions.</p>
+<p data-sourcepos="2732:1-2739:61" dir="auto">There is one respect, however, in which Gruber's rule is more liberal
+than the one given here, since it allows blank lines to occur inside
+an HTML block. There are two reasons for disallowing them here.
+First, it removes the need to parse balanced tags, which is
+expensive and can require backtracking from the end of the document
+if no matching end tag is found. Second, it provides a very simple
+and flexible way of including Markdown content inside HTML tags:
+simply separate the Markdown from the HTML using blank lines:</p>
+<p data-sourcepos="2741:1-2741:8" dir="auto">Compare:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2743:1-2749:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div&gt;</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">*Emphasized* text.</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">&lt;/div&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2751:1-2755:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;Emphasized&lt;/em&gt; text.&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/div&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2758:1-2762:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div&gt;</span>
+<span id="LC2" class="line" lang="plaintext">*Emphasized* text.</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/div&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2764:1-2768:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;div&gt;</span>
+<span id="LC2" class="line" lang="plaintext">*Emphasized* text.</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/div&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2771:1-2775:22" dir="auto">Some Markdown implementations have adopted a convention of
+interpreting content inside tags as text if the open tag has
+the attribute <code>markdown=1</code>. The rule given above seems a simpler and
+more elegant way of achieving the same expressive power, which is also
+much simpler to parse.</p>
+<p data-sourcepos="2777:1-2780:59" dir="auto">The main potential drawback is that one can no longer paste HTML
+blocks into Markdown documents with 100% reliability. However,
+<em>in most cases</em> this will work fine, because the blank lines in
+HTML are usually followed by HTML block tags. For example:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2782:1-2794:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">&lt;tr&gt;</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">&lt;td&gt;</span>
+<span id="LC6" class="line" lang="plaintext">Hi</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/td&gt;</span>
+<span id="LC8" class="line" lang="plaintext"></span>
+<span id="LC9" class="line" lang="plaintext">&lt;/tr&gt;</span>
+<span id="LC10" class="line" lang="plaintext"></span>
+<span id="LC11" class="line" lang="plaintext">&lt;/table&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2796:1-2804:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;tr&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;td&gt;</span>
+<span id="LC4" class="line" lang="plaintext">Hi</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/td&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/tr&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/table&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2807:1-2809:23" dir="auto">There are problems, however, if the inner tags are indented
+<em>and</em> separated by spaces, as then they will be interpreted as
+an indented code block:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2811:1-2823:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> &lt;tr&gt;</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext"> &lt;td&gt;</span>
+<span id="LC6" class="line" lang="plaintext"> Hi</span>
+<span id="LC7" class="line" lang="plaintext"> &lt;/td&gt;</span>
+<span id="LC8" class="line" lang="plaintext"></span>
+<span id="LC9" class="line" lang="plaintext"> &lt;/tr&gt;</span>
+<span id="LC10" class="line" lang="plaintext"></span>
+<span id="LC11" class="line" lang="plaintext">&lt;/table&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2825:1-2834:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;</span>
+<span id="LC2" class="line" lang="plaintext"> &lt;tr&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&amp;lt;td&amp;gt;</span>
+<span id="LC4" class="line" lang="plaintext"> Hi</span>
+<span id="LC5" class="line" lang="plaintext">&amp;lt;/td&amp;gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC7" class="line" lang="plaintext"> &lt;/tr&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/table&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2837:1-2840:26" dir="auto">Fortunately, blank lines are usually not necessary and can be
+deleted. The exception is inside <code>&lt;pre&gt;</code> tags, but as described
+[above][HTML blocks], raw HTML blocks starting with <code>&lt;pre&gt;</code>
+<em>can</em> contain blank lines.</p>
+<h2 data-sourcepos="2842:1-2842:29" dir="auto">
+<a id="user-content-link-reference-definitions" class="anchor" href="#link-reference-definitions" aria-hidden="true"></a>Link reference definitions</h2>
+<p data-sourcepos="2844:1-2852:61" dir="auto">A <a href="@">link reference definition</a>
+consists of a [link label], indented up to three spaces, followed
+by a colon (<code>:</code>), optional [whitespace] (including up to one
+[line ending]), a [link destination],
+optional [whitespace] (including up to one
+[line ending]), and an optional [link
+title], which if it is present must be separated
+from the [link destination] by [whitespace].
+No further [non-whitespace characters] may occur on the line.</p>
+<p data-sourcepos="2854:1-2859:5" dir="auto">A [link reference definition]
+does not correspond to a structural element of a document. Instead, it
+defines a label which can be used in [reference links]
+and reference-style [images] elsewhere in the document. [Link
+reference definitions] can come either before or after the links that use
+them.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2861:1-2865:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url "title"</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2867:1-2869:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2872:1-2878:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> [foo]: </span>
+<span id="LC2" class="line" lang="plaintext"> /url </span>
+<span id="LC3" class="line" lang="plaintext"> 'the title' </span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">[foo]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2880:1-2882:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="the title"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2885:1-2889:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[Foo*bar\]]:my_(url) 'title (with parens)'</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[Foo*bar\]]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2891:1-2893:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="my_(url)" title="title (with parens)"&gt;Foo*bar]&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2896:1-2902:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[Foo bar]:</span>
+<span id="LC2" class="line" lang="plaintext">&lt;my url&gt;</span>
+<span id="LC3" class="line" lang="plaintext">'title'</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">[Foo bar]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2904:1-2906:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="my%20url" title="title"&gt;Foo bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2909:1-2909:41" dir="auto">The title may extend over multiple lines:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2911:1-2919:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url '</span>
+<span id="LC2" class="line" lang="plaintext">title</span>
+<span id="LC3" class="line" lang="plaintext">line1</span>
+<span id="LC4" class="line" lang="plaintext">line2</span>
+<span id="LC5" class="line" lang="plaintext">'</span>
+<span id="LC6" class="line" lang="plaintext"></span>
+<span id="LC7" class="line" lang="plaintext">[foo]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2921:1-2927:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="</span>
+<span id="LC2" class="line" lang="plaintext">title</span>
+<span id="LC3" class="line" lang="plaintext">line1</span>
+<span id="LC4" class="line" lang="plaintext">line2</span>
+<span id="LC5" class="line" lang="plaintext">"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2930:1-2930:43" dir="auto">However, it may not contain a [blank line]:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2932:1-2938:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url 'title</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">with blank line'</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">[foo]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2940:1-2944:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[foo]: /url 'title&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;with blank line'&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;[foo]&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2947:1-2947:25" dir="auto">The title may be omitted:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2949:1-2954:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]:</span>
+<span id="LC2" class="line" lang="plaintext">/url</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">[foo]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2956:1-2958:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2961:1-2961:40" dir="auto">The link destination may not be omitted:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2963:1-2967:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]:</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2969:1-2972:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[foo]:&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;[foo]&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2974:2-2975:16" dir="auto">However, an empty link destination may be specified using
+angle brackets:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2977:1-2981:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: &lt;&gt;</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2983:1-2985:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href=""&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="2987:1-2988:11" dir="auto">The title must be separated from the link destination by
+whitespace:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2990:1-2994:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: &lt;bar&gt;(baz)</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="2996:1-2999:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[foo]: &lt;bar&gt;(baz)&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;[foo]&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3002:1-3003:24" dir="auto">Both title and destination can contain backslash escapes
+and literal backslashes:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3005:1-3009:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url\bar\*baz "foo\"bar\baz"</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3011:1-3013:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url%5Cbar*baz" title="foo&amp;quot;bar\baz"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3016:1-3016:52" dir="auto">A link can come before its corresponding definition:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3018:1-3022:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: url</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3024:1-3026:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="url"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3029:1-3030:11" dir="auto">If there are several matching definitions, the first one takes
+precedence:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3032:1-3037:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: first</span>
+<span id="LC4" class="line" lang="plaintext">[foo]: second</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3039:1-3041:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="first"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3044:1-3045:33" dir="auto">As noted in the section on [Links], matching of labels is
+case-insensitive (see [matches]).</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3047:1-3051:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[FOO]: /url</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[Foo]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3053:1-3055:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url"&gt;Foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3058:1-3062:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[ΑΓΩ]: /φου</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[αγω]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3064:1-3066:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/%CF%86%CE%BF%CF%85"&gt;αγω&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3069:1-3070:39" dir="auto">Here is a link reference definition with no corresponding link.
+It contributes nothing to the document.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3072:1-3074:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3076:1-3077:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3080:1-3080:20" dir="auto">Here is another one:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3082:1-3087:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[</span>
+<span id="LC2" class="line" lang="plaintext">foo</span>
+<span id="LC3" class="line" lang="plaintext">]: /url</span>
+<span id="LC4" class="line" lang="plaintext">bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3089:1-3091:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3094:1-3095:44" dir="auto">This is not a link reference definition, because there are
+[non-whitespace characters] after the title:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3097:1-3099:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url "title" ok</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3101:1-3103:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[foo]: /url &amp;quot;title&amp;quot; ok&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3106:1-3106:57" dir="auto">This is a link reference definition, but it has no title:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3108:1-3111:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url</span>
+<span id="LC2" class="line" lang="plaintext">"title" ok</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3113:1-3115:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&amp;quot;title&amp;quot; ok&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3118:1-3119:12" dir="auto">This is not a link reference definition, because it is indented
+four spaces:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3121:1-3125:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> [foo]: /url "title"</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3127:1-3131:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;[foo]: /url &amp;quot;title&amp;quot;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;[foo]&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3134:1-3135:13" dir="auto">This is not a link reference definition, because it occurs inside
+a code block:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3137:1-3143:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```</span>
+<span id="LC2" class="line" lang="plaintext">[foo]: /url</span>
+<span id="LC3" class="line" lang="plaintext">```</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">[foo]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3145:1-3149:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;[foo]: /url</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;[foo]&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3152:1-3152:59" dir="auto">A [link reference definition] cannot interrupt a paragraph.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3154:1-3159:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
+<span id="LC2" class="line" lang="plaintext">[bar]: /baz</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">[bar]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3161:1-3165:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;Foo</span>
+<span id="LC2" class="line" lang="plaintext">[bar]: /baz&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;[bar]&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3168:1-3169:65" dir="auto">However, it can directly follow other block elements, such as headings
+and thematic breaks, and it need not be followed by a blank line.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3171:1-3175:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"># [Foo]</span>
+<span id="LC2" class="line" lang="plaintext">[foo]: /url</span>
+<span id="LC3" class="line" lang="plaintext">&gt; bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3177:1-3182:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h1&gt;&lt;a href="/url"&gt;Foo&lt;/a&gt;&lt;/h1&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3184:1-3189:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url</span>
+<span id="LC2" class="line" lang="plaintext">bar</span>
+<span id="LC3" class="line" lang="plaintext">===</span>
+<span id="LC4" class="line" lang="plaintext">[foo]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3191:1-3194:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h1&gt;bar&lt;/h1&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3196:1-3200:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url</span>
+<span id="LC2" class="line" lang="plaintext">===</span>
+<span id="LC3" class="line" lang="plaintext">[foo]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3202:1-3205:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;===</span>
+<span id="LC2" class="line" lang="plaintext">&lt;a href="/url"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3208:1-3209:61" dir="auto">Several [link reference definitions]
+can occur one after another, without intervening blank lines.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3211:1-3220:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /foo-url "foo"</span>
+<span id="LC2" class="line" lang="plaintext">[bar]: /bar-url</span>
+<span id="LC3" class="line" lang="plaintext"> "bar"</span>
+<span id="LC4" class="line" lang="plaintext">[baz]: /baz-url</span>
+<span id="LC5" class="line" lang="plaintext"></span>
+<span id="LC6" class="line" lang="plaintext">[foo],</span>
+<span id="LC7" class="line" lang="plaintext">[bar],</span>
+<span id="LC8" class="line" lang="plaintext">[baz]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3222:1-3226:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/foo-url" title="foo"&gt;foo&lt;/a&gt;,</span>
+<span id="LC2" class="line" lang="plaintext">&lt;a href="/bar-url" title="bar"&gt;bar&lt;/a&gt;,</span>
+<span id="LC3" class="line" lang="plaintext">&lt;a href="/baz-url"&gt;baz&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3229:1-3232:12" dir="auto">[Link reference definitions] can occur
+inside block containers, like lists and block quotations. They
+affect the entire document, not just the container in which they
+are defined:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3234:1-3238:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">&gt; [foo]: /url</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3240:1-3244:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url"&gt;foo&lt;/a&gt;&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3247:1-3251:19" dir="auto">Whether something is a [link reference definition] is
+independent of whether the link reference it defines is
+used in the document. Thus, for example, the following
+document contains just a link reference definition, and
+no visible content:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3253:1-3255:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3257:1-3258:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="3261:1-3261:13" dir="auto">
+<a id="user-content-paragraphs" class="anchor" href="#paragraphs" aria-hidden="true"></a>Paragraphs</h2>
+<p data-sourcepos="3263:1-3268:13" dir="auto">A sequence of non-blank lines that cannot be interpreted as other
+kinds of blocks forms a <a href="@">paragraph</a>.
+The contents of the paragraph are the result of parsing the
+paragraph's raw content as inlines. The paragraph's raw content
+is formed by concatenating the lines and removing initial and final
+[whitespace].</p>
+<p data-sourcepos="3270:1-3270:37" dir="auto">A simple example with two paragraphs:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3272:1-3276:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">bbb</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3278:1-3281:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;aaa&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;bbb&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3284:1-3284:58" dir="auto">Paragraphs can contain multiple lines, but no blank lines:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3286:1-3292:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
+<span id="LC2" class="line" lang="plaintext">bbb</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">ccc</span>
+<span id="LC5" class="line" lang="plaintext">ddd</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3294:1-3299:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;aaa</span>
+<span id="LC2" class="line" lang="plaintext">bbb&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;ccc</span>
+<span id="LC4" class="line" lang="plaintext">ddd&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3302:1-3302:54" dir="auto">Multiple blank lines between paragraph have no effect:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3304:1-3309:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">bbb</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3311:1-3314:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;aaa&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;bbb&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3317:1-3317:27" dir="auto">Leading spaces are skipped:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3319:1-3322:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> aaa</span>
+<span id="LC2" class="line" lang="plaintext"> bbb</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3324:1-3327:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;aaa</span>
+<span id="LC2" class="line" lang="plaintext">bbb&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3330:1-3331:40" dir="auto">Lines after the first may be indented any amount, since indented
+code blocks cannot interrupt paragraphs.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3333:1-3337:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa</span>
+<span id="LC2" class="line" lang="plaintext"> bbb</span>
+<span id="LC3" class="line" lang="plaintext"> ccc</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3339:1-3343:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;aaa</span>
+<span id="LC2" class="line" lang="plaintext">bbb</span>
+<span id="LC3" class="line" lang="plaintext">ccc&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3346:1-3347:44" dir="auto">However, the first line may be indented at most three spaces,
+or an indented code block will be triggered:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3349:1-3352:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> aaa</span>
+<span id="LC2" class="line" lang="plaintext">bbb</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3354:1-3357:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;aaa</span>
+<span id="LC2" class="line" lang="plaintext">bbb&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3360:1-3363:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> aaa</span>
+<span id="LC2" class="line" lang="plaintext">bbb</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3365:1-3369:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;aaa</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;bbb&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3372:1-3374:7" dir="auto">Final spaces are stripped before inline parsing, so a paragraph
+that ends with two or more spaces will not end with a [hard line
+break]:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3376:1-3379:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aaa </span>
+<span id="LC2" class="line" lang="plaintext">bbb </span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3381:1-3384:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;aaa&lt;br /&gt;</span>
+<span id="LC2" class="line" lang="plaintext">bbb&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="3387:1-3387:14" dir="auto">
+<a id="user-content-blank-lines" class="anchor" href="#blank-lines" aria-hidden="true"></a>Blank lines</h2>
+<p data-sourcepos="3389:1-3391:22" dir="auto">[Blank lines] between block-level elements are ignored,
+except for the role they play in determining whether a [list]
+is [tight] or [loose].</p>
+<p data-sourcepos="3393:1-3393:70" dir="auto">Blank lines at the beginning and end of the document are also ignored.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3395:1-3404:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> </span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">aaa</span>
+<span id="LC4" class="line" lang="plaintext"> </span>
+<span id="LC5" class="line" lang="plaintext"></span>
+<span id="LC6" class="line" lang="plaintext"># aaa</span>
+<span id="LC7" class="line" lang="plaintext"></span>
+<span id="LC8" class="line" lang="plaintext"> </span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3406:1-3409:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;aaa&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;h1&gt;aaa&lt;/h1&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div>
+<h2 data-sourcepos="3413:1-3413:21">
+<a id="user-content-tables-extension" class="anchor" href="#tables-extension" aria-hidden="true"></a>Tables (extension)</h2>
+<p data-sourcepos="3415:1-3416:10">GFM enables the <code>table</code> extension, where an additional leaf block type is
+available.</p>
+<p data-sourcepos="3418:1-3420:23">A <a href="@">table</a> is an arrangement of data with rows and columns, consisting of a
+single header row, a [delimiter row] separating the header from the data, and
+zero or more data rows.</p>
+<p data-sourcepos="3422:1-3426:23">Each row consists of cells containing arbitrary text, in which [inlines] are
+parsed, separated by pipes (<code>|</code>). A leading and trailing pipe is also
+recommended for clarity of reading, and if there's otherwise parsing ambiguity.
+Spaces between pipes and cell content are trimmed. Block-level elements cannot
+be inserted in a table.</p>
+<p data-sourcepos="3428:1-3430:40">The <a href="@">delimiter row</a> consists of cells whose only content are hyphens (<code>-</code>),
+and optionally, a leading or trailing colon (<code>:</code>), or both, to indicate left,
+right, or center alignment respectively.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3432:1-3436:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">| foo | bar |</span>
+<span id="LC2" class="line" lang="plaintext">| --- | --- |</span>
+<span id="LC3" class="line" lang="plaintext">| baz | bim |</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3438:1-3453:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;thead&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;tr&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;th&gt;foo&lt;/th&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;th&gt;bar&lt;/th&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/tr&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/thead&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;tbody&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;tr&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;td&gt;baz&lt;/td&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;td&gt;bim&lt;/td&gt;</span>
+<span id="LC12" class="line" lang="plaintext">&lt;/tr&gt;</span>
+<span id="LC13" class="line" lang="plaintext">&lt;/tbody&gt;</span>
+<span id="LC14" class="line" lang="plaintext">&lt;/table&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3455:1-3456:74">Cells in one column don't need to match length, though it's easier to read if
+they are. Likewise, use of leading and trailing pipes may be inconsistent:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3458:1-3462:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">| abc | defghi |</span>
+<span id="LC2" class="line" lang="plaintext">:-: | -----------:</span>
+<span id="LC3" class="line" lang="plaintext">bar | baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3464:1-3479:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;thead&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;tr&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;th align="center"&gt;abc&lt;/th&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;th align="right"&gt;defghi&lt;/th&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/tr&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/thead&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;tbody&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;tr&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;td align="center"&gt;bar&lt;/td&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;td align="right"&gt;baz&lt;/td&gt;</span>
+<span id="LC12" class="line" lang="plaintext">&lt;/tr&gt;</span>
+<span id="LC13" class="line" lang="plaintext">&lt;/tbody&gt;</span>
+<span id="LC14" class="line" lang="plaintext">&lt;/table&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3481:1-3482:13">Include a pipe in a cell's content by escaping it, including inside other
+inline spans:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3484:1-3489:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">| f\|oo |</span>
+<span id="LC2" class="line" lang="plaintext">| ------ |</span>
+<span id="LC3" class="line" lang="plaintext">| b `\|` az |</span>
+<span id="LC4" class="line" lang="plaintext">| b **\|** im |</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3491:1-3507:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;thead&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;tr&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;th&gt;f|oo&lt;/th&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/tr&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/thead&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;tbody&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;tr&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;td&gt;b &lt;code&gt;|&lt;/code&gt; az&lt;/td&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/tr&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;tr&gt;</span>
+<span id="LC12" class="line" lang="plaintext">&lt;td&gt;b &lt;strong&gt;|&lt;/strong&gt; im&lt;/td&gt;</span>
+<span id="LC13" class="line" lang="plaintext">&lt;/tr&gt;</span>
+<span id="LC14" class="line" lang="plaintext">&lt;/tbody&gt;</span>
+<span id="LC15" class="line" lang="plaintext">&lt;/table&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3509:1-3510:22">The table is broken at the first empty line, or beginning of another
+block-level structure:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3512:1-3517:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">| abc | def |</span>
+<span id="LC2" class="line" lang="plaintext">| --- | --- |</span>
+<span id="LC3" class="line" lang="plaintext">| bar | baz |</span>
+<span id="LC4" class="line" lang="plaintext">&gt; bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3519:1-3537:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;thead&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;tr&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;th&gt;abc&lt;/th&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;th&gt;def&lt;/th&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/tr&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/thead&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;tbody&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;tr&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;td&gt;bar&lt;/td&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;td&gt;baz&lt;/td&gt;</span>
+<span id="LC12" class="line" lang="plaintext">&lt;/tr&gt;</span>
+<span id="LC13" class="line" lang="plaintext">&lt;/tbody&gt;</span>
+<span id="LC14" class="line" lang="plaintext">&lt;/table&gt;</span>
+<span id="LC15" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC16" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
+<span id="LC17" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3539:1-3546:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">| abc | def |</span>
+<span id="LC2" class="line" lang="plaintext">| --- | --- |</span>
+<span id="LC3" class="line" lang="plaintext">| bar | baz |</span>
+<span id="LC4" class="line" lang="plaintext">bar</span>
+<span id="LC5" class="line" lang="plaintext"></span>
+<span id="LC6" class="line" lang="plaintext">bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3548:1-3568:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;thead&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;tr&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;th&gt;abc&lt;/th&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;th&gt;def&lt;/th&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/tr&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/thead&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;tbody&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;tr&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;td&gt;bar&lt;/td&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;td&gt;baz&lt;/td&gt;</span>
+<span id="LC12" class="line" lang="plaintext">&lt;/tr&gt;</span>
+<span id="LC13" class="line" lang="plaintext">&lt;tr&gt;</span>
+<span id="LC14" class="line" lang="plaintext">&lt;td&gt;bar&lt;/td&gt;</span>
+<span id="LC15" class="line" lang="plaintext">&lt;td&gt;&lt;/td&gt;</span>
+<span id="LC16" class="line" lang="plaintext">&lt;/tr&gt;</span>
+<span id="LC17" class="line" lang="plaintext">&lt;/tbody&gt;</span>
+<span id="LC18" class="line" lang="plaintext">&lt;/table&gt;</span>
+<span id="LC19" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3570:1-3571:31">The header row must match the [delimiter row] in the number of cells. If not,
+a table will not be recognized:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3573:1-3577:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">| abc | def |</span>
+<span id="LC2" class="line" lang="plaintext">| --- |</span>
+<span id="LC3" class="line" lang="plaintext">| bar |</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3579:1-3583:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;| abc | def |</span>
+<span id="LC2" class="line" lang="plaintext">| --- |</span>
+<span id="LC3" class="line" lang="plaintext">| bar |&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3585:1-3587:65">The remainder of the table's rows may vary in the number of cells. If there
+are a number of cells fewer than the number of cells in the header row, empty
+cells are inserted. If there are greater, the excess is ignored:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3589:1-3594:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">| abc | def |</span>
+<span id="LC2" class="line" lang="plaintext">| --- | --- |</span>
+<span id="LC3" class="line" lang="plaintext">| bar |</span>
+<span id="LC4" class="line" lang="plaintext">| bar | baz | boo |</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3596:1-3615:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;thead&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;tr&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;th&gt;abc&lt;/th&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;th&gt;def&lt;/th&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/tr&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/thead&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;tbody&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;tr&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;td&gt;bar&lt;/td&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;td&gt;&lt;/td&gt;</span>
+<span id="LC12" class="line" lang="plaintext">&lt;/tr&gt;</span>
+<span id="LC13" class="line" lang="plaintext">&lt;tr&gt;</span>
+<span id="LC14" class="line" lang="plaintext">&lt;td&gt;bar&lt;/td&gt;</span>
+<span id="LC15" class="line" lang="plaintext">&lt;td&gt;baz&lt;/td&gt;</span>
+<span id="LC16" class="line" lang="plaintext">&lt;/tr&gt;</span>
+<span id="LC17" class="line" lang="plaintext">&lt;/tbody&gt;</span>
+<span id="LC18" class="line" lang="plaintext">&lt;/table&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3617:1-3617:75">If there are no rows in the body, no <code>&lt;tbody&gt;</code> is generated in HTML output:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3619:1-3622:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">| abc | def |</span>
+<span id="LC2" class="line" lang="plaintext">| --- | --- |</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3624:1-3633:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;table&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;thead&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;tr&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;th&gt;abc&lt;/th&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;th&gt;def&lt;/th&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/tr&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/thead&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/table&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+</div>
+<h1 data-sourcepos="3637:1-3637:18" dir="auto">
+<a id="user-content-container-blocks" class="anchor" href="#container-blocks" aria-hidden="true"></a>Container blocks</h1>
+<p data-sourcepos="3639:1-3642:45" dir="auto">A <a href="#container-blocks">container block</a> is a block that has other
+blocks as its contents. There are two basic kinds of container blocks:
+[block quotes] and [list items].
+[Lists] are meta-containers for [list items].</p>
+<p data-sourcepos="3644:1-3645:26" dir="auto">We define the syntax for container blocks recursively. The general
+form of the definition is:</p>
+<blockquote data-sourcepos="3647:1-3649:35" dir="auto">
+<p data-sourcepos="3647:3-3649:35">If X is a sequence of blocks, then the result of
+transforming X in such-and-such a way is a container of type Y
+with these blocks as its content.</p>
+</blockquote>
+<p data-sourcepos="3651:1-3655:52" dir="auto">So, we explain what counts as a block quote or list item by explaining
+how these can be <em>generated</em> from their contents. This should suffice
+to define the syntax, although it does not give a recipe for <em>parsing</em>
+these constructions. (A recipe is provided below in the section entitled
+<a href="#appendix-a-parsing-strategy">A parsing strategy</a>.)</p>
+<h2 data-sourcepos="3657:1-3657:15" dir="auto">
+<a id="user-content-block-quotes" class="anchor" href="#block-quotes" aria-hidden="true"></a>Block quotes</h2>
+<p data-sourcepos="3659:1-3661:78" dir="auto">A <a href="@">block quote marker</a>
+consists of 0-3 spaces of initial indent, plus (a) the character <code>&gt;</code> together
+with a following space, or (b) a single character <code>&gt;</code> not followed by a space.</p>
+<p data-sourcepos="3663:1-3663:42" dir="auto">The following rules define [block quotes]:</p>
+<ol data-sourcepos="3665:1-3682:0" dir="auto">
+<li data-sourcepos="3665:1-3669:0">
+<p data-sourcepos="3665:5-3668:54"><strong>Basic case.</strong> If a string of lines <em>Ls</em> constitute a sequence
+of blocks <em>Bs</em>, then the result of prepending a [block quote
+marker] to the beginning of each line in <em>Ls</em>
+is a <a href="#block-quotes">block quote</a> containing <em>Bs</em>.</p>
+</li>
+<li data-sourcepos="3670:1-3679:0">
+<p data-sourcepos="3670:5-3678:48"><strong>Laziness.</strong> If a string of lines <em>Ls</em> constitute a <a href="#block-quotes">block
+quote</a> with contents <em>Bs</em>, then the result of deleting
+the initial [block quote marker] from one or
+more lines in which the next [non-whitespace character] after the [block
+quote marker] is [paragraph continuation
+text] is a block quote with <em>Bs</em> as its content.
+<a href="@">Paragraph continuation text</a> is text
+that will be parsed as part of the content of a paragraph, but does
+not occur at the beginning of the paragraph.</p>
+</li>
+<li data-sourcepos="3680:1-3682:0">
+<p data-sourcepos="3680:5-3681:65"><strong>Consecutiveness.</strong> A document cannot contain two [block
+quotes] in a row unless there is a [blank line] between them.</p>
+</li>
+</ol>
+<p data-sourcepos="3683:1-3683:54" dir="auto">Nothing else counts as a <a href="#block-quotes">block quote</a>.</p>
+<p data-sourcepos="3685:1-3685:25" dir="auto">Here is a simple example:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3687:1-3691:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; # Foo</span>
+<span id="LC2" class="line" lang="plaintext">&gt; bar</span>
+<span id="LC3" class="line" lang="plaintext">&gt; baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3693:1-3699:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;h1&gt;Foo&lt;/h1&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;bar</span>
+<span id="LC4" class="line" lang="plaintext">baz&lt;/p&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3702:1-3702:51" dir="auto">The spaces after the <code>&gt;</code> characters can be omitted:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3704:1-3708:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt;# Foo</span>
+<span id="LC2" class="line" lang="plaintext">&gt;bar</span>
+<span id="LC3" class="line" lang="plaintext">&gt; baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3710:1-3716:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;h1&gt;Foo&lt;/h1&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;bar</span>
+<span id="LC4" class="line" lang="plaintext">baz&lt;/p&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3719:1-3719:46" dir="auto">The <code>&gt;</code> characters can be indented 1-3 spaces:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3721:1-3725:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> &gt; # Foo</span>
+<span id="LC2" class="line" lang="plaintext"> &gt; bar</span>
+<span id="LC3" class="line" lang="plaintext"> &gt; baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3727:1-3733:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;h1&gt;Foo&lt;/h1&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;bar</span>
+<span id="LC4" class="line" lang="plaintext">baz&lt;/p&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3736:1-3736:34" dir="auto">Four spaces gives us a code block:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3738:1-3742:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> &gt; # Foo</span>
+<span id="LC2" class="line" lang="plaintext"> &gt; bar</span>
+<span id="LC3" class="line" lang="plaintext"> &gt; baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3744:1-3749:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&amp;gt; # Foo</span>
+<span id="LC2" class="line" lang="plaintext">&amp;gt; bar</span>
+<span id="LC3" class="line" lang="plaintext">&amp;gt; baz</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3752:1-3753:30" dir="auto">The Laziness clause allows us to omit the <code>&gt;</code> before
+[paragraph continuation text]:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3755:1-3759:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; # Foo</span>
+<span id="LC2" class="line" lang="plaintext">&gt; bar</span>
+<span id="LC3" class="line" lang="plaintext">baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3761:1-3767:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;h1&gt;Foo&lt;/h1&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;bar</span>
+<span id="LC4" class="line" lang="plaintext">baz&lt;/p&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3770:1-3771:19" dir="auto">A block quote can contain some lazy and some non-lazy
+continuation lines:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3773:1-3777:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; bar</span>
+<span id="LC2" class="line" lang="plaintext">baz</span>
+<span id="LC3" class="line" lang="plaintext">&gt; foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3779:1-3785:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;bar</span>
+<span id="LC3" class="line" lang="plaintext">baz</span>
+<span id="LC4" class="line" lang="plaintext">foo&lt;/p&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3788:1-3790:61" dir="auto">Laziness only applies to lines that would have been continuations of
+paragraphs had they been prepended with [block quote markers].
+For example, the <code>&gt; </code> cannot be omitted in the second line of</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3792:1-3795:3" lang="markdown" class="code highlight js-syntax-highlight language-markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="gt">&gt; foo</span></span>
+<span id="LC2" class="line" lang="markdown"><span class="gt">&gt; ---</span></span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3797:1-3797:29" dir="auto">without changing the meaning:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3799:1-3802:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; foo</span>
+<span id="LC2" class="line" lang="plaintext">---</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3804:1-3809:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;hr /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3812:1-3812:52" dir="auto">Similarly, if we omit the <code>&gt; </code> in the second line of</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3814:1-3817:3" lang="markdown" class="code highlight js-syntax-highlight language-markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="gt">&gt; - foo</span></span>
+<span id="LC2" class="line" lang="markdown"><span class="gt">&gt; - bar</span></span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3819:1-3819:47" dir="auto">then the block quote ends after the first line:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3821:1-3824:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; - foo</span>
+<span id="LC2" class="line" lang="plaintext">- bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3826:1-3835:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3838:1-3839:53" dir="auto">For the same reason, we can't omit the <code>&gt; </code> in front of
+subsequent lines of an indented or fenced code block:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3841:1-3844:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; foo</span>
+<span id="LC2" class="line" lang="plaintext"> bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3846:1-3853:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;bar</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3856:1-3860:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; ```</span>
+<span id="LC2" class="line" lang="plaintext">foo</span>
+<span id="LC3" class="line" lang="plaintext">```</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3862:1-3868:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3871:1-3872:19" dir="auto">Note that in the following case, we have a [lazy
+continuation line]:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3874:1-3877:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; foo</span>
+<span id="LC2" class="line" lang="plaintext"> - bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3879:1-3884:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;foo</span>
+<span id="LC3" class="line" lang="plaintext">- bar&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3887:1-3887:24" dir="auto">To see why, note that in</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3889:1-3892:3" lang="markdown" class="code highlight js-syntax-highlight language-markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="gt">&gt; foo</span></span>
+<span id="LC2" class="line" lang="markdown"><span class="gt">&gt; - bar</span></span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3894:1-3896:61" dir="auto">the <code>- bar</code> is indented too far to start a list, and can't
+be an indented code block because indented code blocks cannot
+interrupt paragraphs, so it is [paragraph continuation text].</p>
+<p data-sourcepos="3898:1-3898:27" dir="auto">A block quote can be empty:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3900:1-3902:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3904:1-3907:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3910:1-3914:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&gt; </span>
+<span id="LC3" class="line" lang="plaintext">&gt; </span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3916:1-3919:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3922:1-3922:52" dir="auto">A block quote can have initial or final blank lines:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3924:1-3928:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&gt; foo</span>
+<span id="LC3" class="line" lang="plaintext">&gt; </span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3930:1-3934:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3937:1-3937:43" dir="auto">A blank line always separates block quotes:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3939:1-3943:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; foo</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">&gt; bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3945:1-3952:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3955:1-3958:44" dir="auto">(Most current Markdown implementations, including John Gruber's
+original <code>Markdown.pl</code>, will parse this example as a single block quote
+with two paragraphs. But it seems better to allow the author to decide
+whether two block quotes or one are wanted.)</p>
+<p data-sourcepos="3960:1-3961:28" dir="auto">Consecutiveness means that if we put these block quotes together,
+we get a single block quote:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3963:1-3966:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; foo</span>
+<span id="LC2" class="line" lang="plaintext">&gt; bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3968:1-3973:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;foo</span>
+<span id="LC3" class="line" lang="plaintext">bar&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3976:1-3976:46" dir="auto">To get a block quote with two paragraphs, use:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3978:1-3982:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; foo</span>
+<span id="LC2" class="line" lang="plaintext">&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&gt; bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3984:1-3989:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="3992:1-3992:38" dir="auto">Block quotes can interrupt paragraphs:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3994:1-3997:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span>
+<span id="LC2" class="line" lang="plaintext">&gt; bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="3999:1-4004:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4007:1-4008:7" dir="auto">In general, blank lines are not needed before or after block
+quotes:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4010:1-4014:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; aaa</span>
+<span id="LC2" class="line" lang="plaintext">***</span>
+<span id="LC3" class="line" lang="plaintext">&gt; bbb</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4016:1-4024:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;aaa&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;hr /&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;p&gt;bbb&lt;/p&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4027:1-4028:40" dir="auto">However, because of laziness, a blank line is needed between
+a block quote and a following paragraph:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4030:1-4033:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; bar</span>
+<span id="LC2" class="line" lang="plaintext">baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4035:1-4040:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;bar</span>
+<span id="LC3" class="line" lang="plaintext">baz&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4043:1-4047:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; bar</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4049:1-4054:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;baz&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4057:1-4061:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; bar</span>
+<span id="LC2" class="line" lang="plaintext">&gt;</span>
+<span id="LC3" class="line" lang="plaintext">baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4063:1-4068:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;baz&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4071:1-4073:19" dir="auto">It is a consequence of the Laziness rule that any number
+of initial <code>&gt;</code>s may be omitted on a continuation line of a
+nested block quote:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4075:1-4078:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; &gt; &gt; foo</span>
+<span id="LC2" class="line" lang="plaintext">bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4080:1-4089:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;foo</span>
+<span id="LC5" class="line" lang="plaintext">bar&lt;/p&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4092:1-4096:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt;&gt;&gt; foo</span>
+<span id="LC2" class="line" lang="plaintext">&gt; bar</span>
+<span id="LC3" class="line" lang="plaintext">&gt;&gt;baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4098:1-4108:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;foo</span>
+<span id="LC5" class="line" lang="plaintext">bar</span>
+<span id="LC6" class="line" lang="plaintext">baz&lt;/p&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4111:1-4114:8" dir="auto">When including an indented code block in a block quote,
+remember that the [block quote marker] includes
+both the <code>&gt;</code> and a following space. So <em>five spaces</em> are needed after
+the <code>&gt;</code>:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4116:1-4120:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; code</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">&gt; not code</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4122:1-4130:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;code</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;p&gt;not code&lt;/p&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="4134:1-4134:13" dir="auto">
+<a id="user-content-list-items" class="anchor" href="#list-items" aria-hidden="true"></a>List items</h2>
+<p data-sourcepos="4136:1-4137:49" dir="auto">A <a href="@">list marker</a> is a
+[bullet list marker] or an [ordered list marker].</p>
+<p data-sourcepos="4139:1-4140:32" dir="auto">A <a href="@">bullet list marker</a>
+is a <code>-</code>, <code>+</code>, or <code>*</code> character.</p>
+<p data-sourcepos="4142:1-4146:18" dir="auto">An <a href="@">ordered list marker</a>
+is a sequence of 1--9 arabic digits (<code>0-9</code>), followed by either a
+<code>.</code> character or a <code>)</code> character. (The reason for the length
+limit is that with 10 digits we start seeing integer overflows
+in some browsers.)</p>
+<p data-sourcepos="4148:1-4148:40" dir="auto">The following rules define [list items]:</p>
+<ol data-sourcepos="4150:1-4169:0" dir="auto">
+<li data-sourcepos="4150:1-4169:0">
+<p data-sourcepos="4150:5-4158:45"><strong>Basic case.</strong> If a sequence of lines <em>Ls</em> constitute a sequence of
+blocks <em>Bs</em> starting with a [non-whitespace character], and <em>M</em> is a
+list marker of width <em>W</em> followed by 1 ≤ <em>N</em> ≤ 4 spaces, then the result
+of prepending <em>M</em> and the following spaces to the first line of
+<em>Ls</em>, and indenting subsequent lines of <em>Ls</em> by <em>W + N</em> spaces, is a
+list item with <em>Bs</em> as its contents. The type of the list item
+(bullet or ordered) is determined by the type of its list marker.
+If the list item is ordered, then it is also assigned a start
+number, based on the ordered list marker.</p>
+<p data-sourcepos="4160:5-4160:15">Exceptions:</p>
+<ol data-sourcepos="4162:5-4169:0">
+<li data-sourcepos="4162:5-4166:57">When the first list item in a [list] interrupts
+a paragraph---that is, when it starts on a line that would
+otherwise count as [paragraph continuation text]---then (a)
+the lines <em>Ls</em> must not begin with a blank line, and (b) if
+the list item is ordered, the start number must be 1.</li>
+<li data-sourcepos="4167:5-4169:0">If any line is a [thematic break][thematic breaks] then
+that line is not a list item.</li>
+</ol>
+</li>
+</ol>
+<p data-sourcepos="4170:1-4170:34" dir="auto">For example, let <em>Ls</em> be the lines</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4172:1-4179:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">A paragraph</span>
+<span id="LC2" class="line" lang="plaintext">with two lines.</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext"> indented code</span>
+<span id="LC5" class="line" lang="plaintext"></span>
+<span id="LC6" class="line" lang="plaintext">&gt; A block quote.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4181:1-4189:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;A paragraph</span>
+<span id="LC2" class="line" lang="plaintext">with two lines.&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;indented code</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;p&gt;A block quote.&lt;/p&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4192:1-4194:30" dir="auto">And let <em>M</em> be the marker <code>1.</code>, and <em>N</em> = 2. Then rule #1 says
+that the following is an ordered list item with start number 1,
+and the same contents as <em>Ls</em>:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4196:1-4203:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. A paragraph</span>
+<span id="LC2" class="line" lang="plaintext"> with two lines.</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext"> indented code</span>
+<span id="LC5" class="line" lang="plaintext"></span>
+<span id="LC6" class="line" lang="plaintext"> &gt; A block quote.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4205:1-4217:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;A paragraph</span>
+<span id="LC4" class="line" lang="plaintext">with two lines.&lt;/p&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;indented code</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;p&gt;A block quote.&lt;/p&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4220:1-4226:5" dir="auto">The most important thing to notice is that the position of
+the text after the list marker determines how much indentation
+is needed in subsequent blocks in the list item. If the list
+marker takes up two spaces, and there are three spaces between
+the list marker and the next [non-whitespace character], then blocks
+must be indented five spaces in order to fall under the list
+item.</p>
+<p data-sourcepos="4228:1-4229:24" dir="auto">Here are some examples showing how far content must be indented to be
+put under the list item:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4231:1-4235:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- one</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> two</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4237:1-4242:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;one&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;two&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4245:1-4249:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- one</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> two</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4251:1-4258:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;one&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;two&lt;/p&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4261:1-4265:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> - one</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> two</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4267:1-4273:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;one&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt; two</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4276:1-4280:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> - one</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> two</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4282:1-4289:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;one&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;two&lt;/p&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4292:1-4298:13" dir="auto">It is tempting to think of this in terms of columns: the continuation
+blocks must be indented at least to the column of the first
+[non-whitespace character] after the list marker. However, that is not quite right.
+The spaces after the list marker determine how much relative indentation
+is needed. Which column this indentation reaches will depend on
+how the list item is embedded in other constructions, as shown by
+this example:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4300:1-4304:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> &gt; &gt; 1. one</span>
+<span id="LC2" class="line" lang="plaintext">&gt;&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&gt;&gt; two</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4306:1-4317:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;p&gt;one&lt;/p&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;p&gt;two&lt;/p&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/ol&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4320:1-4322:67" dir="auto">Here <code>two</code> occurs in the same column as the list marker <code>1.</code>,
+but is actually contained in the list item, because there is
+sufficient indentation after the last containing blockquote marker.</p>
+<p data-sourcepos="4324:1-4327:38" dir="auto">The converse is also possible. In the following example, the word <code>two</code>
+occurs far to the right of the initial text of the list item, <code>one</code>, but
+it is not considered part of the list item, because it is not indented
+far enough past the blockquote marker:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4329:1-4333:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt;&gt;- one</span>
+<span id="LC2" class="line" lang="plaintext">&gt;&gt;</span>
+<span id="LC3" class="line" lang="plaintext"> &gt; &gt; two</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4335:1-4344:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;li&gt;one&lt;/li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;p&gt;two&lt;/p&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4347:1-4348:51" dir="auto">Note that at least one space is needed between the list marker and
+any following content, so these are not list items:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4350:1-4354:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">-one</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">2.two</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4356:1-4359:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;-one&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;2.two&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4362:1-4363:15" dir="auto">A list item may contain blocks that are separated by more than
+one blank line.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4365:1-4370:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext"> bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4372:1-4379:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4382:1-4382:42" dir="auto">A list item may contain any kind of block:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4384:1-4394:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. foo</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> ```</span>
+<span id="LC4" class="line" lang="plaintext"> bar</span>
+<span id="LC5" class="line" lang="plaintext"> ```</span>
+<span id="LC6" class="line" lang="plaintext"></span>
+<span id="LC7" class="line" lang="plaintext"> baz</span>
+<span id="LC8" class="line" lang="plaintext"></span>
+<span id="LC9" class="line" lang="plaintext"> &gt; bam</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4396:1-4408:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;bar</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;p&gt;baz&lt;/p&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;p&gt;bam&lt;/p&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4411:1-4412:43" dir="auto">A list item that contains an indented code block will preserve
+empty lines within the code block verbatim.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4414:1-4421:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- Foo</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> bar</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext"></span>
+<span id="LC6" class="line" lang="plaintext"> baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4423:1-4434:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;Foo&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;bar</span>
+<span id="LC5" class="line" lang="plaintext"></span>
+<span id="LC6" class="line" lang="plaintext"></span>
+<span id="LC7" class="line" lang="plaintext">baz</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4436:1-4436:65" dir="auto">Note that ordered list start numbers must be nine digits or less:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4438:1-4440:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">123456789. ok</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4442:1-4446:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol start="123456789"&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;ok&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4449:1-4451:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1234567890. not ok</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4453:1-4455:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;1234567890. not ok&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4458:1-4458:33" dir="auto">A start number may begin with 0s:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4460:1-4462:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">0. ok</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4464:1-4468:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol start="0"&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;ok&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4471:1-4473:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">003. ok</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4475:1-4479:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol start="3"&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;ok&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4482:1-4482:35" dir="auto">A start number may not be negative:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4484:1-4486:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">-1. not ok</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4488:1-4490:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;-1. not ok&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<ol start="2" data-sourcepos="4494:1-4504:0" dir="auto">
+<li data-sourcepos="4494:1-4504:0">
+<strong>Item starting with indented code.</strong> If a sequence of lines <em>Ls</em>
+constitute a sequence of blocks <em>Bs</em> starting with an indented code
+block, and <em>M</em> is a list marker of width <em>W</em> followed by
+one space, then the result of prepending <em>M</em> and the following
+space to the first line of <em>Ls</em>, and indenting subsequent lines of
+<em>Ls</em> by <em>W + 1</em> spaces, is a list item with <em>Bs</em> as its contents.
+If a line is empty, then it need not be indented. The type of the
+list item (bullet or ordered) is determined by the type of its list
+marker. If the list item is ordered, then it is also assigned a
+start number, based on the ordered list marker.</li>
+</ol>
+<p data-sourcepos="4505:1-4507:39" dir="auto">An indented code block will have to be indented four spaces beyond
+the edge of the region where text will be included in the list item.
+In the following case that is 6 spaces:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4509:1-4513:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4515:1-4523:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;bar</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4526:1-4526:33" dir="auto">And in this case it is 11 spaces:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4528:1-4532:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> 10. foo</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4534:1-4542:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol start="10"&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;bar</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4545:1-4547:12" dir="auto">If the <em>first</em> block in the list item is an indented code block,
+then by rule #2, the contents must be indented <em>one</em> space after the
+list marker:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4549:1-4555:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> indented code</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">paragraph</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext"> more code</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4557:1-4563:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;indented code</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;paragraph&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;more code</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4566:1-4572:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. indented code</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> paragraph</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext"> more code</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4574:1-4584:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;indented code</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;p&gt;paragraph&lt;/p&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;more code</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4587:1-4588:22" dir="auto">Note that an additional space indent is interpreted as space
+inside the code block:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4590:1-4596:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. indented code</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> paragraph</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext"> more code</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4598:1-4608:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt; indented code</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;p&gt;paragraph&lt;/p&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;more code</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4611:1-4617:55" dir="auto">Note that rules #1 and #2 only apply to two cases: (a) cases
+in which the lines to be included in a list item begin with a
+[non-whitespace character], and (b) cases in which
+they begin with an indented code
+block. In a case like the following, where the first block begins with
+a three-space indent, the rules do not allow us to form a list item by
+indenting the whole thing and prepending a list marker:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4619:1-4623:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> foo</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4625:1-4628:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4631:1-4635:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4637:1-4642:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4645:1-4648:15" dir="auto">This is not a significant restriction, because when a block begins
+with 1-3 spaces indent, the indentation can always be removed without
+a change in interpretation, allowing rule #1 to be applied. So, in
+the above case:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4650:1-4654:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4656:1-4663:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<ol start="3" data-sourcepos="4666:1-4677:0" dir="auto">
+<li data-sourcepos="4666:1-4677:0">
+<strong>Item starting with a blank line.</strong> If a sequence of lines <em>Ls</em>
+starting with a single [blank line] constitute a (possibly empty)
+sequence of blocks <em>Bs</em>, not separated from each other by more than
+one blank line, and <em>M</em> is a list marker of width <em>W</em>,
+then the result of prepending <em>M</em> to the first line of <em>Ls</em>, and
+indenting subsequent lines of <em>Ls</em> by <em>W + 1</em> spaces, is a list
+item with <em>Bs</em> as its contents.
+If a line is empty, then it need not be indented. The type of the
+list item (bullet or ordered) is determined by the type of its list
+marker. If the list item is ordered, then it is also assigned a
+start number, based on the ordered list marker.</li>
+</ol>
+<p data-sourcepos="4678:1-4678:72" dir="auto">Here are some list items that start with a blank line but are not empty:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4680:1-4689:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">-</span>
+<span id="LC2" class="line" lang="plaintext"> foo</span>
+<span id="LC3" class="line" lang="plaintext">-</span>
+<span id="LC4" class="line" lang="plaintext"> ```</span>
+<span id="LC5" class="line" lang="plaintext"> bar</span>
+<span id="LC6" class="line" lang="plaintext"> ```</span>
+<span id="LC7" class="line" lang="plaintext">-</span>
+<span id="LC8" class="line" lang="plaintext"> baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4691:1-4703:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;bar</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;baz</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4705:1-4706:66" dir="auto">When the list item starts with a blank line, the number of spaces
+following the list marker doesn't change the required indentation:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4708:1-4711:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- </span>
+<span id="LC2" class="line" lang="plaintext"> foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4713:1-4717:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4720:1-4722:5" dir="auto">A list item can begin with at most one blank line.
+In the following example, <code>foo</code> is not part of the list
+item:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4724:1-4728:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">-</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4730:1-4735:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4738:1-4738:34" dir="auto">Here is an empty bullet list item:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4740:1-4744:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
+<span id="LC2" class="line" lang="plaintext">-</span>
+<span id="LC3" class="line" lang="plaintext">- bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4746:1-4752:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;li&gt;&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4755:1-4755:72" dir="auto">It does not matter whether there are spaces following the [list marker]:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4757:1-4761:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
+<span id="LC2" class="line" lang="plaintext">- </span>
+<span id="LC3" class="line" lang="plaintext">- bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4763:1-4769:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;li&gt;&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4772:1-4772:35" dir="auto">Here is an empty ordered list item:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4774:1-4778:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. foo</span>
+<span id="LC2" class="line" lang="plaintext">2.</span>
+<span id="LC3" class="line" lang="plaintext">3. bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4780:1-4786:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;li&gt;&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4789:1-4789:48" dir="auto">A list may start or end with an empty list item:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4791:1-4793:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4795:1-4799:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4801:1-4801:57" dir="auto">However, an empty list item cannot interrupt a paragraph:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4803:1-4809:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span>
+<span id="LC2" class="line" lang="plaintext">*</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">foo</span>
+<span id="LC5" class="line" lang="plaintext">1.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4811:1-4816:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo</span>
+<span id="LC2" class="line" lang="plaintext">*&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo</span>
+<span id="LC4" class="line" lang="plaintext">1.&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<ol start="4" data-sourcepos="4819:1-4824:0" dir="auto">
+<li data-sourcepos="4819:1-4824:0">
+<strong>Indentation.</strong> If a sequence of lines <em>Ls</em> constitutes a list item
+according to rule #1, #2, or #3, then the result of indenting each line
+of <em>Ls</em> by 1-3 spaces (the same for each line) also constitutes a
+list item with the same contents and attributes. If a line is
+empty, then it need not be indented.</li>
+</ol>
+<p data-sourcepos="4825:1-4825:19" dir="auto">Indented one space:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4827:1-4834:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> 1. A paragraph</span>
+<span id="LC2" class="line" lang="plaintext"> with two lines.</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext"> indented code</span>
+<span id="LC5" class="line" lang="plaintext"></span>
+<span id="LC6" class="line" lang="plaintext"> &gt; A block quote.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4836:1-4848:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;A paragraph</span>
+<span id="LC4" class="line" lang="plaintext">with two lines.&lt;/p&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;indented code</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;p&gt;A block quote.&lt;/p&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4851:1-4851:20" dir="auto">Indented two spaces:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4853:1-4860:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> 1. A paragraph</span>
+<span id="LC2" class="line" lang="plaintext"> with two lines.</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext"> indented code</span>
+<span id="LC5" class="line" lang="plaintext"></span>
+<span id="LC6" class="line" lang="plaintext"> &gt; A block quote.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4862:1-4874:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;A paragraph</span>
+<span id="LC4" class="line" lang="plaintext">with two lines.&lt;/p&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;indented code</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;p&gt;A block quote.&lt;/p&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4877:1-4877:22" dir="auto">Indented three spaces:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4879:1-4886:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> 1. A paragraph</span>
+<span id="LC2" class="line" lang="plaintext"> with two lines.</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext"> indented code</span>
+<span id="LC5" class="line" lang="plaintext"></span>
+<span id="LC6" class="line" lang="plaintext"> &gt; A block quote.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4888:1-4900:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;A paragraph</span>
+<span id="LC4" class="line" lang="plaintext">with two lines.&lt;/p&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;indented code</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;p&gt;A block quote.&lt;/p&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4903:1-4903:38" dir="auto">Four spaces indent gives a code block:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4905:1-4912:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> 1. A paragraph</span>
+<span id="LC2" class="line" lang="plaintext"> with two lines.</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext"> indented code</span>
+<span id="LC5" class="line" lang="plaintext"></span>
+<span id="LC6" class="line" lang="plaintext"> &gt; A block quote.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4914:1-4922:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;1. A paragraph</span>
+<span id="LC2" class="line" lang="plaintext"> with two lines.</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext"> indented code</span>
+<span id="LC5" class="line" lang="plaintext"></span>
+<span id="LC6" class="line" lang="plaintext"> &amp;gt; A block quote.</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<ol start="5" data-sourcepos="4926:1-4934:0" dir="auto">
+<li data-sourcepos="4926:1-4934:0">
+<strong>Laziness.</strong> If a string of lines <em>Ls</em> constitute a <a href="#list-items">list
+item</a> with contents <em>Bs</em>, then the result of deleting
+some or all of the indentation from one or more lines in which the
+next [non-whitespace character] after the indentation is
+[paragraph continuation text] is a
+list item with the same contents and attributes. The unindented
+lines are called
+<a href="@">lazy continuation line</a>s.</li>
+</ol>
+<p data-sourcepos="4935:1-4935:50" dir="auto">Here is an example with [lazy continuation lines]:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4937:1-4944:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> 1. A paragraph</span>
+<span id="LC2" class="line" lang="plaintext">with two lines.</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext"> indented code</span>
+<span id="LC5" class="line" lang="plaintext"></span>
+<span id="LC6" class="line" lang="plaintext"> &gt; A block quote.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4946:1-4958:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;A paragraph</span>
+<span id="LC4" class="line" lang="plaintext">with two lines.&lt;/p&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;indented code</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;p&gt;A block quote.&lt;/p&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4961:1-4961:37" dir="auto">Indentation can be partially deleted:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4963:1-4966:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> 1. A paragraph</span>
+<span id="LC2" class="line" lang="plaintext"> with two lines.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4968:1-4973:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;A paragraph</span>
+<span id="LC3" class="line" lang="plaintext">with two lines.&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="4976:1-4976:63" dir="auto">These examples show how laziness can work in nested structures:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4978:1-4981:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; 1. &gt; Blockquote</span>
+<span id="LC2" class="line" lang="plaintext">continued here.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4983:1-4994:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;p&gt;Blockquote</span>
+<span id="LC6" class="line" lang="plaintext">continued here.&lt;/p&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/ol&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="4997:1-5000:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&gt; 1. &gt; Blockquote</span>
+<span id="LC2" class="line" lang="plaintext">&gt; continued here.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5002:1-5013:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;p&gt;Blockquote</span>
+<span id="LC6" class="line" lang="plaintext">continued here.&lt;/p&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/ol&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<ol start="6" data-sourcepos="5017:1-5019:0" dir="auto">
+<li data-sourcepos="5017:1-5019:0">
+<strong>That's all.</strong> Nothing that is not counted as a list item by rules
+#1--5 counts as a <a href="#list-items">list item</a>.</li>
+</ol>
+<p data-sourcepos="5020:1-5023:17" dir="auto">The rules for sublists follow from the general rules
+[above][List items]. A sublist must be indented the same number
+of spaces a paragraph would need to be in order to be included
+in the list item.</p>
+<p data-sourcepos="5025:1-5025:43" dir="auto">So, in this case we need two spaces indent:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5027:1-5032:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
+<span id="LC2" class="line" lang="plaintext"> - bar</span>
+<span id="LC3" class="line" lang="plaintext"> - baz</span>
+<span id="LC4" class="line" lang="plaintext"> - boo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5034:1-5050:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;foo</span>
+<span id="LC3" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;li&gt;bar</span>
+<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;li&gt;baz</span>
+<span id="LC7" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;li&gt;boo&lt;/li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC12" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC13" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC14" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC15" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5053:1-5053:18" dir="auto">One is not enough:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5055:1-5060:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
+<span id="LC2" class="line" lang="plaintext"> - bar</span>
+<span id="LC3" class="line" lang="plaintext"> - baz</span>
+<span id="LC4" class="line" lang="plaintext"> - boo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5062:1-5069:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;li&gt;baz&lt;/li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;li&gt;boo&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5072:1-5072:52" dir="auto">Here we need four, because the list marker is wider:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5074:1-5077:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">10) foo</span>
+<span id="LC2" class="line" lang="plaintext"> - bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5079:1-5087:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol start="10"&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;foo</span>
+<span id="LC3" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5090:1-5090:20" dir="auto">Three is not enough:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5092:1-5095:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">10) foo</span>
+<span id="LC2" class="line" lang="plaintext"> - bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5097:1-5104:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol start="10"&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/ol&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5107:1-5107:45" dir="auto">A list may be the first block in a list item:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5109:1-5111:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- - foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5113:1-5121:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5124:1-5126:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. - 2. foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5128:1-5140:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;ol start="2"&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/ol&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5143:1-5143:34" dir="auto">A list item can contain a heading:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5145:1-5150:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- # Foo</span>
+<span id="LC2" class="line" lang="plaintext">- Bar</span>
+<span id="LC3" class="line" lang="plaintext"> ---</span>
+<span id="LC4" class="line" lang="plaintext"> baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5152:1-5161:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;h1&gt;Foo&lt;/h1&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;h2&gt;Bar&lt;/h2&gt;</span>
+<span id="LC7" class="line" lang="plaintext">baz&lt;/li&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h3 data-sourcepos="5164:1-5164:14" dir="auto">
+<a id="user-content-motivation" class="anchor" href="#motivation" aria-hidden="true"></a>Motivation</h3>
+<p data-sourcepos="5166:1-5166:64" dir="auto">John Gruber's Markdown spec says the following about list items:</p>
+<ol data-sourcepos="5168:1-5187:0" dir="auto">
+<li data-sourcepos="5168:1-5171:0">
+<p data-sourcepos="5168:4-5170:20">"List markers typically start at the left margin, but may be indented
+by up to three spaces. List markers must be followed by one or more
+spaces or a tab."</p>
+</li>
+<li data-sourcepos="5172:1-5174:0">
+<p data-sourcepos="5172:4-5173:48">"To make lists look nice, you can wrap items with hanging indents....
+But if you don't want to, you don't have to."</p>
+</li>
+<li data-sourcepos="5175:1-5178:0">
+<p data-sourcepos="5175:4-5177:8">"List items may consist of multiple paragraphs. Each subsequent
+paragraph in a list item must be indented by either 4 spaces or one
+tab."</p>
+</li>
+<li data-sourcepos="5179:1-5181:0">
+<p data-sourcepos="5179:4-5180:55">"It looks nice if you indent every line of the subsequent paragraphs,
+but here again, Markdown will allow you to be lazy."</p>
+</li>
+<li data-sourcepos="5182:1-5184:0">
+<p data-sourcepos="5182:4-5183:35">"To put a blockquote within a list item, the blockquote's <code>&gt;</code>
+delimiters need to be indented."</p>
+</li>
+<li data-sourcepos="5185:1-5187:0">
+<p data-sourcepos="5185:4-5186:44">"To put a code block within a list item, the code block needs to be
+indented twice — 8 spaces or two tabs."</p>
+</li>
+</ol>
+<p data-sourcepos="5188:1-5197:18" dir="auto">These rules specify that a paragraph under a list item must be indented
+four spaces (presumably, from the left margin, rather than the start of
+the list marker, but this is not said), and that code under a list item
+must be indented eight spaces instead of the usual four. They also say
+that a block quote must be indented, but not by how much; however, the
+example given has four spaces indentation. Although nothing is said
+about other kinds of block-level content, it is certainly reasonable to
+infer that <em>all</em> block elements under a list item, including other
+lists, must be indented four spaces. This principle has been called the
+<em>four-space rule</em>.</p>
+<p data-sourcepos="5199:1-5210:48" dir="auto">The four-space rule is clear and principled, and if the reference
+implementation <code>Markdown.pl</code> had followed it, it probably would have
+become the standard. However, <code>Markdown.pl</code> allowed paragraphs and
+sublists to start with only two spaces indentation, at least on the
+outer level. Worse, its behavior was inconsistent: a sublist of an
+outer-level list needed two spaces indentation, but a sublist of this
+sublist needed three spaces. It is not surprising, then, that different
+implementations of Markdown have developed very different rules for
+determining what comes under a list item. (Pandoc and python-Markdown,
+for example, stuck with Gruber's syntax description and the four-space
+rule, while discount, redcarpet, marked, PHP Markdown, and others
+followed <code>Markdown.pl</code>'s behavior more closely.)</p>
+<p data-sourcepos="5212:1-5217:45" dir="auto">Unfortunately, given the divergences between implementations, there
+is no way to give a spec for list items that will be guaranteed not
+to break any existing documents. However, the spec given here should
+correctly handle lists formatted with either the four-space rule or
+the more forgiving <code>Markdown.pl</code> behavior, provided they are laid out
+in a way that is natural for a human to read.</p>
+<p data-sourcepos="5219:1-5225:22" dir="auto">The strategy here is to let the width and indentation of the list marker
+determine the indentation necessary for blocks to fall under the list
+item, rather than having a fixed and arbitrary number. The writer can
+think of the body of the list item as a unit which gets indented to the
+right enough to fit the list marker (and any indentation on the list
+marker). (The laziness rule, #5, then allows continuation lines to be
+unindented if needed.)</p>
+<p data-sourcepos="5227:1-5229:39" dir="auto">This rule is superior, we claim, to any rule requiring a fixed level of
+indentation from the margin. The four-space rule is clear but
+unnatural. It is quite unintuitive that</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5231:1-5237:3" lang="markdown" class="code highlight js-syntax-highlight language-markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="p">-</span> foo</span>
+<span id="LC2" class="line" lang="markdown"></span>
+<span id="LC3" class="line" lang="markdown"> bar</span>
+<span id="LC4" class="line" lang="markdown"></span>
+<span id="LC5" class="line" lang="markdown"><span class="p"> -</span> baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5239:1-5239:60" dir="auto">should be parsed as two lists with an intervening paragraph,</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5241:1-5249:3" lang="html" class="code highlight js-syntax-highlight language-html" v-pre="true"><code><span id="LC1" class="line" lang="html"><span class="nt">&lt;ul&gt;</span></span>
+<span id="LC2" class="line" lang="html"><span class="nt">&lt;li&gt;</span>foo<span class="nt">&lt;/li&gt;</span></span>
+<span id="LC3" class="line" lang="html"><span class="nt">&lt;/ul&gt;</span></span>
+<span id="LC4" class="line" lang="html"><span class="nt">&lt;p&gt;</span>bar<span class="nt">&lt;/p&gt;</span></span>
+<span id="LC5" class="line" lang="html"><span class="nt">&lt;ul&gt;</span></span>
+<span id="LC6" class="line" lang="html"><span class="nt">&lt;li&gt;</span>baz<span class="nt">&lt;/li&gt;</span></span>
+<span id="LC7" class="line" lang="html"><span class="nt">&lt;/ul&gt;</span></span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5251:1-5251:58" dir="auto">as the four-space rule demands, rather than a single list,</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5253:1-5263:3" lang="html" class="code highlight js-syntax-highlight language-html" v-pre="true"><code><span id="LC1" class="line" lang="html"><span class="nt">&lt;ul&gt;</span></span>
+<span id="LC2" class="line" lang="html"><span class="nt">&lt;li&gt;</span></span>
+<span id="LC3" class="line" lang="html"><span class="nt">&lt;p&gt;</span>foo<span class="nt">&lt;/p&gt;</span></span>
+<span id="LC4" class="line" lang="html"><span class="nt">&lt;p&gt;</span>bar<span class="nt">&lt;/p&gt;</span></span>
+<span id="LC5" class="line" lang="html"><span class="nt">&lt;ul&gt;</span></span>
+<span id="LC6" class="line" lang="html"><span class="nt">&lt;li&gt;</span>baz<span class="nt">&lt;/li&gt;</span></span>
+<span id="LC7" class="line" lang="html"><span class="nt">&lt;/ul&gt;</span></span>
+<span id="LC8" class="line" lang="html"><span class="nt">&lt;/li&gt;</span></span>
+<span id="LC9" class="line" lang="html"><span class="nt">&lt;/ul&gt;</span></span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5265:1-5266:62" dir="auto">The choice of four spaces is arbitrary. It can be learned, but it is
+not likely to be guessed, and it trips up beginners regularly.</p>
+<p data-sourcepos="5268:1-5272:20" dir="auto">Would it help to adopt a two-space rule? The problem is that such
+a rule, together with the rule allowing 1--3 spaces indentation of the
+initial list marker, allows text that is indented <em>less than</em> the
+original list marker to be included in the list item. For example,
+<code>Markdown.pl</code> parses</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5274:1-5278:3" lang="markdown" class="code highlight js-syntax-highlight language-markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="p"> -</span> one</span>
+<span id="LC2" class="line" lang="markdown"></span>
+<span id="LC3" class="line" lang="markdown"> two</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5280:1-5280:59" dir="auto">as a single list item, with <code>two</code> a continuation paragraph:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5282:1-5289:3" lang="html" class="code highlight js-syntax-highlight language-html" v-pre="true"><code><span id="LC1" class="line" lang="html"><span class="nt">&lt;ul&gt;</span></span>
+<span id="LC2" class="line" lang="html"><span class="nt">&lt;li&gt;</span></span>
+<span id="LC3" class="line" lang="html"><span class="nt">&lt;p&gt;</span>one<span class="nt">&lt;/p&gt;</span></span>
+<span id="LC4" class="line" lang="html"><span class="nt">&lt;p&gt;</span>two<span class="nt">&lt;/p&gt;</span></span>
+<span id="LC5" class="line" lang="html"><span class="nt">&lt;/li&gt;</span></span>
+<span id="LC6" class="line" lang="html"><span class="nt">&lt;/ul&gt;</span></span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5291:1-5291:13" dir="auto">and similarly</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5293:1-5297:3" lang="markdown" class="code highlight js-syntax-highlight language-markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="gt">&gt; - one</span></span>
+<span id="LC2" class="line" lang="markdown"><span class="gt">&gt;</span></span>
+<span id="LC3" class="line" lang="markdown"><span class="gt">&gt; two</span></span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5299:1-5299:2" dir="auto">as</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5301:1-5310:3" lang="html" class="code highlight js-syntax-highlight language-html" v-pre="true"><code><span id="LC1" class="line" lang="html"><span class="nt">&lt;blockquote&gt;</span></span>
+<span id="LC2" class="line" lang="html"><span class="nt">&lt;ul&gt;</span></span>
+<span id="LC3" class="line" lang="html"><span class="nt">&lt;li&gt;</span></span>
+<span id="LC4" class="line" lang="html"><span class="nt">&lt;p&gt;</span>one<span class="nt">&lt;/p&gt;</span></span>
+<span id="LC5" class="line" lang="html"><span class="nt">&lt;p&gt;</span>two<span class="nt">&lt;/p&gt;</span></span>
+<span id="LC6" class="line" lang="html"><span class="nt">&lt;/li&gt;</span></span>
+<span id="LC7" class="line" lang="html"><span class="nt">&lt;/ul&gt;</span></span>
+<span id="LC8" class="line" lang="html"><span class="nt">&lt;/blockquote&gt;</span></span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5312:1-5312:30" dir="auto">This is extremely unintuitive.</p>
+<p data-sourcepos="5314:1-5319:52" dir="auto">Rather than requiring a fixed indent from the margin, we could require
+a fixed indent (say, two spaces, or even one space) from the list marker (which
+may itself be indented). This proposal would remove the last anomaly
+discussed. Unlike the spec presented above, it would count the following
+as a list item with a subparagraph, even though the paragraph <code>bar</code>
+is not indented as far as the first paragraph <code>foo</code>:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5321:1-5325:3" lang="markdown" class="code highlight js-syntax-highlight language-markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="p"> 10.</span> foo</span>
+<span id="LC2" class="line" lang="markdown"></span>
+<span id="LC3" class="line" lang="markdown"> bar </span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5327:1-5330:62" dir="auto">Arguably this text does read like a list item with <code>bar</code> as a subparagraph,
+which may count in favor of the proposal. However, on this proposal indented
+code would have to be indented six spaces after the list marker. And this
+would break a lot of existing Markdown, which has the pattern:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5332:1-5336:3" lang="markdown" class="code highlight js-syntax-highlight language-markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="p">1.</span> foo</span>
+<span id="LC2" class="line" lang="markdown"></span>
+<span id="LC3" class="line" lang="markdown"><span class="sb"> indented code</span></span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5338:1-5340:28" dir="auto">where the code is indented eight spaces. The spec above, by contrast, will
+parse this text as expected, since the code block's indentation is measured
+from the beginning of <code>foo</code>.</p>
+<p data-sourcepos="5342:1-5348:62" dir="auto">The one case that needs special treatment is a list item that <em>starts</em>
+with indented code. How much indentation is required in that case, since
+we don't have a "first paragraph" to measure from? Rule #2 simply stipulates
+that in such cases, we require one space indentation from the list marker
+(and then the normal four spaces for the indented code). This will match the
+four-space rule in cases where the list marker plus its initial indentation
+takes four spaces (a common case), but diverge in other cases.</p>
+<div>
+<h2 data-sourcepos="5352:1-5352:30">
+<a id="user-content-task-list-items-extension" class="anchor" href="#task-list-items-extension" aria-hidden="true"></a>Task list items (extension)</h2>
+<p data-sourcepos="5354:1-5355:26">GFM enables the <code>tasklist</code> extension, where an additional processing step is
+performed on [list items].</p>
+<p data-sourcepos="5357:1-5359:46">A <a href="@">task list item</a> is a [list item][list items] where the first block in it
+is a paragraph which begins with a [task list item marker] and at least one
+whitespace character before any other content.</p>
+<p data-sourcepos="5361:1-5363:55">A <a href="@">task list item marker</a> consists of an optional number of spaces, a left
+bracket (<code>[</code>), either a whitespace character or the letter <code>x</code> in either
+lowercase or uppercase, and then a right bracket (<code>]</code>).</p>
+<p data-sourcepos="5365:1-5366:70">When rendered, the [task list item marker] is replaced with a semantic checkbox element;
+in an HTML output, this would be an <code>&lt;input type="checkbox"&gt;</code> element.</p>
+<p data-sourcepos="5368:1-5369:50">If the character between the brackets is a whitespace character, the checkbox
+is unchecked. Otherwise, the checkbox is checked.</p>
+<p data-sourcepos="5371:1-5374:28">This spec does not define how the checkbox elements are interacted with: in practice,
+implementors are free to render the checkboxes as disabled or inmutable elements,
+or they may dynamically handle dynamic interactions (i.e. checking, unchecking) in
+the final rendered document.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5376:1-5379:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- [ ] foo</span>
+<span id="LC2" class="line" lang="plaintext">- [x] bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5381:1-5386:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; foo&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; bar&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5388:1-5388:37">Task lists can be arbitrarily nested:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5390:1-5395:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- [x] foo</span>
+<span id="LC2" class="line" lang="plaintext"> - [ ] bar</span>
+<span id="LC3" class="line" lang="plaintext"> - [x] baz</span>
+<span id="LC4" class="line" lang="plaintext">- [ ] bim</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5397:1-5407:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; foo</span>
+<span id="LC3" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; bar&lt;/li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; baz&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; bim&lt;/li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+</div>
+<h2 data-sourcepos="5411:1-5411:8" dir="auto">
+<a id="user-content-lists" class="anchor" href="#lists" aria-hidden="true"></a>Lists</h2>
+<p data-sourcepos="5413:1-5415:46" dir="auto">A <a href="@">list</a> is a sequence of one or more
+list items [of the same type]. The list items
+may be separated by any number of blank lines.</p>
+<p data-sourcepos="5417:1-5422:30" dir="auto">Two list items are <a href="@">of the same type</a>
+if they begin with a [list marker] of the same type.
+Two list markers are of the
+same type if (a) they are bullet list markers using the same character
+(<code>-</code>, <code>+</code>, or <code>*</code>) or (b) they are ordered list numbers with the same
+delimiter (either <code>.</code> or <code>)</code>).</p>
+<p data-sourcepos="5424:1-5428:39" dir="auto">A list is an <a href="@">ordered list</a>
+if its constituent list items begin with
+[ordered list markers], and a
+<a href="@">bullet list</a> if its constituent list
+items begin with [bullet list markers].</p>
+<p data-sourcepos="5430:1-5433:12" dir="auto">The <a href="@">start number</a>
+of an [ordered list] is determined by the list number of
+its initial list item. The numbers of subsequent list items are
+disregarded.</p>
+<p data-sourcepos="5435:1-5440:65" dir="auto">A list is <a href="@">loose</a> if any of its constituent
+list items are separated by blank lines, or if any of its constituent
+list items directly contain two block-level elements with a blank line
+between them. Otherwise a list is <a href="@">tight</a>.
+(The difference in HTML output is that paragraphs in a loose list are
+wrapped in <code>&lt;p&gt;</code> tags, while paragraphs in a tight list are not.)</p>
+<p data-sourcepos="5442:1-5442:64" dir="auto">Changing the bullet or ordered list delimiter starts a new list:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5444:1-5448:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
+<span id="LC2" class="line" lang="plaintext">- bar</span>
+<span id="LC3" class="line" lang="plaintext">+ baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5450:1-5458:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;li&gt;baz&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5461:1-5465:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. foo</span>
+<span id="LC2" class="line" lang="plaintext">2. bar</span>
+<span id="LC3" class="line" lang="plaintext">3) baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5467:1-5475:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/ol&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;ol start="3"&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;li&gt;baz&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5478:1-5480:5" dir="auto">In CommonMark, a list can interrupt a paragraph. That is,
+no blank line is needed to separate a paragraph from a following
+list:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5482:1-5486:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo</span>
+<span id="LC2" class="line" lang="plaintext">- bar</span>
+<span id="LC3" class="line" lang="plaintext">- baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5488:1-5494:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;Foo&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;li&gt;baz&lt;/li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5496:1-5497:37" dir="auto"><code>Markdown.pl</code> does not allow this, through fear of triggering a list
+via a numeral in a hard-wrapped line:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5499:1-5502:3" lang="markdown" class="code highlight js-syntax-highlight language-markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown">The number of windows in my house is</span>
+<span id="LC2" class="line" lang="markdown"><span class="p">14.</span> The number of doors is 6.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5504:1-5506:6" dir="auto">Oddly, though, <code>Markdown.pl</code> <em>does</em> allow a blockquote to
+interrupt a paragraph, even though the same considerations might
+apply.</p>
+<p data-sourcepos="5508:1-5510:35" dir="auto">In CommonMark, we do allow lists to interrupt paragraphs, for
+two reasons. First, it is natural and not uncommon for people
+to start lists without blank lines:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5512:1-5517:3" lang="markdown" class="code highlight js-syntax-highlight language-markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown">I need to buy</span>
+<span id="LC2" class="line" lang="markdown"><span class="p">-</span> new shoes</span>
+<span id="LC3" class="line" lang="markdown"><span class="p">-</span> a coat</span>
+<span id="LC4" class="line" lang="markdown"><span class="p">-</span> a plane ticket</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5519:1-5519:29" dir="auto">Second, we are attracted to a</p>
+<blockquote data-sourcepos="5521:1-5524:54" dir="auto">
+<p data-sourcepos="5521:3-5524:54"><a href="@">principle of uniformity</a>:
+if a chunk of text has a certain
+meaning, it will continue to have the same meaning when put into a
+container block (such as a list item or blockquote).</p>
+</blockquote>
+<p data-sourcepos="5526:1-5527:47" dir="auto">(Indeed, the spec for [list items] and [block quotes] presupposes
+this principle.) This principle implies that if</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5529:1-5534:3" lang="markdown" class="code highlight js-syntax-highlight language-markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="p"> *</span> I need to buy</span>
+<span id="LC2" class="line" lang="markdown"><span class="p"> -</span> new shoes</span>
+<span id="LC3" class="line" lang="markdown"><span class="p"> -</span> a coat</span>
+<span id="LC4" class="line" lang="markdown"><span class="p"> -</span> a plane ticket</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5536:1-5539:4" dir="auto">is a list item containing a paragraph followed by a nested sublist,
+as all Markdown implementations agree it is (though the paragraph
+may be rendered without <code>&lt;p&gt;</code> tags, since the list is "tight"),
+then</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5541:1-5546:3" lang="markdown" class="code highlight js-syntax-highlight language-markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown">I need to buy</span>
+<span id="LC2" class="line" lang="markdown"><span class="p">-</span> new shoes</span>
+<span id="LC3" class="line" lang="markdown"><span class="p">-</span> a coat</span>
+<span id="LC4" class="line" lang="markdown"><span class="p">-</span> a plane ticket</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5548:1-5548:61" dir="auto">by itself should be a paragraph followed by a nested sublist.</p>
+<p data-sourcepos="5550:1-5555:30" dir="auto">Since it is well established Markdown practice to allow lists to
+interrupt paragraphs inside list items, the [principle of
+uniformity] requires us to allow this outside list items as
+well. (<a href="http://docutils.sourceforge.net/rst.html" rel="nofollow noreferrer noopener" target="_blank">reStructuredText</a>
+takes a different approach, requiring blank lines before lists
+even inside other list items.)</p>
+<p data-sourcepos="5557:1-5559:28" dir="auto">In order to solve of unwanted lists in paragraphs with
+hard-wrapped numerals, we allow only lists starting with <code>1</code> to
+interrupt paragraphs. Thus,</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5561:1-5564:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">The number of windows in my house is</span>
+<span id="LC2" class="line" lang="plaintext">14. The number of doors is 6.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5566:1-5569:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;The number of windows in my house is</span>
+<span id="LC2" class="line" lang="plaintext">14. The number of doors is 6.&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5571:1-5571:51" dir="auto">We may still get an unintended result in cases like</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5573:1-5576:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">The number of windows in my house is</span>
+<span id="LC2" class="line" lang="plaintext">1. The number of doors is 6.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5578:1-5583:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;The number of windows in my house is&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;li&gt;The number of doors is 6.&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5585:1-5585:57" dir="auto">but this rule should prevent most spurious list captures.</p>
+<p data-sourcepos="5587:1-5587:53" dir="auto">There can be any number of blank lines between items:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5589:1-5596:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">- bar</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext"></span>
+<span id="LC6" class="line" lang="plaintext">- baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5598:1-5610:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;p&gt;baz&lt;/p&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5612:1-5619:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
+<span id="LC2" class="line" lang="plaintext"> - bar</span>
+<span id="LC3" class="line" lang="plaintext"> - baz</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext"></span>
+<span id="LC6" class="line" lang="plaintext"> bim</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5621:1-5636:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;foo</span>
+<span id="LC3" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;li&gt;bar</span>
+<span id="LC5" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;p&gt;baz&lt;/p&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;p&gt;bim&lt;/p&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC12" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC13" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC14" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5639:1-5642:8" dir="auto">To separate consecutive lists of the same type, or to separate a
+list from an indented code block that would otherwise be parsed
+as a subparagraph of the final list item, you can insert a blank HTML
+comment:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5644:1-5652:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
+<span id="LC2" class="line" lang="plaintext">- bar</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">&lt;!-- --&gt;</span>
+<span id="LC5" class="line" lang="plaintext"></span>
+<span id="LC6" class="line" lang="plaintext">- baz</span>
+<span id="LC7" class="line" lang="plaintext">- bim</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5654:1-5664:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;!-- --&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;li&gt;baz&lt;/li&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;li&gt;bim&lt;/li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5667:1-5677:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- foo</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> notcode</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">- foo</span>
+<span id="LC6" class="line" lang="plaintext"></span>
+<span id="LC7" class="line" lang="plaintext">&lt;!-- --&gt;</span>
+<span id="LC8" class="line" lang="plaintext"></span>
+<span id="LC9" class="line" lang="plaintext"> code</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5679:1-5692:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;notcode&lt;/p&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;!-- --&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;code</span>
+<span id="LC12" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5695:1-5698:5" dir="auto">List items need not be indented to the same level. The following
+list items will be treated as items at the same list level,
+since none is indented enough to belong to the previous list
+item:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5700:1-5708:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span>
+<span id="LC2" class="line" lang="plaintext"> - b</span>
+<span id="LC3" class="line" lang="plaintext"> - c</span>
+<span id="LC4" class="line" lang="plaintext"> - d</span>
+<span id="LC5" class="line" lang="plaintext"> - e</span>
+<span id="LC6" class="line" lang="plaintext"> - f</span>
+<span id="LC7" class="line" lang="plaintext">- g</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5710:1-5720:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;a&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;li&gt;b&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;li&gt;c&lt;/li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;li&gt;d&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;li&gt;e&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;li&gt;f&lt;/li&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;li&gt;g&lt;/li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5723:1-5729:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. a</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> 2. b</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext"> 3. c</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5731:1-5743:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;a&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;p&gt;b&lt;/p&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;p&gt;c&lt;/p&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5745:1-5747:52" dir="auto">Note, however, that list items may not be indented more than
+three spaces. Here <code>- e</code> is treated as a paragraph continuation
+line, because it is indented more than three spaces:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5749:1-5755:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span>
+<span id="LC2" class="line" lang="plaintext"> - b</span>
+<span id="LC3" class="line" lang="plaintext"> - c</span>
+<span id="LC4" class="line" lang="plaintext"> - d</span>
+<span id="LC5" class="line" lang="plaintext"> - e</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5757:1-5765:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;a&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;li&gt;b&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;li&gt;c&lt;/li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;li&gt;d</span>
+<span id="LC6" class="line" lang="plaintext">- e&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5767:1-5769:11" dir="auto">And here, <code>3. c</code> is treated as in indented code block,
+because it is indented four spaces and preceded by a
+blank line.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5771:1-5777:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. a</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> 2. b</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext"> 3. c</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5779:1-5790:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;a&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;p&gt;b&lt;/p&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/ol&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;3. c</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5793:1-5794:22" dir="auto">This is a loose list, because there is a blank line between
+two of the list items:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5796:1-5801:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span>
+<span id="LC2" class="line" lang="plaintext">- b</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">- c</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5803:1-5815:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;a&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;p&gt;b&lt;/p&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;p&gt;c&lt;/p&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5818:1-5818:37" dir="auto">So is this, with a empty second item:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5820:1-5825:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">* a</span>
+<span id="LC2" class="line" lang="plaintext">*</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">* c</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5827:1-5837:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;a&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;li&gt;&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;p&gt;c&lt;/p&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5840:1-5842:31" dir="auto">These are loose lists, even though there is no space between the items,
+because one of the items directly contains two block-level elements
+with a blank line between them:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5844:1-5850:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span>
+<span id="LC2" class="line" lang="plaintext">- b</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext"> c</span>
+<span id="LC5" class="line" lang="plaintext">- d</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5852:1-5865:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;a&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;p&gt;b&lt;/p&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;p&gt;c&lt;/p&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;p&gt;d&lt;/p&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC12" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5868:1-5874:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span>
+<span id="LC2" class="line" lang="plaintext">- b</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext"> [ref]: /url</span>
+<span id="LC5" class="line" lang="plaintext">- d</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5876:1-5888:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;a&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;p&gt;b&lt;/p&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;p&gt;d&lt;/p&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5891:1-5891:66" dir="auto">This is a tight list, because the blank lines are in a code block:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5893:1-5901:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span>
+<span id="LC2" class="line" lang="plaintext">- ```</span>
+<span id="LC3" class="line" lang="plaintext"> b</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext"></span>
+<span id="LC6" class="line" lang="plaintext"> ```</span>
+<span id="LC7" class="line" lang="plaintext">- c</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5903:1-5914:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;a&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;b</span>
+<span id="LC5" class="line" lang="plaintext"></span>
+<span id="LC6" class="line" lang="plaintext"></span>
+<span id="LC7" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;li&gt;c&lt;/li&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5917:1-5919:24" dir="auto">This is a tight list, because the blank line is between two
+paragraphs of a sublist. So the sublist is loose while
+the outer list is tight:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5921:1-5927:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span>
+<span id="LC2" class="line" lang="plaintext"> - b</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext"> c</span>
+<span id="LC5" class="line" lang="plaintext">- d</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5929:1-5941:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;a</span>
+<span id="LC3" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;p&gt;b&lt;/p&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;p&gt;c&lt;/p&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;li&gt;d&lt;/li&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5944:1-5945:12" dir="auto">This is a tight list, because the blank line is inside the
+block quote:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5947:1-5952:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">* a</span>
+<span id="LC2" class="line" lang="plaintext"> &gt; b</span>
+<span id="LC3" class="line" lang="plaintext"> &gt;</span>
+<span id="LC4" class="line" lang="plaintext">* c</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5954:1-5963:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;a</span>
+<span id="LC3" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;b&lt;/p&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;li&gt;c&lt;/li&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5966:1-5967:33" dir="auto">This list is tight, because the consecutive block elements
+are not separated by blank lines:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5969:1-5976:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span>
+<span id="LC2" class="line" lang="plaintext"> &gt; b</span>
+<span id="LC3" class="line" lang="plaintext"> ```</span>
+<span id="LC4" class="line" lang="plaintext"> c</span>
+<span id="LC5" class="line" lang="plaintext"> ```</span>
+<span id="LC6" class="line" lang="plaintext">- d</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5978:1-5989:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;a</span>
+<span id="LC3" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;b&lt;/p&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/blockquote&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;c</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;li&gt;d&lt;/li&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="5992:1-5992:33" dir="auto">A single-paragraph list is tight:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5994:1-5996:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="5998:1-6002:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;a&lt;/li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6005:1-6008:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span>
+<span id="LC2" class="line" lang="plaintext"> - b</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6010:1-6018:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;a</span>
+<span id="LC3" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;li&gt;b&lt;/li&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6021:1-6022:36" dir="auto">This list is loose, because of the blank line between the
+two block elements in the list item:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6024:1-6030:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">1. ```</span>
+<span id="LC2" class="line" lang="plaintext"> foo</span>
+<span id="LC3" class="line" lang="plaintext"> ```</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext"> bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6032:1-6040:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;foo</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;p&gt;bar&lt;/p&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/ol&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6043:1-6043:51" dir="auto">Here the outer list is loose, the inner list tight:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6045:1-6050:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">* foo</span>
+<span id="LC2" class="line" lang="plaintext"> * bar</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext"> baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6052:1-6062:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;li&gt;bar&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;p&gt;baz&lt;/p&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6065:1-6073:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- a</span>
+<span id="LC2" class="line" lang="plaintext"> - b</span>
+<span id="LC3" class="line" lang="plaintext"> - c</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">- d</span>
+<span id="LC6" class="line" lang="plaintext"> - e</span>
+<span id="LC7" class="line" lang="plaintext"> - f</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6075:1-6092:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;a&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;li&gt;b&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;li&gt;c&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;p&gt;d&lt;/p&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC12" class="line" lang="plaintext">&lt;li&gt;e&lt;/li&gt;</span>
+<span id="LC13" class="line" lang="plaintext">&lt;li&gt;f&lt;/li&gt;</span>
+<span id="LC14" class="line" lang="plaintext">&lt;/ul&gt;</span>
+<span id="LC15" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC16" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h1 data-sourcepos="6095:1-6095:9" dir="auto">
+<a id="user-content-inlines" class="anchor" href="#inlines" aria-hidden="true"></a>Inlines</h1>
+<p data-sourcepos="6097:1-6099:21" dir="auto">Inlines are parsed sequentially from the beginning of the character
+stream to the end (left to right, in left-to-right languages).
+Thus, for example, in</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6101:1-6103:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`hi`lo`</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6105:1-6107:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;hi&lt;/code&gt;lo`&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6109:1-6110:9" dir="auto"><code>hi</code> is parsed as code, leaving the backtick at the end as a literal
+backtick.</p>
+<h2 data-sourcepos="6113:1-6113:20" dir="auto">
+<a id="user-content-backslash-escapes" class="anchor" href="#backslash-escapes" aria-hidden="true"></a>Backslash escapes</h2>
+<p data-sourcepos="6115:1-6115:57" dir="auto">Any ASCII punctuation character may be backslash-escaped:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6117:1-6119:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">\!\"\#\$\%\&amp;\'\(\)\*\+\,\-\.\/\:\;\&lt;\=\&gt;\?\@\[\\\]\^\_\`\{\|\}\~</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6121:1-6123:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;!&amp;quot;#$%&amp;amp;'()*+,-./:;&amp;lt;=&amp;gt;?@[\]^_`{|}~&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6126:1-6127:12" dir="auto">Backslashes before other characters are treated as literal
+backslashes:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6129:1-6131:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">\→\A\a\ \3\φ\«</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6133:1-6135:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;\→\A\a\ \3\φ\«&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6138:1-6139:39" dir="auto">Escaped characters are treated as regular characters and do
+not have their usual Markdown meanings:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6141:1-6151:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">\*not emphasized*</span>
+<span id="LC2" class="line" lang="plaintext">\&lt;br/&gt; not a tag</span>
+<span id="LC3" class="line" lang="plaintext">\[not a link](/foo)</span>
+<span id="LC4" class="line" lang="plaintext">\`not code`</span>
+<span id="LC5" class="line" lang="plaintext">1\. not a list</span>
+<span id="LC6" class="line" lang="plaintext">\* not a list</span>
+<span id="LC7" class="line" lang="plaintext">\# not a heading</span>
+<span id="LC8" class="line" lang="plaintext">\[foo]: /url "not a reference"</span>
+<span id="LC9" class="line" lang="plaintext">\&amp;ouml; not a character entity</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6153:1-6163:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;*not emphasized*</span>
+<span id="LC2" class="line" lang="plaintext">&amp;lt;br/&amp;gt; not a tag</span>
+<span id="LC3" class="line" lang="plaintext">[not a link](/foo)</span>
+<span id="LC4" class="line" lang="plaintext">`not code`</span>
+<span id="LC5" class="line" lang="plaintext">1. not a list</span>
+<span id="LC6" class="line" lang="plaintext">* not a list</span>
+<span id="LC7" class="line" lang="plaintext"># not a heading</span>
+<span id="LC8" class="line" lang="plaintext">[foo]: /url &amp;quot;not a reference&amp;quot;</span>
+<span id="LC9" class="line" lang="plaintext">&amp;amp;ouml; not a character entity&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6166:1-6166:65" dir="auto">If a backslash is itself escaped, the following character is not:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6168:1-6170:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">\\*emphasis*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6172:1-6174:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;\&lt;em&gt;emphasis&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6177:1-6177:58" dir="auto">A backslash at the end of the line is a [hard line break]:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6179:1-6182:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo\</span>
+<span id="LC2" class="line" lang="plaintext">bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6184:1-6187:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo&lt;br /&gt;</span>
+<span id="LC2" class="line" lang="plaintext">bar&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6190:1-6191:9" dir="auto">Backslash escapes do not work in code blocks, code spans, autolinks, or
+raw HTML:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6193:1-6195:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`` \[\` ``</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6197:1-6199:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;\[\`&lt;/code&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6202:1-6204:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> \[\]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6206:1-6209:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;\[\]</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6212:1-6216:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">~~~</span>
+<span id="LC2" class="line" lang="plaintext">\[\]</span>
+<span id="LC3" class="line" lang="plaintext">~~~</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6218:1-6221:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;\[\]</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6224:1-6226:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;http://example.com?find=\*&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6228:1-6230:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://example.com?find=%5C*"&gt;http://example.com?find=\*&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6233:1-6235:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a href="/bar\/)"&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6237:1-6239:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a href="/bar\/)"&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6242:1-6243:60" dir="auto">But they work in all other contexts, including URLs and link titles,
+link references, and [info strings] in [fenced code blocks]:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6245:1-6247:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo](/bar\* "ti\*tle")</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6249:1-6251:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/bar*" title="ti*tle"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6254:1-6258:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: /bar\* "ti\*tle"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6260:1-6262:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/bar*" title="ti*tle"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6265:1-6269:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">``` foo\+bar</span>
+<span id="LC2" class="line" lang="plaintext">foo</span>
+<span id="LC3" class="line" lang="plaintext">```</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6271:1-6274:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code class="language-foo+bar"&gt;foo</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="6278:1-6278:42" dir="auto">
+<a id="user-content-entity-and-numeric-character-references" class="anchor" href="#entity-and-numeric-character-references" aria-hidden="true"></a>Entity and numeric character references</h2>
+<p data-sourcepos="6280:1-6282:30" dir="auto">Valid HTML entity references and numeric character references
+can be used in place of the corresponding Unicode character,
+with the following exceptions:</p>
+<ul data-sourcepos="6284:1-6293:0" dir="auto">
+<li data-sourcepos="6284:1-6286:0">
+<p data-sourcepos="6284:3-6285:24">Entity and character references are not recognized in code
+blocks and code spans.</p>
+</li>
+<li data-sourcepos="6287:1-6293:0">
+<p data-sourcepos="6287:3-6292:9">Entity and character references cannot stand in place of
+special characters that define structural elements in
+CommonMark. For example, although <code>&amp;#42;</code> can be used
+in place of a literal <code>*</code> character, <code>&amp;#42;</code> cannot replace
+<code>*</code> in emphasis delimiters, bullet list markers, or thematic
+breaks.</p>
+</li>
+</ul>
+<p data-sourcepos="6294:1-6296:49" dir="auto">Conforming CommonMark parsers need not store information about
+whether a particular character was represented in the source
+using a Unicode character or an entity reference.</p>
+<p data-sourcepos="6298:1-6302:47" dir="auto"><a href="@">Entity references</a> consist of <code>&amp;</code> + any of the valid
+HTML5 entity names + <code>;</code>. The
+document <a href="https://html.spec.whatwg.org/multipage/entities.json" rel="nofollow noreferrer noopener" target="_blank">https://html.spec.whatwg.org/multipage/entities.json</a>
+is used as an authoritative source for the valid entity
+references and their corresponding code points.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6304:1-6308:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&amp;nbsp; &amp;amp; &amp;copy; &amp;AElig; &amp;Dcaron;</span>
+<span id="LC2" class="line" lang="plaintext">&amp;frac34; &amp;HilbertSpace; &amp;DifferentialD;</span>
+<span id="LC3" class="line" lang="plaintext">&amp;ClockwiseContourIntegral; &amp;ngE;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6310:1-6314:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;  &amp;amp; © Æ Ď</span>
+<span id="LC2" class="line" lang="plaintext">¾ ℋ ⅆ</span>
+<span id="LC3" class="line" lang="plaintext">∲ ≧̸&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6317:1-6323:58" dir="auto"><a href="@">Decimal numeric character
+references</a>
+consist of <code>&amp;#</code> + a string of 1--7 arabic digits + <code>;</code>. A
+numeric character reference is parsed as the corresponding
+Unicode character. Invalid Unicode code points will be replaced by
+the REPLACEMENT CHARACTER (<code>U+FFFD</code>). For security reasons,
+the code point <code>U+0000</code> will also be replaced by <code>U+FFFD</code>.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6325:1-6327:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&amp;#35; &amp;#1234; &amp;#992; &amp;#0;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6329:1-6331:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;# Ӓ Ϡ �&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6334:1-6338:62" dir="auto"><a href="@">Hexadecimal numeric character
+references</a> consist of <code>&amp;#</code> +
+either <code>X</code> or <code>x</code> + a string of 1-6 hexadecimal digits + <code>;</code>.
+They too are parsed as the corresponding Unicode character (this
+time specified with a hexadecimal numeral instead of decimal).</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6340:1-6342:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&amp;#X22; &amp;#XD06; &amp;#xcab;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6344:1-6346:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&amp;quot; ആ ಫ&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6349:1-6349:26" dir="auto">Here are some nonentities:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6351:1-6356:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&amp;nbsp &amp;x; &amp;#; &amp;#x;</span>
+<span id="LC2" class="line" lang="plaintext">&amp;#987654321;</span>
+<span id="LC3" class="line" lang="plaintext">&amp;#abcdef0;</span>
+<span id="LC4" class="line" lang="plaintext">&amp;ThisIsNotDefined; &amp;hi?;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6358:1-6363:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&amp;amp;nbsp &amp;amp;x; &amp;amp;#; &amp;amp;#x;</span>
+<span id="LC2" class="line" lang="plaintext">&amp;amp;#987654321;</span>
+<span id="LC3" class="line" lang="plaintext">&amp;amp;#abcdef0;</span>
+<span id="LC4" class="line" lang="plaintext">&amp;amp;ThisIsNotDefined; &amp;amp;hi?;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6366:1-6368:60" dir="auto">Although HTML5 does accept some entity references
+without a trailing semicolon (such as <code>&amp;copy</code>), these are not
+recognized here, because it makes the grammar too ambiguous:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6370:1-6372:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&amp;copy</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6374:1-6376:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&amp;amp;copy&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6379:1-6380:39" dir="auto">Strings that are not on the list of HTML5 named entities are not
+recognized as entity references either:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6382:1-6384:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&amp;MadeUpEntity;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6386:1-6388:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&amp;amp;MadeUpEntity;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6391:1-6393:62" dir="auto">Entity and numeric character references are recognized in any
+context besides code spans or code blocks, including
+URLs, [link titles], and [fenced code block][] [info strings]:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6395:1-6397:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a href="&amp;ouml;&amp;ouml;.html"&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6399:1-6401:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a href="&amp;ouml;&amp;ouml;.html"&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6404:1-6406:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo](/f&amp;ouml;&amp;ouml; "f&amp;ouml;&amp;ouml;")</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6408:1-6410:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/f%C3%B6%C3%B6" title="föö"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6413:1-6417:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: /f&amp;ouml;&amp;ouml; "f&amp;ouml;&amp;ouml;"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6419:1-6421:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/f%C3%B6%C3%B6" title="föö"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6424:1-6428:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">``` f&amp;ouml;&amp;ouml;</span>
+<span id="LC2" class="line" lang="plaintext">foo</span>
+<span id="LC3" class="line" lang="plaintext">```</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6430:1-6433:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code class="language-föö"&gt;foo</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6436:1-6437:35" dir="auto">Entity and numeric character references are treated as literal
+text in code spans and code blocks:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6439:1-6441:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`f&amp;ouml;&amp;ouml;`</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6443:1-6445:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;f&amp;amp;ouml;&amp;amp;ouml;&lt;/code&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6448:1-6450:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> f&amp;ouml;f&amp;ouml;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6452:1-6455:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;&lt;code&gt;f&amp;amp;ouml;f&amp;amp;ouml;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;/code&gt;&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6458:1-6460:10" dir="auto">Entity and numeric character references cannot be used
+in place of symbols indicating structure in CommonMark
+documents.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6462:1-6465:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&amp;#42;foo&amp;#42;</span>
+<span id="LC2" class="line" lang="plaintext">*foo*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6467:1-6470:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;*foo*</span>
+<span id="LC2" class="line" lang="plaintext">&lt;em&gt;foo&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6472:1-6476:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&amp;#42; foo</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">* foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6478:1-6483:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;* foo&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;li&gt;foo&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6485:1-6487:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo&amp;#10;&amp;#10;bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6489:1-6493:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">bar&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6495:1-6497:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&amp;#9;foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6499:1-6501:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;→foo&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6504:1-6506:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[a](url &amp;quot;tit&amp;quot;)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6508:1-6510:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[a](url &amp;quot;tit&amp;quot;)&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="6513:1-6513:13" dir="auto">
+<a id="user-content-code-spans" class="anchor" href="#code-spans" aria-hidden="true"></a>Code spans</h2>
+<p data-sourcepos="6515:1-6517:36" dir="auto">A <a href="@">backtick string</a>
+is a string of one or more backtick characters (<code>`</code>) that is neither
+preceded nor followed by a backtick.</p>
+<p data-sourcepos="6519:1-6522:15" dir="auto">A <a href="@">code span</a> begins with a backtick string and ends with
+a backtick string of equal length. The contents of the code span are
+the characters between the two backtick strings, normalized in the
+following ways:</p>
+<ul data-sourcepos="6524:1-6531:0" dir="auto">
+<li data-sourcepos="6524:1-6524:50">First, [line endings] are converted to [spaces].</li>
+<li data-sourcepos="6525:1-6531:0">If the resulting string both begins <em>and</em> ends with a [space]
+character, but does not consist entirely of [space]
+characters, a single [space] character is removed from the
+front and back. This allows you to include code that begins
+or ends with backtick characters, which must be separated by
+whitespace from the opening or closing backtick strings.</li>
+</ul>
+<p data-sourcepos="6532:1-6532:27" dir="auto">This is a simple code span:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6534:1-6536:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`foo`</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6538:1-6540:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;foo&lt;/code&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6543:1-6545:15" dir="auto">Here two backticks are used, because the code contains a backtick.
+This example also illustrates stripping of a single leading and
+trailing space:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6547:1-6549:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`` foo ` bar ``</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6551:1-6553:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;foo ` bar&lt;/code&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6556:1-6557:7" dir="auto">This example shows the motivation for stripping leading and trailing
+spaces:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6559:1-6561:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">` `` `</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6563:1-6565:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;``&lt;/code&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6567:1-6567:39" dir="auto">Note that only <em>one</em> space is stripped:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6569:1-6571:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">` `` `</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6573:1-6575:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt; `` &lt;/code&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6577:1-6578:20" dir="auto">The stripping only happens if the space is on both
+sides of the string:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6580:1-6582:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">` a`</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6584:1-6586:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt; a&lt;/code&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6588:1-6589:21" dir="auto">Only [spaces], and not [unicode whitespace] in general, are
+stripped in this way:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6591:1-6593:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">` b `</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6595:1-6597:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt; b &lt;/code&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6599:1-6599:58" dir="auto">No stripping occurs if the code span contains only spaces:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6601:1-6604:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">` `</span>
+<span id="LC2" class="line" lang="plaintext">` `</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6606:1-6609:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt; &lt;/code&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;code&gt; &lt;/code&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6612:1-6612:39" dir="auto">[Line endings] are treated like spaces:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6614:1-6620:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">``</span>
+<span id="LC2" class="line" lang="plaintext">foo</span>
+<span id="LC3" class="line" lang="plaintext">bar </span>
+<span id="LC4" class="line" lang="plaintext">baz</span>
+<span id="LC5" class="line" lang="plaintext">``</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6622:1-6624:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;foo bar baz&lt;/code&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6626:1-6630:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">``</span>
+<span id="LC2" class="line" lang="plaintext">foo </span>
+<span id="LC3" class="line" lang="plaintext">``</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6632:1-6634:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;foo &lt;/code&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6637:1-6637:34" dir="auto">Interior spaces are not collapsed:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6639:1-6642:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`foo bar </span>
+<span id="LC2" class="line" lang="plaintext">baz`</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6644:1-6646:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;foo bar baz&lt;/code&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6648:1-6650:26" dir="auto">Note that browsers will typically collapse consecutive spaces
+when rendering <code>&lt;code&gt;</code> elements, so it is recommended that
+the following CSS be used:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6652:5-6654:0" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">code{white-space: pre-wrap;}</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6655:1-6656:22" dir="auto">Note that backslash escapes do not work in code spans. All backslashes
+are treated literally:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6658:1-6660:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`foo\`bar`</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6662:1-6664:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;foo\&lt;/code&gt;bar`&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6667:1-6669:59" dir="auto">Backslash escapes are never needed, because one can always choose a
+string of <em>n</em> backtick characters as delimiters, where the code does
+not contain any strings of exactly <em>n</em> backtick characters.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6671:1-6673:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">``foo`bar``</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6675:1-6677:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;foo`bar&lt;/code&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6679:1-6681:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">` foo `` bar `</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6683:1-6685:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;foo `` bar&lt;/code&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6688:1-6691:5" dir="auto">Code span backticks have higher precedence than any other inline
+constructs except HTML tags and autolinks. Thus, for example, this is
+not parsed as emphasized text, since the second <code>*</code> is part of a code
+span:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6693:1-6695:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo`*`</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6697:1-6699:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;*foo&lt;code&gt;*&lt;/code&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6702:1-6702:33" dir="auto">And this is not parsed as a link:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6704:1-6706:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[not a `link](/foo`)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6708:1-6710:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[not a &lt;code&gt;link](/foo&lt;/code&gt;)&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6713:1-6714:19" dir="auto">Code spans, HTML tags, and autolinks have the same precedence.
+Thus, this is code:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6716:1-6718:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`&lt;a href="`"&gt;`</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6720:1-6722:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;&amp;lt;a href=&amp;quot;&lt;/code&gt;&amp;quot;&amp;gt;`&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6725:1-6725:24" dir="auto">But this is an HTML tag:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6727:1-6729:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a href="`"&gt;`</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6731:1-6733:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="`"&gt;`&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6736:1-6736:17" dir="auto">And this is code:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6738:1-6740:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`&lt;http://foo.bar.`baz&gt;`</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6742:1-6744:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;&amp;lt;http://foo.bar.&lt;/code&gt;baz&amp;gt;`&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6747:1-6747:24" dir="auto">But this is an autolink:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6749:1-6751:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;http://foo.bar.`baz&gt;`</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6753:1-6755:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://foo.bar.%60baz"&gt;http://foo.bar.`baz&lt;/a&gt;`&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6758:1-6759:31" dir="auto">When a backtick string is not closed by a matching backtick string,
+we just have literal backticks:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6761:1-6763:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">```foo``</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6765:1-6767:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;```foo``&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6770:1-6772:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`foo</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6774:1-6776:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;`foo&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6778:1-6779:47" dir="auto">The following case also illustrates the need for opening and
+closing backtick strings to be equal in length:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6781:1-6783:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`foo``bar``</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6785:1-6787:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;`foo&lt;code&gt;bar&lt;/code&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="6790:1-6790:31" dir="auto">
+<a id="user-content-emphasis-and-strong-emphasis" class="anchor" href="#emphasis-and-strong-emphasis" aria-hidden="true"></a>Emphasis and strong emphasis</h2>
+<p data-sourcepos="6792:1-6793:73" dir="auto">John Gruber's original <a href="http://daringfireball.net/projects/markdown/syntax#em" rel="nofollow noreferrer noopener" target="_blank">Markdown syntax
+description</a> says:</p>
+<blockquote data-sourcepos="6795:1-6798:6" dir="auto">
+<p data-sourcepos="6795:3-6798:6">Markdown treats asterisks (<code>*</code>) and underscores (<code>_</code>) as indicators of
+emphasis. Text wrapped with one <code>*</code> or <code>_</code> will be wrapped with an HTML
+<code>&lt;em&gt;</code> tag; double <code>*</code>'s or <code>_</code>'s will be wrapped with an HTML <code>&lt;strong&gt;</code>
+tag.</p>
+</blockquote>
+<p data-sourcepos="6800:1-6804:57" dir="auto">This is enough for most users, but these rules leave much undecided,
+especially when it comes to nested emphasis. The original
+<code>Markdown.pl</code> test suite makes it clear that triple <code>***</code> and
+<code>___</code> delimiters can be used for strong emphasis, and most
+implementations have also allowed the following patterns:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6806:1-6812:3" lang="markdown" class="code highlight js-syntax-highlight language-markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="gs">***strong emph**</span><span class="err">*</span></span>
+<span id="LC2" class="line" lang="markdown"><span class="gs">***strong**</span> in emph<span class="err">*</span></span>
+<span id="LC3" class="line" lang="markdown"><span class="gs">***emph* in strong**</span></span>
+<span id="LC4" class="line" lang="markdown"><span class="gs">**in strong *emph**</span><span class="err">*</span></span>
+<span id="LC5" class="line" lang="markdown"><span class="ge">*in emph **strong***</span></span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6814:1-6816:9" dir="auto">The following patterns are less widely supported, but the intent
+is clear and they are useful (especially in contexts like bibliography
+entries):</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6818:1-6821:3" lang="markdown" class="code highlight js-syntax-highlight language-markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="ge">*emph *</span>with emph<span class="ge">* in it*</span></span>
+<span id="LC2" class="line" lang="markdown"><span class="gs">**strong **</span>with strong<span class="gs">** in it**</span></span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6823:1-6826:31" dir="auto">Many implementations have also restricted intraword emphasis to
+the <code>*</code> forms, to avoid unwanted emphasis in words containing
+internal underscores. (It is best practice to put these in code
+spans, but users often do not.)</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6828:1-6831:3" lang="markdown" class="code highlight js-syntax-highlight language-markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown">internal emphasis: foo<span class="ge">*bar*</span>baz</span>
+<span id="LC2" class="line" lang="markdown">no emphasis: foo_bar_baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="6833:1-6834:55" dir="auto">The rules given below capture all of these patterns, while allowing
+for efficient parsing strategies that do not backtrack.</p>
+<p data-sourcepos="6836:1-6840:38" dir="auto">First, some definitions. A <a href="@">delimiter run</a> is either
+a sequence of one or more <code>*</code> characters that is not preceded or
+followed by a non-backslash-escaped <code>*</code> character, or a sequence
+of one or more <code>_</code> characters that is not preceded or followed by
+a non-backslash-escaped <code>_</code> character.</p>
+<p data-sourcepos="6842:1-6848:37" dir="auto">A <a href="@">left-flanking delimiter run</a> is
+a [delimiter run] that is (1) not followed by [Unicode whitespace],
+and either (2a) not followed by a [punctuation character], or
+(2b) followed by a [punctuation character] and
+preceded by [Unicode whitespace] or a [punctuation character].
+For purposes of this definition, the beginning and the end of
+the line count as Unicode whitespace.</p>
+<p data-sourcepos="6850:1-6856:37" dir="auto">A <a href="@">right-flanking delimiter run</a> is
+a [delimiter run] that is (1) not preceded by [Unicode whitespace],
+and either (2a) not preceded by a [punctuation character], or
+(2b) preceded by a [punctuation character] and
+followed by [Unicode whitespace] or a [punctuation character].
+For purposes of this definition, the beginning and the end of
+the line count as Unicode whitespace.</p>
+<p data-sourcepos="6858:1-6858:41" dir="auto">Here are some examples of delimiter runs.</p>
+<ul data-sourcepos="6860:3-6891:0" dir="auto">
+<li data-sourcepos="6860:3-6868:0">
+<p data-sourcepos="6860:5-6860:41">left-flanking but not right-flanking:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6862:5-6867:7" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">***abc</span>
+<span id="LC2" class="line" lang="plaintext"> _abc</span>
+<span id="LC3" class="line" lang="plaintext">**"abc"</span>
+<span id="LC4" class="line" lang="plaintext"> _"abc"</span></code></pre>
+<copy-code></copy-code>
+</div>
+</li>
+<li data-sourcepos="6869:3-6877:0">
+<p data-sourcepos="6869:5-6869:41">right-flanking but not left-flanking:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6871:5-6876:7" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> abc***</span>
+<span id="LC2" class="line" lang="plaintext"> abc_</span>
+<span id="LC3" class="line" lang="plaintext">"abc"**</span>
+<span id="LC4" class="line" lang="plaintext">"abc"_</span></code></pre>
+<copy-code></copy-code>
+</div>
+</li>
+<li data-sourcepos="6878:3-6884:0">
+<p data-sourcepos="6878:5-6878:33">Both left and right-flanking:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6880:5-6883:7" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> abc***def</span>
+<span id="LC2" class="line" lang="plaintext">"abc"_"def"</span></code></pre>
+<copy-code></copy-code>
+</div>
+</li>
+<li data-sourcepos="6885:3-6891:0">
+<p data-sourcepos="6885:5-6885:36">Neither left nor right-flanking:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="6887:5-6890:7" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">abc *** def</span>
+<span id="LC2" class="line" lang="plaintext">a _ b</span></code></pre>
+<copy-code></copy-code>
+</div>
+</li>
+</ul>
+<p data-sourcepos="6892:1-6898:49" dir="auto">(The idea of distinguishing left-flanking and right-flanking
+delimiter runs based on the character before and the character
+after comes from Roopesh Chander's
+<a href="http://www.vfmd.org/vfmd-spec/specification/#procedure-for-identifying-emphasis-tags" rel="nofollow noreferrer noopener" target="_blank">vfmd</a>.
+vfmd uses the terminology "emphasis indicator string" instead of "delimiter
+run," and its rules for distinguishing left- and right-flanking runs
+are a bit more complex than the ones given here.)</p>
+<p data-sourcepos="6900:1-6900:56" dir="auto">The following rules define emphasis and strong emphasis:</p>
+<ol data-sourcepos="6902:1-6966:0" dir="auto">
+<li data-sourcepos="6902:1-6904:0">
+<p data-sourcepos="6902:5-6903:71">A single <code>*</code> character <a href="@">can open emphasis</a>
+iff (if and only if) it is part of a [left-flanking delimiter run].</p>
+</li>
+<li data-sourcepos="6905:1-6910:0">
+<p data-sourcepos="6905:5-6909:28">A single <code>_</code> character [can open emphasis] iff
+it is part of a [left-flanking delimiter run]
+and either (a) not part of a [right-flanking delimiter run]
+or (b) part of a [right-flanking delimiter run]
+preceded by punctuation.</p>
+</li>
+<li data-sourcepos="6911:1-6913:0">
+<p data-sourcepos="6911:5-6912:55">A single <code>*</code> character <a href="@">can close emphasis</a>
+iff it is part of a [right-flanking delimiter run].</p>
+</li>
+<li data-sourcepos="6914:1-6919:0">
+<p data-sourcepos="6914:5-6918:28">A single <code>_</code> character [can close emphasis] iff
+it is part of a [right-flanking delimiter run]
+and either (a) not part of a [left-flanking delimiter run]
+or (b) part of a [left-flanking delimiter run]
+followed by punctuation.</p>
+</li>
+<li data-sourcepos="6920:1-6922:0">
+<p data-sourcepos="6920:5-6921:54">A double <code>**</code> <a href="@">can open strong emphasis</a>
+iff it is part of a [left-flanking delimiter run].</p>
+</li>
+<li data-sourcepos="6923:1-6928:0">
+<p data-sourcepos="6923:5-6927:28">A double <code>__</code> [can open strong emphasis] iff
+it is part of a [left-flanking delimiter run]
+and either (a) not part of a [right-flanking delimiter run]
+or (b) part of a [right-flanking delimiter run]
+preceded by punctuation.</p>
+</li>
+<li data-sourcepos="6929:1-6931:0">
+<p data-sourcepos="6929:5-6930:55">A double <code>**</code> <a href="@">can close strong emphasis</a>
+iff it is part of a [right-flanking delimiter run].</p>
+</li>
+<li data-sourcepos="6932:1-6937:0">
+<p data-sourcepos="6932:5-6936:28">A double <code>__</code> [can close strong emphasis] iff
+it is part of a [right-flanking delimiter run]
+and either (a) not part of a [left-flanking delimiter run]
+or (b) part of a [left-flanking delimiter run]
+followed by punctuation.</p>
+</li>
+<li data-sourcepos="6938:1-6947:0">
+<p data-sourcepos="6938:5-6946:19">Emphasis begins with a delimiter that [can open emphasis] and ends
+with a delimiter that [can close emphasis], and that uses the same
+character (<code>_</code> or <code>*</code>) as the opening delimiter. The
+opening and closing delimiters must belong to separate
+[delimiter runs]. If one of the delimiters can both
+open and close emphasis, then the sum of the lengths of the
+delimiter runs containing the opening and closing delimiters
+must not be a multiple of 3 unless both lengths are
+multiples of 3.</p>
+</li>
+<li data-sourcepos="6948:1-6958:0">
+<p data-sourcepos="6948:5-6957:23">Strong emphasis begins with a delimiter that
+[can open strong emphasis] and ends with a delimiter that
+[can close strong emphasis], and that uses the same character
+(<code>_</code> or <code>*</code>) as the opening delimiter. The
+opening and closing delimiters must belong to separate
+[delimiter runs]. If one of the delimiters can both open
+and close strong emphasis, then the sum of the lengths of
+the delimiter runs containing the opening and closing
+delimiters must not be a multiple of 3 unless both lengths
+are multiples of 3.</p>
+</li>
+<li data-sourcepos="6959:1-6962:0">
+<p data-sourcepos="6959:5-6961:25">A literal <code>*</code> character cannot occur at the beginning or end of
+<code>*</code>-delimited emphasis or <code>**</code>-delimited strong emphasis, unless it
+is backslash-escaped.</p>
+</li>
+<li data-sourcepos="6963:1-6966:0">
+<p data-sourcepos="6963:5-6965:25">A literal <code>_</code> character cannot occur at the beginning or end of
+<code>_</code>-delimited emphasis or <code>__</code>-delimited strong emphasis, unless it
+is backslash-escaped.</p>
+</li>
+</ol>
+<p data-sourcepos="6967:1-6968:43" dir="auto">Where rules 1--12 above are compatible with multiple parsings,
+the following principles resolve ambiguity:</p>
+<ol start="13" data-sourcepos="6970:1-6995:0" dir="auto">
+<li data-sourcepos="6970:1-6973:0">
+<p data-sourcepos="6970:5-6972:28">The number of nestings should be minimized. Thus, for example,
+an interpretation <code>&lt;strong&gt;...&lt;/strong&gt;</code> is always preferred to
+<code>&lt;em&gt;&lt;em&gt;...&lt;/em&gt;&lt;/em&gt;</code>.</p>
+</li>
+<li data-sourcepos="6974:1-6976:0">
+<p data-sourcepos="6974:5-6975:49">An interpretation <code>&lt;em&gt;&lt;strong&gt;...&lt;/strong&gt;&lt;/em&gt;</code> is always
+preferred to <code>&lt;strong&gt;&lt;em&gt;...&lt;/em&gt;&lt;/strong&gt;</code>.</p>
+</li>
+<li data-sourcepos="6977:1-6982:0">
+<p data-sourcepos="6977:5-6981:34">When two potential emphasis or strong emphasis spans overlap,
+so that the second begins before the first ends and ends after
+the first ends, the first takes precedence. Thus, for example,
+<code>*foo _bar* baz_</code> is parsed as <code>&lt;em&gt;foo _bar&lt;/em&gt; baz_</code> rather
+than <code>*foo &lt;em&gt;bar* baz&lt;/em&gt;</code>.</p>
+</li>
+<li data-sourcepos="6983:1-6988:0">
+<p data-sourcepos="6983:5-6987:49">When there are two potential emphasis or strong emphasis spans
+with the same closing delimiter, the shorter one (the one that
+opens later) takes precedence. Thus, for example,
+<code>**foo **bar baz**</code> is parsed as <code>**foo &lt;strong&gt;bar baz&lt;/strong&gt;</code>
+rather than <code>&lt;strong&gt;foo **bar baz&lt;/strong&gt;</code>.</p>
+</li>
+<li data-sourcepos="6989:1-6995:0">
+<p data-sourcepos="6989:5-6994:26">Inline code spans, links, images, and HTML tags group more tightly
+than emphasis. So, when there is a choice between an interpretation
+that contains one of these elements and one that does not, the
+former always wins. Thus, for example, <code>*[foo*](bar)</code> is
+parsed as <code>*&lt;a href="bar"&gt;foo*&lt;/a&gt;</code> rather than as
+<code>&lt;em&gt;[foo&lt;/em&gt;](bar)</code>.</p>
+</li>
+</ol>
+<p data-sourcepos="6996:1-6996:60" dir="auto">These rules can be illustrated through a series of examples.</p>
+<p data-sourcepos="6998:1-6998:7" dir="auto">Rule 1:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7000:1-7002:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo bar*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7004:1-7006:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo bar&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7009:1-7010:66" dir="auto">This is not emphasis, because the opening <code>*</code> is followed by
+whitespace, and hence not part of a [left-flanking delimiter run]:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7012:1-7014:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">a * foo bar*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7016:1-7018:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;a * foo bar*&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7021:1-7023:44" dir="auto">This is not emphasis, because the opening <code>*</code> is preceded
+by an alphanumeric and followed by punctuation, and hence
+not part of a [left-flanking delimiter run]:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7025:1-7027:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">a*"foo"*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7029:1-7031:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;a*&amp;quot;foo&amp;quot;*&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7034:1-7034:52" dir="auto">Unicode nonbreaking spaces count as whitespace, too:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7036:1-7038:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">* a *</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7040:1-7042:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;* a *&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7045:1-7045:41" dir="auto">Intraword emphasis with <code>*</code> is permitted:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7047:1-7049:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo*bar*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7051:1-7053:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo&lt;em&gt;bar&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7056:1-7058:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">5*6*78</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7060:1-7062:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;5&lt;em&gt;6&lt;/em&gt;78&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7065:1-7065:7" dir="auto">Rule 2:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7067:1-7069:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_foo bar_</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7071:1-7073:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo bar&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7076:1-7077:11" dir="auto">This is not emphasis, because the opening <code>_</code> is followed by
+whitespace:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7079:1-7081:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_ foo bar_</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7083:1-7085:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;_ foo bar_&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7088:1-7089:47" dir="auto">This is not emphasis, because the opening <code>_</code> is preceded
+by an alphanumeric and followed by punctuation:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7091:1-7093:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">a_"foo"_</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7095:1-7097:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;a_&amp;quot;foo&amp;quot;_&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7100:1-7100:46" dir="auto">Emphasis with <code>_</code> is not allowed inside words:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7102:1-7104:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo_bar_</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7106:1-7108:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo_bar_&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7111:1-7113:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">5_6_78</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7115:1-7117:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;5_6_78&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7120:1-7122:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">пристаням_стремятся_</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7124:1-7126:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;пристаням_стремятся_&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7129:1-7130:47" dir="auto">Here <code>_</code> does not generate emphasis, because the first delimiter run
+is right-flanking and the second left-flanking:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7132:1-7134:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">aa_"bb"_cc</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7136:1-7138:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;aa_&amp;quot;bb&amp;quot;_cc&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7141:1-7143:12" dir="auto">This is emphasis, even though the opening delimiter is
+both left- and right-flanking, because it is preceded by
+punctuation:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7145:1-7147:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo-_(bar)_</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7149:1-7151:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo-&lt;em&gt;(bar)&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7154:1-7154:7" dir="auto">Rule 3:</p>
+<p data-sourcepos="7156:1-7157:32" dir="auto">This is not emphasis, because the closing delimiter does
+not match the opening delimiter:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7159:1-7161:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_foo*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7163:1-7165:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;_foo*&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7168:1-7169:11" dir="auto">This is not emphasis, because the closing <code>*</code> is preceded by
+whitespace:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7171:1-7173:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo bar *</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7175:1-7177:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;*foo bar *&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7180:1-7180:36" dir="auto">A newline also counts as whitespace:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7182:1-7185:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo bar</span>
+<span id="LC2" class="line" lang="plaintext">*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7187:1-7190:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;*foo bar</span>
+<span id="LC2" class="line" lang="plaintext">*&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7193:1-7195:58" dir="auto">This is not emphasis, because the second <code>*</code> is
+preceded by punctuation and followed by an alphanumeric
+(hence it is not part of a [right-flanking delimiter run]:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7197:1-7199:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*(*foo)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7201:1-7203:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;*(*foo)&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7206:1-7207:18" dir="auto">The point of this restriction is more easily appreciated
+with this example:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7209:1-7211:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*(*foo*)*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7213:1-7215:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;(&lt;em&gt;foo&lt;/em&gt;)&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7218:1-7218:39" dir="auto">Intraword emphasis with <code>*</code> is allowed:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7220:1-7222:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo*bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7224:1-7226:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;/em&gt;bar&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7230:1-7230:7" dir="auto">Rule 4:</p>
+<p data-sourcepos="7232:1-7233:11" dir="auto">This is not emphasis, because the closing <code>_</code> is preceded by
+whitespace:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7235:1-7237:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_foo bar _</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7239:1-7241:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;_foo bar _&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7244:1-7245:56" dir="auto">This is not emphasis, because the second <code>_</code> is
+preceded by punctuation and followed by an alphanumeric:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7247:1-7249:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_(_foo)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7251:1-7253:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;_(_foo)&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7256:1-7256:33" dir="auto">This is emphasis within emphasis:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7258:1-7260:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_(_foo_)_</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7262:1-7264:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;(&lt;em&gt;foo&lt;/em&gt;)&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7267:1-7267:41" dir="auto">Intraword emphasis is disallowed for <code>_</code>:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7269:1-7271:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_foo_bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7273:1-7275:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;_foo_bar&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7278:1-7280:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_пристаням_стремятся</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7282:1-7284:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;_пристаням_стремятся&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7287:1-7289:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_foo_bar_baz_</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7291:1-7293:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo_bar_baz&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7296:1-7298:12" dir="auto">This is emphasis, even though the closing delimiter is
+both left- and right-flanking, because it is followed by
+punctuation:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7300:1-7302:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_(bar)_.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7304:1-7306:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;(bar)&lt;/em&gt;.&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7309:1-7309:7" dir="auto">Rule 5:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7311:1-7313:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo bar**</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7315:1-7317:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo bar&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7320:1-7321:23" dir="auto">This is not strong emphasis, because the opening delimiter is
+followed by whitespace:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7323:1-7325:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">** foo bar**</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7327:1-7329:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;** foo bar**&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7332:1-7334:44" dir="auto">This is not strong emphasis, because the opening <code>**</code> is preceded
+by an alphanumeric and followed by punctuation, and hence
+not part of a [left-flanking delimiter run]:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7336:1-7338:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">a**"foo"**</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7340:1-7342:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;a**&amp;quot;foo&amp;quot;**&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7345:1-7345:49" dir="auto">Intraword strong emphasis with <code>**</code> is permitted:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7347:1-7349:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo**bar**</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7351:1-7353:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo&lt;strong&gt;bar&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7356:1-7356:7" dir="auto">Rule 6:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7358:1-7360:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo bar__</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7362:1-7364:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo bar&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7367:1-7368:23" dir="auto">This is not strong emphasis, because the opening delimiter is
+followed by whitespace:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7370:1-7372:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__ foo bar__</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7374:1-7376:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;__ foo bar__&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7379:1-7379:31" dir="auto">A newline counts as whitespace:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7380:1-7383:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__</span>
+<span id="LC2" class="line" lang="plaintext">foo bar__</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7385:1-7388:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;__</span>
+<span id="LC2" class="line" lang="plaintext">foo bar__&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7391:1-7392:47" dir="auto">This is not strong emphasis, because the opening <code>__</code> is preceded
+by an alphanumeric and followed by punctuation:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7394:1-7396:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">a__"foo"__</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7398:1-7400:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;a__&amp;quot;foo&amp;quot;__&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7403:1-7403:49" dir="auto">Intraword strong emphasis is forbidden with <code>__</code>:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7405:1-7407:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo__bar__</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7409:1-7411:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo__bar__&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7414:1-7416:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">5__6__78</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7418:1-7420:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;5__6__78&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7423:1-7425:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">пристаням__стремятся__</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7427:1-7429:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;пристаням__стремятся__&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7432:1-7434:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo, __bar__, baz__</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7436:1-7438:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo, &lt;strong&gt;bar&lt;/strong&gt;, baz&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7441:1-7443:12" dir="auto">This is strong emphasis, even though the opening delimiter is
+both left- and right-flanking, because it is preceded by
+punctuation:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7445:1-7447:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo-__(bar)__</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7449:1-7451:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo-&lt;strong&gt;(bar)&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7455:1-7455:7" dir="auto">Rule 7:</p>
+<p data-sourcepos="7457:1-7458:14" dir="auto">This is not strong emphasis, because the closing delimiter is preceded
+by whitespace:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7460:1-7462:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo bar **</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7464:1-7466:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;**foo bar **&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7469:1-7470:9" dir="auto">(Nor can it be interpreted as an emphasized <code>*foo bar *</code>, because of
+Rule 11.)</p>
+<p data-sourcepos="7472:1-7473:56" dir="auto">This is not strong emphasis, because the second <code>**</code> is
+preceded by punctuation and followed by an alphanumeric:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7475:1-7477:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**(**foo)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7479:1-7481:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;**(**foo)&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7484:1-7485:20" dir="auto">The point of this restriction is more easily appreciated
+with these examples:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7487:1-7489:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*(**foo**)*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7491:1-7493:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;(&lt;strong&gt;foo&lt;/strong&gt;)&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7496:1-7499:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**Gomphocarpus (*Gomphocarpus physocarpus*, syn.</span>
+<span id="LC2" class="line" lang="plaintext">*Asclepias physocarpa*)**</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7501:1-7504:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;Gomphocarpus (&lt;em&gt;Gomphocarpus physocarpus&lt;/em&gt;, syn.</span>
+<span id="LC2" class="line" lang="plaintext">&lt;em&gt;Asclepias physocarpa&lt;/em&gt;)&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7507:1-7509:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo "*bar*" foo**</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7511:1-7513:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo &amp;quot;&lt;em&gt;bar&lt;/em&gt;&amp;quot; foo&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7516:1-7516:19" dir="auto">Intraword emphasis:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7518:1-7520:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo**bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7522:1-7524:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo&lt;/strong&gt;bar&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7527:1-7527:7" dir="auto">Rule 8:</p>
+<p data-sourcepos="7529:1-7530:23" dir="auto">This is not strong emphasis, because the closing delimiter is
+preceded by whitespace:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7532:1-7534:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo bar __</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7536:1-7538:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;__foo bar __&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7541:1-7542:56" dir="auto">This is not strong emphasis, because the second <code>__</code> is
+preceded by punctuation and followed by an alphanumeric:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7544:1-7546:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__(__foo)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7548:1-7550:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;__(__foo)&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7553:1-7554:18" dir="auto">The point of this restriction is more easily appreciated
+with this example:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7556:1-7558:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_(__foo__)_</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7560:1-7562:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;(&lt;strong&gt;foo&lt;/strong&gt;)&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7565:1-7565:49" dir="auto">Intraword strong emphasis is forbidden with <code>__</code>:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7567:1-7569:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo__bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7571:1-7573:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;__foo__bar&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7576:1-7578:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__пристаням__стремятся</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7580:1-7582:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;__пристаням__стремятся&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7585:1-7587:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo__bar__baz__</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7589:1-7591:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo__bar__baz&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7594:1-7596:12" dir="auto">This is strong emphasis, even though the closing delimiter is
+both left- and right-flanking, because it is followed by
+punctuation:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7598:1-7600:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__(bar)__.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7602:1-7604:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;(bar)&lt;/strong&gt;.&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7607:1-7607:7" dir="auto">Rule 9:</p>
+<p data-sourcepos="7609:1-7610:16" dir="auto">Any nonempty sequence of inline elements can be the contents of an
+emphasized span.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7612:1-7614:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo [bar](/url)*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7616:1-7618:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo &lt;a href="/url"&gt;bar&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7621:1-7624:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo</span>
+<span id="LC2" class="line" lang="plaintext">bar*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7626:1-7629:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo</span>
+<span id="LC2" class="line" lang="plaintext">bar&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7632:1-7633:16" dir="auto">In particular, emphasis and strong emphasis can be nested
+inside emphasis:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7635:1-7637:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_foo __bar__ baz_</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7639:1-7641:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo &lt;strong&gt;bar&lt;/strong&gt; baz&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7644:1-7646:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_foo _bar_ baz_</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7648:1-7650:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo &lt;em&gt;bar&lt;/em&gt; baz&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7653:1-7655:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo_ bar_</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7657:1-7659:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;&lt;em&gt;foo&lt;/em&gt; bar&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7662:1-7664:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo *bar**</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7666:1-7668:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo &lt;em&gt;bar&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7671:1-7673:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo **bar** baz*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7675:1-7677:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo &lt;strong&gt;bar&lt;/strong&gt; baz&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7679:1-7681:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo**bar**baz*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7683:1-7685:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;strong&gt;bar&lt;/strong&gt;baz&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7687:1-7687:51" dir="auto">Note that in the preceding case, the interpretation</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7689:1-7691:3" lang="markdown" class="code highlight js-syntax-highlight language-markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown"><span class="nt">&lt;p&gt;&lt;em&gt;</span>foo<span class="nt">&lt;/em&gt;&lt;em&gt;</span>bar<span class="nt">&lt;em&gt;&lt;/em&gt;</span>baz<span class="nt">&lt;/em&gt;&lt;/p&gt;</span></span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7694:1-7699:32" dir="auto">is precluded by the condition that a delimiter that
+can both open and close (like the <code>*</code> after <code>foo</code>)
+cannot form emphasis if the sum of the lengths of
+the delimiter runs containing the opening and
+closing delimiters is a multiple of 3 unless
+both lengths are multiples of 3.</p>
+<p data-sourcepos="7702:1-7703:34" dir="auto">For the same reason, we don't get two consecutive
+emphasis sections in this example:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7705:1-7707:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo**bar*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7709:1-7711:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo**bar&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7714:1-7717:8" dir="auto">The same condition ensures that the following
+cases are all strong emphasis nested inside
+emphasis, even when the interior spaces are
+omitted:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7720:1-7722:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">***foo** bar*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7724:1-7726:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;&lt;strong&gt;foo&lt;/strong&gt; bar&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7729:1-7731:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo **bar***</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7733:1-7735:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo &lt;strong&gt;bar&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7738:1-7740:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo**bar***</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7742:1-7744:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;strong&gt;bar&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7747:1-7749:34" dir="auto">When the lengths of the interior closing and opening
+delimiter runs are <em>both</em> multiples of 3, though,
+they can match to create emphasis:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7751:1-7753:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo***bar***baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7755:1-7757:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo&lt;em&gt;&lt;strong&gt;bar&lt;/strong&gt;&lt;/em&gt;baz&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7759:1-7761:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo******bar*********baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7763:1-7765:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;bar&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;***baz&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7768:1-7768:42" dir="auto">Indefinite levels of nesting are possible:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7770:1-7772:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo **bar *baz* bim** bop*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7774:1-7776:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo &lt;strong&gt;bar &lt;em&gt;baz&lt;/em&gt; bim&lt;/strong&gt; bop&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7779:1-7781:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo [*bar*](/url)*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7783:1-7785:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo &lt;a href="/url"&gt;&lt;em&gt;bar&lt;/em&gt;&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7788:1-7788:50" dir="auto">There can be no empty emphasis or strong emphasis:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7790:1-7792:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">** is not an empty emphasis</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7794:1-7796:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;** is not an empty emphasis&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7799:1-7801:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**** is not an empty strong emphasis</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7803:1-7805:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;**** is not an empty strong emphasis&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7809:1-7809:8" dir="auto">Rule 10:</p>
+<p data-sourcepos="7811:1-7812:25" dir="auto">Any nonempty sequence of inline elements can be the contents of an
+strongly emphasized span.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7814:1-7816:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo [bar](/url)**</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7818:1-7820:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo &lt;a href="/url"&gt;bar&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7823:1-7826:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo</span>
+<span id="LC2" class="line" lang="plaintext">bar**</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7828:1-7831:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo</span>
+<span id="LC2" class="line" lang="plaintext">bar&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7834:1-7835:23" dir="auto">In particular, emphasis and strong emphasis can be nested
+inside strong emphasis:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7837:1-7839:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo _bar_ baz__</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7841:1-7843:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo &lt;em&gt;bar&lt;/em&gt; baz&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7846:1-7848:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo __bar__ baz__</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7850:1-7852:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo &lt;strong&gt;bar&lt;/strong&gt; baz&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7855:1-7857:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">____foo__ bar__</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7859:1-7861:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;&lt;strong&gt;foo&lt;/strong&gt; bar&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7864:1-7866:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo **bar****</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7868:1-7870:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo &lt;strong&gt;bar&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7873:1-7875:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo *bar* baz**</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7877:1-7879:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo &lt;em&gt;bar&lt;/em&gt; baz&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7882:1-7884:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo*bar*baz**</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7886:1-7888:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo&lt;em&gt;bar&lt;/em&gt;baz&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7891:1-7893:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">***foo* bar**</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7895:1-7897:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;&lt;em&gt;foo&lt;/em&gt; bar&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7900:1-7902:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo *bar***</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7904:1-7906:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo &lt;em&gt;bar&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7909:1-7909:42" dir="auto">Indefinite levels of nesting are possible:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7911:1-7914:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo *bar **baz**</span>
+<span id="LC2" class="line" lang="plaintext">bim* bop**</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7916:1-7919:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo &lt;em&gt;bar &lt;strong&gt;baz&lt;/strong&gt;</span>
+<span id="LC2" class="line" lang="plaintext">bim&lt;/em&gt; bop&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7922:1-7924:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo [*bar*](/url)**</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7926:1-7928:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo &lt;a href="/url"&gt;&lt;em&gt;bar&lt;/em&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7931:1-7931:50" dir="auto">There can be no empty emphasis or strong emphasis:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7933:1-7935:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__ is not an empty emphasis</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7937:1-7939:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;__ is not an empty emphasis&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7942:1-7944:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">____ is not an empty strong emphasis</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7946:1-7948:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;____ is not an empty strong emphasis&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="7952:1-7952:8" dir="auto">Rule 11:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7954:1-7956:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo ***</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7958:1-7960:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo ***&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7963:1-7965:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo *\**</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7967:1-7969:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo &lt;em&gt;*&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7972:1-7974:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo *_*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7976:1-7978:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo &lt;em&gt;_&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7981:1-7983:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo *****</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7985:1-7987:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo *****&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7990:1-7992:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo **\***</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7994:1-7996:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo &lt;strong&gt;*&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="7999:1-8001:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo **_**</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8003:1-8005:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo &lt;strong&gt;_&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8008:1-8010:32" dir="auto">Note that when delimiters do not match evenly, Rule 11 determines
+that the excess literal <code>*</code> characters will appear outside of the
+emphasis, rather than inside it:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8012:1-8014:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8016:1-8018:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;*&lt;em&gt;foo&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8021:1-8023:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo**</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8025:1-8027:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;/em&gt;*&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8030:1-8032:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">***foo**</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8034:1-8036:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;*&lt;strong&gt;foo&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8039:1-8041:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">****foo*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8043:1-8045:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;***&lt;em&gt;foo&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8048:1-8050:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo***</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8052:1-8054:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo&lt;/strong&gt;*&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8057:1-8059:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo****</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8061:1-8063:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;/em&gt;***&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8067:1-8067:8" dir="auto">Rule 12:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8069:1-8071:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo ___</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8073:1-8075:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo ___&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8078:1-8080:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo _\__</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8082:1-8084:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo &lt;em&gt;_&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8087:1-8089:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo _*_</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8091:1-8093:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo &lt;em&gt;*&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8096:1-8098:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo _____</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8100:1-8102:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo _____&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8105:1-8107:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo __\___</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8109:1-8111:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo &lt;strong&gt;_&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8114:1-8116:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo __*__</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8118:1-8120:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo &lt;strong&gt;*&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8123:1-8125:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo_</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8127:1-8129:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;_&lt;em&gt;foo&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8132:1-8134:32" dir="auto">Note that when delimiters do not match evenly, Rule 12 determines
+that the excess literal <code>_</code> characters will appear outside of the
+emphasis, rather than inside it:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8136:1-8138:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_foo__</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8140:1-8142:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;/em&gt;_&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8145:1-8147:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">___foo__</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8149:1-8151:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;_&lt;strong&gt;foo&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8154:1-8156:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">____foo_</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8158:1-8160:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;___&lt;em&gt;foo&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8163:1-8165:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo___</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8167:1-8169:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo&lt;/strong&gt;_&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8172:1-8174:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_foo____</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8176:1-8178:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;/em&gt;___&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8181:1-8182:44" dir="auto">Rule 13 implies that if you want emphasis nested directly inside
+emphasis, you must use different delimiters:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8184:1-8186:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo**</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8188:1-8190:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8193:1-8195:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*_foo_*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8197:1-8199:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;&lt;em&gt;foo&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8202:1-8204:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__foo__</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8206:1-8208:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;foo&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8211:1-8213:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_*foo*_</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8215:1-8217:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;&lt;em&gt;foo&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8220:1-8221:21" dir="auto">However, strong emphasis within strong emphasis is possible without
+switching delimiters:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8223:1-8225:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">****foo****</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8227:1-8229:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;&lt;strong&gt;foo&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8232:1-8234:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">____foo____</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8236:1-8238:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;&lt;strong&gt;foo&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8242:1-8243:11" dir="auto">Rule 13 can be applied to arbitrarily long sequences of
+delimiters:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8245:1-8247:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">******foo******</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8249:1-8251:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;foo&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8254:1-8254:8" dir="auto">Rule 14:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8256:1-8258:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">***foo***</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8260:1-8262:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;&lt;strong&gt;foo&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8265:1-8267:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_____foo_____</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8269:1-8271:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;strong&gt;foo&lt;/strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8274:1-8274:8" dir="auto">Rule 15:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8276:1-8278:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo _bar* baz_</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8280:1-8282:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo _bar&lt;/em&gt; baz_&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8285:1-8287:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo __bar *baz bim__ bam*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8289:1-8291:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo &lt;strong&gt;bar *baz bim&lt;/strong&gt; bam&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8294:1-8294:8" dir="auto">Rule 16:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8296:1-8298:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**foo **bar baz**</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8300:1-8302:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;**foo &lt;strong&gt;bar baz&lt;/strong&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8305:1-8307:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo *bar baz*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8309:1-8311:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;*foo &lt;em&gt;bar baz&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8314:1-8314:8" dir="auto">Rule 17:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8316:1-8318:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*[bar*](/url)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8320:1-8322:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;*&lt;a href="/url"&gt;bar*&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8325:1-8327:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_foo [bar_](/url)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8329:1-8331:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;_foo &lt;a href="/url"&gt;bar_&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8334:1-8336:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*&lt;img src="foo" title="*"/&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8338:1-8340:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;*&lt;img src="foo" title="*"/&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8343:1-8345:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**&lt;a href="**"&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8347:1-8349:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;**&lt;a href="**"&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8352:1-8354:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__&lt;a href="__"&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8356:1-8358:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;__&lt;a href="__"&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8361:1-8363:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*a `*`*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8365:1-8367:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;a &lt;code&gt;*&lt;/code&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8370:1-8372:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">_a `_`_</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8374:1-8376:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;a &lt;code&gt;_&lt;/code&gt;&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8379:1-8381:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">**a&lt;http://foo.bar/?q=**&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8383:1-8385:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;**a&lt;a href="http://foo.bar/?q=**"&gt;http://foo.bar/?q=**&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8388:1-8390:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">__a&lt;http://foo.bar/?q=__&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8392:1-8394:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;__a&lt;a href="http://foo.bar/?q=__"&gt;http://foo.bar/?q=__&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div>
+<h2 data-sourcepos="8399:1-8399:28">
+<a id="user-content-strikethrough-extension" class="anchor" href="#strikethrough-extension" aria-hidden="true"></a>Strikethrough (extension)</h2>
+<p data-sourcepos="8401:1-8402:10">GFM enables the <code>strikethrough</code> extension, where an additional emphasis type is
+available.</p>
+<p data-sourcepos="8404:1-8404:59">Strikethrough text is any text wrapped in two tildes (<code>~</code>).</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8406:1-8408:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">~~Hi~~ Hello, world!</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8410:1-8412:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;del&gt;Hi&lt;/del&gt; Hello, world!&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8414:1-8415:17">As with regular emphasis delimiters, a new paragraph will cause strikethrough
+parsing to cease:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8417:1-8421:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">This ~~has a</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">new paragraph~~.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8423:1-8426:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;This ~~has a&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;new paragraph~~.&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+</div>
+<h2 data-sourcepos="8430:1-8430:8" dir="auto">
+<a id="user-content-links" class="anchor" href="#links" aria-hidden="true"></a>Links</h2>
+<p data-sourcepos="8432:1-8437:13" dir="auto">A link contains [link text] (the visible text), a [link destination]
+(the URI that is the link destination), and optionally a [link title].
+There are two basic kinds of links in Markdown. In [inline links] the
+destination and title are given immediately after the link text. In
+[reference links] the destination and title are defined elsewhere in
+the document.</p>
+<p data-sourcepos="8439:1-8441:22" dir="auto">A <a href="@">link text</a> consists of a sequence of zero or more
+inline elements enclosed by square brackets (<code>[</code> and <code>]</code>). The
+following rules apply:</p>
+<ul data-sourcepos="8443:1-8459:0" dir="auto">
+<li data-sourcepos="8443:1-8446:0">
+<p data-sourcepos="8443:3-8445:43">Links may not contain other links, at any level of nesting. If
+multiple otherwise valid link definitions appear nested inside each
+other, the inner-most definition is used.</p>
+</li>
+<li data-sourcepos="8447:1-8451:0">
+<p data-sourcepos="8447:3-8450:22">Brackets are allowed in the [link text] only if (a) they
+are backslash-escaped or (b) they appear as a matched pair of brackets,
+with an open bracket <code>[</code>, a sequence of zero or more inlines, and
+a close bracket <code>]</code>.</p>
+</li>
+<li data-sourcepos="8452:1-8456:0">
+<p data-sourcepos="8452:3-8455:25">Backtick [code spans], [autolinks], and raw [HTML tags] bind more tightly
+than the brackets in link text. Thus, for example,
+<code>[foo`]`</code> could not be a link text, since the second <code>]</code>
+is part of a code span.</p>
+</li>
+<li data-sourcepos="8457:1-8459:0">
+<p data-sourcepos="8457:3-8458:78">The brackets in link text bind more tightly than markers for
+[emphasis and strong emphasis]. Thus, for example, <code>*[foo*](url)</code> is a link.</p>
+</li>
+</ul>
+<p data-sourcepos="8460:1-8460:42" dir="auto">A <a href="@">link destination</a> consists of either</p>
+<ul data-sourcepos="8462:1-8473:0" dir="auto">
+<li data-sourcepos="8462:1-8465:0">
+<p data-sourcepos="8462:3-8464:27">a sequence of zero or more characters between an opening <code>&lt;</code> and a
+closing <code>&gt;</code> that contains no line breaks or unescaped
+<code>&lt;</code> or <code>&gt;</code> characters, or</p>
+</li>
+<li data-sourcepos="8466:1-8473:0">
+<p data-sourcepos="8466:3-8472:23">a nonempty sequence of characters that does not start with
+<code>&lt;</code>, does not include ASCII space or control characters, and
+includes parentheses only if (a) they are backslash-escaped or
+(b) they are part of a balanced pair of unescaped parentheses.
+(Implementations may impose limits on parentheses nesting to
+avoid performance issues, but at least three levels of nesting
+should be supported.)</p>
+</li>
+</ul>
+<p data-sourcepos="8474:1-8474:37" dir="auto">A <a href="@">link title</a> consists of either</p>
+<ul data-sourcepos="8476:1-8487:0" dir="auto">
+<li data-sourcepos="8476:1-8479:0">
+<p data-sourcepos="8476:3-8478:23">a sequence of zero or more characters between straight double-quote
+characters (<code>"</code>), including a <code>"</code> character only if it is
+backslash-escaped, or</p>
+</li>
+<li data-sourcepos="8480:1-8483:0">
+<p data-sourcepos="8480:3-8482:23">a sequence of zero or more characters between straight single-quote
+characters (<code>'</code>), including a <code>'</code> character only if it is
+backslash-escaped, or</p>
+</li>
+<li data-sourcepos="8484:1-8487:0">
+<p data-sourcepos="8484:3-8486:20">a sequence of zero or more characters between matching parentheses
+(<code>(...)</code>), including a <code>(</code> or <code>)</code> character only if it is
+backslash-escaped.</p>
+</li>
+</ul>
+<p data-sourcepos="8488:1-8489:15" dir="auto">Although [link titles] may span multiple lines, they may not contain
+a [blank line].</p>
+<p data-sourcepos="8491:1-8501:6" dir="auto">An <a href="@">inline link</a> consists of a [link text] followed immediately
+by a left parenthesis <code>(</code>, optional [whitespace], an optional
+[link destination], an optional [link title] separated from the link
+destination by [whitespace], optional [whitespace], and a right
+parenthesis <code>)</code>. The link's text consists of the inlines contained
+in the [link text] (excluding the enclosing square brackets).
+The link's URI consists of the link destination, excluding enclosing
+<code>&lt;...&gt;</code> if present, with backslash-escapes in effect as described
+above. The link's title consists of the link title, excluding its
+enclosing delimiters, with backslash-escapes in effect as described
+above.</p>
+<p data-sourcepos="8503:1-8503:29" dir="auto">Here is a simple inline link:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8505:1-8507:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](/uri "title")</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8509:1-8511:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri" title="title"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8514:1-8514:25" dir="auto">The title may be omitted:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8516:1-8518:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](/uri)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8520:1-8522:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8525:1-8525:50" dir="auto">Both the title and the destination may be omitted:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8527:1-8529:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link]()</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8531:1-8533:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href=""&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8536:1-8538:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](&lt;&gt;)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8540:1-8542:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href=""&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8544:1-8545:28" dir="auto">The destination can only contain spaces if it is
+enclosed in pointy brackets:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8547:1-8549:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](/my uri)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8551:1-8553:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[link](/my uri)&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8555:1-8557:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](&lt;/my uri&gt;)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8559:1-8561:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/my%20uri"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8563:1-8564:36" dir="auto">The destination cannot contain line breaks,
+even if enclosed in pointy brackets:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8566:1-8569:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](foo</span>
+<span id="LC2" class="line" lang="plaintext">bar)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8571:1-8574:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[link](foo</span>
+<span id="LC2" class="line" lang="plaintext">bar)&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8576:1-8579:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](&lt;foo</span>
+<span id="LC2" class="line" lang="plaintext">bar&gt;)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8581:1-8584:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[link](&lt;foo</span>
+<span id="LC2" class="line" lang="plaintext">bar&gt;)&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8586:1-8587:19" dir="auto">The destination can contain <code>)</code> if it is enclosed
+in pointy brackets:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8589:1-8591:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[a](&lt;b)c&gt;)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8593:1-8595:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="b)c"&gt;a&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8597:1-8597:53" dir="auto">Pointy brackets that enclose links must be unescaped:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8599:1-8601:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](&lt;foo\&gt;)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8603:1-8605:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[link](&amp;lt;foo&amp;gt;)&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8607:1-8608:24" dir="auto">These are not links, because the opening pointy bracket
+is not matched properly:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8610:1-8614:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[a](&lt;b)c</span>
+<span id="LC2" class="line" lang="plaintext">[a](&lt;b)c&gt;</span>
+<span id="LC3" class="line" lang="plaintext">[a](&lt;b&gt;c)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8616:1-8620:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[a](&amp;lt;b)c</span>
+<span id="LC2" class="line" lang="plaintext">[a](&amp;lt;b)c&amp;gt;</span>
+<span id="LC3" class="line" lang="plaintext">[a](&lt;b&gt;c)&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8622:1-8622:55" dir="auto">Parentheses inside the link destination may be escaped:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8624:1-8626:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](\(foo\))</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8628:1-8630:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="(foo)"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8632:1-8633:9" dir="auto">Any number of parentheses are allowed without escaping, as long as they are
+balanced:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8635:1-8637:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](foo(and(bar)))</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8639:1-8641:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="foo(and(bar))"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8643:1-8644:13" dir="auto">However, if you have unbalanced parentheses, you need to escape or use the
+<code>&lt;...&gt;</code> form:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8646:1-8648:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](foo\(and\(bar\))</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8650:1-8652:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="foo(and(bar)"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8655:1-8657:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](&lt;foo(and(bar)&gt;)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8659:1-8661:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="foo(and(bar)"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8664:1-8665:12" dir="auto">Parentheses and other symbols can also be escaped, as usual
+in Markdown:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8667:1-8669:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](foo\)\:)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8671:1-8673:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="foo):"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8676:1-8676:52" dir="auto">A link can contain fragment identifiers and queries:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8678:1-8684:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](#fragment)</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[link](http://example.com#fragment)</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">[link](http://example.com?foo=3#frag)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8686:1-8690:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="#fragment"&gt;link&lt;/a&gt;&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://example.com#fragment"&gt;link&lt;/a&gt;&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://example.com?foo=3#frag"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8693:1-8694:17" dir="auto">Note that a backslash before a non-escapable character is
+just a backslash:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8696:1-8698:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](foo\bar)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8700:1-8702:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="foo%5Cbar"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8705:1-8712:52" dir="auto">URL-escaping should be left alone inside the destination, as all
+URL-escaped characters are also valid URL characters. Entity and
+numerical character references in the destination will be parsed
+into the corresponding Unicode code points, as usual. These may
+be optionally URL-escaped when written as HTML, but this spec
+does not enforce any particular policy for rendering URLs in
+HTML or other formats. Renderers may make different decisions
+about how to escape or normalize URLs in the output.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8714:1-8716:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](foo%20b&amp;auml;)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8718:1-8720:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="foo%20b%C3%A4"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8723:1-8725:23" dir="auto">Note that, because titles can often be parsed as destinations,
+if you try to omit the destination and keep the title, you'll
+get unexpected results:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8727:1-8729:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link]("title")</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8731:1-8733:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="%22title%22"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8736:1-8736:62" dir="auto">Titles may be in single quotes, double quotes, or parentheses:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8738:1-8742:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](/url "title")</span>
+<span id="LC2" class="line" lang="plaintext">[link](/url 'title')</span>
+<span id="LC3" class="line" lang="plaintext">[link](/url (title))</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8744:1-8748:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;link&lt;/a&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;a href="/url" title="title"&gt;link&lt;/a&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;a href="/url" title="title"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8751:1-8752:22" dir="auto">Backslash escapes and entity and numeric character references
+may be used in titles:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8754:1-8756:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](/url "title \"&amp;quot;")</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8758:1-8760:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title &amp;quot;&amp;quot;"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8763:1-8764:64" dir="auto">Titles must be separated from the link using a [whitespace].
+Other [Unicode whitespace] like non-breaking space doesn't work.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8766:1-8768:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](/url "title")</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8770:1-8772:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url%C2%A0%22title%22"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8775:1-8775:56" dir="auto">Nested balanced quotes are not allowed without escaping:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8777:1-8779:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](/url "title "and" title")</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8781:1-8783:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[link](/url &amp;quot;title &amp;quot;and&amp;quot; title&amp;quot;)&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8786:1-8786:67" dir="auto">But it is easy to work around this by using a different quote type:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8788:1-8790:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link](/url 'title "and" title')</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8792:1-8794:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title &amp;quot;and&amp;quot; title"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8797:1-8810:61" dir="auto">(Note: <code>Markdown.pl</code> did allow double quotes inside a double-quoted
+title, and its test suite included a test demonstrating this.
+But it is hard to see a good rationale for the extra complexity this
+brings, since there are already many ways---backslash escaping,
+entity and numeric character references, or using a different
+quote type for the enclosing title---to write titles containing
+double quotes. <code>Markdown.pl</code>'s handling of titles has a number
+of other strange features. For example, it allows single-quoted
+titles in inline links, but not reference links. And, in
+reference links but not inline links, it allows a title to begin
+with <code>"</code> and end with <code>)</code>. <code>Markdown.pl</code> 1.0.1 even allows
+titles with no closing quotation mark, though 1.0.2b8 does not.
+It seems preferable to adopt a simple, rational rule that works
+the same way in inline links and link reference definitions.)</p>
+<p data-sourcepos="8812:1-8812:57" dir="auto">[Whitespace] is allowed around the destination and title:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8814:1-8817:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link]( /uri</span>
+<span id="LC2" class="line" lang="plaintext"> "title" )</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8819:1-8821:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri" title="title"&gt;link&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8824:1-8825:22" dir="auto">But it is not allowed between the link text and the
+following parenthesis:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8827:1-8829:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link] (/uri)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8831:1-8833:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[link] (/uri)&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8836:1-8837:24" dir="auto">The link text may contain balanced brackets, but not unbalanced ones,
+unless they are escaped:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8839:1-8841:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link [foo [bar]]](/uri)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8843:1-8845:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;link [foo [bar]]&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8848:1-8850:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link] bar](/uri)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8852:1-8854:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[link] bar](/uri)&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8857:1-8859:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link [bar](/uri)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8861:1-8863:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[link &lt;a href="/uri"&gt;bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8866:1-8868:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link \[bar](/uri)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8870:1-8872:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;link [bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8875:1-8875:41" dir="auto">The link text may contain inline content:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8877:1-8879:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link *foo **bar** `#`*](/uri)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8881:1-8883:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;link &lt;em&gt;foo &lt;strong&gt;bar&lt;/strong&gt; &lt;code&gt;#&lt;/code&gt;&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8886:1-8888:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[![moon](moon.jpg)](/uri)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8890:1-8892:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;&lt;img src="moon.jpg" alt="moon" /&gt;&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8895:1-8895:68" dir="auto">However, links may not contain other links, at any level of nesting.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8897:1-8899:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo [bar](/uri)](/uri)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8901:1-8903:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[foo &lt;a href="/uri"&gt;bar&lt;/a&gt;](/uri)&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8906:1-8908:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo *[bar [baz](/uri)](/uri)*](/uri)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8910:1-8912:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[foo &lt;em&gt;[bar &lt;a href="/uri"&gt;baz&lt;/a&gt;](/uri)&lt;/em&gt;](/uri)&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8915:1-8917:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![[[foo](uri1)](uri2)](uri3)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8919:1-8921:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;img src="uri3" alt="[foo](uri2)" /&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8924:1-8925:18" dir="auto">These cases illustrate the precedence of link text grouping over
+emphasis grouping:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8927:1-8929:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*[foo*](/uri)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8931:1-8933:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;*&lt;a href="/uri"&gt;foo*&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8936:1-8938:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo *bar](baz*)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8940:1-8942:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="baz*"&gt;foo *bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8945:1-8946:11" dir="auto">Note that brackets that <em>aren't</em> part of links do not take
+precedence:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8948:1-8950:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo [bar* baz]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8952:1-8954:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo [bar&lt;/em&gt; baz]&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8957:1-8958:33" dir="auto">These cases illustrate the precedence of HTML tags, code spans,
+and autolinks over link grouping:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8960:1-8962:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo &lt;bar attr="](baz)"&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8964:1-8966:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[foo &lt;bar attr="](baz)"&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8969:1-8971:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo`](/uri)`</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8973:1-8975:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[foo&lt;code&gt;](/uri)&lt;/code&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8978:1-8980:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo&lt;http://example.com/?search=](uri)&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="8982:1-8984:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[foo&lt;a href="http://example.com/?search=%5D(uri)"&gt;http://example.com/?search=](uri)&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="8987:1-8989:41" dir="auto">There are three kinds of <a href="@">reference link</a>s:
+<a href="#full-reference-link">full</a>, <a href="#collapsed-reference-link">collapsed</a>,
+and <a href="#shortcut-reference-link">shortcut</a>.</p>
+<p data-sourcepos="8991:1-8993:71" dir="auto">A <a href="@">full reference link</a>
+consists of a [link text] immediately followed by a [link label]
+that [matches] a [link reference definition] elsewhere in the document.</p>
+<p data-sourcepos="8995:1-9001:9" dir="auto">A <a href="@">link label</a> begins with a left bracket (<code>[</code>) and ends
+with the first right bracket (<code>]</code>) that is not backslash-escaped.
+Between these brackets there must be at least one [non-whitespace character].
+Unescaped square bracket characters are not allowed inside the
+opening and closing square brackets of [link labels]. A link
+label can have at most 999 characters inside the square
+brackets.</p>
+<p data-sourcepos="9003:1-9010:69" dir="auto">One label <a href="@">matches</a>
+another just in case their normalized forms are equal. To normalize a
+label, strip off the opening and closing brackets,
+perform the <em>Unicode case fold</em>, strip leading and trailing
+[whitespace] and collapse consecutive internal
+[whitespace] to a single space. If there are multiple
+matching reference link definitions, the one that comes first in the
+document is used. (It is desirable in such cases to emit a warning.)</p>
+<p data-sourcepos="9012:1-9014:37" dir="auto">The contents of the first link label are parsed as inlines, which are
+used as the link's text. The link's URI and title are provided by the
+matching [link reference definition].</p>
+<p data-sourcepos="9016:1-9016:25" dir="auto">Here is a simple example:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9018:1-9022:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][bar]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[bar]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9024:1-9026:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9029:1-9030:22" dir="auto">The rules for the [link text] are the same as with
+[inline links]. Thus:</p>
+<p data-sourcepos="9032:1-9033:24" dir="auto">The link text may contain balanced brackets, but not unbalanced ones,
+unless they are escaped:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9035:1-9039:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link [foo [bar]]][ref]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9041:1-9043:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;link [foo [bar]]&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9046:1-9050:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link \[bar][ref]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9052:1-9054:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;link [bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9057:1-9057:41" dir="auto">The link text may contain inline content:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9059:1-9063:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[link *foo **bar** `#`*][ref]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9065:1-9067:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;link &lt;em&gt;foo &lt;strong&gt;bar&lt;/strong&gt; &lt;code&gt;#&lt;/code&gt;&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9070:1-9074:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[![moon](moon.jpg)][ref]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9076:1-9078:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;&lt;img src="moon.jpg" alt="moon" /&gt;&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9081:1-9081:68" dir="auto">However, links may not contain other links, at any level of nesting.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9083:1-9087:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo [bar](/uri)][ref]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9089:1-9091:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[foo &lt;a href="/uri"&gt;bar&lt;/a&gt;]&lt;a href="/uri"&gt;ref&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9094:1-9098:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo *bar [baz][ref]*][ref]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9100:1-9102:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[foo &lt;em&gt;bar &lt;a href="/uri"&gt;baz&lt;/a&gt;&lt;/em&gt;]&lt;a href="/uri"&gt;ref&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9105:1-9106:38" dir="auto">(In the examples above, we have two [shortcut reference links]
+instead of one [full reference link].)</p>
+<p data-sourcepos="9108:1-9109:18" dir="auto">The following cases illustrate the precedence of link text grouping over
+emphasis grouping:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9111:1-9115:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*[foo*][ref]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9117:1-9119:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;*&lt;a href="/uri"&gt;foo*&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9122:1-9126:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo *bar][ref]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9128:1-9130:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;foo *bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9133:1-9134:33" dir="auto">These cases illustrate the precedence of HTML tags, code spans,
+and autolinks over link grouping:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9136:1-9140:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo &lt;bar attr="][ref]"&gt;</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9142:1-9144:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[foo &lt;bar attr="][ref]"&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9147:1-9151:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo`][ref]`</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9153:1-9155:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[foo&lt;code&gt;][ref]&lt;/code&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9158:1-9162:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo&lt;http://example.com/?search=][ref]&gt;</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[ref]: /uri</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9164:1-9166:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[foo&lt;a href="http://example.com/?search=%5D%5Bref%5D"&gt;http://example.com/?search=][ref]&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9169:1-9169:29" dir="auto">Matching is case-insensitive:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9171:1-9175:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][BaR]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[bar]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9177:1-9179:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9182:1-9182:26" dir="auto">Unicode case fold is used:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9184:1-9188:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[Толпой][Толпой] is a Russian word.</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[ТОЛПОЙ]: /url</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9190:1-9192:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url"&gt;Толпой&lt;/a&gt; is a Russian word.&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9195:1-9196:33" dir="auto">Consecutive internal [whitespace] is treated as one space for
+purposes of determining matching:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9198:1-9203:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[Foo</span>
+<span id="LC2" class="line" lang="plaintext"> bar]: /url</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">[Baz][Foo bar]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9205:1-9207:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url"&gt;Baz&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9210:1-9211:13" dir="auto">No [whitespace] is allowed between the [link text] and the
+[link label]:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9213:1-9217:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo] [bar]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[bar]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9219:1-9221:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[foo] &lt;a href="/url" title="title"&gt;bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9224:1-9229:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]</span>
+<span id="LC2" class="line" lang="plaintext">[bar]</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">[bar]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9231:1-9234:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[foo]</span>
+<span id="LC2" class="line" lang="plaintext">&lt;a href="/url" title="title"&gt;bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9237:1-9246:9" dir="auto">This is a departure from John Gruber's original Markdown syntax
+description, which explicitly allows whitespace between the link
+text and the link label. It brings reference links in line with
+[inline links], which (according to both original Markdown and
+this spec) cannot have whitespace after the link text. More
+importantly, it prevents inadvertent capture of consecutive
+[shortcut reference links]. If whitespace is allowed between the
+link text and the link label, then in the following we will have
+a single reference link, not two shortcut reference links, as
+intended:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9248:1-9254:3" lang="markdown" class="code highlight js-syntax-highlight language-markdown" v-pre="true"><code><span id="LC1" class="line" lang="markdown">[foo]</span>
+<span id="LC2" class="line" lang="markdown">[bar]</span>
+<span id="LC3" class="line" lang="markdown"></span>
+<span id="LC4" class="line" lang="markdown"><span class="p">[</span><span class="ss">foo</span><span class="p">]:</span> <span class="sx">/url1</span></span>
+<span id="LC5" class="line" lang="markdown"><span class="p">[</span><span class="ss">bar</span><span class="p">]:</span> <span class="sx">/url2</span></span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9256:1-9262:20" dir="auto">(Note that [shortcut reference links] were introduced by Gruber
+himself in a beta version of <code>Markdown.pl</code>, but never included
+in the official syntax description. Without shortcut reference
+links, it is harmless to allow space between the link text and
+link label; but once shortcut references are introduced, it is
+too dangerous to allow this, as it frequently leads to
+unintended results.)</p>
+<p data-sourcepos="9264:1-9265:18" dir="auto">When there are multiple matching [link reference definitions],
+the first is used:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9267:1-9273:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]: /url1</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: /url2</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">[bar][foo]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9275:1-9277:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url1"&gt;bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9280:1-9282:40" dir="auto">Note that matching is performed on normalized strings, not parsed
+inline content. So the following does not match, even though the
+labels define equivalent inline content:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9284:1-9288:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[bar][foo\!]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo!]: /url</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9290:1-9292:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[bar][foo!]&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9295:1-9296:18" dir="auto">[Link labels] cannot contain brackets, unless they are
+backslash-escaped:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9298:1-9302:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][ref[]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[ref[]: /uri</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9304:1-9307:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[foo][ref[]&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;[ref[]: /uri&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9310:1-9314:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][ref[bar]]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[ref[bar]]: /uri</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9316:1-9319:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[foo][ref[bar]]&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;[ref[bar]]: /uri&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9322:1-9326:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[[[foo]]]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[[[foo]]]: /url</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9328:1-9331:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[[[foo]]]&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;[[[foo]]]: /url&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9334:1-9338:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][ref\[]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[ref\[]: /uri</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9340:1-9342:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9345:1-9345:55" dir="auto">Note that in this example <code>]</code> is not backslash-escaped:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9347:1-9351:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[bar\\]: /uri</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[bar\\]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9353:1-9355:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/uri"&gt;bar\&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9358:1-9358:68" dir="auto">A [link label] must contain at least one [non-whitespace character]:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9360:1-9364:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[]: /uri</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9366:1-9369:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[]&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;[]: /uri&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9372:1-9378:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[</span>
+<span id="LC2" class="line" lang="plaintext"> ]</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">[</span>
+<span id="LC5" class="line" lang="plaintext"> ]: /uri</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9380:1-9385:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[</span>
+<span id="LC2" class="line" lang="plaintext">]&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;[</span>
+<span id="LC4" class="line" lang="plaintext">]: /uri&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9388:1-9395:40" dir="auto">A <a href="@">collapsed reference link</a>
+consists of a [link label] that [matches] a
+[link reference definition] elsewhere in the
+document, followed by the string <code>[]</code>.
+The contents of the first link label are parsed as inlines,
+which are used as the link's text. The link's URI and title are
+provided by the matching reference link definition. Thus,
+<code>[foo][]</code> is equivalent to <code>[foo][foo]</code>.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9397:1-9401:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9403:1-9405:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9408:1-9412:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[*foo* bar][]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[*foo* bar]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9414:1-9416:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;&lt;em&gt;foo&lt;/em&gt; bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9419:1-9419:37" dir="auto">The link labels are case-insensitive:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9421:1-9425:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[Foo][]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9427:1-9429:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;Foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9433:1-9434:41" dir="auto">As with full reference links, [whitespace] is not
+allowed between the two sets of brackets:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9436:1-9441:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo] </span>
+<span id="LC2" class="line" lang="plaintext">[]</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">[foo]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9443:1-9446:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;foo&lt;/a&gt;</span>
+<span id="LC2" class="line" lang="plaintext">[]&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9449:1-9456:41" dir="auto">A <a href="@">shortcut reference link</a>
+consists of a [link label] that [matches] a
+[link reference definition] elsewhere in the
+document and is not followed by <code>[]</code> or a link label.
+The contents of the first link label are parsed as inlines,
+which are used as the link's text. The link's URI and title
+are provided by the matching link reference definition.
+Thus, <code>[foo]</code> is equivalent to <code>[foo][]</code>.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9458:1-9462:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9464:1-9466:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9469:1-9473:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[*foo* bar]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[*foo* bar]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9475:1-9477:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;&lt;em&gt;foo&lt;/em&gt; bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9480:1-9484:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[[*foo* bar]]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[*foo* bar]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9486:1-9488:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[&lt;a href="/url" title="title"&gt;&lt;em&gt;foo&lt;/em&gt; bar&lt;/a&gt;]&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9491:1-9495:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[[bar [foo]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: /url</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9497:1-9499:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[[bar &lt;a href="/url"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9502:1-9502:37" dir="auto">The link labels are case-insensitive:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9504:1-9508:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[Foo]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9510:1-9512:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url" title="title"&gt;Foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9515:1-9515:48" dir="auto">A space after the link text should be preserved:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9517:1-9521:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo] bar</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: /url</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9523:1-9525:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url"&gt;foo&lt;/a&gt; bar&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9528:1-9529:31" dir="auto">If you just want bracketed text, you can backslash-escape the
+opening bracket to avoid links:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9531:1-9535:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">\[foo]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9537:1-9539:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[foo]&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9542:1-9543:26" dir="auto">Note that this is a link, because a link label ends with the first
+following closing bracket:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9545:1-9549:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo*]: /url</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">*[foo*]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9551:1-9553:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;*&lt;a href="/url"&gt;foo*&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9556:1-9557:11" dir="auto">Full and compact references take precedence over shortcut
+references:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9559:1-9564:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][bar]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: /url1</span>
+<span id="LC4" class="line" lang="plaintext">[bar]: /url2</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9566:1-9568:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url2"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9570:1-9574:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: /url1</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9576:1-9578:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url1"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9580:1-9580:34" dir="auto">Inline links also take precedence:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9582:1-9586:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo]()</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: /url1</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9588:1-9590:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href=""&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9592:1-9596:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo](not a link)</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: /url1</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9598:1-9600:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url1"&gt;foo&lt;/a&gt;(not a link)&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9602:1-9603:23" dir="auto">In the following case <code>[bar][baz]</code> is parsed as a reference,
+<code>[foo]</code> as normal text:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9605:1-9609:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][bar][baz]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[baz]: /url</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9611:1-9613:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[foo]&lt;a href="/url"&gt;bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9616:1-9617:19" dir="auto">Here, though, <code>[foo][bar]</code> is parsed as a reference, since
+<code>[bar]</code> is defined:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9619:1-9624:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][bar][baz]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[baz]: /url1</span>
+<span id="LC4" class="line" lang="plaintext">[bar]: /url2</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9626:1-9628:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="/url2"&gt;foo&lt;/a&gt;&lt;a href="/url1"&gt;baz&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9631:1-9632:65" dir="auto">Here <code>[foo]</code> is not parsed as a shortcut reference, because it
+is followed by a link label (even though <code>[bar]</code> is not defined):</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9634:1-9639:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[foo][bar][baz]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[baz]: /url1</span>
+<span id="LC4" class="line" lang="plaintext">[foo]: /url2</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9641:1-9643:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[foo]&lt;a href="/url1"&gt;bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="9647:1-9647:9" dir="auto">
+<a id="user-content-images" class="anchor" href="#images" aria-hidden="true"></a>Images</h2>
+<p data-sourcepos="9649:1-9657:55" dir="auto">Syntax for images is like the syntax for links, with one
+difference. Instead of [link text], we have an
+<a href="@">image description</a>. The rules for this are the
+same as for [link text], except that (a) an
+image description starts with <code>![</code> rather than <code>[</code>, and
+(b) an image description may contain links.
+An image description has inline elements
+as its contents. When an image is rendered to HTML,
+this is standardly used as the image's <code>alt</code> attribute.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9659:1-9661:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo](/url "title")</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9663:1-9665:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="foo" title="title" /&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9668:1-9672:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo *bar*]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo *bar*]: train.jpg "train &amp; tracks"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9674:1-9676:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;img src="train.jpg" alt="foo bar" title="train &amp;amp; tracks" /&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9679:1-9681:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo ![bar](/url)](/url2)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9683:1-9685:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url2" alt="foo bar" /&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9688:1-9690:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo [bar](/url)](/url2)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9692:1-9694:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url2" alt="foo bar" /&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9697:1-9702:40" dir="auto">Though this spec is concerned with parsing, not rendering, it is
+recommended that in rendering to HTML, only the plain string content
+of the [image description] be used. Note that in
+the above example, the alt attribute's value is <code>foo bar</code>, not <code>foo [bar](/url)</code> or <code>foo &lt;a href="/url"&gt;bar&lt;/a&gt;</code>. Only the plain string
+content is rendered, without formatting.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9704:1-9708:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo *bar*][]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo *bar*]: train.jpg "train &amp; tracks"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9710:1-9712:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;img src="train.jpg" alt="foo bar" title="train &amp;amp; tracks" /&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9715:1-9719:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo *bar*][foobar]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[FOOBAR]: train.jpg "train &amp; tracks"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9721:1-9723:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;img src="train.jpg" alt="foo bar" title="train &amp;amp; tracks" /&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9726:1-9728:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo](train.jpg)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9730:1-9732:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;img src="train.jpg" alt="foo" /&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9735:1-9737:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">My ![foo bar](/path/to/train.jpg "title" )</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9739:1-9741:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;My &lt;img src="/path/to/train.jpg" alt="foo bar" title="title" /&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9744:1-9746:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo](&lt;url&gt;)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9748:1-9750:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;img src="url" alt="foo" /&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9753:1-9755:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![](/url)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9757:1-9759:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="" /&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9762:1-9762:16" dir="auto">Reference-style:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9764:1-9768:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo][bar]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[bar]: /url</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9770:1-9772:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="foo" /&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9775:1-9779:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo][bar]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[BAR]: /url</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9781:1-9783:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="foo" /&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9786:1-9786:10" dir="auto">Collapsed:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9788:1-9792:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo][]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9794:1-9796:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="foo" title="title" /&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9799:1-9803:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![*foo* bar][]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[*foo* bar]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9805:1-9807:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="foo bar" title="title" /&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9810:1-9810:32" dir="auto">The labels are case-insensitive:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9812:1-9816:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![Foo][]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9818:1-9820:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="Foo" title="title" /&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9823:1-9824:33" dir="auto">As with reference links, [whitespace] is not allowed
+between the two sets of brackets:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9826:1-9831:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo] </span>
+<span id="LC2" class="line" lang="plaintext">[]</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">[foo]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9833:1-9836:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="foo" title="title" /&gt;</span>
+<span id="LC2" class="line" lang="plaintext">[]&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9839:1-9839:9" dir="auto">Shortcut:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9841:1-9845:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![foo]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9847:1-9849:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="foo" title="title" /&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9852:1-9856:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![*foo* bar]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[*foo* bar]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9858:1-9860:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="foo bar" title="title" /&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9863:1-9863:56" dir="auto">Note that link labels cannot contain unescaped brackets:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9865:1-9869:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![[foo]]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[[foo]]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9871:1-9874:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;![[foo]]&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;[[foo]]: /url &amp;quot;title&amp;quot;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9877:1-9877:37" dir="auto">The link labels are case-insensitive:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9879:1-9883:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![Foo]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9885:1-9887:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;img src="/url" alt="Foo" title="title" /&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9890:1-9891:33" dir="auto">If you just want a literal <code>!</code> followed by bracketed text, you can
+backslash-escape the opening <code>[</code>:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9893:1-9897:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">!\[foo]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9899:1-9901:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;![foo]&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9904:1-9905:4" dir="auto">If you want a link after a literal <code>!</code>, backslash-escape the
+<code>!</code>:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9907:1-9911:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">\![foo]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[foo]: /url "title"</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9913:1-9915:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;!&lt;a href="/url" title="title"&gt;foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="9918:1-9918:12" dir="auto">
+<a id="user-content-autolinks" class="anchor" href="#autolinks" aria-hidden="true"></a>Autolinks</h2>
+<p data-sourcepos="9920:1-9922:18" dir="auto"><a href="@">Autolink</a>s are absolute URIs and email addresses inside
+<code>&lt;</code> and <code>&gt;</code>. They are parsed as links, with the URL or email address
+as the link label.</p>
+<p data-sourcepos="9924:1-9926:52" dir="auto">A <a href="@">URI autolink</a> consists of <code>&lt;</code>, followed by an
+[absolute URI] followed by <code>&gt;</code>. It is parsed as
+a link to the URI, with the URI as the link's label.</p>
+<p data-sourcepos="9928:1-9933:25" dir="auto">An <a href="@">absolute URI</a>,
+for these purposes, consists of a [scheme] followed by a colon (<code>:</code>)
+followed by zero or more characters other than ASCII
+[whitespace] and control characters, <code>&lt;</code>, and <code>&gt;</code>. If
+the URI includes these characters, they must be percent-encoded
+(e.g. <code>%20</code> for a space).</p>
+<p data-sourcepos="9935:1-9938:37" dir="auto">For purposes of this spec, a <a href="@">scheme</a> is any sequence
+of 2--32 characters beginning with an ASCII letter and followed
+by any combination of ASCII letters, digits, or the symbols plus
+("+"), period ("."), or hyphen ("-").</p>
+<p data-sourcepos="9940:1-9940:30" dir="auto">Here are some valid autolinks:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9942:1-9944:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;http://foo.bar.baz&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9946:1-9948:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://foo.bar.baz"&gt;http://foo.bar.baz&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9951:1-9953:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;http://foo.bar.baz/test?q=hello&amp;id=22&amp;boolean&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9955:1-9957:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://foo.bar.baz/test?q=hello&amp;amp;id=22&amp;amp;boolean"&gt;http://foo.bar.baz/test?q=hello&amp;amp;id=22&amp;amp;boolean&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9960:1-9962:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;irc://foo.bar:2233/baz&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9964:1-9966:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="irc://foo.bar:2233/baz"&gt;irc://foo.bar:2233/baz&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9969:1-9969:23" dir="auto">Uppercase is also fine:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9971:1-9973:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;MAILTO:FOO@BAR.BAZ&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9975:1-9977:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="MAILTO:FOO@BAR.BAZ"&gt;MAILTO:FOO@BAR.BAZ&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="9980:1-9983:18" dir="auto">Note that many strings that count as [absolute URIs] for
+purposes of this spec are not valid URIs, because their
+schemes are not registered or because of other problems
+with their syntax:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9985:1-9987:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a+b+c:d&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9989:1-9991:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="a+b+c:d"&gt;a+b+c:d&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9994:1-9996:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;made-up-scheme://foo,bar&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="9998:1-10000:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="made-up-scheme://foo,bar"&gt;made-up-scheme://foo,bar&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10003:1-10005:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;http://../&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10007:1-10009:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://../"&gt;http://../&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10012:1-10014:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;localhost:5001/foo&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10016:1-10018:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="localhost:5001/foo"&gt;localhost:5001/foo&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10021:1-10021:36" dir="auto">Spaces are not allowed in autolinks:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10023:1-10025:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;http://foo.bar/baz bim&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10027:1-10029:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&amp;lt;http://foo.bar/baz bim&amp;gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10032:1-10032:47" dir="auto">Backslash-escapes do not work inside autolinks:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10034:1-10036:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;http://example.com/\[\&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10038:1-10040:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://example.com/%5C%5B%5C"&gt;http://example.com/\[\&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10043:1-10046:55" dir="auto">An <a href="@">email autolink</a>
+consists of <code>&lt;</code>, followed by an [email address],
+followed by <code>&gt;</code>. The link's label is the email address,
+and the URL is <code>mailto:</code> followed by the email address.</p>
+<p data-sourcepos="10048:1-10051:83" dir="auto">An <a href="@">email address</a>,
+for these purposes, is anything that matches
+the <a href="https://html.spec.whatwg.org/multipage/forms.html#e-mail-state-(type=email)" rel="nofollow noreferrer noopener" target="_blank">non-normative regex from the HTML5
+spec</a>:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10053:5-10055:0" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">/^[a-zA-Z0-9.!#$%&amp;'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?</span>
+<span id="LC2" class="line" lang="plaintext">(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10056:1-10056:28" dir="auto">Examples of email autolinks:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10058:1-10060:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;foo@bar.example.com&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10062:1-10064:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="mailto:foo@bar.example.com"&gt;foo@bar.example.com&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10067:1-10069:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;foo+special@Bar.baz-bar0.com&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10071:1-10073:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="mailto:foo+special@Bar.baz-bar0.com"&gt;foo+special@Bar.baz-bar0.com&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10076:1-10076:53" dir="auto">Backslash-escapes do not work inside email autolinks:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10078:1-10080:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;foo\+@bar.example.com&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10082:1-10084:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&amp;lt;foo+@bar.example.com&amp;gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10087:1-10087:24" dir="auto">These are not autolinks:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10089:1-10091:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10093:1-10095:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&amp;lt;&amp;gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10098:1-10100:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt; http://foo.bar &gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10102:1-10104:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&amp;lt; http://foo.bar &amp;gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10107:1-10109:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;m:abc&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10111:1-10113:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&amp;lt;m:abc&amp;gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10116:1-10118:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;foo.bar.baz&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10120:1-10122:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&amp;lt;foo.bar.baz&amp;gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10125:1-10127:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">http://example.com</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10129:1-10131:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;http://example.com&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10134:1-10136:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo@bar.example.com</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10138:1-10140:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo@bar.example.com&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div>
+<h2 data-sourcepos="10144:1-10144:24">
+<a id="user-content-autolinks-extension" class="anchor" href="#autolinks-extension" aria-hidden="true"></a>Autolinks (extension)</h2>
+<p data-sourcepos="10146:1-10147:29">GFM enables the <code>autolink</code> extension, where autolinks will be recognised in a
+greater number of conditions.</p>
+<p data-sourcepos="10149:1-10153:8">[Autolink]s can also be constructed without requiring the use of <code>&lt;</code> and to <code>&gt;</code>
+to delimit them, although they will be recognized under a smaller set of
+circumstances. All such recognized autolinks can only come at the beginning of
+a line, after whitespace, or any of the delimiting characters <code>*</code>, <code>_</code>, <code>~</code>,
+and <code>(</code>.</p>
+<p data-sourcepos="10155:1-10161:73">An <a href="@">extended www autolink</a> will be recognized
+when the text <code>www.</code> is found followed by a [valid domain].
+A <a href="@">valid domain</a> consists of segments
+of alphanumeric characters, underscores (<code>_</code>) and hyphens (<code>-</code>)
+separated by periods (<code>.</code>).
+There must be at least one period,
+and no underscores may be present in the last two segments of the domain.</p>
+<p data-sourcepos="10163:1-10163:49">The scheme <code>http</code> will be inserted automatically:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10165:1-10167:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">www.commonmark.org</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10169:1-10171:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://www.commonmark.org"&gt;www.commonmark.org&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10173:1-10173:77">After a [valid domain], zero or more non-space non-<code>&lt;</code> characters may follow:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10175:1-10177:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Visit www.commonmark.org/help for more information.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10179:1-10181:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;Visit &lt;a href="http://www.commonmark.org/help"&gt;www.commonmark.org/help&lt;/a&gt; for more information.&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10183:1-10183:64">We then apply <a href="@">extended autolink path validation</a> as follows:</p>
+<p data-sourcepos="10185:1-10187:21">Trailing punctuation (specifically, <code>?</code>, <code>!</code>, <code>.</code>, <code>,</code>, <code>:</code>, <code>*</code>, <code>_</code>, and <code>~</code>)
+will not be considered part of the autolink, though they may be included in the
+interior of the link:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10189:1-10193:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Visit www.commonmark.org.</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">Visit www.commonmark.org/a.b.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10195:1-10198:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;Visit &lt;a href="http://www.commonmark.org"&gt;www.commonmark.org&lt;/a&gt;.&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;Visit &lt;a href="http://www.commonmark.org/a.b"&gt;www.commonmark.org/a.b&lt;/a&gt;.&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10200:1-10203:76">When an autolink ends in <code>)</code>, we scan the entire autolink for the total number
+of parentheses. If there is a greater number of closing parentheses than
+opening ones, we don't consider the unmatched trailing parentheses part of the
+autolink, in order to facilitate including an autolink inside a parenthesis:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10205:1-10213:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">www.google.com/search?q=Markup+(business)</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">www.google.com/search?q=Markup+(business)))</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">(www.google.com/search?q=Markup+(business))</span>
+<span id="LC6" class="line" lang="plaintext"></span>
+<span id="LC7" class="line" lang="plaintext">(www.google.com/search?q=Markup+(business)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10215:1-10220:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://www.google.com/search?q=Markup+(business)"&gt;www.google.com/search?q=Markup+(business)&lt;/a&gt;&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://www.google.com/search?q=Markup+(business)"&gt;www.google.com/search?q=Markup+(business)&lt;/a&gt;))&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;(&lt;a href="http://www.google.com/search?q=Markup+(business)"&gt;www.google.com/search?q=Markup+(business)&lt;/a&gt;)&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;(&lt;a href="http://www.google.com/search?q=Markup+(business)"&gt;www.google.com/search?q=Markup+(business)&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10222:1-10224:8">This check is only done when the link ends in a closing parentheses <code>)</code>, so if
+the only parentheses are in the interior of the autolink, no special rules are
+applied:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10226:1-10228:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">www.google.com/search?q=(business))+ok</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10230:1-10232:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://www.google.com/search?q=(business))+ok"&gt;www.google.com/search?q=(business))+ok&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10234:1-10237:13">If an autolink ends in a semicolon (<code>;</code>), we check to see if it appears to
+resemble an [entity reference][entity references]; if the preceding text is <code>&amp;</code>
+followed by one or more alphanumeric characters. If so, it is excluded from
+the autolink:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10239:1-10243:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">www.google.com/search?q=commonmark&amp;hl=en</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">www.google.com/search?q=commonmark&amp;hl;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10245:1-10248:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://www.google.com/search?q=commonmark&amp;amp;hl=en"&gt;www.google.com/search?q=commonmark&amp;amp;hl=en&lt;/a&gt;&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://www.google.com/search?q=commonmark"&gt;www.google.com/search?q=commonmark&lt;/a&gt;&amp;amp;hl;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10250:1-10250:33"><code>&lt;</code> immediately ends an autolink.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10252:1-10254:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">www.commonmark.org/he&lt;lp</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10256:1-10258:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://www.commonmark.org/he"&gt;www.commonmark.org/he&lt;/a&gt;&amp;lt;lp&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10260:1-10263:36">An <a href="@">extended url autolink</a> will be recognised when one of the schemes
+<code>http://</code>, <code>https://</code>, or <code>ftp://</code>, followed by a [valid domain], then zero or
+more non-space non-<code>&lt;</code> characters according to
+[extended autolink path validation]:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10265:1-10271:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">http://commonmark.org</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">(Visit https://encrypted.google.com/search?q=Markup+(business))</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">Anonymous FTP is available at ftp://foo.bar.baz.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10273:1-10277:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="http://commonmark.org"&gt;http://commonmark.org&lt;/a&gt;&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;(Visit &lt;a href="https://encrypted.google.com/search?q=Markup+(business)"&gt;https://encrypted.google.com/search?q=Markup+(business)&lt;/a&gt;)&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;Anonymous FTP is available at &lt;a href="ftp://foo.bar.baz"&gt;ftp://foo.bar.baz&lt;/a&gt;.&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10280:1-10282:20">An <a href="@">extended email autolink</a> will be recognised when an email address is
+recognised within any text node. Email addresses are recognised according to
+the following rules:</p>
+<ul data-sourcepos="10284:1-10290:0">
+<li data-sourcepos="10284:1-10284:75">One ore more characters which are alphanumeric, or <code>.</code>, <code>-</code>, <code>_</code>, or <code>+</code>.</li>
+<li data-sourcepos="10285:1-10285:16">An <code>@</code> symbol.</li>
+<li data-sourcepos="10286:1-10290:0">One or more characters which are alphanumeric, or <code>-</code> or <code>_</code>,
+separated by periods (<code>.</code>).
+There must be at least one period.
+The last character must not be one of <code>-</code> or <code>_</code>.</li>
+</ul>
+<p data-sourcepos="10291:1-10291:71">The scheme <code>mailto:</code> will automatically be added to the generated link:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10293:1-10295:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo@bar.baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10297:1-10299:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="mailto:foo@bar.baz"&gt;foo@bar.baz&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10301:1-10301:44"><code>+</code> can occur before the <code>@</code>, but not after.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10303:1-10305:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">hello@mail+xyz.example isn't valid, but hello+xyz@mail.example is.</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10307:1-10309:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;hello@mail+xyz.example isn't valid, but &lt;a href="mailto:hello+xyz@mail.example"&gt;hello+xyz@mail.example&lt;/a&gt; is.&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10311:1-10313:12"><code>.</code>, <code>-</code>, and <code>_</code> can occur on both sides of the <code>@</code>, but only <code>.</code> may occur at
+the end of the email address, in which case it will not be considered part of
+the address:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10315:1-10323:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">a.b-c_d@a.b</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">a.b-c_d@a.b.</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">a.b-c_d@a.b-</span>
+<span id="LC6" class="line" lang="plaintext"></span>
+<span id="LC7" class="line" lang="plaintext">a.b-c_d@a.b_</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10325:1-10330:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="mailto:a.b-c_d@a.b"&gt;a.b-c_d@a.b&lt;/a&gt;&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;&lt;a href="mailto:a.b-c_d@a.b"&gt;a.b-c_d@a.b&lt;/a&gt;.&lt;/p&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;a.b-c_d@a.b-&lt;/p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;p&gt;a.b-c_d@a.b_&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+</div>
+<h2 data-sourcepos="10334:1-10334:11" dir="auto">
+<a id="user-content-raw-html" class="anchor" href="#raw-html" aria-hidden="true"></a>Raw HTML</h2>
+<p data-sourcepos="10336:1-10339:57" dir="auto">Text between <code>&lt;</code> and <code>&gt;</code> that looks like an HTML tag is parsed as a
+raw HTML tag and will be rendered in HTML without escaping.
+Tag and attribute names are not limited to current HTML tags,
+so custom tags (and even, say, DocBook tags) may be used.</p>
+<p data-sourcepos="10341:1-10341:29" dir="auto">Here is the grammar for tags:</p>
+<p data-sourcepos="10343:1-10345:14" dir="auto">A <a href="@">tag name</a> consists of an ASCII letter
+followed by zero or more ASCII letters, digits, or
+hyphens (<code>-</code>).</p>
+<p data-sourcepos="10347:1-10349:32" dir="auto">An <a href="@">attribute</a> consists of [whitespace],
+an [attribute name], and an optional
+[attribute value specification].</p>
+<p data-sourcepos="10351:1-10354:52" dir="auto">An <a href="@">attribute name</a>
+consists of an ASCII letter, <code>_</code>, or <code>:</code>, followed by zero or more ASCII
+letters, digits, <code>_</code>, <code>.</code>, <code>:</code>, or <code>-</code>. (Note: This is the XML
+specification restricted to ASCII. HTML5 is laxer.)</p>
+<p data-sourcepos="10356:1-10359:7" dir="auto">An <a href="@">attribute value specification</a>
+consists of optional [whitespace],
+a <code>=</code> character, optional [whitespace], and an [attribute
+value].</p>
+<p data-sourcepos="10361:1-10363:72" dir="auto">An <a href="@">attribute value</a>
+consists of an [unquoted attribute value],
+a [single-quoted attribute value], or a [double-quoted attribute value].</p>
+<p data-sourcepos="10365:1-10367:60" dir="auto">An <a href="@">unquoted attribute value</a>
+is a nonempty string of characters not
+including [whitespace], <code>"</code>, <code>'</code>, <code>=</code>, <code>&lt;</code>, <code>&gt;</code>, or <code>`</code>.</p>
+<p data-sourcepos="10369:1-10371:46" dir="auto">A <a href="@">single-quoted attribute value</a>
+consists of <code>'</code>, zero or more
+characters not including <code>'</code>, and a final <code>'</code>.</p>
+<p data-sourcepos="10373:1-10375:46" dir="auto">A <a href="@">double-quoted attribute value</a>
+consists of <code>"</code>, zero or more
+characters not including <code>"</code>, and a final <code>"</code>.</p>
+<p data-sourcepos="10377:1-10379:31" dir="auto">An <a href="@">open tag</a> consists of a <code>&lt;</code> character, a [tag name],
+zero or more [attributes], optional [whitespace], an optional <code>/</code>
+character, and a <code>&gt;</code> character.</p>
+<p data-sourcepos="10381:1-10382:57" dir="auto">A <a href="@">closing tag</a> consists of the string <code>&lt;/</code>, a
+[tag name], optional [whitespace], and the character <code>&gt;</code>.</p>
+<p data-sourcepos="10384:1-10387:63" dir="auto">An <a href="@">HTML comment</a> consists of <code>&lt;!--</code> + <em>text</em> + <code>--&gt;</code>,
+where <em>text</em> does not start with <code>&gt;</code> or <code>-&gt;</code>, does not end with <code>-</code>,
+and does not contain <code>--</code>. (See the
+<a href="http://www.w3.org/TR/html5/syntax.html#comments" rel="nofollow noreferrer noopener" target="_blank">HTML5 spec</a>.)</p>
+<p data-sourcepos="10389:1-10392:5" dir="auto">A <a href="@">processing instruction</a>
+consists of the string <code>&lt;?</code>, a string
+of characters not including the string <code>?&gt;</code>, and the string
+<code>?&gt;</code>.</p>
+<p data-sourcepos="10394:1-10397:37" dir="auto">A <a href="@">declaration</a> consists of the
+string <code>&lt;!</code>, a name consisting of one or more uppercase ASCII letters,
+[whitespace], a string of characters not including the
+character <code>&gt;</code>, and the character <code>&gt;</code>.</p>
+<p data-sourcepos="10399:1-10401:28" dir="auto">A <a href="@">CDATA section</a> consists of
+the string <code>&lt;![CDATA[</code>, a string of characters not including the string
+<code>]]&gt;</code>, and the string <code>]]&gt;</code>.</p>
+<p data-sourcepos="10403:1-10405:21" dir="auto">An <a href="@">HTML tag</a> consists of an [open tag], a [closing tag],
+an [HTML comment], a [processing instruction], a [declaration],
+or a [CDATA section].</p>
+<p data-sourcepos="10407:1-10407:31" dir="auto">Here are some simple open tags:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10409:1-10411:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a&gt;&lt;bab&gt;&lt;c2c&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10413:1-10415:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a&gt;&lt;bab&gt;&lt;c2c&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10418:1-10418:15" dir="auto">Empty elements:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10420:1-10422:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a/&gt;&lt;b2/&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10424:1-10426:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a/&gt;&lt;b2/&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10429:1-10429:24" dir="auto">[Whitespace] is allowed:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10431:1-10434:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a /&gt;&lt;b2</span>
+<span id="LC2" class="line" lang="plaintext">data="foo" &gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10436:1-10439:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a /&gt;&lt;b2</span>
+<span id="LC2" class="line" lang="plaintext">data="foo" &gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10442:1-10442:16" dir="auto">With attributes:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10444:1-10447:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a foo="bar" bam = 'baz &lt;em&gt;"&lt;/em&gt;'</span>
+<span id="LC2" class="line" lang="plaintext">_boolean zoop:33=zoop:33 /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10449:1-10452:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a foo="bar" bam = 'baz &lt;em&gt;"&lt;/em&gt;'</span>
+<span id="LC2" class="line" lang="plaintext">_boolean zoop:33=zoop:33 /&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10455:1-10455:29" dir="auto">Custom tag names can be used:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10457:1-10459:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo &lt;responsive-image src="foo.jpg" /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10461:1-10463:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;Foo &lt;responsive-image src="foo.jpg" /&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10466:1-10466:38" dir="auto">Illegal tag names, not parsed as HTML:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10468:1-10470:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;33&gt; &lt;__&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10472:1-10474:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&amp;lt;33&amp;gt; &amp;lt;__&amp;gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10477:1-10477:24" dir="auto">Illegal attribute names:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10479:1-10481:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a h*#ref="hi"&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10483:1-10485:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&amp;lt;a h*#ref=&amp;quot;hi&amp;quot;&amp;gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10488:1-10488:25" dir="auto">Illegal attribute values:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10490:1-10492:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a href="hi'&gt; &lt;a href=hi'&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10494:1-10496:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&amp;lt;a href=&amp;quot;hi'&amp;gt; &amp;lt;a href=hi'&amp;gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10499:1-10499:21" dir="auto">Illegal [whitespace]:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10501:1-10506:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt; a&gt;&lt;</span>
+<span id="LC2" class="line" lang="plaintext">foo&gt;&lt;bar/ &gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;foo bar=baz</span>
+<span id="LC4" class="line" lang="plaintext">bim!bop /&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10508:1-10513:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&amp;lt; a&amp;gt;&amp;lt;</span>
+<span id="LC2" class="line" lang="plaintext">foo&amp;gt;&amp;lt;bar/ &amp;gt;</span>
+<span id="LC3" class="line" lang="plaintext">&amp;lt;foo bar=baz</span>
+<span id="LC4" class="line" lang="plaintext">bim!bop /&amp;gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10516:1-10516:21" dir="auto">Missing [whitespace]:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10518:1-10520:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a href='bar'title=title&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10522:1-10524:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&amp;lt;a href='bar'title=title&amp;gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10527:1-10527:13" dir="auto">Closing tags:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10529:1-10531:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;/a&gt;&lt;/foo &gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10533:1-10535:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;/a&gt;&lt;/foo &gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10538:1-10538:34" dir="auto">Illegal attributes in closing tag:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10540:1-10542:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;/a href="foo"&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10544:1-10546:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&amp;lt;/a href=&amp;quot;foo&amp;quot;&amp;gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10549:1-10549:9" dir="auto">Comments:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10551:1-10554:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo &lt;!-- this is a</span>
+<span id="LC2" class="line" lang="plaintext">comment - with hyphen --&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10556:1-10559:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo &lt;!-- this is a</span>
+<span id="LC2" class="line" lang="plaintext">comment - with hyphen --&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10562:1-10564:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo &lt;!-- not a comment -- two hyphens --&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10566:1-10568:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo &amp;lt;!-- not a comment -- two hyphens --&amp;gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10571:1-10571:13" dir="auto">Not comments:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10573:1-10577:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo &lt;!--&gt; foo --&gt;</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">foo &lt;!-- foo---&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10579:1-10582:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo &amp;lt;!--&amp;gt; foo --&amp;gt;&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;foo &amp;lt;!-- foo---&amp;gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10585:1-10585:24" dir="auto">Processing instructions:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10587:1-10589:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo &lt;?php echo $a; ?&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10591:1-10593:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo &lt;?php echo $a; ?&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10596:1-10596:13" dir="auto">Declarations:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10598:1-10600:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo &lt;!ELEMENT br EMPTY&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10602:1-10604:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo &lt;!ELEMENT br EMPTY&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10607:1-10607:15" dir="auto">CDATA sections:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10609:1-10611:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo &lt;![CDATA[&gt;&amp;&lt;]]&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10613:1-10615:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo &lt;![CDATA[&gt;&amp;&lt;]]&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10618:1-10619:11" dir="auto">Entity and numeric character references are preserved in HTML
+attributes:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10621:1-10623:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo &lt;a href="&amp;ouml;"&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10625:1-10627:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo &lt;a href="&amp;ouml;"&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10630:1-10630:49" dir="auto">Backslash escapes do not work in HTML attributes:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10632:1-10634:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo &lt;a href="\*"&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10636:1-10638:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo &lt;a href="\*"&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10641:1-10643:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a href="\""&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10645:1-10647:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&amp;lt;a href=&amp;quot;&amp;quot;&amp;quot;&amp;gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div>
+<h2 data-sourcepos="10652:1-10652:34">
+<a id="user-content-disallowed-raw-html-extension" class="anchor" href="#disallowed-raw-html-extension" aria-hidden="true"></a>Disallowed Raw HTML (extension)</h2>
+<p data-sourcepos="10654:1-10655:36">GFM enables the <code>tagfilter</code> extension, where the following HTML tags will be
+filtered when rendering HTML output:</p>
+<ul data-sourcepos="10657:1-10666:0">
+<li data-sourcepos="10657:1-10657:11"><code>&lt;title&gt;</code></li>
+<li data-sourcepos="10658:1-10658:14"><code>&lt;textarea&gt;</code></li>
+<li data-sourcepos="10659:1-10659:11"><code>&lt;style&gt;</code></li>
+<li data-sourcepos="10660:1-10660:9"><code>&lt;xmp&gt;</code></li>
+<li data-sourcepos="10661:1-10661:12"><code>&lt;iframe&gt;</code></li>
+<li data-sourcepos="10662:1-10662:13"><code>&lt;noembed&gt;</code></li>
+<li data-sourcepos="10663:1-10663:14"><code>&lt;noframes&gt;</code></li>
+<li data-sourcepos="10664:1-10664:12"><code>&lt;script&gt;</code></li>
+<li data-sourcepos="10665:1-10666:0"><code>&lt;plaintext&gt;</code></li>
+</ul>
+<p data-sourcepos="10667:1-10670:71">Filtering is done by replacing the leading <code>&lt;</code> with the entity <code>&amp;lt;</code>. These
+tags are chosen in particular as they change how HTML is interpreted in a way
+unique to them (i.e. nested HTML is interpreted differently), and this is
+usually undesireable in the context of other rendered Markdown content.</p>
+<p data-sourcepos="10672:1-10672:39">All other HTML tags are left untouched.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10674:1-10680:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;strong&gt; &lt;title&gt; &lt;style&gt; &lt;em&gt;</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC4" class="line" lang="plaintext"> &lt;xmp&gt; is disallowed. &lt;XMP&gt; is also disallowed.</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10682:1-10687:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;strong&gt; &amp;lt;title&gt; &amp;lt;style&gt; &lt;em&gt;&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;blockquote&gt;</span>
+<span id="LC3" class="line" lang="plaintext"> &amp;lt;xmp&gt; is disallowed. &amp;lt;XMP&gt; is also disallowed.</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/blockquote&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+</div>
+<h2 data-sourcepos="10691:1-10691:19" dir="auto">
+<a id="user-content-hard-line-breaks" class="anchor" href="#hard-line-breaks" aria-hidden="true"></a>Hard line breaks</h2>
+<p data-sourcepos="10693:1-10696:27" dir="auto">A line break (not in a code span or HTML tag) that is preceded
+by two or more spaces and does not occur at the end of a block
+is parsed as a <a href="@">hard line break</a> (rendered
+in HTML as a <code>&lt;br /&gt;</code> tag):</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10698:1-10701:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo </span>
+<span id="LC2" class="line" lang="plaintext">baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10703:1-10706:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo&lt;br /&gt;</span>
+<span id="LC2" class="line" lang="plaintext">baz&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10709:1-10710:48" dir="auto">For a more visible alternative, a backslash before the
+[line ending] may be used instead of two spaces:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10712:1-10715:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo\</span>
+<span id="LC2" class="line" lang="plaintext">baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10717:1-10720:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo&lt;br /&gt;</span>
+<span id="LC2" class="line" lang="plaintext">baz&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10723:1-10723:33" dir="auto">More than two spaces can be used:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10725:1-10728:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo </span>
+<span id="LC2" class="line" lang="plaintext">baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10730:1-10733:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo&lt;br /&gt;</span>
+<span id="LC2" class="line" lang="plaintext">baz&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10736:1-10736:61" dir="auto">Leading spaces at the beginning of the next line are ignored:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10738:1-10741:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo </span>
+<span id="LC2" class="line" lang="plaintext"> bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10743:1-10746:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo&lt;br /&gt;</span>
+<span id="LC2" class="line" lang="plaintext">bar&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10749:1-10752:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo\</span>
+<span id="LC2" class="line" lang="plaintext"> bar</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10754:1-10757:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo&lt;br /&gt;</span>
+<span id="LC2" class="line" lang="plaintext">bar&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10760:1-10761:26" dir="auto">Line breaks can occur inside emphasis, links, and other constructs
+that allow inline content:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10763:1-10766:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo </span>
+<span id="LC2" class="line" lang="plaintext">bar*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10768:1-10771:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;br /&gt;</span>
+<span id="LC2" class="line" lang="plaintext">bar&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10774:1-10777:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">*foo\</span>
+<span id="LC2" class="line" lang="plaintext">bar*</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10779:1-10782:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;em&gt;foo&lt;br /&gt;</span>
+<span id="LC2" class="line" lang="plaintext">bar&lt;/em&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10785:1-10785:42" dir="auto">Line breaks do not occur inside code spans</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10787:1-10790:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`code </span>
+<span id="LC2" class="line" lang="plaintext">span`</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10792:1-10794:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;code span&lt;/code&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10797:1-10800:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">`code\</span>
+<span id="LC2" class="line" lang="plaintext">span`</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10802:1-10804:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;code&gt;code\ span&lt;/code&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10807:1-10807:13" dir="auto">or HTML tags:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10809:1-10812:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a href="foo </span>
+<span id="LC2" class="line" lang="plaintext">bar"&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10814:1-10817:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="foo </span>
+<span id="LC2" class="line" lang="plaintext">bar"&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10820:1-10823:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;a href="foo\</span>
+<span id="LC2" class="line" lang="plaintext">bar"&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10825:1-10828:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="foo\</span>
+<span id="LC2" class="line" lang="plaintext">bar"&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10831:1-10833:20" dir="auto">Hard line breaks are for separating inline content within a block.
+Neither syntax for hard line breaks works at the end of a paragraph or
+other block element:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10835:1-10837:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo\</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10839:1-10841:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo\&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10844:1-10846:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo </span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10848:1-10850:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10853:1-10855:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">### foo\</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10857:1-10859:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h3&gt;foo\&lt;/h3&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10862:1-10864:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">### foo </span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10866:1-10868:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;h3&gt;foo&lt;/h3&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="10871:1-10871:19" dir="auto">
+<a id="user-content-soft-line-breaks" class="anchor" href="#soft-line-breaks" aria-hidden="true"></a>Soft line breaks</h2>
+<p data-sourcepos="10873:1-10877:62" dir="auto">A regular line break (not in a code span or HTML tag) that is not
+preceded by two or more spaces or a backslash is parsed as a
+<a href="@">softbreak</a>. (A softbreak may be rendered in HTML either as a
+[line ending] or as a space. The result will be the same in
+browsers. In the examples here, a [line ending] will be used.)</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10879:1-10882:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo</span>
+<span id="LC2" class="line" lang="plaintext">baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10884:1-10887:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo</span>
+<span id="LC2" class="line" lang="plaintext">baz&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10890:1-10891:8" dir="auto">Spaces at the end of the line and beginning of the next line are
+removed:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10893:1-10896:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">foo </span>
+<span id="LC2" class="line" lang="plaintext"> baz</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10898:1-10901:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;foo</span>
+<span id="LC2" class="line" lang="plaintext">baz&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10904:1-10905:25" dir="auto">A conforming parser may render a soft line break in HTML either as a
+line break or as a space.</p>
+<p data-sourcepos="10907:1-10908:20" dir="auto">A renderer may also provide an option to render soft line breaks
+as hard line breaks.</p>
+<h2 data-sourcepos="10910:1-10910:18" dir="auto">
+<a id="user-content-textual-content" class="anchor" href="#textual-content" aria-hidden="true"></a>Textual content</h2>
+<p data-sourcepos="10912:1-10913:35" dir="auto">Any characters not given an interpretation by the above rules will
+be parsed as plain textual content.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10915:1-10917:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">hello $.;'there</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10919:1-10921:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;hello $.;'there&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10924:1-10926:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Foo χρῆν</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10928:1-10930:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;Foo χρῆν&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="10933:1-10933:39" dir="auto">Internal spaces are preserved verbatim:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10935:1-10937:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Multiple spaces</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10939:1-10941:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;Multiple spaces&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h1 data-sourcepos="10944:1-10944:40" dir="auto">
+<a id="user-content-gitlab-official-specification-markdown" class="anchor" href="#gitlab-official-specification-markdown" aria-hidden="true"></a>GitLab Official Specification Markdown</h1>
+<p data-sourcepos="10946:1-10949:104" dir="auto">Currently, only some of the GitLab-specific markdown features are
+listed in this section. We may eventually add all
+GitLab-specific features currently listed as supported in the
+<a href="https://docs.gitlab.com/ee/user/markdown.html" rel="nofollow noreferrer noopener" target="_blank">user-facing documentation for GitLab Flavored Markdown</a>.</p>
+<p data-sourcepos="10951:1-10952:69" dir="auto">There is currently only this single top-level heading, but the
+examples may be split into multiple top-level headings in the future.</p>
+<h2 data-sourcepos="10954:1-10954:12" dir="auto">
+<a id="user-content-footnotes" class="anchor" href="#footnotes" aria-hidden="true"></a>Footnotes</h2>
+<p data-sourcepos="10956:1-10957:143" dir="auto">See
+<a href="https://docs.gitlab.com/ee/user/markdown.html#footnotes" rel="nofollow noreferrer noopener" target="_blank">the footnotes section of the user-facing documentation for GitLab Flavored Markdown</a>.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10959:1-10963:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">footnote reference tag [^fortytwo]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[^fortytwo]: footnote text</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="10965:1-10985:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">footnote reference tag</span>
+<span id="LC3" class="line" lang="plaintext">&lt;sup&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;a href="#fn-fortytwo-42" id="fnref-fortytwo-42" data-footnote-ref&gt;</span>
+<span id="LC5" class="line" lang="plaintext">1</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/a&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/sup&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/p&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;section data-footnotes&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;li id="fn-fortytwo-42"&gt;</span>
+<span id="LC12" class="line" lang="plaintext">&lt;p&gt;</span>
+<span id="LC13" class="line" lang="plaintext">footnote text</span>
+<span id="LC14" class="line" lang="plaintext">&lt;a href="#fnref-fortytwo-42" data-footnote-backref&gt;</span>
+<span id="LC15" class="line" lang="plaintext">&lt;/a&gt;</span>
+<span id="LC16" class="line" lang="plaintext">&lt;/p&gt;</span>
+<span id="LC17" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC18" class="line" lang="plaintext">&lt;/ol&gt;</span>
+<span id="LC19" class="line" lang="plaintext">&lt;/section&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="10987:1-10987:18" dir="auto">
+<a id="user-content-task-list-items" class="anchor" href="#task-list-items" aria-hidden="true"></a>Task list items</h2>
+<p data-sourcepos="10989:1-10990:117" dir="auto">See
+<a href="https://docs.gitlab.com/ee/user/markdown.html#task-lists" rel="nofollow noreferrer noopener" target="_blank">Task lists</a> in the GitLab Flavored Markdown documentation.</p>
+<p data-sourcepos="10992:1-10995:39" dir="auto">Task list items (checkboxes) are defined as a GitHub Flavored Markdown extension in a section above.
+GitLab extends the behavior of task list items to support additional features.
+Some of these features are in-progress, and should not yet be considered part of the official
+GitLab Flavored Markdown specification.</p>
+<p data-sourcepos="10997:1-10997:85" dir="auto">Some of the behavior of task list items is implemented as client-side JavaScript/CSS.</p>
+<p data-sourcepos="10999:1-10999:80" dir="auto">The following are some basic examples; more examples may be added in the future.</p>
+<p data-sourcepos="11001:1-11001:16" dir="auto">Incomplete task:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11003:1-11005:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- [ ] incomplete</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11007:1-11015:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;task-button/&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;input type="checkbox" disabled/&gt;</span>
+<span id="LC5" class="line" lang="plaintext">incomplete</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="11017:1-11017:15" dir="auto">Completed task:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11019:1-11021:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- [x] completed</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11023:1-11031:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;task-button/&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;input type="checkbox" checked disabled/&gt;</span>
+<span id="LC5" class="line" lang="plaintext">completed</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="11033:1-11033:18" dir="auto">Inapplicable task:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11035:1-11037:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- [~] inapplicable</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11039:1-11049:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;task-button/&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;input type="checkbox" data-inapplicable disabled&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;s&gt;</span>
+<span id="LC6" class="line" lang="plaintext">inapplicable</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/s&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="11051:1-11052:50" dir="auto">Inapplicable task in a "loose" list. Note that the <code>&lt;del&gt;</code> tag is not applied to the
+loose text; it has strikethrough applied with CSS.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11054:1-11058:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- [~] inapplicable</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> text in loose list</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11060:1-11075:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;task-button/&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;input type="checkbox" data-inapplicable disabled&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;s&gt;</span>
+<span id="LC7" class="line" lang="plaintext">inapplicable</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/s&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/p&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;p&gt;</span>
+<span id="LC11" class="line" lang="plaintext">text in loose list</span>
+<span id="LC12" class="line" lang="plaintext">&lt;/p&gt;</span>
+<span id="LC13" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC14" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="11077:1-11077:15" dir="auto">
+<a id="user-content-front-matter" class="anchor" href="#front-matter" aria-hidden="true"></a>Front matter</h2>
+<p data-sourcepos="11079:1-11080:121" dir="auto">See
+<a href="https://docs.gitlab.com/ee/user/markdown.html#front-matter" rel="nofollow noreferrer noopener" target="_blank">Front matter</a> in the GitLab Flavored Markdown documentation.</p>
+<p data-sourcepos="11082:1-11083:95" dir="auto">Front matter is metadata included at the beginning of a Markdown document, preceding the content.
+This data can be used by static site generators like Jekyll, Hugo, and many other applications.</p>
+<p data-sourcepos="11085:1-11085:18" dir="auto">YAML front matter:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11087:1-11091:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">---</span>
+<span id="LC2" class="line" lang="plaintext">title: YAML front matter</span>
+<span id="LC3" class="line" lang="plaintext">---</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11093:1-11099:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;code&gt;</span>
+<span id="LC3" class="line" lang="plaintext">title: YAML front matter</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="11101:1-11101:18" dir="auto">TOML front matter:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11103:1-11107:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">+++</span>
+<span id="LC2" class="line" lang="plaintext">title: TOML front matter</span>
+<span id="LC3" class="line" lang="plaintext">+++</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11109:1-11115:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;code&gt;</span>
+<span id="LC3" class="line" lang="plaintext">title: TOML front matter</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="11117:1-11117:18" dir="auto">JSON front matter:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11119:1-11125:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">;;;</span>
+<span id="LC2" class="line" lang="plaintext">{</span>
+<span id="LC3" class="line" lang="plaintext"> "title": "JSON front matter"</span>
+<span id="LC4" class="line" lang="plaintext">}</span>
+<span id="LC5" class="line" lang="plaintext">;;;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11127:1-11135:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;code&gt;</span>
+<span id="LC3" class="line" lang="plaintext">{</span>
+<span id="LC4" class="line" lang="plaintext"> "title": "JSON front matter"</span>
+<span id="LC5" class="line" lang="plaintext">}</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="11137:1-11137:66" dir="auto">Front matter blocks should be inserted at the top of the document:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11139:1-11145:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">text</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">---</span>
+<span id="LC4" class="line" lang="plaintext">title: YAML front matter</span>
+<span id="LC5" class="line" lang="plaintext">---</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11147:1-11151:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;text&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;hr&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;h2&gt;title: YAML front matter&lt;/h2&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="11153:1-11153:74" dir="auto">Front matter block delimiters shouldn’t be preceded by space characters:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11155:1-11159:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> ---</span>
+<span id="LC2" class="line" lang="plaintext">title: YAML front matter</span>
+<span id="LC3" class="line" lang="plaintext">---</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11161:1-11164:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;hr&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;h2&gt;title: YAML front matter&lt;/h2&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="11166:1-11166:20" dir="auto">
+<a id="user-content-table-of-contents" class="anchor" href="#table-of-contents" aria-hidden="true"></a>Table of contents</h2>
+<p data-sourcepos="11168:1-11170:46" dir="auto">See
+<a href="https://docs.gitlab.com/ee/user/markdown.html#table-of-contents" rel="nofollow noreferrer noopener" target="_blank">table of contents</a>
+in the GitLab Flavored Markdown documentation.</p>
+<p data-sourcepos="11172:1-11173:58" dir="auto">A table of contents is an unordered list that links to subheadings in the document.
+Add either the <code>[[_TOC_]]</code> or </p><ul class="section-nav">
+<li>
+<a href="#preliminaries">Preliminaries</a><ul>
+<li><a href="#characters-and-lines">Characters and lines</a></li>
+<li><a href="#tabs">Tabs</a></li>
+<li><a href="#insecure-characters">Insecure characters</a></li>
+</ul>
+</li>
+<li>
+<a href="#blocks-and-inlines">Blocks and inlines</a><ul>
+<li><a href="#precedence">Precedence</a></li>
+<li><a href="#container-blocks-and-leaf-blocks">Container blocks and leaf blocks</a></li>
+</ul>
+</li>
+<li>
+<a href="#leaf-blocks">Leaf blocks</a><ul>
+<li><a href="#thematic-breaks">Thematic breaks</a></li>
+<li><a href="#atx-headings">ATX headings</a></li>
+<li><a href="#setext-headings">Setext headings</a></li>
+<li><a href="#indented-code-blocks">Indented code blocks</a></li>
+<li><a href="#fenced-code-blocks">Fenced code blocks</a></li>
+<li><a href="#html-blocks">HTML blocks</a></li>
+<li><a href="#link-reference-definitions">Link reference definitions</a></li>
+<li><a href="#paragraphs">Paragraphs</a></li>
+<li><a href="#blank-lines">Blank lines</a></li>
+<li><a href="#tables-extension">Tables (extension)</a></li>
+</ul>
+</li>
+<li>
+<a href="#container-blocks">Container blocks</a><ul>
+<li><a href="#block-quotes">Block quotes</a></li>
+<li>
+<a href="#list-items">List items</a><ul><li><a href="#motivation">Motivation</a></li></ul>
+</li>
+<li><a href="#task-list-items-extension">Task list items (extension)</a></li>
+<li><a href="#lists">Lists</a></li>
+</ul>
+</li>
+<li>
+<a href="#inlines">Inlines</a><ul>
+<li><a href="#backslash-escapes">Backslash escapes</a></li>
+<li><a href="#entity-and-numeric-character-references">Entity and numeric character references</a></li>
+<li><a href="#code-spans">Code spans</a></li>
+<li><a href="#emphasis-and-strong-emphasis">Emphasis and strong emphasis</a></li>
+<li><a href="#strikethrough-extension">Strikethrough (extension)</a></li>
+<li><a href="#links">Links</a></li>
+<li><a href="#images">Images</a></li>
+<li><a href="#autolinks">Autolinks</a></li>
+<li><a href="#autolinks-extension">Autolinks (extension)</a></li>
+<li><a href="#raw-html">Raw HTML</a></li>
+<li><a href="#disallowed-raw-html-extension">Disallowed Raw HTML (extension)</a></li>
+<li><a href="#hard-line-breaks">Hard line breaks</a></li>
+<li><a href="#soft-line-breaks">Soft line breaks</a></li>
+<li><a href="#textual-content">Textual content</a></li>
+</ul>
+</li>
+<li>
+<a href="#gitlab-official-specification-markdown">GitLab Official Specification Markdown</a><ul>
+<li><a href="#footnotes">Footnotes</a></li>
+<li><a href="#task-list-items">Task list items</a></li>
+<li><a href="#front-matter">Front matter</a></li>
+<li><a href="#table-of-contents">Table of contents</a></li>
+</ul>
+</li>
+<li>
+<a href="#gitlab-internal-extension-markdown">GitLab Internal Extension Markdown</a><ul>
+<li><a href="#audio">Audio</a></li>
+<li><a href="#video">Video</a></li>
+<li><a href="#markdown-preview-api-request-overrides">Markdown Preview API Request Overrides</a></li>
+</ul>
+</li>
+</ul> tag on its own line.
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11175:1-11181:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[TOC]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"># Heading 1</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">## Heading 2</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11183:1-11194:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;nav&gt;</span>
+<span id="LC2" class="line" lang="plaintext"> &lt;ul&gt;</span>
+<span id="LC3" class="line" lang="plaintext"> &lt;li&gt;&lt;a href="#heading-1"&gt;Heading 1&lt;/a&gt;&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext"> &lt;ul&gt;</span>
+<span id="LC5" class="line" lang="plaintext"> &lt;li&gt;&lt;a href="#heading-2"&gt;Heading 2&lt;/a&gt;&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext"> &lt;/ul&gt;</span>
+<span id="LC7" class="line" lang="plaintext"> &lt;/ul&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/nav&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;h1&gt;Heading 1&lt;/h1&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;h2&gt;Heading 2&lt;/h2&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11196:1-11202:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[[_TOC_]]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"># Heading 1</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">## Heading 2</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11204:1-11215:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;nav&gt;</span>
+<span id="LC2" class="line" lang="plaintext"> &lt;ul&gt;</span>
+<span id="LC3" class="line" lang="plaintext"> &lt;li&gt;&lt;a href="#heading-1"&gt;Heading 1&lt;/a&gt;&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext"> &lt;ul&gt;</span>
+<span id="LC5" class="line" lang="plaintext"> &lt;li&gt;&lt;a href="#heading-2"&gt;Heading 2&lt;/a&gt;&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext"> &lt;/ul&gt;</span>
+<span id="LC7" class="line" lang="plaintext"> &lt;/ul&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/nav&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;h1&gt;Heading 1&lt;/h1&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;h2&gt;Heading 2&lt;/h2&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="11217:1-11218:5" dir="auto">A table of contents is a block element. It should preceded and followed by a blank
+line.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11220:1-11226:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[[_TOC_]]</span>
+<span id="LC2" class="line" lang="plaintext">text</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">text</span>
+<span id="LC5" class="line" lang="plaintext">[TOC]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11228:1-11231:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[[&lt;em&gt;TOC&lt;/em&gt;]]text&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;text[TOC]&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="11233:1-11233:60" dir="auto">A table of contents can be indented with up to three spaces.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11235:1-11239:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> [[_TOC_]]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"># Heading 1</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11241:1-11248:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;nav&gt;</span>
+<span id="LC2" class="line" lang="plaintext"> &lt;ul&gt;</span>
+<span id="LC3" class="line" lang="plaintext"> &lt;li&gt;&lt;a href="#heading-1"&gt;Heading 1&lt;/a&gt;&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext"> &lt;/ul&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/nav&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;h1&gt;Heading 1&lt;/h1&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h1 data-sourcepos="11250:1-11250:36" dir="auto">
+<a id="user-content-gitlab-internal-extension-markdown" class="anchor" href="#gitlab-internal-extension-markdown" aria-hidden="true"></a>GitLab Internal Extension Markdown</h1>
+<h2 data-sourcepos="11252:1-11252:8" dir="auto">
+<a id="user-content-audio" class="anchor" href="#audio" aria-hidden="true"></a>Audio</h2>
+<p data-sourcepos="11254:1-11255:107" dir="auto">See
+<a href="https://docs.gitlab.com/ee/user/markdown.html#audio" rel="nofollow noreferrer noopener" target="_blank">audio</a> in the GitLab Flavored Markdown documentation.</p>
+<p data-sourcepos="11257:1-11259:63" dir="auto">GLFM renders image elements as an audio player as long as the resource’s file extension is
+one of the following supported audio extensions <code>.mp3</code>, <code>.oga</code>, <code>.ogg</code>, <code>.spx</code>, and <code>.wav</code>.
+Audio ignore the alternative text part of an image declaration.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11261:1-11263:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![audio](audio.oga "audio title")</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11265:1-11267:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;audio src="audio.oga" title="audio title"&gt;&lt;/audio&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="11269:1-11269:41" dir="auto">Reference definitions work audio as well:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11271:1-11275:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[audio]: audio.oga "audio title"</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">![audio][audio]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11277:1-11279:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;audio src="audio.oga" title="audio title"&gt;&lt;/audio&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="11281:1-11281:8" dir="auto">
+<a id="user-content-video" class="anchor" href="#video" aria-hidden="true"></a>Video</h2>
+<p data-sourcepos="11283:1-11284:109" dir="auto">See
+<a href="https://docs.gitlab.com/ee/user/markdown.html#videos" rel="nofollow noreferrer noopener" target="_blank">videos</a> in the GitLab Flavored Markdown documentation.</p>
+<p data-sourcepos="11286:1-11288:64" dir="auto">GLFM renders image elements as a video player as long as the resource’s file extension is
+one of the following supported video extensions <code>.mp4</code>, <code>.m4v</code>, <code>.mov</code>, <code>.webm</code>, and <code>.ogv</code>.
+Videos ignore the alternative text part of an image declaration.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11291:1-11293:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">![video](video.m4v "video title")</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11295:1-11297:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;video src="video.m4v" title="video title"&gt;&lt;/video&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="11299:1-11299:41" dir="auto">Reference definitions work video as well:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11301:1-11305:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[video]: video.mov "video title"</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">![video][video]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11307:1-11309:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;video src="video.mov" title="video title"&gt;&lt;/video&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="11311:1-11311:41" dir="auto">
+<a id="user-content-markdown-preview-api-request-overrides" class="anchor" href="#markdown-preview-api-request-overrides" aria-hidden="true"></a>Markdown Preview API Request Overrides</h2>
+<p data-sourcepos="11313:1-11315:42" dir="auto">This section contains examples of all controllers which use <code>PreviewMarkdown</code> module
+and use different <code>markdown_context_params</code>. They exercise the various <code>preview_markdown</code>
+endpoints via <code>glfm_example_metadata.yml</code>.</p>
+<p data-sourcepos="11318:1-11318:75" dir="auto"><code>preview_markdown</code> exercising <code>groups</code> API endpoint and <code>UploadLinkFilter</code>:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11320:1-11322:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[groups-test-file](/uploads/groups-test-file)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11324:1-11326:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="groups-test-file"&gt;groups-test-file&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="11328:1-11328:81" dir="auto"><code>preview_markdown</code> exercising <code>projects</code> API endpoint and <code>RepositoryLinkFilter</code>:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11330:1-11332:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[projects-test-file](projects-test-file)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11334:1-11336:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="projects-test-file"&gt;projects-test-file&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="11338:1-11338:83" dir="auto"><code>preview_markdown</code> exercising <code>projects</code> API endpoint and <code>SnippetReferenceFilter</code>:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11340:1-11342:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">This project snippet ID reference IS filtered: $88888</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11344:1-11346:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;This project snippet ID reference IS filtered: $88888&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="11348:1-11351:50" dir="auto"><code>preview_markdown</code> exercising personal (non-project) <code>snippets</code> API endpoint. This is
+only used by the comment field on personal snippets. It has no unique custom markdown
+extension behavior, and specifically does not render snippet references via
+<code>SnippetReferenceFilter</code>, even if the ID is valid.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11353:1-11355:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">This personal snippet ID reference is not filtered: $99999</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11357:1-11359:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;This personal snippet ID reference is not filtered: $99999&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="11361:1-11361:80" dir="auto"><code>preview_markdown</code> exercising project <code>wikis</code> API endpoint and <code>WikiLinkFilter</code>:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11363:1-11365:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[project-wikis-test-file](project-wikis-test-file)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11367:1-11369:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="project-wikis-test-file"&gt;project-wikis-test-file&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="11371:1-11372:63" dir="auto"><code>preview_markdown</code> exercising group <code>wikis</code> API endpoint and <code>WikiLinkFilter</code>. This example
+also requires an EE license enabling the <code>group_wikis</code> feature:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11374:1-11376:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[group-wikis-test-file](group-wikis-test-file)</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="11378:1-11380:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;&lt;a href="group-wikis-test-file"&gt;group-wikis-test-file&lt;/a&gt;&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
diff --git a/glfm_specification/output/spec.txt b/glfm_specification/output_example_snapshots/snapshot_spec.md
index a8565b15bc3..ed96c36a58a 100644
--- a/glfm_specification/output/spec.txt
+++ b/glfm_specification/output_example_snapshots/snapshot_spec.md
@@ -2,11 +2,6 @@
title: GitLab Flavored Markdown (GLFM) Spec
version: alpha
...
-
-# Introduction
-
-TODO: Write a GitLab-specific version of the GitHub Flavored Markdown intro section.
-
# Preliminaries
## Characters and lines
@@ -9603,7 +9598,7 @@ Multiple spaces
# GitLab Official Specification Markdown
Currently, only some of the GitLab-specific markdown features are
-listed in this section. We will eventually add all
+listed in this section. We may eventually add all
GitLab-specific features currently listed as supported in the
[user-facing documentation for GitLab Flavored Markdown](https://docs.gitlab.com/ee/user/markdown.html).
@@ -9989,342 +9984,3 @@ also requires an EE license enabling the `group_wikis` feature:
.
<p><a href="group-wikis-test-file">group-wikis-test-file</a></p>
````````````````````````````````
-
-<!-- END TESTS -->
-
-# Appendix: A parsing strategy
-
-In this appendix we describe some features of the parsing strategy
-used in the CommonMark reference implementations.
-
-## Overview
-
-Parsing has two phases:
-
-1. In the first phase, lines of input are consumed and the block
-structure of the document---its division into paragraphs, block quotes,
-list items, and so on---is constructed. Text is assigned to these
-blocks but not parsed. Link reference definitions are parsed and a
-map of links is constructed.
-
-2. In the second phase, the raw text contents of paragraphs and headings
-are parsed into sequences of Markdown inline elements (strings,
-code spans, links, emphasis, and so on), using the map of link
-references constructed in phase 1.
-
-At each point in processing, the document is represented as a tree of
-**blocks**. The root of the tree is a `document` block. The `document`
-may have any number of other blocks as **children**. These children
-may, in turn, have other blocks as children. The last child of a block
-is normally considered **open**, meaning that subsequent lines of input
-can alter its contents. (Blocks that are not open are **closed**.)
-Here, for example, is a possible document tree, with the open blocks
-marked by arrows:
-
-``` tree
--> document
- -> block_quote
- paragraph
- "Lorem ipsum dolor\nsit amet."
- -> list (type=bullet tight=true bullet_char=-)
- list_item
- paragraph
- "Qui *quodsi iracundia*"
- -> list_item
- -> paragraph
- "aliquando id"
-```
-
-## Phase 1: block structure
-
-Each line that is processed has an effect on this tree. The line is
-analyzed and, depending on its contents, the document may be altered
-in one or more of the following ways:
-
-1. One or more open blocks may be closed.
-2. One or more new blocks may be created as children of the
- last open block.
-3. Text may be added to the last (deepest) open block remaining
- on the tree.
-
-Once a line has been incorporated into the tree in this way,
-it can be discarded, so input can be read in a stream.
-
-For each line, we follow this procedure:
-
-1. First we iterate through the open blocks, starting with the
-root document, and descending through last children down to the last
-open block. Each block imposes a condition that the line must satisfy
-if the block is to remain open. For example, a block quote requires a
-`>` character. A paragraph requires a non-blank line.
-In this phase we may match all or just some of the open
-blocks. But we cannot close unmatched blocks yet, because we may have a
-[lazy continuation line].
-
-2. Next, after consuming the continuation markers for existing
-blocks, we look for new block starts (e.g. `>` for a block quote).
-If we encounter a new block start, we close any blocks unmatched
-in step 1 before creating the new block as a child of the last
-matched block.
-
-3. Finally, we look at the remainder of the line (after block
-markers like `>`, list markers, and indentation have been consumed).
-This is text that can be incorporated into the last open
-block (a paragraph, code block, heading, or raw HTML).
-
-Setext headings are formed when we see a line of a paragraph
-that is a [setext heading underline].
-
-Reference link definitions are detected when a paragraph is closed;
-the accumulated text lines are parsed to see if they begin with
-one or more reference link definitions. Any remainder becomes a
-normal paragraph.
-
-We can see how this works by considering how the tree above is
-generated by four lines of Markdown:
-
-``` markdown
-> Lorem ipsum dolor
-sit amet.
-> - Qui *quodsi iracundia*
-> - aliquando id
-```
-
-At the outset, our document model is just
-
-``` tree
--> document
-```
-
-The first line of our text,
-
-``` markdown
-> Lorem ipsum dolor
-```
-
-causes a `block_quote` block to be created as a child of our
-open `document` block, and a `paragraph` block as a child of
-the `block_quote`. Then the text is added to the last open
-block, the `paragraph`:
-
-``` tree
--> document
- -> block_quote
- -> paragraph
- "Lorem ipsum dolor"
-```
-
-The next line,
-
-``` markdown
-sit amet.
-```
-
-is a "lazy continuation" of the open `paragraph`, so it gets added
-to the paragraph's text:
-
-``` tree
--> document
- -> block_quote
- -> paragraph
- "Lorem ipsum dolor\nsit amet."
-```
-
-The third line,
-
-``` markdown
-> - Qui *quodsi iracundia*
-```
-
-causes the `paragraph` block to be closed, and a new `list` block
-opened as a child of the `block_quote`. A `list_item` is also
-added as a child of the `list`, and a `paragraph` as a child of
-the `list_item`. The text is then added to the new `paragraph`:
-
-``` tree
--> document
- -> block_quote
- paragraph
- "Lorem ipsum dolor\nsit amet."
- -> list (type=bullet tight=true bullet_char=-)
- -> list_item
- -> paragraph
- "Qui *quodsi iracundia*"
-```
-
-The fourth line,
-
-``` markdown
-> - aliquando id
-```
-
-causes the `list_item` (and its child the `paragraph`) to be closed,
-and a new `list_item` opened up as child of the `list`. A `paragraph`
-is added as a child of the new `list_item`, to contain the text.
-We thus obtain the final tree:
-
-``` tree
--> document
- -> block_quote
- paragraph
- "Lorem ipsum dolor\nsit amet."
- -> list (type=bullet tight=true bullet_char=-)
- list_item
- paragraph
- "Qui *quodsi iracundia*"
- -> list_item
- -> paragraph
- "aliquando id"
-```
-
-## Phase 2: inline structure
-
-Once all of the input has been parsed, all open blocks are closed.
-
-We then "walk the tree," visiting every node, and parse raw
-string contents of paragraphs and headings as inlines. At this
-point we have seen all the link reference definitions, so we can
-resolve reference links as we go.
-
-``` tree
-document
- block_quote
- paragraph
- str "Lorem ipsum dolor"
- softbreak
- str "sit amet."
- list (type=bullet tight=true bullet_char=-)
- list_item
- paragraph
- str "Qui "
- emph
- str "quodsi iracundia"
- list_item
- paragraph
- str "aliquando id"
-```
-
-Notice how the [line ending] in the first paragraph has
-been parsed as a `softbreak`, and the asterisks in the first list item
-have become an `emph`.
-
-### An algorithm for parsing nested emphasis and links
-
-By far the trickiest part of inline parsing is handling emphasis,
-strong emphasis, links, and images. This is done using the following
-algorithm.
-
-When we're parsing inlines and we hit either
-
-- a run of `*` or `_` characters, or
-- a `[` or `![`
-
-we insert a text node with these symbols as its literal content, and we
-add a pointer to this text node to the [delimiter stack](@).
-
-The [delimiter stack] is a doubly linked list. Each
-element contains a pointer to a text node, plus information about
-
-- the type of delimiter (`[`, `![`, `*`, `_`)
-- the number of delimiters,
-- whether the delimiter is "active" (all are active to start), and
-- whether the delimiter is a potential opener, a potential closer,
- or both (which depends on what sort of characters precede
- and follow the delimiters).
-
-When we hit a `]` character, we call the *look for link or image*
-procedure (see below).
-
-When we hit the end of the input, we call the *process emphasis*
-procedure (see below), with `stack_bottom` = NULL.
-
-#### *look for link or image*
-
-Starting at the top of the delimiter stack, we look backwards
-through the stack for an opening `[` or `![` delimiter.
-
-- If we don't find one, we return a literal text node `]`.
-
-- If we do find one, but it's not *active*, we remove the inactive
- delimiter from the stack, and return a literal text node `]`.
-
-- If we find one and it's active, then we parse ahead to see if
- we have an inline link/image, reference link/image, compact reference
- link/image, or shortcut reference link/image.
-
- + If we don't, then we remove the opening delimiter from the
- delimiter stack and return a literal text node `]`.
-
- + If we do, then
-
- * We return a link or image node whose children are the inlines
- after the text node pointed to by the opening delimiter.
-
- * We run *process emphasis* on these inlines, with the `[` opener
- as `stack_bottom`.
-
- * We remove the opening delimiter.
-
- * If we have a link (and not an image), we also set all
- `[` delimiters before the opening delimiter to *inactive*. (This
- will prevent us from getting links within links.)
-
-#### *process emphasis*
-
-Parameter `stack_bottom` sets a lower bound to how far we
-descend in the [delimiter stack]. If it is NULL, we can
-go all the way to the bottom. Otherwise, we stop before
-visiting `stack_bottom`.
-
-Let `current_position` point to the element on the [delimiter stack]
-just above `stack_bottom` (or the first element if `stack_bottom`
-is NULL).
-
-We keep track of the `openers_bottom` for each delimiter
-type (`*`, `_`) and each length of the closing delimiter run
-(modulo 3). Initialize this to `stack_bottom`.
-
-Then we repeat the following until we run out of potential
-closers:
-
-- Move `current_position` forward in the delimiter stack (if needed)
- until we find the first potential closer with delimiter `*` or `_`.
- (This will be the potential closer closest
- to the beginning of the input -- the first one in parse order.)
-
-- Now, look back in the stack (staying above `stack_bottom` and
- the `openers_bottom` for this delimiter type) for the
- first matching potential opener ("matching" means same delimiter).
-
-- If one is found:
-
- + Figure out whether we have emphasis or strong emphasis:
- if both closer and opener spans have length >= 2, we have
- strong, otherwise regular.
-
- + Insert an emph or strong emph node accordingly, after
- the text node corresponding to the opener.
-
- + Remove any delimiters between the opener and closer from
- the delimiter stack.
-
- + Remove 1 (for regular emph) or 2 (for strong emph) delimiters
- from the opening and closing text nodes. If they become empty
- as a result, remove them and remove the corresponding element
- of the delimiter stack. If the closing node is removed, reset
- `current_position` to the next element in the stack.
-
-- If none is found:
-
- + Set `openers_bottom` to the element before `current_position`.
- (We know that there are no openers for this kind of closer up to and
- including this point, so this puts a lower bound on future searches.)
-
- + If the closer at `current_position` is not a potential opener,
- remove it from the delimiter stack (since we know it can't
- be a closer either).
-
- + Advance `current_position` to the next element in the stack.
-
-After we're done, we remove all delimiters above `stack_bottom` from the
-delimiter stack.
diff --git a/glfm_specification/output_spec/spec.html b/glfm_specification/output_spec/spec.html
new file mode 100644
index 00000000000..a10b7f91d91
--- /dev/null
+++ b/glfm_specification/output_spec/spec.html
@@ -0,0 +1,304 @@
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="1:1-4:3" lang="yaml" class="code highlight js-syntax-highlight language-yaml" data-lang-params="frontmatter" v-pre="true"><code><span id="LC1" class="line" lang="yaml"><span class="na">title</span><span class="pi">:</span> <span class="s">GitLab Flavored Markdown (GLFM) Spec</span></span>
+<span id="LC2" class="line" lang="yaml"><span class="na">version</span><span class="pi">:</span> <span class="s">alpha</span></span></code></pre>
+<copy-code></copy-code>
+</div>
+<h1 data-sourcepos="5:1-5:14" dir="auto">
+<a id="user-content-introduction" class="anchor" href="#introduction" aria-hidden="true"></a>Introduction</h1>
+<p data-sourcepos="7:1-7:84" dir="auto">TODO: Write a GitLab-specific version of the GitHub Flavored Markdown intro section.</p>
+
+<h1 data-sourcepos="10:1-10:40" dir="auto">
+<a id="user-content-gitlab-official-specification-markdown" class="anchor" href="#gitlab-official-specification-markdown" aria-hidden="true"></a>GitLab Official Specification Markdown</h1>
+<p data-sourcepos="12:1-15:104" dir="auto">Currently, only some of the GitLab-specific markdown features are
+listed in this section. We may eventually add all
+GitLab-specific features currently listed as supported in the
+<a href="https://docs.gitlab.com/ee/user/markdown.html" rel="nofollow noreferrer noopener" target="_blank">user-facing documentation for GitLab Flavored Markdown</a>.</p>
+<p data-sourcepos="17:1-18:69" dir="auto">There is currently only this single top-level heading, but the
+examples may be split into multiple top-level headings in the future.</p>
+<h2 data-sourcepos="20:1-20:12" dir="auto">
+<a id="user-content-footnotes" class="anchor" href="#footnotes" aria-hidden="true"></a>Footnotes</h2>
+<p data-sourcepos="22:1-23:143" dir="auto">See
+<a href="https://docs.gitlab.com/ee/user/markdown.html#footnotes" rel="nofollow noreferrer noopener" target="_blank">the footnotes section of the user-facing documentation for GitLab Flavored Markdown</a>.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="25:1-29:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">footnote reference tag [^fortytwo]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">[^fortytwo]: footnote text</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="31:1-51:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">footnote reference tag</span>
+<span id="LC3" class="line" lang="plaintext">&lt;sup&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;a href="#fn-fortytwo-42" id="fnref-fortytwo-42" data-footnote-ref&gt;</span>
+<span id="LC5" class="line" lang="plaintext">1</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/a&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/sup&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/p&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;section data-footnotes&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;ol&gt;</span>
+<span id="LC11" class="line" lang="plaintext">&lt;li id="fn-fortytwo-42"&gt;</span>
+<span id="LC12" class="line" lang="plaintext">&lt;p&gt;</span>
+<span id="LC13" class="line" lang="plaintext">footnote text</span>
+<span id="LC14" class="line" lang="plaintext">&lt;a href="#fnref-fortytwo-42" data-footnote-backref&gt;</span>
+<span id="LC15" class="line" lang="plaintext">&lt;/a&gt;</span>
+<span id="LC16" class="line" lang="plaintext">&lt;/p&gt;</span>
+<span id="LC17" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC18" class="line" lang="plaintext">&lt;/ol&gt;</span>
+<span id="LC19" class="line" lang="plaintext">&lt;/section&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="53:1-53:18" dir="auto">
+<a id="user-content-task-list-items" class="anchor" href="#task-list-items" aria-hidden="true"></a>Task list items</h2>
+<p data-sourcepos="55:1-56:117" dir="auto">See
+<a href="https://docs.gitlab.com/ee/user/markdown.html#task-lists" rel="nofollow noreferrer noopener" target="_blank">Task lists</a> in the GitLab Flavored Markdown documentation.</p>
+<p data-sourcepos="58:1-61:39" dir="auto">Task list items (checkboxes) are defined as a GitHub Flavored Markdown extension in a section above.
+GitLab extends the behavior of task list items to support additional features.
+Some of these features are in-progress, and should not yet be considered part of the official
+GitLab Flavored Markdown specification.</p>
+<p data-sourcepos="63:1-63:85" dir="auto">Some of the behavior of task list items is implemented as client-side JavaScript/CSS.</p>
+<p data-sourcepos="65:1-65:80" dir="auto">The following are some basic examples; more examples may be added in the future.</p>
+<p data-sourcepos="67:1-67:16" dir="auto">Incomplete task:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="69:1-71:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- [ ] incomplete</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="73:1-81:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;task-button/&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;input type="checkbox" disabled/&gt;</span>
+<span id="LC5" class="line" lang="plaintext">incomplete</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="83:1-83:15" dir="auto">Completed task:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="85:1-87:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- [x] completed</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="89:1-97:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;task-button/&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;input type="checkbox" checked disabled/&gt;</span>
+<span id="LC5" class="line" lang="plaintext">completed</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="99:1-99:18" dir="auto">Inapplicable task:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="101:1-103:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- [~] inapplicable</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="105:1-115:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;task-button/&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;input type="checkbox" data-inapplicable disabled&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;s&gt;</span>
+<span id="LC6" class="line" lang="plaintext">inapplicable</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/s&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="117:1-118:50" dir="auto">Inapplicable task in a "loose" list. Note that the <code>&lt;del&gt;</code> tag is not applied to the
+loose text; it has strikethrough applied with CSS.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="120:1-124:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">- [~] inapplicable</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"> text in loose list</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="126:1-141:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;ul&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;li&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;p&gt;</span>
+<span id="LC4" class="line" lang="plaintext">&lt;task-button/&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;input type="checkbox" data-inapplicable disabled&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;s&gt;</span>
+<span id="LC7" class="line" lang="plaintext">inapplicable</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/s&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;/p&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;p&gt;</span>
+<span id="LC11" class="line" lang="plaintext">text in loose list</span>
+<span id="LC12" class="line" lang="plaintext">&lt;/p&gt;</span>
+<span id="LC13" class="line" lang="plaintext">&lt;/li&gt;</span>
+<span id="LC14" class="line" lang="plaintext">&lt;/ul&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="143:1-143:15" dir="auto">
+<a id="user-content-front-matter" class="anchor" href="#front-matter" aria-hidden="true"></a>Front matter</h2>
+<p data-sourcepos="145:1-146:121" dir="auto">See
+<a href="https://docs.gitlab.com/ee/user/markdown.html#front-matter" rel="nofollow noreferrer noopener" target="_blank">Front matter</a> in the GitLab Flavored Markdown documentation.</p>
+<p data-sourcepos="148:1-149:95" dir="auto">Front matter is metadata included at the beginning of a Markdown document, preceding the content.
+This data can be used by static site generators like Jekyll, Hugo, and many other applications.</p>
+<p data-sourcepos="151:1-151:18" dir="auto">YAML front matter:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="153:1-157:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">---</span>
+<span id="LC2" class="line" lang="plaintext">title: YAML front matter</span>
+<span id="LC3" class="line" lang="plaintext">---</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="159:1-165:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;code&gt;</span>
+<span id="LC3" class="line" lang="plaintext">title: YAML front matter</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="167:1-167:18" dir="auto">TOML front matter:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="169:1-173:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">+++</span>
+<span id="LC2" class="line" lang="plaintext">title: TOML front matter</span>
+<span id="LC3" class="line" lang="plaintext">+++</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="175:1-181:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;code&gt;</span>
+<span id="LC3" class="line" lang="plaintext">title: TOML front matter</span>
+<span id="LC4" class="line" lang="plaintext">&lt;/code&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="183:1-183:18" dir="auto">JSON front matter:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="185:1-191:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">;;;</span>
+<span id="LC2" class="line" lang="plaintext">{</span>
+<span id="LC3" class="line" lang="plaintext"> "title": "JSON front matter"</span>
+<span id="LC4" class="line" lang="plaintext">}</span>
+<span id="LC5" class="line" lang="plaintext">;;;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="193:1-201:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;pre&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;code&gt;</span>
+<span id="LC3" class="line" lang="plaintext">{</span>
+<span id="LC4" class="line" lang="plaintext"> "title": "JSON front matter"</span>
+<span id="LC5" class="line" lang="plaintext">}</span>
+<span id="LC6" class="line" lang="plaintext">&lt;/code&gt;</span>
+<span id="LC7" class="line" lang="plaintext">&lt;/pre&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="203:1-203:66" dir="auto">Front matter blocks should be inserted at the top of the document:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="205:1-211:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">text</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext">---</span>
+<span id="LC4" class="line" lang="plaintext">title: YAML front matter</span>
+<span id="LC5" class="line" lang="plaintext">---</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="213:1-217:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;text&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;hr&gt;</span>
+<span id="LC3" class="line" lang="plaintext">&lt;h2&gt;title: YAML front matter&lt;/h2&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="219:1-219:74" dir="auto">Front matter block delimiters shouldn’t be preceded by space characters:</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="221:1-225:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> ---</span>
+<span id="LC2" class="line" lang="plaintext">title: YAML front matter</span>
+<span id="LC3" class="line" lang="plaintext">---</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="227:1-230:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;hr&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;h2&gt;title: YAML front matter&lt;/h2&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<h2 data-sourcepos="232:1-232:20" dir="auto">
+<a id="user-content-table-of-contents" class="anchor" href="#table-of-contents" aria-hidden="true"></a>Table of contents</h2>
+<p data-sourcepos="234:1-236:46" dir="auto">See
+<a href="https://docs.gitlab.com/ee/user/markdown.html#table-of-contents" rel="nofollow noreferrer noopener" target="_blank">table of contents</a>
+in the GitLab Flavored Markdown documentation.</p>
+<p data-sourcepos="238:1-239:58" dir="auto">A table of contents is an unordered list that links to subheadings in the document.
+Add either the <code>[[_TOC_]]</code> or </p><ul class="section-nav">
+<li><a href="#introduction">Introduction</a></li>
+<li>
+<a href="#gitlab-official-specification-markdown">GitLab Official Specification Markdown</a><ul>
+<li><a href="#footnotes">Footnotes</a></li>
+<li><a href="#task-list-items">Task list items</a></li>
+<li><a href="#front-matter">Front matter</a></li>
+<li><a href="#table-of-contents">Table of contents</a></li>
+</ul>
+</li>
+</ul> tag on its own line.
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="241:1-247:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[TOC]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"># Heading 1</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">## Heading 2</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="249:1-260:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;nav&gt;</span>
+<span id="LC2" class="line" lang="plaintext"> &lt;ul&gt;</span>
+<span id="LC3" class="line" lang="plaintext"> &lt;li&gt;&lt;a href="#heading-1"&gt;Heading 1&lt;/a&gt;&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext"> &lt;ul&gt;</span>
+<span id="LC5" class="line" lang="plaintext"> &lt;li&gt;&lt;a href="#heading-2"&gt;Heading 2&lt;/a&gt;&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext"> &lt;/ul&gt;</span>
+<span id="LC7" class="line" lang="plaintext"> &lt;/ul&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/nav&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;h1&gt;Heading 1&lt;/h1&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;h2&gt;Heading 2&lt;/h2&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="262:1-268:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[[_TOC_]]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"># Heading 1</span>
+<span id="LC4" class="line" lang="plaintext"></span>
+<span id="LC5" class="line" lang="plaintext">## Heading 2</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="270:1-281:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;nav&gt;</span>
+<span id="LC2" class="line" lang="plaintext"> &lt;ul&gt;</span>
+<span id="LC3" class="line" lang="plaintext"> &lt;li&gt;&lt;a href="#heading-1"&gt;Heading 1&lt;/a&gt;&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext"> &lt;ul&gt;</span>
+<span id="LC5" class="line" lang="plaintext"> &lt;li&gt;&lt;a href="#heading-2"&gt;Heading 2&lt;/a&gt;&lt;/li&gt;</span>
+<span id="LC6" class="line" lang="plaintext"> &lt;/ul&gt;</span>
+<span id="LC7" class="line" lang="plaintext"> &lt;/ul&gt;</span>
+<span id="LC8" class="line" lang="plaintext">&lt;/nav&gt;</span>
+<span id="LC9" class="line" lang="plaintext">&lt;h1&gt;Heading 1&lt;/h1&gt;</span>
+<span id="LC10" class="line" lang="plaintext">&lt;h2&gt;Heading 2&lt;/h2&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="283:1-284:5" dir="auto">A table of contents is a block element. It should preceded and followed by a blank
+line.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="286:1-292:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">[[_TOC_]]</span>
+<span id="LC2" class="line" lang="plaintext">text</span>
+<span id="LC3" class="line" lang="plaintext"></span>
+<span id="LC4" class="line" lang="plaintext">text</span>
+<span id="LC5" class="line" lang="plaintext">[TOC]</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="294:1-297:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;p&gt;[[&lt;em&gt;TOC&lt;/em&gt;]]text&lt;/p&gt;</span>
+<span id="LC2" class="line" lang="plaintext">&lt;p&gt;text[TOC]&lt;/p&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+<p data-sourcepos="299:1-299:60" dir="auto">A table of contents can be indented with up to three spaces.</p>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="301:1-305:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="example" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"> [[_TOC_]]</span>
+<span id="LC2" class="line" lang="plaintext"></span>
+<span id="LC3" class="line" lang="plaintext"># Heading 1</span></code></pre>
+<copy-code></copy-code>
+</div>
+<div class="gl-relative markdown-code-block js-markdown-code">
+<pre data-sourcepos="307:1-314:32" lang="plaintext" class="code highlight js-syntax-highlight language-plaintext" data-canonical-lang="" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">&lt;nav&gt;</span>
+<span id="LC2" class="line" lang="plaintext"> &lt;ul&gt;</span>
+<span id="LC3" class="line" lang="plaintext"> &lt;li&gt;&lt;a href="#heading-1"&gt;Heading 1&lt;/a&gt;&lt;/li&gt;</span>
+<span id="LC4" class="line" lang="plaintext"> &lt;/ul&gt;</span>
+<span id="LC5" class="line" lang="plaintext">&lt;/nav&gt;</span>
+<span id="LC6" class="line" lang="plaintext">&lt;h1&gt;Heading 1&lt;/h1&gt;</span></code></pre>
+<copy-code></copy-code>
+</div>
+
diff --git a/glfm_specification/output_spec/spec.txt b/glfm_specification/output_spec/spec.txt
new file mode 100644
index 00000000000..e16975ac51f
--- /dev/null
+++ b/glfm_specification/output_spec/spec.txt
@@ -0,0 +1,287 @@
+---
+title: GitLab Flavored Markdown (GLFM) Spec
+version: alpha
+...
+# Introduction
+
+TODO: Write a GitLab-specific version of the GitHub Flavored Markdown intro section.
+
+<!-- BEGIN TESTS -->
+# GitLab Official Specification Markdown
+
+Currently, only some of the GitLab-specific markdown features are
+listed in this section. We may eventually add all
+GitLab-specific features currently listed as supported in the
+[user-facing documentation for GitLab Flavored Markdown](https://docs.gitlab.com/ee/user/markdown.html).
+
+There is currently only this single top-level heading, but the
+examples may be split into multiple top-level headings in the future.
+
+## Footnotes
+
+See
+[the footnotes section of the user-facing documentation for GitLab Flavored Markdown](https://docs.gitlab.com/ee/user/markdown.html#footnotes).
+
+```````````````````````````````` example gitlab
+footnote reference tag [^fortytwo]
+
+[^fortytwo]: footnote text
+.
+<p>
+footnote reference tag
+<sup>
+<a href="#fn-fortytwo-42" id="fnref-fortytwo-42" data-footnote-ref>
+1
+</a>
+</sup>
+</p>
+<section data-footnotes>
+<ol>
+<li id="fn-fortytwo-42">
+<p>
+footnote text
+<a href="#fnref-fortytwo-42" data-footnote-backref>
+</a>
+</p>
+</li>
+</ol>
+</section>
+````````````````````````````````
+
+## Task list items
+
+See
+[Task lists](https://docs.gitlab.com/ee/user/markdown.html#task-lists) in the GitLab Flavored Markdown documentation.
+
+Task list items (checkboxes) are defined as a GitHub Flavored Markdown extension in a section above.
+GitLab extends the behavior of task list items to support additional features.
+Some of these features are in-progress, and should not yet be considered part of the official
+GitLab Flavored Markdown specification.
+
+Some of the behavior of task list items is implemented as client-side JavaScript/CSS.
+
+The following are some basic examples; more examples may be added in the future.
+
+Incomplete task:
+
+```````````````````````````````` example gitlab
+- [ ] incomplete
+.
+<ul>
+<li>
+<task-button/>
+<input type="checkbox" disabled/>
+incomplete
+</li>
+</ul>
+````````````````````````````````
+
+Completed task:
+
+```````````````````````````````` example gitlab
+- [x] completed
+.
+<ul>
+<li>
+<task-button/>
+<input type="checkbox" checked disabled/>
+completed
+</li>
+</ul>
+````````````````````````````````
+
+Inapplicable task:
+
+```````````````````````````````` example gitlab
+- [~] inapplicable
+.
+<ul>
+<li>
+<task-button/>
+<input type="checkbox" data-inapplicable disabled>
+<s>
+inapplicable
+</s>
+</li>
+</ul>
+````````````````````````````````
+
+Inapplicable task in a "loose" list. Note that the `<del>` tag is not applied to the
+loose text; it has strikethrough applied with CSS.
+
+```````````````````````````````` example gitlab
+- [~] inapplicable
+
+ text in loose list
+.
+<ul>
+<li>
+<p>
+<task-button/>
+<input type="checkbox" data-inapplicable disabled>
+<s>
+inapplicable
+</s>
+</p>
+<p>
+text in loose list
+</p>
+</li>
+</ul>
+````````````````````````````````
+
+## Front matter
+
+See
+[Front matter](https://docs.gitlab.com/ee/user/markdown.html#front-matter) in the GitLab Flavored Markdown documentation.
+
+Front matter is metadata included at the beginning of a Markdown document, preceding the content.
+This data can be used by static site generators like Jekyll, Hugo, and many other applications.
+
+YAML front matter:
+
+```````````````````````````````` example gitlab
+---
+title: YAML front matter
+---
+.
+<pre>
+<code>
+title: YAML front matter
+</code>
+</pre>
+````````````````````````````````
+
+TOML front matter:
+
+```````````````````````````````` example gitlab
++++
+title: TOML front matter
++++
+.
+<pre>
+<code>
+title: TOML front matter
+</code>
+</pre>
+````````````````````````````````
+
+JSON front matter:
+
+```````````````````````````````` example gitlab
+;;;
+{
+ "title": "JSON front matter"
+}
+;;;
+.
+<pre>
+<code>
+{
+ "title": "JSON front matter"
+}
+</code>
+</pre>
+````````````````````````````````
+
+Front matter blocks should be inserted at the top of the document:
+
+```````````````````````````````` example gitlab
+text
+
+---
+title: YAML front matter
+---
+.
+<p>text</p>
+<hr>
+<h2>title: YAML front matter</h2>
+````````````````````````````````
+
+Front matter block delimiters shouldn’t be preceded by space characters:
+
+```````````````````````````````` example gitlab
+ ---
+title: YAML front matter
+---
+.
+<hr>
+<h2>title: YAML front matter</h2>
+````````````````````````````````
+
+## Table of contents
+
+See
+[table of contents](https://docs.gitlab.com/ee/user/markdown.html#table-of-contents)
+in the GitLab Flavored Markdown documentation.
+
+A table of contents is an unordered list that links to subheadings in the document.
+Add either the `[[_TOC_]]` or `[TOC]` tag on its own line.
+
+```````````````````````````````` example gitlab
+[TOC]
+
+# Heading 1
+
+## Heading 2
+.
+<nav>
+ <ul>
+ <li><a href="#heading-1">Heading 1</a></li>
+ <ul>
+ <li><a href="#heading-2">Heading 2</a></li>
+ </ul>
+ </ul>
+</nav>
+<h1>Heading 1</h1>
+<h2>Heading 2</h2>
+````````````````````````````````
+
+```````````````````````````````` example gitlab
+[[_TOC_]]
+
+# Heading 1
+
+## Heading 2
+.
+<nav>
+ <ul>
+ <li><a href="#heading-1">Heading 1</a></li>
+ <ul>
+ <li><a href="#heading-2">Heading 2</a></li>
+ </ul>
+ </ul>
+</nav>
+<h1>Heading 1</h1>
+<h2>Heading 2</h2>
+````````````````````````````````
+
+A table of contents is a block element. It should preceded and followed by a blank
+line.
+
+```````````````````````````````` example gitlab
+[[_TOC_]]
+text
+
+text
+[TOC]
+.
+<p>[[<em>TOC</em>]]text</p>
+<p>text[TOC]</p>
+````````````````````````````````
+
+A table of contents can be indented with up to three spaces.
+
+```````````````````````````````` example gitlab
+ [[_TOC_]]
+
+# Heading 1
+.
+<nav>
+ <ul>
+ <li><a href="#heading-1">Heading 1</a></li>
+ </ul>
+</nav>
+<h1>Heading 1</h1>
+````````````````````````````````
+<!-- END TESTS -->