markz
On this page

CommonMark

Tabs

→foo→baz→→bim

.
<pre><code>foo→baz→→bim
</code></pre>
  →foo→baz→→bim

.
<pre><code>foo→baz→→bim
</code></pre>
    a→a
    ὐ→a

.
<pre><code>a→a
ὐ→a
</code></pre>
  - foo

→bar

.
<ul>
<li>
<p>foo</p>
<p>bar</p>
</li>
</ul>
- foo

→→bar

.
<ul>
<li>
<p>foo</p>
<pre><code>  bar
</code></pre>
</li>
</ul>
>→→foo

.
<blockquote>
<pre><code>  foo
</code></pre>
</blockquote>
-→→foo

.
<ul>
<li>
<pre><code>  foo
</code></pre>
</li>
</ul>
    foo
→bar

.
<pre><code>foo
bar
</code></pre>
 - foo
   - bar
→ - baz

.
<ul>
<li>foo
<ul>
<li>bar
<ul>
<li>baz</li>
</ul>
</li>
</ul>
</li>
</ul>
#→Foo

.
<h1>Foo</h1>
*→*→*→

.
<hr />

Backslash escapes

\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\\\]\^\_\`\{\|\}\~

.
<p>!&quot;#$%&amp;'()*+,-./:;&lt;=&gt;?@[\]^_`{|}~</p>
\→\A\a\ \3\φ\«

.
<p>\→\A\a\ \3\φ\«</p>
\*not emphasized*
\<br/> not a tag
\[not a link](/foo)
\`not code`
1\. not a list
\* not a list
\# not a heading
\[foo]: /url "not a reference"
\&ouml; not a character entity

.
<p>*not emphasized*
&lt;br/&gt; not a tag
[not a link](/foo)
`not code`
1. not a list
* not a list
# not a heading
[foo]: /url &quot;not a reference&quot;
&amp;ouml; not a character entity</p>
\\*emphasis*

.
<p>\<em>emphasis</em></p>
foo\
bar

.
<p>foo<br />
bar</p>
`` \[\` ``

.
<p><code>\[\`</code></p>
    \[\]

.
<pre><code>\[\]
</code></pre>
~~~
\[\]
~~~

.
<pre><code>\[\]
</code></pre>
<https://example.com?find=\*>

.
<p><a href="https://example.com?find=%5C*">https://example.com?find=\*</a></p>
<a href="/bar\/)">

.
<a href="/bar\/)">
[foo](/bar\* "ti\*tle")

.
<p><a href="/bar*" title="ti*tle">foo</a></p>
[foo]

[foo]: /bar\* "ti\*tle"

.
<p><a href="/bar*" title="ti*tle">foo</a></p>
``` foo\+bar
foo
```

.
<pre><code class="language-foo+bar">foo
</code></pre>

Entity and numeric character references

&nbsp; &amp; &copy; &AElig; &Dcaron;
&frac34; &HilbertSpace; &DifferentialD;
&ClockwiseContourIntegral; &ngE;

.
<p>  &amp; © Æ Ď
¾ ℋ ⅆ
∲ ≧̸</p>
&#35; &#1234; &#992; &#0;

.
<p># Ӓ Ϡ �</p>
&#X22; &#XD06; &#xcab;

.
<p>&quot; ആ ಫ</p>
&nbsp &x; &#; &#x;
&#87654321;
&#abcdef0;
&ThisIsNotDefined; &hi?;

.
<p>&amp;nbsp &amp;x; &amp;#; &amp;#x;
&amp;#87654321;
&amp;#abcdef0;
&amp;ThisIsNotDefined; &amp;hi?;</p>
&copy

.
<p>&amp;copy</p>
&MadeUpEntity;

.
<p>&amp;MadeUpEntity;</p>
<a href="&ouml;&ouml;.html">

.
<a href="&ouml;&ouml;.html">
[foo](/f&ouml;&ouml; "f&ouml;&ouml;")

.
<p><a href="/f%C3%B6%C3%B6" title="föö">foo</a></p>
[foo]

[foo]: /f&ouml;&ouml; "f&ouml;&ouml;"

.
<p><a href="/f%C3%B6%C3%B6" title="föö">foo</a></p>
``` f&ouml;&ouml;
foo
```

.
<pre><code class="language-föö">foo
</code></pre>
`f&ouml;&ouml;`

.
<p><code>f&amp;ouml;&amp;ouml;</code></p>
    f&ouml;f&ouml;

.
<pre><code>f&amp;ouml;f&amp;ouml;
</code></pre>
&#42;foo&#42;
*foo*

.
<p>*foo*
<em>foo</em></p>
&#42; foo

* foo

.
<p>* foo</p>
<ul>
<li>foo</li>
</ul>
foo&#10;&#10;bar

.
<p>foo

bar</p>
&#9;foo

.
<p>→foo</p>
[a](url &quot;tit&quot;)

.
<p>[a](url &quot;tit&quot;)</p>

Precedence

- `one
- two`

.
<ul>
<li>`one</li>
<li>two`</li>
</ul>

Thematic breaks

***
---
___

.
<hr />
<hr />
<hr />
+++

.
<p>+++</p>
===

.
<p>===</p>
--
**
__

.
<p>--
**
__</p>
 ***
  ***
   ***

.
<hr />
<hr />
<hr />
    ***

.
<pre><code>***
</code></pre>
Foo
    ***

.
<p>Foo
***</p>
_____________________________________

.
<hr />
 - - -

.
<hr />
 **  * ** * ** * **

.
<hr />
-     -      -      -

.
<hr />
- - - -␣␣␣␣

.
<hr />
_ _ _ _ a

a------

---a---

.
<p>_ _ _ _ a</p>
<p>a------</p>
<p>---a---</p>
 *-*

.
<p><em>-</em></p>
- foo
***
- bar

.
<ul>
<li>foo</li>
</ul>
<hr />
<ul>
<li>bar</li>
</ul>
Foo
***
bar

.
<p>Foo</p>
<hr />
<p>bar</p>
Foo
---
bar

.
<h2>Foo</h2>
<p>bar</p>
* Foo
* * *
* Bar

.
<ul>
<li>Foo</li>
</ul>
<hr />
<ul>
<li>Bar</li>
</ul>
- Foo
- * * *

.
<ul>
<li>Foo</li>
<li>
<hr />
</li>
</ul>

ATX headings

# foo
## foo
### foo
#### foo
##### foo
###### foo

.
<h1>foo</h1>
<h2>foo</h2>
<h3>foo</h3>
<h4>foo</h4>
<h5>foo</h5>
<h6>foo</h6>
####### foo

.
<p>####### foo</p>
#5 bolt

#hashtag

.
<p>#5 bolt</p>
<p>#hashtag</p>
\## foo

.
<p>## foo</p>
# foo *bar* \*baz\*

.
<h1>foo <em>bar</em> *baz*</h1>
#                  foo␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣

.
<h1>foo</h1>
 ### foo
  ## foo
   # foo

.
<h3>foo</h3>
<h2>foo</h2>
<h1>foo</h1>
    # foo

.
<pre><code># foo
</code></pre>
foo
    # bar

.
<p>foo
# bar</p>
## foo ##
  ###   bar    ###

.
<h2>foo</h2>
<h3>bar</h3>
# foo ##################################
##### foo ##

.
<h1>foo</h1>
<h5>foo</h5>
### foo ###␣␣␣␣␣

.
<h3>foo</h3>
### foo ### b

.
<h3>foo ### b</h3>
# foo#

.
<h1>foo#</h1>
### foo \###
## foo #\##
# foo \#

.
<h3>foo ###</h3>
<h2>foo ###</h2>
<h1>foo #</h1>
****
## foo
****

.
<hr />
<h2>foo</h2>
<hr />
Foo bar
# baz
Bar foo

.
<p>Foo bar</p>
<h1>baz</h1>
<p>Bar foo</p>
##␣
#
### ###

.
<h2></h2>
<h1></h1>
<h3></h3>

Setext headings

Foo *bar*
=========

Foo *bar*
---------

.
<h1>Foo <em>bar</em></h1>
<h2>Foo <em>bar</em></h2>
Foo *bar
baz*
====

.
<h1>Foo <em>bar
baz</em></h1>
  Foo *bar
baz*→
====

.
<h1>Foo <em>bar
baz</em></h1>
Foo
-------------------------

Foo
=

.
<h2>Foo</h2>
<h1>Foo</h1>
   Foo
---

  Foo
-----

  Foo
  ===

.
<h2>Foo</h2>
<h2>Foo</h2>
<h1>Foo</h1>
    Foo
    ---

    Foo
---

.
<pre><code>Foo
---

Foo
</code></pre>
<hr />
Foo
   ----␣␣␣␣␣␣

.
<h2>Foo</h2>
Foo
    ---

.
<p>Foo
---</p>
Foo
= =

Foo
--- -

.
<p>Foo
= =</p>
<p>Foo</p>
<hr />
Foo␣␣
-----

.
<h2>Foo</h2>
Foo\
----

.
<h2>Foo\</h2>
`Foo
----
`

<a title="a lot
---
of dashes"/>

.
<h2>`Foo</h2>
<p>`</p>
<h2>&lt;a title=&quot;a lot</h2>
<p>of dashes&quot;/&gt;</p>
> Foo
---

.
<blockquote>
<p>Foo</p>
</blockquote>
<hr />
> foo
bar
===

.
<blockquote>
<p>foo
bar
===</p>
</blockquote>
- Foo
---

.
<ul>
<li>Foo</li>
</ul>
<hr />
Foo
Bar
---

.
<h2>Foo
Bar</h2>
---
Foo
---
Bar
---
Baz

.
<hr />
<h2>Foo</h2>
<h2>Bar</h2>
<p>Baz</p>

====

.
<p>====</p>
---
---

.
<hr />
<hr />
- foo
-----

.
<ul>
<li>foo</li>
</ul>
<hr />
    foo
---

.
<pre><code>foo
</code></pre>
<hr />
> foo
-----

.
<blockquote>
<p>foo</p>
</blockquote>
<hr />
\> foo
------

.
<h2>&gt; foo</h2>
Foo

bar
---
baz

.
<p>Foo</p>
<h2>bar</h2>
<p>baz</p>
Foo
bar

---

baz

.
<p>Foo
bar</p>
<hr />
<p>baz</p>
Foo
bar
* * *
baz

.
<p>Foo
bar</p>
<hr />
<p>baz</p>
Foo
bar
\---
baz

.
<p>Foo
bar
---
baz</p>

Indented code blocks

    a simple
      indented code block

.
<pre><code>a simple
  indented code block
</code></pre>
  - foo

    bar

.
<ul>
<li>
<p>foo</p>
<p>bar</p>
</li>
</ul>
1.  foo

    - bar

.
<ol>
<li>
<p>foo</p>
<ul>
<li>bar</li>
</ul>
</li>
</ol>
    <a/>
    *hi*

    - one

.
<pre><code>&lt;a/&gt;
*hi*

- one
</code></pre>
    chunk1

    chunk2
␣␣
␣
␣
    chunk3

.
<pre><code>chunk1

chunk2



chunk3
</code></pre>
    chunk1
␣␣␣␣␣␣
      chunk2

.
<pre><code>chunk1
␣␣
  chunk2
</code></pre>
Foo
    bar


.
<p>Foo
bar</p>
    foo
bar

.
<pre><code>foo
</code></pre>
<p>bar</p>
# Heading
    foo
Heading
------
    foo
----

.
<h1>Heading</h1>
<pre><code>foo
</code></pre>
<h2>Heading</h2>
<pre><code>foo
</code></pre>
<hr />
        foo
    bar

.
<pre><code>    foo
bar
</code></pre>

␣␣␣␣
    foo
␣␣␣␣


.
<pre><code>foo
</code></pre>
    foo␣␣

.
<pre><code>foo␣␣
</code></pre>

Fenced code blocks

```
<
 >
```

.
<pre><code>&lt;
 &gt;
</code></pre>
~~~
<
 >
~~~

.
<pre><code>&lt;
 &gt;
</code></pre>
``
foo
``

.
<p><code>foo</code></p>
```
aaa
~~~
```

.
<pre><code>aaa
~~~
</code></pre>
~~~
aaa
```
~~~

.
<pre><code>aaa
```
</code></pre>
````
aaa
```
``````

.
<pre><code>aaa
```
</code></pre>
~~~~
aaa
~~~
~~~~

.
<pre><code>aaa
~~~
</code></pre>
```

.
<pre><code></code></pre>
`````

```
aaa

.
<pre><code>
```
aaa
</code></pre>
> ```
> aaa

bbb

.
<blockquote>
<pre><code>aaa
</code></pre>
</blockquote>
<p>bbb</p>
```

␣␣
```

.
<pre><code>
␣␣
</code></pre>
```
```

.
<pre><code></code></pre>
 ```
 aaa
aaa
```

.
<pre><code>aaa
aaa
</code></pre>
  ```
aaa
  aaa
aaa
  ```

.
<pre><code>aaa
aaa
aaa
</code></pre>
   ```
   aaa
    aaa
  aaa
   ```

.
<pre><code>aaa
 aaa
aaa
</code></pre>
    ```
    aaa
    ```

.
<pre><code>```
aaa
```
</code></pre>
```
aaa
  ```

.
<pre><code>aaa
</code></pre>
   ```
aaa
  ```

.
<pre><code>aaa
</code></pre>
```
aaa
    ```

.
<pre><code>aaa
    ```
</code></pre>
``` ```
aaa

.
<p><code> </code>
aaa</p>
~~~~~~
aaa
~~~ ~~

.
<pre><code>aaa
~~~ ~~
</code></pre>
foo
```
bar
```
baz

.
<p>foo</p>
<pre><code>bar
</code></pre>
<p>baz</p>
foo
---
~~~
bar
~~~
# baz

.
<h2>foo</h2>
<pre><code>bar
</code></pre>
<h1>baz</h1>
```ruby
def foo(x)
  return 3
end
```

.
<pre><code class="language-ruby">def foo(x)
  return 3
end
</code></pre>
~~~~    ruby startline=3 $%@#$
def foo(x)
  return 3
end
~~~~~~~

.
<pre><code class="language-ruby">def foo(x)
  return 3
end
</code></pre>
````;
````

.
<pre><code class="language-;"></code></pre>
``` aa ```
foo

.
<p><code>aa</code>
foo</p>
~~~ aa ``` ~~~
foo
~~~

.
<pre><code class="language-aa">foo
</code></pre>
```
``` aaa
```

.
<pre><code>``` aaa
</code></pre>

HTML blocks

<table><tr><td>
<pre>
**Hello**,

_world_.
</pre>
</td></tr></table>

.
<table><tr><td>
<pre>
**Hello**,
<p><em>world</em>.
</pre></p>
</td></tr></table>
<table>
  <tr>
    <td>
           hi
    </td>
  </tr>
</table>

okay.

.
<table>
  <tr>
    <td>
           hi
    </td>
  </tr>
</table>
<p>okay.</p>
 <div>
  *hello*
         <foo><a>

.
 <div>
  *hello*
         <foo><a>
</div>
*foo*

.
</div>
*foo*
<DIV CLASS="foo">

*Markdown*

</DIV>

.
<DIV CLASS="foo">
<p><em>Markdown</em></p>
</DIV>
<div id="foo"
  class="bar">
</div>

.
<div id="foo"
  class="bar">
</div>
<div id="foo" class="bar
  baz">
</div>

.
<div id="foo" class="bar
  baz">
</div>
<div>
*foo*

*bar*

.
<div>
*foo*
<p><em>bar</em></p>
<div id="foo"
*hi*

.
<div id="foo"
*hi*
<div class
foo

.
<div class
foo
<div *???-&&&-<---
*foo*

.
<div *???-&&&-<---
*foo*
<div><a href="bar">*foo*</a></div>

.
<div><a href="bar">*foo*</a></div>
<table><tr><td>
foo
</td></tr></table>

.
<table><tr><td>
foo
</td></tr></table>
<div></div>
``` c
int x = 33;
```

.
<div></div>
``` c
int x = 33;
```
<a href="foo">
*bar*
</a>

.
<a href="foo">
*bar*
</a>
<Warning>
*bar*
</Warning>

.
<Warning>
*bar*
</Warning>
<i class="foo">
*bar*
</i>

.
<i class="foo">
*bar*
</i>
</ins>
*bar*

.
</ins>
*bar*
<del>
*foo*
</del>

.
<del>
*foo*
</del>
<del>

*foo*

</del>

.
<del>
<p><em>foo</em></p>
</del>
<del>*foo*</del>

.
<p><del><em>foo</em></del></p>
<pre language="haskell"><code>
import Text.HTML.TagSoup

main :: IO ()
main = print $ parseTags tags
</code></pre>
okay

.
<pre language="haskell"><code>
import Text.HTML.TagSoup

main :: IO ()
main = print $ parseTags tags
</code></pre>
<p>okay</p>
<script type="text/javascript">
// JavaScript example

document.getElementById("demo").innerHTML = "Hello JavaScript!";
</script>
okay

.
<script type="text/javascript">
// JavaScript example

document.getElementById("demo").innerHTML = "Hello JavaScript!";
</script>
<p>okay</p>
<textarea>

*foo*

_bar_

</textarea>

.
<textarea>

*foo*

_bar_

</textarea>
<style
  type="text/css">
h1 {color:red;}

p {color:blue;}
</style>
okay

.
<style
  type="text/css">
h1 {color:red;}

p {color:blue;}
</style>
<p>okay</p>
<style
  type="text/css">

foo

.
<style
  type="text/css">

foo
> <div>
> foo

bar

.
<blockquote>
<div>
foo
</blockquote>
<p>bar</p>
- <div>
- foo

.
<ul>
<li>
<div>
</li>
<li>foo</li>
</ul>
<style>p{color:red;}</style>
*foo*

.
<style>p{color:red;}</style>
<p><em>foo</em></p>
<!-- foo -->*bar*
*baz*

.
<!-- foo -->*bar*
<p><em>baz</em></p>
<script>
foo
</script>1. *bar*

.
<script>
foo
</script>1. *bar*
<!-- Foo

bar
   baz -->
okay

.
<!-- Foo

bar
   baz -->
<p>okay</p>
<?php

  echo '>';

?>
okay

.
<?php

  echo '>';

?>
<p>okay</p>
<!DOCTYPE html>

.
<!DOCTYPE html>
<![CDATA[
function matchwo(a,b)
{
  if (a < b && a < 0) then {
    return 1;

  } else {

    return 0;
  }
}
]]>
okay

.
<![CDATA[
function matchwo(a,b)
{
  if (a < b && a < 0) then {
    return 1;

  } else {

    return 0;
  }
}
]]>
<p>okay</p>
  <!-- foo -->

    <!-- foo -->

.
  <!-- foo -->
<pre><code>&lt;!-- foo --&gt;
</code></pre>
  <div>

    <div>

.
  <div>
<pre><code>&lt;div&gt;
</code></pre>
Foo
<div>
bar
</div>

.
<p>Foo</p>
<div>
bar
</div>
<div>
bar
</div>
*foo*

.
<div>
bar
</div>
*foo*
Foo
<a href="bar">
baz

.
<p>Foo
<a href="bar">
baz</p>
<div>

*Emphasized* text.

</div>

.
<div>
<p><em>Emphasized</em> text.</p>
</div>
<div>
*Emphasized* text.
</div>

.
<div>
*Emphasized* text.
</div>
<table>

<tr>

<td>
Hi
</td>

</tr>

</table>

.
<table>
<tr>
<td>
Hi
</td>
</tr>
</table>
<table>

  <tr>

    <td>
      Hi
    </td>

  </tr>

</table>

.
<table>
  <tr>
<pre><code>&lt;td&gt;
  Hi
&lt;/td&gt;
</code></pre>
  </tr>
</table>
[foo]: /url "title"

[foo]

.
<p><a href="/url" title="title">foo</a></p>
   [foo]:␣
      /url␣␣
           'the title'␣␣

[foo]

.
<p><a href="/url" title="the title">foo</a></p>
[Foo*bar\]]:my_(url) 'title (with parens)'

[Foo*bar\]]

.
<p><a href="my_(url)" title="title (with parens)">Foo*bar]</a></p>
[Foo bar]:
<my url>
'title'

[Foo bar]

.
<p><a href="my%20url" title="title">Foo bar</a></p>
[foo]: /url '
title
line1
line2
'

[foo]

.
<p><a href="/url" title="
title
line1
line2
">foo</a></p>
[foo]: /url 'title

with blank line'

[foo]

.
<p>[foo]: /url 'title</p>
<p>with blank line'</p>
<p>[foo]</p>
[foo]:
/url

[foo]

.
<p><a href="/url">foo</a></p>
[foo]:

[foo]

.
<p>[foo]:</p>
<p>[foo]</p>
[foo]: <>

[foo]

.
<p><a href="">foo</a></p>
[foo]: <bar>(baz)

[foo]

.
<p>[foo]: <bar>(baz)</p>
<p>[foo]</p>
[foo]: /url\bar\*baz "foo\"bar\baz"

[foo]

.
<p><a href="/url%5Cbar*baz" title="foo&quot;bar\baz">foo</a></p>
[foo]

[foo]: url

.
<p><a href="url">foo</a></p>
[foo]

[foo]: first
[foo]: second

.
<p><a href="first">foo</a></p>
[FOO]: /url

[Foo]

.
<p><a href="/url">Foo</a></p>
[ΑΓΩ]: /φου

[αγω]

.
<p><a href="/%CF%86%CE%BF%CF%85">αγω</a></p>
[foo]: /url
[
foo
]: /url
bar

.
<p>bar</p>
[foo]: /url "title" ok

.
<p>[foo]: /url &quot;title&quot; ok</p>
[foo]: /url
"title" ok

.
<p>&quot;title&quot; ok</p>
    [foo]: /url "title"

[foo]

.
<pre><code>[foo]: /url &quot;title&quot;
</code></pre>
<p>[foo]</p>
```
[foo]: /url
```

[foo]

.
<pre><code>[foo]: /url
</code></pre>
<p>[foo]</p>
Foo
[bar]: /baz

[bar]

.
<p>Foo
[bar]: /baz</p>
<p>[bar]</p>
# [Foo]
[foo]: /url
> bar

.
<h1><a href="/url">Foo</a></h1>
<blockquote>
<p>bar</p>
</blockquote>
[foo]: /url
bar
===
[foo]

.
<h1>bar</h1>
<p><a href="/url">foo</a></p>
[foo]: /url
===
[foo]

.
<p>===
<a href="/url">foo</a></p>
[foo]: /foo-url "foo"
[bar]: /bar-url
  "bar"
[baz]: /baz-url

[foo],
[bar],
[baz]

.
<p><a href="/foo-url" title="foo">foo</a>,
<a href="/bar-url" title="bar">bar</a>,
<a href="/baz-url">baz</a></p>
[foo]

> [foo]: /url

.
<p><a href="/url">foo</a></p>
<blockquote>
</blockquote>

Paragraphs

aaa

bbb

.
<p>aaa</p>
<p>bbb</p>
aaa
bbb

ccc
ddd

.
<p>aaa
bbb</p>
<p>ccc
ddd</p>
aaa


bbb

.
<p>aaa</p>
<p>bbb</p>
  aaa
 bbb

.
<p>aaa
bbb</p>
aaa
             bbb
                                       ccc

.
<p>aaa
bbb
ccc</p>
   aaa
bbb

.
<p>aaa
bbb</p>
    aaa
bbb

.
<pre><code>aaa
</code></pre>
<p>bbb</p>
aaa␣␣␣␣␣
bbb␣␣␣␣␣

.
<p>aaa<br />
bbb</p>

Blank lines

␣␣

aaa
␣␣

# aaa

␣␣

.
<p>aaa</p>
<h1>aaa</h1>

Block quotes

> # Foo
> bar
> baz

.
<blockquote>
<h1>Foo</h1>
<p>bar
baz</p>
</blockquote>
># Foo
>bar
> baz

.
<blockquote>
<h1>Foo</h1>
<p>bar
baz</p>
</blockquote>
   > # Foo
   > bar
 > baz

.
<blockquote>
<h1>Foo</h1>
<p>bar
baz</p>
</blockquote>
    > # Foo
    > bar
    > baz

.
<pre><code>&gt; # Foo
&gt; bar
&gt; baz
</code></pre>
> # Foo
> bar
baz

.
<blockquote>
<h1>Foo</h1>
<p>bar
baz</p>
</blockquote>
> bar
baz
> foo

.
<blockquote>
<p>bar
baz
foo</p>
</blockquote>
> foo
---

.
<blockquote>
<p>foo</p>
</blockquote>
<hr />
> - foo
- bar

.
<blockquote>
<ul>
<li>foo</li>
</ul>
</blockquote>
<ul>
<li>bar</li>
</ul>
>     foo
    bar

.
<blockquote>
<pre><code>foo
</code></pre>
</blockquote>
<pre><code>bar
</code></pre>
> ```
foo
```

.
<blockquote>
<pre><code></code></pre>
</blockquote>
<p>foo</p>
<pre><code></code></pre>
> foo
    - bar

.
<blockquote>
<p>foo
- bar</p>
</blockquote>
>

.
<blockquote>
</blockquote>
>
>␣␣
>␣

.
<blockquote>
</blockquote>
>
> foo
>␣␣

.
<blockquote>
<p>foo</p>
</blockquote>
> foo

> bar

.
<blockquote>
<p>foo</p>
</blockquote>
<blockquote>
<p>bar</p>
</blockquote>
> foo
> bar

.
<blockquote>
<p>foo
bar</p>
</blockquote>
> foo
>
> bar

.
<blockquote>
<p>foo</p>
<p>bar</p>
</blockquote>
foo
> bar

.
<p>foo</p>
<blockquote>
<p>bar</p>
</blockquote>
> aaa
***
> bbb

.
<blockquote>
<p>aaa</p>
</blockquote>
<hr />
<blockquote>
<p>bbb</p>
</blockquote>
> bar
baz

.
<blockquote>
<p>bar
baz</p>
</blockquote>
> bar

baz

.
<blockquote>
<p>bar</p>
</blockquote>
<p>baz</p>
> bar
>
baz

.
<blockquote>
<p>bar</p>
</blockquote>
<p>baz</p>
> > > foo
bar

.
<blockquote>
<blockquote>
<blockquote>
<p>foo
bar</p>
</blockquote>
</blockquote>
</blockquote>
>>> foo
> bar
>>baz

.
<blockquote>
<blockquote>
<blockquote>
<p>foo
bar
baz</p>
</blockquote>
</blockquote>
</blockquote>
>     code

>    not code

.
<blockquote>
<pre><code>code
</code></pre>
</blockquote>
<blockquote>
<p>not code</p>
</blockquote>

List items

A paragraph
with two lines.

    indented code

> A block quote.

.
<p>A paragraph
with two lines.</p>
<pre><code>indented code
</code></pre>
<blockquote>
<p>A block quote.</p>
</blockquote>
1.  A paragraph
    with two lines.

        indented code

    > A block quote.

.
<ol>
<li>
<p>A paragraph
with two lines.</p>
<pre><code>indented code
</code></pre>
<blockquote>
<p>A block quote.</p>
</blockquote>
</li>
</ol>
- one

 two

.
<ul>
<li>one</li>
</ul>
<p>two</p>
- one

  two

.
<ul>
<li>
<p>one</p>
<p>two</p>
</li>
</ul>
 -    one

     two

.
<ul>
<li>one</li>
</ul>
<pre><code> two
</code></pre>
 -    one

      two

.
<ul>
<li>
<p>one</p>
<p>two</p>
</li>
</ul>
   > > 1.  one
>>
>>     two

.
<blockquote>
<blockquote>
<ol>
<li>
<p>one</p>
<p>two</p>
</li>
</ol>
</blockquote>
</blockquote>
>>- one
>>
  >  > two

.
<blockquote>
<blockquote>
<ul>
<li>one</li>
</ul>
<p>two</p>
</blockquote>
</blockquote>
-one

2.two

.
<p>-one</p>
<p>2.two</p>
- foo


  bar

.
<ul>
<li>
<p>foo</p>
<p>bar</p>
</li>
</ul>
1.  foo

    ```
    bar
    ```

    baz

    > bam

.
<ol>
<li>
<p>foo</p>
<pre><code>bar
</code></pre>
<p>baz</p>
<blockquote>
<p>bam</p>
</blockquote>
</li>
</ol>
- Foo

      bar


      baz

.
<ul>
<li>
<p>Foo</p>
<pre><code>bar


baz
</code></pre>
</li>
</ul>
123456789. ok

.
<ol start="123456789">
<li>ok</li>
</ol>
1234567890. not ok

.
<p>1234567890. not ok</p>
0. ok

.
<ol start="0">
<li>ok</li>
</ol>
003. ok

.
<ol start="3">
<li>ok</li>
</ol>
-1. not ok

.
<p>-1. not ok</p>
- foo

      bar

.
<ul>
<li>
<p>foo</p>
<pre><code>bar
</code></pre>
</li>
</ul>
  10.  foo

           bar

.
<ol start="10">
<li>
<p>foo</p>
<pre><code>bar
</code></pre>
</li>
</ol>
    indented code

paragraph

    more code

.
<pre><code>indented code
</code></pre>
<p>paragraph</p>
<pre><code>more code
</code></pre>
1.     indented code

   paragraph

       more code

.
<ol>
<li>
<pre><code>indented code
</code></pre>
<p>paragraph</p>
<pre><code>more code
</code></pre>
</li>
</ol>
1.      indented code

   paragraph

       more code

.
<ol>
<li>
<pre><code> indented code
</code></pre>
<p>paragraph</p>
<pre><code>more code
</code></pre>
</li>
</ol>
   foo

bar

.
<p>foo</p>
<p>bar</p>
-    foo

  bar

.
<ul>
<li>foo</li>
</ul>
<p>bar</p>
-  foo

   bar

.
<ul>
<li>
<p>foo</p>
<p>bar</p>
</li>
</ul>
-
  foo
-
  ```
  bar
  ```
-
      baz

.
<ul>
<li>foo</li>
<li>
<pre><code>bar
</code></pre>
</li>
<li>
<pre><code>baz
</code></pre>
</li>
</ul>
-␣␣␣
  foo

.
<ul>
<li>foo</li>
</ul>
-

  foo

.
<ul>
<li></li>
</ul>
<p>foo</p>
- foo
-
- bar

.
<ul>
<li>foo</li>
<li></li>
<li>bar</li>
</ul>
- foo
-␣␣␣
- bar

.
<ul>
<li>foo</li>
<li></li>
<li>bar</li>
</ul>
1. foo
2.
3. bar

.
<ol>
<li>foo</li>
<li></li>
<li>bar</li>
</ol>
*

.
<ul>
<li></li>
</ul>
foo
*

foo
1.

.
<p>foo
*</p>
<p>foo
1.</p>
 1.  A paragraph
     with two lines.

         indented code

     > A block quote.

.
<ol>
<li>
<p>A paragraph
with two lines.</p>
<pre><code>indented code
</code></pre>
<blockquote>
<p>A block quote.</p>
</blockquote>
</li>
</ol>
  1.  A paragraph
      with two lines.

          indented code

      > A block quote.

.
<ol>
<li>
<p>A paragraph
with two lines.</p>
<pre><code>indented code
</code></pre>
<blockquote>
<p>A block quote.</p>
</blockquote>
</li>
</ol>
   1.  A paragraph
       with two lines.

           indented code

       > A block quote.

.
<ol>
<li>
<p>A paragraph
with two lines.</p>
<pre><code>indented code
</code></pre>
<blockquote>
<p>A block quote.</p>
</blockquote>
</li>
</ol>
    1.  A paragraph
        with two lines.

            indented code

        > A block quote.

.
<pre><code>1.  A paragraph
    with two lines.

        indented code

    &gt; A block quote.
</code></pre>
  1.  A paragraph
with two lines.

          indented code

      > A block quote.

.
<ol>
<li>
<p>A paragraph
with two lines.</p>
<pre><code>indented code
</code></pre>
<blockquote>
<p>A block quote.</p>
</blockquote>
</li>
</ol>
  1.  A paragraph
    with two lines.

.
<ol>
<li>A paragraph
with two lines.</li>
</ol>
> 1. > Blockquote
continued here.

.
<blockquote>
<ol>
<li>
<blockquote>
<p>Blockquote
continued here.</p>
</blockquote>
</li>
</ol>
</blockquote>
> 1. > Blockquote
> continued here.

.
<blockquote>
<ol>
<li>
<blockquote>
<p>Blockquote
continued here.</p>
</blockquote>
</li>
</ol>
</blockquote>
- foo
  - bar
    - baz
      - boo

.
<ul>
<li>foo
<ul>
<li>bar
<ul>
<li>baz
<ul>
<li>boo</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
- foo
 - bar
  - baz
   - boo

.
<ul>
<li>foo</li>
<li>bar</li>
<li>baz</li>
<li>boo</li>
</ul>
10) foo
    - bar

.
<ol start="10">
<li>foo
<ul>
<li>bar</li>
</ul>
</li>
</ol>
10) foo
   - bar

.
<ol start="10">
<li>foo</li>
</ol>
<ul>
<li>bar</li>
</ul>
- - foo

.
<ul>
<li>
<ul>
<li>foo</li>
</ul>
</li>
</ul>
1. - 2. foo

.
<ol>
<li>
<ul>
<li>
<ol start="2">
<li>foo</li>
</ol>
</li>
</ul>
</li>
</ol>
- # Foo
- Bar
  ---
  baz

.
<ul>
<li>
<h1>Foo</h1>
</li>
<li>
<h2>Bar</h2>
baz</li>
</ul>

Lists

- foo
- bar
+ baz

.
<ul>
<li>foo</li>
<li>bar</li>
</ul>
<ul>
<li>baz</li>
</ul>
1. foo
2. bar
3) baz

.
<ol>
<li>foo</li>
<li>bar</li>
</ol>
<ol start="3">
<li>baz</li>
</ol>
Foo
- bar
- baz

.
<p>Foo</p>
<ul>
<li>bar</li>
<li>baz</li>
</ul>
The number of windows in my house is
14.  The number of doors is 6.

.
<p>The number of windows in my house is
14.  The number of doors is 6.</p>
The number of windows in my house is
1.  The number of doors is 6.

.
<p>The number of windows in my house is</p>
<ol>
<li>The number of doors is 6.</li>
</ol>
- foo

- bar


- baz

.
<ul>
<li>
<p>foo</p>
</li>
<li>
<p>bar</p>
</li>
<li>
<p>baz</p>
</li>
</ul>
- foo
  - bar
    - baz


      bim

.
<ul>
<li>foo
<ul>
<li>bar
<ul>
<li>
<p>baz</p>
<p>bim</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
- foo
- bar

<!-- -->

- baz
- bim

.
<ul>
<li>foo</li>
<li>bar</li>
</ul>
<!-- -->
<ul>
<li>baz</li>
<li>bim</li>
</ul>
-   foo

    notcode

-   foo

<!-- -->

    code

.
<ul>
<li>
<p>foo</p>
<p>notcode</p>
</li>
<li>
<p>foo</p>
</li>
</ul>
<!-- -->
<pre><code>code
</code></pre>
- a
 - b
  - c
   - d
  - e
 - f
- g

.
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
<li>d</li>
<li>e</li>
<li>f</li>
<li>g</li>
</ul>
1. a

  2. b

   3. c

.
<ol>
<li>
<p>a</p>
</li>
<li>
<p>b</p>
</li>
<li>
<p>c</p>
</li>
</ol>
- a
 - b
  - c
   - d
    - e

.
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
<li>d
- e</li>
</ul>
1. a

  2. b

    3. c

.
<ol>
<li>
<p>a</p>
</li>
<li>
<p>b</p>
</li>
</ol>
<pre><code>3. c
</code></pre>
- a
- b

- c

.
<ul>
<li>
<p>a</p>
</li>
<li>
<p>b</p>
</li>
<li>
<p>c</p>
</li>
</ul>
* a
*

* c

.
<ul>
<li>
<p>a</p>
</li>
<li></li>
<li>
<p>c</p>
</li>
</ul>
- a
- b

  c
- d

.
<ul>
<li>
<p>a</p>
</li>
<li>
<p>b</p>
<p>c</p>
</li>
<li>
<p>d</p>
</li>
</ul>
- a
- b

  [ref]: /url
- d

.
<ul>
<li>
<p>a</p>
</li>
<li>
<p>b</p>
</li>
<li>
<p>d</p>
</li>
</ul>
- a
- ```
  b


  ```
- c

.
<ul>
<li>a</li>
<li>
<pre><code>b


</code></pre>
</li>
<li>c</li>
</ul>
- a
  - b

    c
- d

.
<ul>
<li>a
<ul>
<li>
<p>b</p>
<p>c</p>
</li>
</ul>
</li>
<li>d</li>
</ul>
* a
  > b
  >
* c

.
<ul>
<li>a
<blockquote>
<p>b</p>
</blockquote>
</li>
<li>c</li>
</ul>
- a
  > b
  ```
  c
  ```
- d

.
<ul>
<li>a
<blockquote>
<p>b</p>
</blockquote>
<pre><code>c
</code></pre>
</li>
<li>d</li>
</ul>
- a

.
<ul>
<li>a</li>
</ul>
- a
  - b

.
<ul>
<li>a
<ul>
<li>b</li>
</ul>
</li>
</ul>
1. ```
   foo
   ```

   bar

.
<ol>
<li>
<pre><code>foo
</code></pre>
<p>bar</p>
</li>
</ol>
* foo
  * bar

  baz

.
<ul>
<li>
<p>foo</p>
<ul>
<li>bar</li>
</ul>
<p>baz</p>
</li>
</ul>
- a
  - b
  - c

- d
  - e
  - f

.
<ul>
<li>
<p>a</p>
<ul>
<li>b</li>
<li>c</li>
</ul>
</li>
<li>
<p>d</p>
<ul>
<li>e</li>
<li>f</li>
</ul>
</li>
</ul>

Inlines

`hi`lo`

.
<p><code>hi</code>lo`</p>

Code spans

`foo`

.
<p><code>foo</code></p>
`` foo ` bar ``

.
<p><code>foo ` bar</code></p>
` `` `

.
<p><code>``</code></p>
`  ``  `

.
<p><code> `` </code></p>
` a`

.
<p><code> a</code></p>
` b `

.
<p><code> b </code></p>
` `
`  `

.
<p><code> </code>
<code>  </code></p>
``
foo
bar␣␣
baz
``

.
<p><code>foo bar   baz</code></p>
``
foo␣
``

.
<p><code>foo </code></p>
`foo   bar␣
baz`

.
<p><code>foo   bar  baz</code></p>
`foo\`bar`

.
<p><code>foo\</code>bar`</p>
``foo`bar``

.
<p><code>foo`bar</code></p>
` foo `` bar `

.
<p><code>foo `` bar</code></p>
*foo`*`

.
<p>*foo<code>*</code></p>
[not a `link](/foo`)

.
<p>[not a <code>link](/foo</code>)</p>
`<a href="`">`

.
<p><code>&lt;a href=&quot;</code>&quot;&gt;`</p>
<a href="`">`

.
<p><a href="`">`</p>
`<https://foo.bar.`baz>`

.
<p><code>&lt;https://foo.bar.</code>baz&gt;`</p>
<https://foo.bar.`baz>`

.
<p><a href="https://foo.bar.%60baz">https://foo.bar.`baz</a>`</p>
```foo``

.
<p>```foo``</p>
`foo

.
<p>`foo</p>
`foo``bar``

.
<p>`foo<code>bar</code></p>

Emphasis and strong emphasis

*foo bar*

.
<p><em>foo bar</em></p>
a * foo bar*

.
<p>a * foo bar*</p>
a*"foo"*

.
<p>a*&quot;foo&quot;*</p>
* a *

.
<p>* a *</p>
*$*alpha.

*£*bravo.

*€*charlie.

.
<p>*$*alpha.</p>
<p>*£*bravo.</p>
<p>*€*charlie.</p>
foo*bar*

.
<p>foo<em>bar</em></p>
5*6*78

.
<p>5<em>6</em>78</p>
_foo bar_

.
<p><em>foo bar</em></p>
_ foo bar_

.
<p>_ foo bar_</p>
a_"foo"_

.
<p>a_&quot;foo&quot;_</p>
foo_bar_

.
<p>foo_bar_</p>
5_6_78

.
<p>5_6_78</p>
пристаням_стремятся_

.
<p>пристаням_стремятся_</p>
aa_"bb"_cc

.
<p>aa_&quot;bb&quot;_cc</p>
foo-_(bar)_

.
<p>foo-<em>(bar)</em></p>
_foo*

.
<p>_foo*</p>
*foo bar *

.
<p>*foo bar *</p>
*foo bar
*

.
<p>*foo bar
*</p>
*(*foo)

.
<p>*(*foo)</p>
*(*foo*)*

.
<p><em>(<em>foo</em>)</em></p>
*foo*bar

.
<p><em>foo</em>bar</p>
_foo bar _

.
<p>_foo bar _</p>
_(_foo)

.
<p>_(_foo)</p>
_(_foo_)_

.
<p><em>(<em>foo</em>)</em></p>
_foo_bar

.
<p>_foo_bar</p>
_пристаням_стремятся

.
<p>_пристаням_стремятся</p>
_foo_bar_baz_

.
<p><em>foo_bar_baz</em></p>
_(bar)_.

.
<p><em>(bar)</em>.</p>
**foo bar**

.
<p><strong>foo bar</strong></p>
** foo bar**

.
<p>** foo bar**</p>
a**"foo"**

.
<p>a**&quot;foo&quot;**</p>
foo**bar**

.
<p>foo<strong>bar</strong></p>
__foo bar__

.
<p><strong>foo bar</strong></p>
__ foo bar__

.
<p>__ foo bar__</p>
__
foo bar__

.
<p>__
foo bar__</p>
a__"foo"__

.
<p>a__&quot;foo&quot;__</p>
foo__bar__

.
<p>foo__bar__</p>
5__6__78

.
<p>5__6__78</p>
пристаням__стремятся__

.
<p>пристаням__стремятся__</p>
__foo, __bar__, baz__

.
<p><strong>foo, <strong>bar</strong>, baz</strong></p>
foo-__(bar)__

.
<p>foo-<strong>(bar)</strong></p>
**foo bar **

.
<p>**foo bar **</p>
**(**foo)

.
<p>**(**foo)</p>
*(**foo**)*

.
<p><em>(<strong>foo</strong>)</em></p>
**Gomphocarpus (*Gomphocarpus physocarpus*, syn.
*Asclepias physocarpa*)**

.
<p><strong>Gomphocarpus (<em>Gomphocarpus physocarpus</em>, syn.
<em>Asclepias physocarpa</em>)</strong></p>
**foo "*bar*" foo**

.
<p><strong>foo &quot;<em>bar</em>&quot; foo</strong></p>
**foo**bar

.
<p><strong>foo</strong>bar</p>
__foo bar __

.
<p>__foo bar __</p>
__(__foo)

.
<p>__(__foo)</p>
_(__foo__)_

.
<p><em>(<strong>foo</strong>)</em></p>
__foo__bar

.
<p>__foo__bar</p>
__пристаням__стремятся

.
<p>__пристаням__стремятся</p>
__foo__bar__baz__

.
<p><strong>foo__bar__baz</strong></p>
__(bar)__.

.
<p><strong>(bar)</strong>.</p>
*foo [bar](/url)*

.
<p><em>foo <a href="/url">bar</a></em></p>
*foo
bar*

.
<p><em>foo
bar</em></p>
_foo __bar__ baz_

.
<p><em>foo <strong>bar</strong> baz</em></p>
_foo _bar_ baz_

.
<p><em>foo <em>bar</em> baz</em></p>
__foo_ bar_

.
<p><em><em>foo</em> bar</em></p>
*foo *bar**

.
<p><em>foo <em>bar</em></em></p>
*foo **bar** baz*

.
<p><em>foo <strong>bar</strong> baz</em></p>
*foo**bar**baz*

.
<p><em>foo<strong>bar</strong>baz</em></p>
*foo**bar*

.
<p><em>foo**bar</em></p>
***foo** bar*

.
<p><em><strong>foo</strong> bar</em></p>
*foo **bar***

.
<p><em>foo <strong>bar</strong></em></p>
*foo**bar***

.
<p><em>foo<strong>bar</strong></em></p>
foo***bar***baz

.
<p>foo<em><strong>bar</strong></em>baz</p>
foo******bar*********baz

.
<p>foo<strong><strong><strong>bar</strong></strong></strong>***baz</p>
*foo **bar *baz* bim** bop*

.
<p><em>foo <strong>bar <em>baz</em> bim</strong> bop</em></p>
*foo [*bar*](/url)*

.
<p><em>foo <a href="/url"><em>bar</em></a></em></p>
** is not an empty emphasis

.
<p>** is not an empty emphasis</p>
**** is not an empty strong emphasis

.
<p>**** is not an empty strong emphasis</p>
**foo [bar](/url)**

.
<p><strong>foo <a href="/url">bar</a></strong></p>
**foo
bar**

.
<p><strong>foo
bar</strong></p>
__foo _bar_ baz__

.
<p><strong>foo <em>bar</em> baz</strong></p>
__foo __bar__ baz__

.
<p><strong>foo <strong>bar</strong> baz</strong></p>
____foo__ bar__

.
<p><strong><strong>foo</strong> bar</strong></p>
**foo **bar****

.
<p><strong>foo <strong>bar</strong></strong></p>
**foo *bar* baz**

.
<p><strong>foo <em>bar</em> baz</strong></p>
**foo*bar*baz**

.
<p><strong>foo<em>bar</em>baz</strong></p>
***foo* bar**

.
<p><strong><em>foo</em> bar</strong></p>
**foo *bar***

.
<p><strong>foo <em>bar</em></strong></p>
**foo *bar **baz**
bim* bop**

.
<p><strong>foo <em>bar <strong>baz</strong>
bim</em> bop</strong></p>
**foo [*bar*](/url)**

.
<p><strong>foo <a href="/url"><em>bar</em></a></strong></p>
__ is not an empty emphasis

.
<p>__ is not an empty emphasis</p>
____ is not an empty strong emphasis

.
<p>____ is not an empty strong emphasis</p>
foo ***

.
<p>foo ***</p>
foo *\**

.
<p>foo <em>*</em></p>
foo *_*

.
<p>foo <em>_</em></p>
foo *****

.
<p>foo *****</p>
foo **\***

.
<p>foo <strong>*</strong></p>
foo **_**

.
<p>foo <strong>_</strong></p>
**foo*

.
<p>*<em>foo</em></p>
*foo**

.
<p><em>foo</em>*</p>
***foo**

.
<p>*<strong>foo</strong></p>
****foo*

.
<p>***<em>foo</em></p>
**foo***

.
<p><strong>foo</strong>*</p>
*foo****

.
<p><em>foo</em>***</p>
foo ___

.
<p>foo ___</p>
foo _\__

.
<p>foo <em>_</em></p>
foo _*_

.
<p>foo <em>*</em></p>
foo _____

.
<p>foo _____</p>
foo __\___

.
<p>foo <strong>_</strong></p>
foo __*__

.
<p>foo <strong>*</strong></p>
__foo_

.
<p>_<em>foo</em></p>
_foo__

.
<p><em>foo</em>_</p>
___foo__

.
<p>_<strong>foo</strong></p>
____foo_

.
<p>___<em>foo</em></p>
__foo___

.
<p><strong>foo</strong>_</p>
_foo____

.
<p><em>foo</em>___</p>
**foo**

.
<p><strong>foo</strong></p>
*_foo_*

.
<p><em><em>foo</em></em></p>
__foo__

.
<p><strong>foo</strong></p>
_*foo*_

.
<p><em><em>foo</em></em></p>
****foo****

.
<p><strong><strong>foo</strong></strong></p>
____foo____

.
<p><strong><strong>foo</strong></strong></p>
******foo******

.
<p><strong><strong><strong>foo</strong></strong></strong></p>
***foo***

.
<p><em><strong>foo</strong></em></p>
_____foo_____

.
<p><em><strong><strong>foo</strong></strong></em></p>
*foo _bar* baz_

.
<p><em>foo _bar</em> baz_</p>
*foo __bar *baz bim__ bam*

.
<p><em>foo <strong>bar *baz bim</strong> bam</em></p>
**foo **bar baz**

.
<p>**foo <strong>bar baz</strong></p>
*foo *bar baz*

.
<p>*foo <em>bar baz</em></p>
*[bar*](/url)

.
<p>*<a href="/url">bar*</a></p>
_foo [bar_](/url)

.
<p>_foo <a href="/url">bar_</a></p>
*<img src="foo" title="*"/>

.
<p>*<img src="foo" title="*"/></p>
**<a href="**">

.
<p>**<a href="**"></p>
__<a href="__">

.
<p>__<a href="__"></p>
*a `*`*

.
<p><em>a <code>*</code></em></p>
_a `_`_

.
<p><em>a <code>_</code></em></p>
**a<https://foo.bar/?q=**>

.
<p>**a<a href="https://foo.bar/?q=**">https://foo.bar/?q=**</a></p>
__a<https://foo.bar/?q=__>

.
<p>__a<a href="https://foo.bar/?q=__">https://foo.bar/?q=__</a></p>
[link](/uri "title")

.
<p><a href="/uri" title="title">link</a></p>
[link](/uri)

.
<p><a href="/uri">link</a></p>
[](./target.md)

.
<p><a href="./target.md"></a></p>
[link]()

.
<p><a href="">link</a></p>
[link](<>)

.
<p><a href="">link</a></p>
[]()

.
<p><a href=""></a></p>
[link](/my uri)

.
<p>[link](/my uri)</p>
[link](</my uri>)

.
<p><a href="/my%20uri">link</a></p>
[link](foo
bar)

.
<p>[link](foo
bar)</p>
[link](<foo
bar>)

.
<p>[link](<foo
bar>)</p>
[a](<b)c>)

.
<p><a href="b)c">a</a></p>
[link](<foo\>)

.
<p>[link](&lt;foo&gt;)</p>
[a](<b)c
[a](<b)c>
[a](<b>c)

.
<p>[a](&lt;b)c
[a](&lt;b)c&gt;
[a](<b>c)</p>
[link](\(foo\))

.
<p><a href="(foo)">link</a></p>
[link](foo(and(bar)))

.
<p><a href="foo(and(bar))">link</a></p>
[link](foo(and(bar))

.
<p>[link](foo(and(bar))</p>
[link](foo\(and\(bar\))

.
<p><a href="foo(and(bar)">link</a></p>
[link](<foo(and(bar)>)

.
<p><a href="foo(and(bar)">link</a></p>
[link](foo\)\:)

.
<p><a href="foo):">link</a></p>
[link](#fragment)

[link](https://example.com#fragment)

[link](https://example.com?foo=3#frag)

.
<p><a href="#fragment">link</a></p>
<p><a href="https://example.com#fragment">link</a></p>
<p><a href="https://example.com?foo=3#frag">link</a></p>
[link](foo\bar)

.
<p><a href="foo%5Cbar">link</a></p>
[link](foo%20b&auml;)

.
<p><a href="foo%20b%C3%A4">link</a></p>
[link]("title")

.
<p><a href="%22title%22">link</a></p>
[link](/url "title")
[link](/url 'title')
[link](/url (title))

.
<p><a href="/url" title="title">link</a>
<a href="/url" title="title">link</a>
<a href="/url" title="title">link</a></p>
[link](/url "title \"&quot;")

.
<p><a href="/url" title="title &quot;&quot;">link</a></p>
[link](/url "title")

.
<p><a href="/url%C2%A0%22title%22">link</a></p>
[link](/url "title "and" title")

.
<p>[link](/url &quot;title &quot;and&quot; title&quot;)</p>
[link](/url 'title "and" title')

.
<p><a href="/url" title="title &quot;and&quot; title">link</a></p>
[link](   /uri
  "title"  )

.
<p><a href="/uri" title="title">link</a></p>
[link] (/uri)

.
<p>[link] (/uri)</p>
[link [foo [bar]]](/uri)

.
<p><a href="/uri">link [foo [bar]]</a></p>
[link] bar](/uri)

.
<p>[link] bar](/uri)</p>
[link [bar](/uri)

.
<p>[link <a href="/uri">bar</a></p>
[link \[bar](/uri)

.
<p><a href="/uri">link [bar</a></p>
[link *foo **bar** `#`*](/uri)

.
<p><a href="/uri">link <em>foo <strong>bar</strong> <code>#</code></em></a></p>
[![moon](moon.jpg)](/uri)

.
<p><a href="/uri"><img src="moon.jpg" alt="moon" /></a></p>
[foo [bar](/uri)](/uri)

.
<p>[foo <a href="/uri">bar</a>](/uri)</p>
[foo *[bar [baz](/uri)](/uri)*](/uri)

.
<p>[foo <em>[bar <a href="/uri">baz</a>](/uri)</em>](/uri)</p>
![[[foo](uri1)](uri2)](uri3)

.
<p><img src="uri3" alt="[foo](uri2)" /></p>
*[foo*](/uri)

.
<p>*<a href="/uri">foo*</a></p>
[foo *bar](baz*)

.
<p><a href="baz*">foo *bar</a></p>
*foo [bar* baz]

.
<p><em>foo [bar</em> baz]</p>
[foo <bar attr="](baz)">

.
<p>[foo <bar attr="](baz)"></p>
[foo`](/uri)`

.
<p>[foo<code>](/uri)</code></p>
[foo<https://example.com/?search=](uri)>

.
<p>[foo<a href="https://example.com/?search=%5D(uri)">https://example.com/?search=](uri)</a></p>
[foo][bar]

[bar]: /url "title"

.
<p><a href="/url" title="title">foo</a></p>
[link [foo [bar]]][ref]

[ref]: /uri

.
<p><a href="/uri">link [foo [bar]]</a></p>
[link \[bar][ref]

[ref]: /uri

.
<p><a href="/uri">link [bar</a></p>
[link *foo **bar** `#`*][ref]

[ref]: /uri

.
<p><a href="/uri">link <em>foo <strong>bar</strong> <code>#</code></em></a></p>
[![moon](moon.jpg)][ref]

[ref]: /uri

.
<p><a href="/uri"><img src="moon.jpg" alt="moon" /></a></p>
[foo [bar](/uri)][ref]

[ref]: /uri

.
<p>[foo <a href="/uri">bar</a>]<a href="/uri">ref</a></p>
[foo *bar [baz][ref]*][ref]

[ref]: /uri

.
<p>[foo <em>bar <a href="/uri">baz</a></em>]<a href="/uri">ref</a></p>
*[foo*][ref]

[ref]: /uri

.
<p>*<a href="/uri">foo*</a></p>
[foo *bar][ref]*

[ref]: /uri

.
<p><a href="/uri">foo *bar</a>*</p>
[foo <bar attr="][ref]">

[ref]: /uri

.
<p>[foo <bar attr="][ref]"></p>
[foo`][ref]`

[ref]: /uri

.
<p>[foo<code>][ref]</code></p>
[foo<https://example.com/?search=][ref]>

[ref]: /uri

.
<p>[foo<a href="https://example.com/?search=%5D%5Bref%5D">https://example.com/?search=][ref]</a></p>
[foo][BaR]

[bar]: /url "title"

.
<p><a href="/url" title="title">foo</a></p>
[ẞ]

[SS]: /url

.
<p><a href="/url">ẞ</a></p>
[Foo
  bar]: /url

[Baz][Foo bar]

.
<p><a href="/url">Baz</a></p>
[foo] [bar]

[bar]: /url "title"

.
<p>[foo] <a href="/url" title="title">bar</a></p>
[foo]
[bar]

[bar]: /url "title"

.
<p>[foo]
<a href="/url" title="title">bar</a></p>
[foo]: /url1

[foo]: /url2

[bar][foo]

.
<p><a href="/url1">bar</a></p>
[bar][foo\!]

[foo!]: /url

.
<p>[bar][foo!]</p>
[foo][ref[]

[ref[]: /uri

.
<p>[foo][ref[]</p>
<p>[ref[]: /uri</p>
[foo][ref[bar]]

[ref[bar]]: /uri

.
<p>[foo][ref[bar]]</p>
<p>[ref[bar]]: /uri</p>
[[[foo]]]

[[[foo]]]: /url

.
<p>[[[foo]]]</p>
<p>[[[foo]]]: /url</p>
[foo][ref\[]

[ref\[]: /uri

.
<p><a href="/uri">foo</a></p>
[bar\\]: /uri

[bar\\]

.
<p><a href="/uri">bar\</a></p>
[]

[]: /uri

.
<p>[]</p>
<p>[]: /uri</p>
[
 ]

[
 ]: /uri

.
<p>[
]</p>
<p>[
]: /uri</p>
[foo][]

[foo]: /url "title"

.
<p><a href="/url" title="title">foo</a></p>
[*foo* bar][]

[*foo* bar]: /url "title"

.
<p><a href="/url" title="title"><em>foo</em> bar</a></p>
[Foo][]

[foo]: /url "title"

.
<p><a href="/url" title="title">Foo</a></p>
[foo]␣
[]

[foo]: /url "title"

.
<p><a href="/url" title="title">foo</a>
[]</p>
[foo]

[foo]: /url "title"

.
<p><a href="/url" title="title">foo</a></p>
[*foo* bar]

[*foo* bar]: /url "title"

.
<p><a href="/url" title="title"><em>foo</em> bar</a></p>
[[*foo* bar]]

[*foo* bar]: /url "title"

.
<p>[<a href="/url" title="title"><em>foo</em> bar</a>]</p>
[[bar [foo]

[foo]: /url

.
<p>[[bar <a href="/url">foo</a></p>
[Foo]

[foo]: /url "title"

.
<p><a href="/url" title="title">Foo</a></p>
[foo] bar

[foo]: /url

.
<p><a href="/url">foo</a> bar</p>
\[foo]

[foo]: /url "title"

.
<p>[foo]</p>
[foo*]: /url

*[foo*]

.
<p>*<a href="/url">foo*</a></p>
[foo][bar]

[foo]: /url1
[bar]: /url2

.
<p><a href="/url2">foo</a></p>
[foo][]

[foo]: /url1

.
<p><a href="/url1">foo</a></p>
[foo]()

[foo]: /url1

.
<p><a href="">foo</a></p>
[foo](not a link)

[foo]: /url1

.
<p><a href="/url1">foo</a>(not a link)</p>
[foo][bar][baz]

[baz]: /url

.
<p>[foo]<a href="/url">bar</a></p>
[foo][bar][baz]

[baz]: /url1
[bar]: /url2

.
<p><a href="/url2">foo</a><a href="/url1">baz</a></p>
[foo][bar][baz]

[baz]: /url1
[foo]: /url2

.
<p>[foo]<a href="/url1">bar</a></p>

Images

![foo](/url "title")

.
<p><img src="/url" alt="foo" title="title" /></p>
![foo *bar*]

[foo *bar*]: train.jpg "train & tracks"

.
<p><img src="train.jpg" alt="foo bar" title="train &amp; tracks" /></p>
![foo ![bar](/url)](/url2)

.
<p><img src="/url2" alt="foo bar" /></p>
![foo [bar](/url)](/url2)

.
<p><img src="/url2" alt="foo bar" /></p>
![foo *bar*][]

[foo *bar*]: train.jpg "train & tracks"

.
<p><img src="train.jpg" alt="foo bar" title="train &amp; tracks" /></p>
![foo *bar*][foobar]

[FOOBAR]: train.jpg "train & tracks"

.
<p><img src="train.jpg" alt="foo bar" title="train &amp; tracks" /></p>
![foo](train.jpg)

.
<p><img src="train.jpg" alt="foo" /></p>
My ![foo bar](/path/to/train.jpg  "title"   )

.
<p>My <img src="/path/to/train.jpg" alt="foo bar" title="title" /></p>
![foo](<url>)

.
<p><img src="url" alt="foo" /></p>
![](/url)

.
<p><img src="/url" alt="" /></p>
![foo][bar]

[bar]: /url

.
<p><img src="/url" alt="foo" /></p>
![foo][bar]

[BAR]: /url

.
<p><img src="/url" alt="foo" /></p>
![foo][]

[foo]: /url "title"

.
<p><img src="/url" alt="foo" title="title" /></p>
![*foo* bar][]

[*foo* bar]: /url "title"

.
<p><img src="/url" alt="foo bar" title="title" /></p>
![Foo][]

[foo]: /url "title"

.
<p><img src="/url" alt="Foo" title="title" /></p>
![foo]␣
[]

[foo]: /url "title"

.
<p><img src="/url" alt="foo" title="title" />
[]</p>
![foo]

[foo]: /url "title"

.
<p><img src="/url" alt="foo" title="title" /></p>
![*foo* bar]

[*foo* bar]: /url "title"

.
<p><img src="/url" alt="foo bar" title="title" /></p>
![[foo]]

[[foo]]: /url "title"

.
<p>![[foo]]</p>
<p>[[foo]]: /url &quot;title&quot;</p>
![Foo]

[foo]: /url "title"

.
<p><img src="/url" alt="Foo" title="title" /></p>
!\[foo]

[foo]: /url "title"

.
<p>![foo]</p>
\![foo]

[foo]: /url "title"

.
<p>!<a href="/url" title="title">foo</a></p>
<http://foo.bar.baz>

.
<p><a href="http://foo.bar.baz">http://foo.bar.baz</a></p>
<https://foo.bar.baz/test?q=hello&id=22&boolean>

.
<p><a href="https://foo.bar.baz/test?q=hello&amp;id=22&amp;boolean">https://foo.bar.baz/test?q=hello&amp;id=22&amp;boolean</a></p>
<irc://foo.bar:2233/baz>

.
<p><a href="irc://foo.bar:2233/baz">irc://foo.bar:2233/baz</a></p>
<MAILTO:FOO@BAR.BAZ>

.
<p><a href="MAILTO:FOO@BAR.BAZ">MAILTO:FOO@BAR.BAZ</a></p>
<a+b+c:d>

.
<p><a href="a+b+c:d">a+b+c:d</a></p>
<made-up-scheme://foo,bar>

.
<p><a href="made-up-scheme://foo,bar">made-up-scheme://foo,bar</a></p>
<https://../>

.
<p><a href="https://../">https://../</a></p>
<localhost:5001/foo>

.
<p><a href="localhost:5001/foo">localhost:5001/foo</a></p>
<https://foo.bar/baz bim>

.
<p>&lt;https://foo.bar/baz bim&gt;</p>
<https://example.com/\[\>

.
<p><a href="https://example.com/%5C%5B%5C">https://example.com/\[\</a></p>
<foo@bar.example.com>

.
<p><a href="mailto:foo@bar.example.com">foo@bar.example.com</a></p>
<foo+special@Bar.baz-bar0.com>

.
<p><a href="mailto:foo+special@Bar.baz-bar0.com">foo+special@Bar.baz-bar0.com</a></p>
<foo\+@bar.example.com>

.
<p>&lt;foo+@bar.example.com&gt;</p>
<>

.
<p>&lt;&gt;</p>
< https://foo.bar >

.
<p>&lt; https://foo.bar &gt;</p>
<m:abc>

.
<p>&lt;m:abc&gt;</p>
<foo.bar.baz>

.
<p>&lt;foo.bar.baz&gt;</p>
https://example.com

.
<p>https://example.com</p>
foo@bar.example.com

.
<p>foo@bar.example.com</p>

Raw HTML

<a><bab><c2c>

.
<p><a><bab><c2c></p>
<a/><b2/>

.
<p><a/><b2/></p>
<a  /><b2
data="foo" >

.
<p><a  /><b2
data="foo" ></p>
<a foo="bar" bam = 'baz <em>"</em>'
_boolean zoop:33=zoop:33 />

.
<p><a foo="bar" bam = 'baz <em>"</em>'
_boolean zoop:33=zoop:33 /></p>
Foo <responsive-image src="foo.jpg" />

.
<p>Foo <responsive-image src="foo.jpg" /></p>
<33> <__>

.
<p>&lt;33&gt; &lt;__&gt;</p>
<a h*#ref="hi">

.
<p>&lt;a h*#ref=&quot;hi&quot;&gt;</p>
<a href="hi'> <a href=hi'>

.
<p>&lt;a href=&quot;hi'&gt; &lt;a href=hi'&gt;</p>
< a><
foo><bar/ >
<foo bar=baz
bim!bop />

.
<p>&lt; a&gt;&lt;
foo&gt;&lt;bar/ &gt;
&lt;foo bar=baz
bim!bop /&gt;</p>
<a href='bar'title=title>

.
<p>&lt;a href='bar'title=title&gt;</p>
</a></foo >

.
<p></a></foo ></p>
</a href="foo">

.
<p>&lt;/a href=&quot;foo&quot;&gt;</p>
foo <!-- this is a --
comment - with hyphens -->

.
<p>foo <!-- this is a --
comment - with hyphens --></p>
foo <!--> foo -->

foo <!---> foo -->

.
<p>foo <!--> foo --&gt;</p>
<p>foo <!---> foo --&gt;</p>
foo <?php echo $a; ?>

.
<p>foo <?php echo $a; ?></p>
foo <!ELEMENT br EMPTY>

.
<p>foo <!ELEMENT br EMPTY></p>
foo <![CDATA[>&<]]>

.
<p>foo <![CDATA[>&<]]></p>
foo <a href="&ouml;">

.
<p>foo <a href="&ouml;"></p>
foo <a href="\*">

.
<p>foo <a href="\*"></p>
<a href="\"">

.
<p>&lt;a href=&quot;&quot;&quot;&gt;</p>

Hard line breaks

foo␣␣
baz

.
<p>foo<br />
baz</p>
foo\
baz

.
<p>foo<br />
baz</p>
foo␣␣␣␣␣␣␣
baz

.
<p>foo<br />
baz</p>
foo␣␣
     bar

.
<p>foo<br />
bar</p>
foo\
     bar

.
<p>foo<br />
bar</p>
*foo␣␣
bar*

.
<p><em>foo<br />
bar</em></p>
*foo\
bar*

.
<p><em>foo<br />
bar</em></p>
`code␣␣
span`

.
<p><code>code   span</code></p>
`code\
span`

.
<p><code>code\ span</code></p>
<a href="foo␣␣
bar">

.
<p><a href="foo␣␣
bar"></p>
<a href="foo\
bar">

.
<p><a href="foo\
bar"></p>
foo\

.
<p>foo\</p>
foo␣␣

.
<p>foo</p>
### foo\

.
<h3>foo\</h3>
### foo␣␣

.
<h3>foo</h3>

Soft line breaks

foo
baz

.
<p>foo
baz</p>
foo␣
 baz

.
<p>foo
baz</p>

Textual content

hello $.;'there

.
<p>hello $.;'there</p>
Foo χρῆν

.
<p>Foo χρῆν</p>
Multiple     spaces

.
<p>Multiple     spaces</p>