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>!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~</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"
\ö not a character entity
.
<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>
\\*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
& © Æ Ď
¾ ℋ ⅆ
∲ ≧̸
.
<p> & © Æ Ď
¾ ℋ ⅆ
∲ ≧̸</p>
# Ӓ Ϡ �
.
<p># Ӓ Ϡ �</p>
" ആ ಫ
.
<p>" ആ ಫ</p>
  &x; &#; &#x;
�
&#abcdef0;
&ThisIsNotDefined; &hi?;
.
<p>&nbsp &x; &#; &#x;
&#87654321;
&#abcdef0;
&ThisIsNotDefined; &hi?;</p>
©
.
<p>&copy</p>
&MadeUpEntity;
.
<p>&MadeUpEntity;</p>
<a href="öö.html">
.
<a href="öö.html">
[foo](/föö "föö")
.
<p><a href="/f%C3%B6%C3%B6" title="föö">foo</a></p>
[foo]
[foo]: /föö "föö"
.
<p><a href="/f%C3%B6%C3%B6" title="föö">foo</a></p>
``` föö
foo
```
.
<pre><code class="language-föö">foo
</code></pre>
`föö`
.
<p><code>f&ouml;&ouml;</code></p>
föfö
.
<pre><code>f&ouml;f&ouml;
</code></pre>
*foo*
*foo*
.
<p>*foo*
<em>foo</em></p>
* foo
* foo
.
<p>* foo</p>
<ul>
<li>foo</li>
</ul>
foo bar
.
<p>foo
bar</p>
	foo
.
<p>→foo</p>
[a](url "tit")
.
<p>[a](url "tit")</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><a title="a lot</h2>
<p>of dashes"/></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>> 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><a/>
*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><
>
</code></pre>
~~~
<
>
~~~
.
<pre><code><
>
</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><!-- foo -->
</code></pre>
<div>
<div>
.
<div>
<pre><code><div>
</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><td>
Hi
</td>
</code></pre>
</tr>
</table>
Link reference definitions
[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"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 "title" ok</p>
[foo]: /url
"title" ok
.
<p>"title" ok</p>
[foo]: /url "title"
[foo]
.
<pre><code>[foo]: /url "title"
</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>> # Foo
> bar
> 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
> 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><a href="</code>">`</p>
<a href="`">`
.
<p><a href="`">`</p>
`<https://foo.bar.`baz>`
.
<p><code><https://foo.bar.</code>baz>`</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*"foo"*</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_"foo"_</p>
foo_bar_
.
<p>foo_bar_</p>
5_6_78
.
<p>5_6_78</p>
пристаням_стремятся_
.
<p>пристаням_стремятся_</p>
aa_"bb"_cc
.
<p>aa_"bb"_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**"foo"**</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__"foo"__</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 "<em>bar</em>" 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>
Links
[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](<foo>)</p>
[a](<b)c
[a](<b)c>
[a](<b>c)
.
<p>[a](<b)c
[a](<b)c>
[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ä)
.
<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 \""")
.
<p><a href="/url" title="title """>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 "title "and" title")</p>
[link](/url 'title "and" title')
.
<p><a href="/url" title="title "and" 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>
[](/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>
](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>
[][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

.
<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 & tracks" /></p>
](/url2)
.
<p><img src="/url2" alt="foo bar" /></p>
](/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 & tracks" /></p>
![foo *bar*][foobar]
[FOOBAR]: train.jpg "train & tracks"
.
<p><img src="train.jpg" alt="foo bar" title="train & tracks" /></p>

.
<p><img src="train.jpg" alt="foo" /></p>
My 
.
<p>My <img src="/path/to/train.jpg" alt="foo bar" title="title" /></p>

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

.
<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 "title"</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>
Autolinks
<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&id=22&boolean">https://foo.bar.baz/test?q=hello&id=22&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><https://foo.bar/baz bim></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><foo+@bar.example.com></p>
<>
.
<p><></p>
< https://foo.bar >
.
<p>< https://foo.bar ></p>
<m:abc>
.
<p><m:abc></p>
<foo.bar.baz>
.
<p><foo.bar.baz></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><33> <__></p>
<a h*#ref="hi">
.
<p><a h*#ref="hi"></p>
<a href="hi'> <a href=hi'>
.
<p><a href="hi'> <a href=hi'></p>
< a><
foo><bar/ >
<foo bar=baz
bim!bop />
.
<p>< a><
foo><bar/ >
<foo bar=baz
bim!bop /></p>
<a href='bar'title=title>
.
<p><a href='bar'title=title></p>
</a></foo >
.
<p></a></foo ></p>
</a href="foo">
.
<p></a href="foo"></p>
foo <!-- this is a --
comment - with hyphens -->
.
<p>foo <!-- this is a --
comment - with hyphens --></p>
foo <!--> foo -->
foo <!---> foo -->
.
<p>foo <!--> foo --></p>
<p>foo <!---> foo --></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="ö">
.
<p>foo <a href="ö"></p>
foo <a href="\*">
.
<p>foo <a href="\*"></p>
<a href="\"">
.
<p><a href="""></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>