diff --git a/CHANGELOG.md b/CHANGELOG.md index 3bd6489d5..0ac24f7b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [12.1.0] - WIP +### Changed +- Updated CM spec compatibility to 0.30. + + ## [12.0.6] - 2021-04-16 ### Fixed - Newline in `alt` should be rendered, #775. @@ -562,6 +567,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Renamed presets folder (configs -> presets). +[12.1.0]: https://github.com/markdown-it/markdown-it/compare/12.0.6...12.1.0 [12.0.6]: https://github.com/markdown-it/markdown-it/compare/12.0.5...12.0.6 [12.0.5]: https://github.com/markdown-it/markdown-it/compare/12.0.4...12.0.5 [12.0.4]: https://github.com/markdown-it/markdown-it/compare/12.0.3...12.0.4 diff --git a/lib/rules_block/html_block.js b/lib/rules_block/html_block.js index 256b59511..2f1767545 100644 --- a/lib/rules_block/html_block.js +++ b/lib/rules_block/html_block.js @@ -10,7 +10,7 @@ var HTML_OPEN_CLOSE_TAG_RE = require('../common/html_re').HTML_OPEN_CLOSE_TAG_RE // last argument defines whether it can terminate a paragraph or not // var HTML_SEQUENCES = [ - [ /^<(script|pre|style)(?=(\s|>|$))/i, /<\/(script|pre|style)>/i, true ], + [ /^<(script|pre|style|textarea)(?=(\s|>|$))/i, /<\/(script|pre|style|textarea)>/i, true ], [ /^/, true ], [ /^<\?/, /\?>/, true ], [ /^/, true ], diff --git a/test/fixtures/commonmark/good.txt b/test/fixtures/commonmark/good.txt index 889f3d808..c437019ff 100644 --- a/test/fixtures/commonmark/good.txt +++ b/test/fixtures/commonmark/good.txt @@ -1,5 +1,5 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 351 +src line: 355 . foo baz bim @@ -9,7 +9,7 @@ src line: 351 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 358 +src line: 362 . foo baz bim @@ -19,7 +19,7 @@ src line: 358 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 365 +src line: 369 . a a @@ -31,7 +31,7 @@ src line: 365 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 378 +src line: 382 . - foo @@ -47,7 +47,7 @@ src line: 378 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 391 +src line: 395 . - foo @@ -64,7 +64,7 @@ src line: 391 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 414 +src line: 418 . > foo @@ -76,7 +76,7 @@ src line: 414 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 423 +src line: 427 . - foo @@ -90,7 +90,7 @@ src line: 423 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 435 +src line: 439 . foo @@ -102,7 +102,7 @@ bar . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 444 +src line: 448 . - foo @@ -123,7 +123,7 @@ src line: 444 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 462 +src line: 466 . # Foo @@ -132,7 +132,7 @@ src line: 462 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 468 +src line: 472 . * * * @@ -141,3390 +141,3191 @@ src line: 468 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 495 +src line: 489 . -- `one -- two` +\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\\\]\^\_\`\{\|\}\~ . -
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 534 +src line: 499 . -*** ---- -___ +\ \A\a\ \3\φ\« . -\ \A\a\ \3\φ\«
. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 547 +src line: 509 . -+++ +\*not emphasized* +\+++
+*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
. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 554 +src line: 534 . -=== +\\*emphasis* . -===
+\emphasis
. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 563 +src line: 543 . --- -** -__ +foo\ +bar . --- -** -__
+foo
+bar
\[\`
***
+\[\]
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 597
+src line: 570
.
-Foo
- ***
+~~~
+\[\]
+~~~
.
-Foo
-***
+\[\]
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 608
+src line: 580
.
-_____________________________________
+
.
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 617
+src line: 587
.
- - - -
+
.
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 624
+src line: 597
.
- ** * ** * ** * **
+[foo](/bar\* "ti\*tle")
.
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 631
+src line: 604
.
-- - - -
-.
-
-.
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 640
+[foo]
+[foo]: /bar\* "ti\*tle"
.
-- - - -
-.
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 649
+src line: 613
.
-_ _ _ _ a
-
-a------
-
----a---
+``` foo\+bar
+foo
+```
.
-_ _ _ _ a
-a------
----a---
+foo
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 665
+src line: 649
.
- *-*
+ & © Æ Ď
+¾ ℋ ⅆ
+∲ ≧̸
.
--
+ & © Æ Ď
+¾ ℋ ⅆ
+∲ ≧̸
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 674
+src line: 668
.
-- foo
-***
-- bar
+# Ӓ Ϡ
.
-
-- foo
-
-
-
-- bar
-
+# Ӓ Ϡ �
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 691
+src line: 681
.
-Foo
-***
-bar
+" ആ ಫ
.
-Foo
-
-bar
+" ആ ಫ
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 708
+src line: 690
.
-Foo
----
-bar
+  &x;
+
+abcdef0;
+&ThisIsNotDefined; &hi?;
.
-Foo
-bar
+  &x; &#; &#x;
+�
+&#abcdef0;
+&ThisIsNotDefined; &hi?;
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 721
+src line: 707
.
-* Foo
-* * *
-* Bar
+©
.
-
-- Foo
-
-
-
-- Bar
-
+©
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 738
+src line: 717
.
-- Foo
-- * * *
+&MadeUpEntity;
.
-
-- Foo
--
-
-
-
+&MadeUpEntity;
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 767
+src line: 728
.
-# foo
-## foo
-### foo
-#### foo
-##### foo
-###### foo
+
.
-foo
-foo
-foo
-foo
-foo
-foo
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 786
+src line: 735
.
-####### foo
+[foo](/föö "föö")
.
-####### foo
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 801
+src line: 742
.
-#5 bolt
+[foo]
-#hashtag
+[foo]: /föö "föö"
.
-#5 bolt
-#hashtag
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 813
+src line: 751
.
-\## foo
+``` föö
+foo
+```
.
-## foo
+foo
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 822
+src line: 764
.
-# foo *bar* \*baz\*
+`föö`
.
-foo bar *baz*
+föö
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 831
+src line: 771
.
-# foo
+ föfö
.
-foo
+föfö
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 840
+src line: 783
.
- ### foo
- ## foo
- # foo
+*foo*
+*foo*
.
-foo
-foo
-foo
+*foo*
+foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 853
+src line: 791
.
- # foo
+* foo
+
+* foo
.
-# foo
-
+* foo
+
+- foo
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 861
+src line: 802
.
-foo
- # bar
+foo
bar
.
foo
-# bar
+
+bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 872
+src line: 810
.
-## foo ##
- ### bar ###
+ foo
.
-foo
-bar
+ foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 883
+src line: 817
.
-# foo ##################################
-##### foo ##
+[a](url "tit")
.
-foo
-foo
+[a](url "tit")
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 894
+src line: 840
.
-### foo ###
+- `one
+- two`
.
-foo
+
+- `one
+- two`
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 905
+src line: 879
.
-### foo ### b
+***
+---
+___
.
-foo ### b
+
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 914
+src line: 892
.
-# foo#
++++
.
-foo#
++++
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 924
+src line: 899
.
-### foo \###
-## foo #\##
-# foo \#
+===
.
-foo ###
-foo ###
-foo #
+===
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 938
+src line: 908
.
-****
-## foo
-****
+--
+**
+__
.
-
-foo
-
+--
+**
+__
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 949
+src line: 921
.
-Foo bar
-# baz
-Bar foo
+ ***
+ ***
+ ***
.
-Foo bar
-baz
-Bar foo
+
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 962
+src line: 934
.
-##
-#
-### ###
+ ***
.
-
-
-
+***
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1005
+src line: 942
.
-Foo *bar*
-=========
-
-Foo *bar*
----------
+Foo
+ ***
.
-Foo bar
-Foo bar
+Foo
+***
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1019
+src line: 953
.
-Foo *bar
-baz*
-====
+_____________________________________
.
-Foo bar
-baz
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1033
+src line: 962
.
- Foo *bar
-baz*
-====
+ - - -
.
-Foo bar
-baz
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1045
+src line: 969
.
-Foo
--------------------------
-
-Foo
-=
+ ** * ** * ** * **
.
-Foo
-Foo
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1060
+src line: 976
.
- Foo
----
+- - - -
+.
+
+.
- Foo
------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 985
- Foo
- ===
.
-Foo
-Foo
-Foo
+- - - -
+.
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1078
+src line: 994
.
- Foo
- ---
+_ _ _ _ a
- Foo
----
-.
-Foo
----
+a------
-Foo
-
-
+---a---
+.
+_ _ _ _ a
+a------
+---a---
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1097
+src line: 1010
.
-Foo
- ----
+ *-*
.
-Foo
+-
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1107
+src line: 1019
.
-Foo
- ---
+- foo
+***
+- bar
.
-Foo
----
+
+- foo
+
+
+
+- bar
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1118
+src line: 1036
.
Foo
-= =
-
-Foo
---- -
+***
+bar
.
-Foo
-= =
Foo
+bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1134
+src line: 1053
.
-Foo
------
+Foo
+---
+bar
.
Foo
+bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1144
+src line: 1066
.
-Foo\
-----
+* Foo
+* * *
+* Bar
.
-Foo\
+
+- Foo
+
+
+
+- Bar
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1155
+src line: 1083
.
-`Foo
-----
-`
-
-
+- Foo
+- * * *
.
-`Foo
-`
-<a title="a lot
-of dashes"/>
+
+- Foo
+-
+
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1174
+src line: 1112
.
-> Foo
----
+# foo
+## foo
+### foo
+#### foo
+##### foo
+###### foo
.
-
-Foo
-
-
+foo
+foo
+foo
+foo
+foo
+foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1185
+src line: 1131
.
-> foo
-bar
-===
+####### foo
.
-
-foo
-bar
-===
-
+####### foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1198
+src line: 1146
.
-- Foo
----
+#5 bolt
+
+#hashtag
.
-
-- Foo
-
-
+#5 bolt
+#hashtag
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1213
+src line: 1158
.
-Foo
-Bar
----
+\## foo
.
-Foo
-Bar
+## foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1226
+src line: 1167
.
----
-Foo
----
-Bar
----
-Baz
+# foo *bar* \*baz\*
.
-
-Foo
-Bar
-Baz
+foo bar *baz*
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1243
+src line: 1176
.
-
-====
+# foo
.
-====
+foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1255
+src line: 1185
.
----
----
+ ### foo
+ ## foo
+ # foo
.
-
-
+foo
+foo
+foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1264
+src line: 1198
.
-- foo
------
+ # foo
.
-
-- foo
-
-
+# foo
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1275
+src line: 1206
.
- foo
----
+foo
+ # bar
.
-foo
-
-
+foo
+# bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1285
+src line: 1217
.
-> foo
------
+## foo ##
+ ### bar ###
.
-
-foo
-
-
+foo
+bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1299
+src line: 1228
.
-\> foo
-------
+# foo ##################################
+##### foo ##
.
-> foo
+foo
+foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1330
+src line: 1239
.
-Foo
-
-bar
----
-baz
+### foo ###
.
-Foo
-bar
-baz
+foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1346
+src line: 1250
.
-Foo
-bar
-
----
-
-baz
+### foo ### b
.
-Foo
-bar
-
-baz
+foo ### b
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1364
+src line: 1259
.
-Foo
-bar
-* * *
-baz
+# foo#
.
-Foo
-bar
-
-baz
+foo#
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1379
+src line: 1269
.
-Foo
-bar
-\---
-baz
+### foo \###
+## foo #\##
+# foo \#
.
-Foo
-bar
----
-baz
+foo ###
+foo ###
+foo #
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1407
+src line: 1283
.
- a simple
- indented code block
+****
+## foo
+****
.
-a simple
- indented code block
-
+
+foo
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1421
+src line: 1294
.
- - foo
-
- bar
+Foo bar
+# baz
+Bar foo
.
-
--
-
foo
-bar
-
-
+Foo bar
+baz
+Bar foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1435
+src line: 1307
.
-1. foo
-
- - bar
+##
+#
+### ###
.
-
--
-
foo
-
-- bar
-
-
-
+
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1455
+src line: 1350
.
-
- *hi*
+Foo *bar*
+=========
- - one
+Foo *bar*
+---------
.
-<a/>
-*hi*
-
-- one
-
+Foo bar
+Foo bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1471
+src line: 1364
.
- chunk1
-
- chunk2
-
-
-
- chunk3
+Foo *bar
+baz*
+====
.
-chunk1
-
-chunk2
-
-
-
-chunk3
-
+Foo bar
+baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1494
+src line: 1378
.
- chunk1
-
- chunk2
+ Foo *bar
+baz*
+====
.
-chunk1
-
- chunk2
-
+Foo bar
+baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1509
+src line: 1390
.
Foo
- bar
+-------------------------
+Foo
+=
.
-Foo
-bar
+Foo
+Foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1523
+src line: 1405
.
- foo
-bar
+ Foo
+---
+
+ Foo
+-----
+
+ Foo
+ ===
.
-foo
-
-bar
+Foo
+Foo
+Foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1536
+src line: 1423
.
-# Heading
- foo
-Heading
-------
- foo
-----
+ Foo
+ ---
+
+ Foo
+---
.
-Heading
-foo
-
-Heading
-foo
+Foo
+---
+
+Foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1556
+src line: 1442
.
- foo
- bar
+Foo
+ ----
.
- foo
-bar
-
+Foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1569
+src line: 1452
.
-
-
- foo
-
-
+Foo
+ ---
.
-foo
-
+Foo
+---
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1583
+src line: 1463
.
- foo
-.
-foo
-
-.
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1638
+Foo
+= =
+Foo
+--- -
.
-```
-<
- >
-```
-.
-<
- >
-
+Foo
+= =
+Foo
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1652
+src line: 1479
.
-~~~
-<
- >
-~~~
+Foo
+-----
.
-<
- >
-
+Foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1665
+src line: 1489
.
-``
-foo
-``
+Foo\
+----
.
-foo
+Foo\
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1676
+src line: 1500
.
-```
-aaa
-~~~
-```
+`Foo
+----
+`
+
+
.
-aaa
-~~~
-
+`Foo
+`
+<a title="a lot
+of dashes"/>
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1688
+src line: 1519
.
-~~~
-aaa
-```
-~~~
+> Foo
+---
.
-aaa
-```
-
+
+Foo
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1702
+src line: 1530
.
-````
-aaa
-```
-``````
+> foo
+bar
+===
.
-aaa
-```
-
+
+foo
+bar
+===
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1714
+src line: 1543
.
-~~~~
-aaa
-~~~
-~~~~
+- Foo
+---
.
-aaa
-~~~
-
+
+- Foo
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1729
+src line: 1558
.
-```
+Foo
+Bar
+---
.
-
+Foo
+Bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1736
+src line: 1571
.
-`````
-
-```
-aaa
+---
+Foo
+---
+Bar
+---
+Baz
.
-
-```
-aaa
-
+
+Foo
+Bar
+Baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1749
+src line: 1588
.
-> ```
-> aaa
-bbb
+====
.
-
-aaa
-
-
-bbb
+====
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1765
+src line: 1600
.
-```
-
-
-```
+---
+---
.
-
-
-
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1779
+src line: 1609
.
-```
-```
+- foo
+-----
.
-
+
+- foo
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1791
+src line: 1620
.
- ```
- aaa
-aaa
-```
+ foo
+---
.
-aaa
-aaa
+foo
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1803
+src line: 1630
.
- ```
-aaa
- aaa
-aaa
- ```
+> foo
+-----
.
-aaa
-aaa
-aaa
-
+
+foo
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1817
+src line: 1644
.
- ```
- aaa
- aaa
- aaa
- ```
+\> foo
+------
.
-aaa
- aaa
-aaa
-
+> foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1833
+src line: 1675
.
- ```
- aaa
- ```
+Foo
+
+bar
+---
+baz
.
-```
-aaa
-```
-
+Foo
+bar
+baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1848
+src line: 1691
.
-```
-aaa
- ```
+Foo
+bar
+
+---
+
+baz
.
-aaa
-
+Foo
+bar
+
+baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1858
+src line: 1709
.
- ```
-aaa
- ```
+Foo
+bar
+* * *
+baz
.
-aaa
-
+Foo
+bar
+
+baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1870
+src line: 1724
.
-```
-aaa
- ```
+Foo
+bar
+\---
+baz
.
-aaa
- ```
-
+Foo
+bar
+---
+baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1884
+src line: 1752
.
-``` ```
-aaa
+ a simple
+ indented code block
.
-
-aaa
+a simple
+ indented code block
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1893
+src line: 1766
.
-~~~~~~
-aaa
-~~~ ~~
+ - foo
+
+ bar
.
-aaa
-~~~ ~~
-
+
+-
+
foo
+bar
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1907
+src line: 1780
.
-foo
-```
-bar
-```
-baz
+1. foo
+
+ - bar
.
+
+-
foo
-bar
-
-baz
+
+- bar
+
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1924
+src line: 1800
.
-foo
----
-~~~
-bar
-~~~
-# baz
+
+ *hi*
+
+ - one
.
-foo
-bar
+<a/>
+*hi*
+
+- one
-baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1946
+src line: 1816
.
-```ruby
-def foo(x)
- return 3
-end
-```
+ chunk1
+
+ chunk2
+
+
+
+ chunk3
.
-def foo(x)
- return 3
-end
+chunk1
+
+chunk2
+
+
+
+chunk3
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1960
+src line: 1839
.
-~~~~ ruby startline=3 $%@#$
-def foo(x)
- return 3
-end
-~~~~~~~
+ chunk1
+
+ chunk2
.
-def foo(x)
- return 3
-end
+chunk1
+
+ chunk2
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1974
+src line: 1854
.
-````;
-````
+Foo
+ bar
+
.
-
+Foo
+bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1984
+src line: 1868
.
-``` aa ```
-foo
+ foo
+bar
.
-aa
-foo
+foo
+
+bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 1995
+src line: 1881
.
-~~~ aa ``` ~~~
-foo
-~~~
+# Heading
+ foo
+Heading
+------
+ foo
+----
.
-foo
+Heading
+foo
+
+Heading
+foo
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2007
+src line: 1901
.
-```
-``` aaa
-```
+ foo
+ bar
.
-``` aaa
+ foo
+bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2086
+src line: 1914
.
-
-
-**Hello**,
-_world_.
-
-
+
+ foo
+
+
.
-
-
-**Hello**,
-world.
-
-
+foo
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2115
+src line: 1928
.
-
-
-
- hi
-
-
-
-
-okay.
+ foo
.
-
-
-
- hi
-
-
-
-okay.
+foo
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2137
+src line: 1983
.
-
- *hello*
-
+```
+<
+ >
+```
.
-
-*foo*
+~~~
+<
+ >
+~~~
.
-
-*foo*
+<
+ >
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2161
+src line: 2010
.
-
+``
+foo
+``
+.
+foo
+.
-*Markdown*
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 2021
-
.
-
-Markdown
-
+```
+aaa
+~~~
+```
+.
+aaa
+~~~
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2177
+src line: 2033
.
-
+~~~
+aaa
+```
+~~~
.
-
+aaa
+```
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2188
+src line: 2047
.
-
+````
+aaa
+```
+``````
.
-
+aaa
+```
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2200
+src line: 2059
.
-
-*foo*
-
-*bar*
+~~~~
+aaa
+~~~
+~~~~
.
-
-*foo*
-bar
+aaa
+~~~
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2216
+src line: 2074
.
-
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2225
+src line: 2081
.
-
+```
+aaa
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2237
+src line: 2094
.
- ```
+> aaa
+
+bbb
.
-
+aaa
+
+
+bbb
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2249
+src line: 2110
.
-
+```
+
+
+```
.
-
+
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2256
+src line: 2124
.
-
-foo
-
+```
+```
.
-
-foo
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2273
+src line: 2136
.
-
-``` c
-int x = 33;
+ ```
+ aaa
+aaa
```
.
-
-``` c
-int x = 33;
-```
+aaa
+aaa
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2290
+src line: 2148
.
-
-*bar*
-
+ ```
+aaa
+ aaa
+aaa
+ ```
.
-
-*bar*
-
+aaa
+aaa
+aaa
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2303
+src line: 2162
.
-
-*bar*
-
+ ```
+ aaa
+ aaa
+ aaa
+ ```
.
-
-*bar*
-
+aaa
+ aaa
+aaa
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2314
+src line: 2178
.
-
-*bar*
-
+ ```
+ aaa
+ ```
.
-
-*bar*
-
+```
+aaa
+```
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2325
+src line: 2193
.
-
-*bar*
+```
+aaa
+ ```
.
-
-*bar*
+aaa
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2340
+src line: 2203
.
-
-*foo*
-
+ ```
+aaa
+ ```
.
-
-*foo*
-
+aaa
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2355
+src line: 2215
.
-
-
-*foo*
-
-
+```
+aaa
+ ```
.
-
-foo
-
+aaa
+ ```
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2373
+src line: 2229
.
-*foo*
+``` ```
+aaa
.
-foo
+
+aaa
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2389
+src line: 2238
.
-
-import Text.HTML.TagSoup
-
-main :: IO ()
-main = print $ parseTags tags
+~~~~~~
+aaa
+~~~ ~~
+.
+aaa
+~~~ ~~
-okay
.
-
-import Text.HTML.TagSoup
-main :: IO ()
-main = print $ parseTags tags
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 2252
+
+.
+foo
+```
+bar
+```
+baz
+.
+foo
+bar
-okay
+baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2410
+src line: 2269
.
-
-okay
+foo
+---
+~~~
+bar
+~~~
+# baz
.
-
-okay
+foo
+bar
+
+baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2429
+src line: 2291
.
-
-okay
+```ruby
+def foo(x)
+ return 3
+end
+```
.
-
-okay
+def foo(x)
+ return 3
+end
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2452
+src line: 2305
.
-
-*foo*
-.
-
-foo
-.
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2503
-
-.
-*bar*
-*baz*
+~~~ aa ``` ~~~
+foo
+~~~
.
-*bar*
-baz
+foo
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2515
+src line: 2352
.
-1. *bar*
+```
+``` aaa
+```
.
-1. *bar*
+``` aaa
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2528
+src line: 2431
.
-
-okay
+_world_.
+
+
.
-
-okay
+
+
+**Hello**,
+world.
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2546
+src line: 2460
.
-';
+
+
+
+ hi
+
+
+
-?>
-okay
+okay.
.
-';
-
-?>
-okay
+
+
+
+ hi
+
+
+
+okay.
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2565
+src line: 2482
.
-
+
+ *hello*
+
.
-
+
+ *hello*
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2574
+src line: 2495
.
-
-okay
+
+*foo*
.
-
-okay
+
+*foo*
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2607
+src line: 2506
.
-
+
-
+*Markdown*
+
+
.
-
-<!-- foo -->
-
+
+Markdown
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2618
+src line: 2522
.
-
-
-
+
-<div>
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2632
+src line: 2533
.
-Foo
-
-bar
+Foo
-
-bar
+
-bar
-
*foo*
+
+*bar*
.
-bar
-
*foo*
+bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2664
+src line: 2561
.
-Foo
-
-baz
+Foo
-
-baz
+
-
-*Emphasized* text.
-
-
+
-Emphasized text.
-
+
-*Emphasized* text.
-
+
-*Emphasized* text.
-
+
-
-
-
-
-Hi
-
-
-
-
-
+
.
-
-
-
-Hi
-
-
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2767
+src line: 2601
.
-
-
-
-
-
- Hi
-
-
-
-
-
+
+foo
+
.
-
-
-<td>
- Hi
-</td>
-
-
-
+
+foo
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2815
+src line: 2618
.
-[foo]: /url "title"
-
-[foo]
+
+``` c
+int x = 33;
+```
.
-
+
+``` c
+int x = 33;
+```
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2824
-
-.
- [foo]:
- /url
- 'the title'
+src line: 2635
-[foo]
.
-
+
+*bar*
+
+.
+
+*bar*
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2835
+src line: 2648
.
-[Foo*bar\]]:my_(url) 'title (with parens)'
-
-[Foo*bar\]]
+
+*bar*
+
.
-
+
+*bar*
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2844
+src line: 2659
.
-[Foo bar]:
-
-'title'
-
-[Foo bar]
+
+*bar*
+
.
-
+
+*bar*
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2857
+src line: 2670
.
-[foo]: /url '
-title
-line1
-line2
-'
-
-[foo]
+
+*bar*
.
-
+
+*bar*
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2876
+src line: 2685
.
-[foo]: /url 'title
-
-with blank line'
-
-[foo]
+
+*foo*
+
.
-[foo]: /url 'title
-with blank line'
-[foo]
+
+*foo*
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2891
+src line: 2700
.
-[foo]:
-/url
+
-[foo]
+*foo*
+
+
.
-
+
+foo
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2903
+src line: 2718
.
-[foo]:
-
-[foo]
+*foo*
.
-[foo]:
-[foo]
+foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2915
+src line: 2734
.
-[foo]: <>
+
+import Text.HTML.TagSoup
-[foo]
+main :: IO ()
+main = print $ parseTags tags
+
+okay
.
-
+
+import Text.HTML.TagSoup
+
+main :: IO ()
+main = print $ parseTags tags
+
+okay
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2926
+src line: 2755
.
-[foo]: (baz)
+
+okay
.
-[foo]: (baz)
-[foo]
+
+okay
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2939
+src line: 2774
.
-[foo]: /url\bar\*baz "foo\"bar\baz"
+
.
-[foo]
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2962
+src line: 2794
.
-[foo]
+
+okay
.
-
+
+okay
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2975
+src line: 2817
.
-[FOO]: /url
+
+*foo*
.
-bar
+
+foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3017
+src line: 2868
.
-[foo]: /url "title" ok
+*bar*
+*baz*
.
-[foo]: /url "title" ok
+*bar*
+baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3026
+src line: 2880
.
-[foo]: /url
-"title" ok
+1. *bar*
.
-"title" ok
+1. *bar*
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3037
+src line: 2893
.
- [foo]: /url "title"
+
+okay
.
-[foo]: /url "title"
-
-[foo]
+
+okay
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3051
-
-.
-```
-[foo]: /url
-```
+src line: 2911
-[foo]
-.
-[foo]: /url
-
-[foo]
.
+';
+?>
+okay
.
-Foo
-[bar]: /baz
+Foo
-[bar]: /baz
-[bar]
+ echo '>';
+
+?>
+okay
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3081
+src line: 2930
.
-# [Foo]
-[foo]: /url
-> bar
+
.
-Foo
-
-bar
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3092
+src line: 2939
.
-[foo]: /url
-bar
-===
-[foo]
-.
-bar
-
-.
+
+okay
.
-[foo]: /url
-===
-[foo]
-.
-===
-foo
+
+okay
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3115
+src line: 2973
.
-[foo]: /foo-url "foo"
-[bar]: /bar-url
- "bar"
-[baz]: /baz-url
+
-[foo],
-[bar],
-[baz]
+
.
-
+
+<!-- foo -->
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3136
+src line: 2984
.
-[foo]
+
-> [foo]: /url
+
.
-
-
-
+
+<div>
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3153
+src line: 2998
.
-[foo]: /url
+Foo
+
+bar
+
.
+Foo
+
+bar
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3170
+src line: 3015
.
-aaa
-
-bbb
+
+bar
+
+*foo*
.
-aaa
-bbb
+
+bar
+
+*foo*
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3182
+src line: 3030
.
-aaa
-bbb
-
-ccc
-ddd
+Foo
+
+baz
.
-aaa
-bbb
-ccc
-ddd
+Foo
+
+baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3198
+src line: 3071
.
-aaa
+
+*Emphasized* text.
-bbb
+
.
-aaa
-bbb
+
+Emphasized text.
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3211
+src line: 3084
.
- aaa
- bbb
+
+*Emphasized* text.
+
.
-aaa
-bbb
+
+*Emphasized* text.
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3223
+src line: 3106
.
-aaa
- bbb
- ccc
-.
-aaa
-bbb
-ccc
-.
+
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3237
+
+
+Hi
+
+
+
+
+
.
- aaa
-bbb
-.
-aaa
-bbb
+
+
+
+Hi
+
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3246
+src line: 3133
.
- aaa
-bbb
+
+
+
+
+
+ Hi
+
+
+
+
+
.
-aaa
+
+
+<td>
+ Hi
+</td>
-bbb
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3260
+src line: 3182
.
-aaa
-bbb
+[foo]: /url "title"
+
+[foo]
.
-aaa
-bbb
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3277
+src line: 3191
.
-
-
-aaa
-
-
-# aaa
+ [foo]:
+ /url
+ 'the title'
-
+[foo]
.
-aaa
-aaa
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3343
+src line: 3202
.
-> # Foo
-> bar
-> baz
+[Foo*bar\]]:my_(url) 'title (with parens)'
+
+[Foo*bar\]]
.
-
-Foo
-bar
-baz
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3358
+src line: 3211
.
-># Foo
->bar
-> baz
+[Foo bar]:
+
+'title'
+
+[Foo bar]
.
-
-Foo
-bar
-baz
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3373
+src line: 3224
.
- > # Foo
- > bar
- > baz
+[foo]: /url '
+title
+line1
+line2
+'
+
+[foo]
.
-
-Foo
-bar
-baz
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3388
+src line: 3243
.
- > # Foo
- > bar
- > baz
+[foo]: /url 'title
+
+with blank line'
+
+[foo]
.
-> # Foo
-> bar
-> baz
-
+[foo]: /url 'title
+with blank line'
+[foo]
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3403
+src line: 3258
.
-> # Foo
-> bar
-baz
+[foo]:
+/url
+
+[foo]
.
-
-Foo
-bar
-baz
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3419
+src line: 3270
.
-> bar
-baz
-> foo
+[foo]:
+
+[foo]
.
-
-bar
-baz
-foo
-
+[foo]:
+[foo]
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3443
+src line: 3282
.
-> foo
----
+[foo]: <>
+
+[foo]
.
-
-foo
-
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3463
+src line: 3293
.
-> - foo
-- bar
+[foo]: (baz)
+
+[foo]
.
-
-
-- foo
-
-
-
-- bar
-
+[foo]: (baz)
+[foo]
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3481
+src line: 3306
.
-> foo
- bar
+[foo]: /url\bar\*baz "foo\"bar\baz"
+
+[foo]
.
-
-foo
-
-
-bar
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3494
+src line: 3317
.
-> ```
-foo
-```
+[foo]
+
+[foo]: url
.
-
-
-
-foo
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3510
+src line: 3329
.
-> foo
- - bar
+[foo]
+
+[foo]: first
+[foo]: second
.
-
-foo
-- bar
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3534
+src line: 3342
.
->
+[FOO]: /url
+
+[Foo]
.
-
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3542
+src line: 3351
.
->
->
->
+[ΑΓΩ]: /φου
+
+[αγω]
.
-
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3554
+src line: 3366
.
->
-> foo
->
+[foo]: /url
.
-
-foo
-
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3567
+src line: 3374
.
-> foo
-
-> bar
+[
+foo
+]: /url
+bar
.
-
-foo
-
-
bar
-
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3589
+src line: 3387
.
-> foo
-> bar
+[foo]: /url "title" ok
.
-
-foo
-bar
-
+[foo]: /url "title" ok
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3602
+src line: 3396
.
-> foo
->
-> bar
+[foo]: /url
+"title" ok
.
-
-foo
-bar
-
+"title" ok
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3616
+src line: 3407
.
-foo
-> bar
+ [foo]: /url "title"
+
+[foo]
.
-foo
-
-bar
-
+[foo]: /url "title"
+
+[foo]
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3630
+src line: 3421
.
-> aaa
-***
-> bbb
+```
+[foo]: /url
+```
+
+[foo]
.
-
-aaa
-
-
-
-bbb
-
+[foo]: /url
+
+[foo]
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3648
+src line: 3436
.
-> bar
-baz
+Foo
+[bar]: /baz
+
+[bar]
.
-
-bar
-baz
-
+Foo
+[bar]: /baz
+[bar]
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3659
+src line: 3451
.
+# [Foo]
+[foo]: /url
> bar
-
-baz
.
+Foo
bar
-baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3671
+src line: 3462
.
-> bar
->
-baz
+[foo]: /url
+bar
+===
+[foo]
.
-
-bar
-
-baz
+bar
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3687
+src line: 3472
.
-> > > foo
-bar
+[foo]: /url
+===
+[foo]
.
-
-
-
-foo
-bar
-
-
-
+===
+foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3702
+src line: 3485
.
->>> foo
-> bar
->>baz
+[foo]: /foo-url "foo"
+[bar]: /bar-url
+ "bar"
+[baz]: /baz-url
+
+[foo],
+[bar],
+[baz]
.
-
-
-
-foo
-bar
-baz
-
-
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3724
+src line: 3506
.
-> code
+[foo]
-> not code
+> [foo]: /url
.
+
-code
-
-
-
-not code
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3778
+src line: 3528
.
-A paragraph
-with two lines.
-
- indented code
+aaa
-> A block quote.
+bbb
.
-A paragraph
-with two lines.
-indented code
-
-
-A block quote.
-
+aaa
+bbb
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3800
+src line: 3540
.
-1. A paragraph
- with two lines.
-
- indented code
+aaa
+bbb
- > A block quote.
+ccc
+ddd
.
-
--
-
A paragraph
-with two lines.
-indented code
-
-
-A block quote.
-
-
-
+aaa
+bbb
+ccc
+ddd
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3833
+src line: 3556
.
-- one
+aaa
- two
+
+bbb
.
-
-- one
-
-two
+aaa
+bbb
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3845
+src line: 3569
.
-- one
-
- two
+ aaa
+ bbb
.
-
--
-
one
-two
-
-
+aaa
+bbb
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3859
+src line: 3581
.
- - one
-
- two
+aaa
+ bbb
+ ccc
.
-
-- one
-
- two
-
+aaa
+bbb
+ccc
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3872
+src line: 3595
.
- - one
-
- two
+ aaa
+bbb
.
-
--
-
one
-two
-
-
+aaa
+bbb
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3894
+src line: 3604
.
- > > 1. one
->>
->> two
+ aaa
+bbb
.
-
-
-
--
-
one
-two
-
-
-
-
+aaa
+
+bbb
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3921
+src line: 3618
.
->>- one
->>
- > > two
+aaa
+bbb
.
-
-
-
-- one
-
-two
-
-
+aaa
+bbb
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3940
+src line: 3635
.
--one
+
-2.two
+aaa
+
+
+# aaa
+
+
.
--one
-2.two
+aaa
+aaa
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3953
+src line: 3703
.
-- foo
-
-
- bar
+> # Foo
+> bar
+> baz
.
-
--
-
foo
-bar
-
-
+
+Foo
+bar
+baz
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3970
+src line: 3718
.
-1. foo
-
- ```
- bar
- ```
-
- baz
-
- > bam
+># Foo
+>bar
+> baz
.
-
--
-
foo
-bar
-
-baz
-bam
+Foo
+bar
+baz
-
-
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 3998
+src line: 3733
.
-- Foo
-
- bar
-
-
- baz
+ > # Foo
+ > bar
+ > baz
.
-
--
-
Foo
-bar
-
-
-baz
-
-
-
+
+Foo
+bar
+baz
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4020
+src line: 3748
.
-123456789. ok
+ > # Foo
+ > bar
+ > baz
.
-
-- ok
-
+> # Foo
+> bar
+> baz
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4029
+src line: 3763
.
-1234567890. not ok
+> # Foo
+> bar
+baz
.
-1234567890. not ok
+
+Foo
+bar
+baz
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4038
+src line: 3779
.
-0. ok
+> bar
+baz
+> foo
.
-
-- ok
-
+
+bar
+baz
+foo
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4047
+src line: 3803
.
-003. ok
+> foo
+---
.
-
-- ok
-
+
+foo
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4058
+src line: 3823
.
--1. not ok
+> - foo
+- bar
.
--1. not ok
+
+
+- foo
+
+
+
+- bar
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4081
+src line: 3841
.
-- foo
-
- bar
+> foo
+ bar
.
-
--
-
foo
+
+foo
+
+
bar
-
-
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4098
+src line: 3854
.
- 10. foo
-
- bar
+> ```
+foo
+```
.
-
--
+
+
+
foo
-bar
-
-
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4117
+src line: 3870
.
- indented code
-
-paragraph
-
- more code
+> foo
+ - bar
.
-indented code
-
-paragraph
-more code
-
+
+foo
+- bar
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4132
+src line: 3894
.
-1. indented code
-
- paragraph
-
- more code
+>
.
-
--
-
indented code
-
-paragraph
-more code
-
-
-
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4154
+src line: 3902
.
-1. indented code
+>
+>
+>
+.
+
+
+.
- paragraph
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 3914
- more code
.
-
--
-
indented code
-
-paragraph
-more code
-
-
-
+>
+> foo
+>
+.
+
+foo
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4181
+src line: 3927
.
- foo
+> foo
-bar
+> bar
.
+
foo
+
+
bar
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4191
+src line: 3949
.
-- foo
-
- bar
+> foo
+> bar
.
-
-- foo
-
-bar
+
+foo
+bar
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4208
+src line: 3962
.
-- foo
-
- bar
+> foo
+>
+> bar
.
-
--
+
foo
bar
-
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4236
+src line: 3976
.
--
- foo
--
- ```
- bar
- ```
--
- baz
+foo
+> bar
.
-
-- foo
--
-
bar
-
-
--
-
baz
-
-
-
+foo
+
+bar
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4262
+src line: 3990
.
--
- foo
+> aaa
+***
+> bbb
.
-
-- foo
-
+
+aaa
+
+
+
+bbb
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4276
+src line: 4008
.
--
-
- foo
+> bar
+baz
.
-
-
-
-foo
+
+bar
+baz
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4290
+src line: 4019
.
-- foo
--
-- bar
+> bar
+
+baz
.
-
-- foo
-
-- bar
-
+
+bar
+
+baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4305
+src line: 4031
.
-- foo
--
-- bar
+> bar
+>
+baz
.
-
-- foo
-
-- bar
-
+
+bar
+
+baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4320
+src line: 4047
.
-1. foo
-2.
-3. bar
+> > > foo
+bar
.
-
-- foo
-
-- bar
-
+
+
+
+foo
+bar
+
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4335
+src line: 4062
.
-*
+>>> foo
+> bar
+>>baz
.
-
-
-
+
+
+
+foo
+bar
+baz
+
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4345
+src line: 4084
.
-foo
-*
+> code
-foo
-1.
+> not code
.
-foo
-*
-foo
-1.
+
+code
+
+
+
+not code
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4367
+src line: 4138
.
- 1. A paragraph
- with two lines.
+A paragraph
+with two lines.
- indented code
+ indented code
- > A block quote.
+> A block quote.
.
-
--
A paragraph
with two lines.
indented code
@@ -3532,20 +3333,18 @@ with two lines.
A block quote.
-
-
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4391
+src line: 4160
.
- 1. A paragraph
- with two lines.
+1. A paragraph
+ with two lines.
- indented code
+ indented code
- > A block quote.
+ > A block quote.
.
-
@@ -3561,1120 +3360,1334 @@ with two lines.
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4415
+src line: 4193
.
- 1. A paragraph
- with two lines.
-
- indented code
+- one
- > A block quote.
+ two
.
-
--
-
A paragraph
-with two lines.
-indented code
-
-
-A block quote.
-
-
-
+
+- one
+
+two
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4439
+src line: 4205
.
- 1. A paragraph
- with two lines.
-
- indented code
+- one
- > A block quote.
+ two
.
-1. A paragraph
- with two lines.
-
- indented code
-
- > A block quote.
-
+
+-
+
one
+two
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4469
+src line: 4219
.
- 1. A paragraph
-with two lines.
-
- indented code
+ - one
- > A block quote.
+ two
.
-
--
-
A paragraph
-with two lines.
-indented code
+
+- one
+
+ two
-
-A block quote.
-
-
-
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4493
+src line: 4232
.
- 1. A paragraph
- with two lines.
+ - one
+
+ two
.
-
-- A paragraph
-with two lines.
-
+
+-
+
one
+two
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4506
+src line: 4254
.
-> 1. > Blockquote
-continued here.
+ > > 1. one
+>>
+>> two
.
+
-
-
-Blockquote
-continued here.
-
+one
+two
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4523
+src line: 4281
.
-> 1. > Blockquote
-> continued here.
+>>- one
+>>
+ > > two
.
-
--
-Blockquote
-continued here.
+
+- one
+
+two
-
-
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4551
+src line: 4300
.
-- foo
- - bar
- - baz
- - boo
+-one
+
+2.two
.
-
-- foo
-
-- bar
-
-- baz
-
-- boo
-
-
-
-
-
-
-
+-one
+2.two
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4577
+src line: 4313
.
- foo
- - bar
- - baz
- - boo
+
+
+ bar
.
-- foo
-- bar
-- baz
-- boo
+-
+
foo
+bar
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4594
+src line: 4330
.
-10) foo
- - bar
+1. foo
+
+ ```
+ bar
+ ```
+
+ baz
+
+ > bam
.
-
-- foo
-
-- bar
-
+
+-
+
foo
+bar
+
+baz
+
+bam
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4610
+src line: 4358
.
-10) foo
- - bar
-.
-
-- foo
-
-
-- bar
-
-.
+- Foo
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4625
+ bar
-.
-- - foo
+
+ baz
.
-
-
-- foo
-
+Foo
+bar
+
+
+baz
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4638
+src line: 4380
.
-1. - 2. foo
+123456789. ok
.
-
--
-
--
-
-- foo
-
-
-
-
+
+- ok
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4657
+src line: 4389
.
-- # Foo
-- Bar
- ---
- baz
+1234567890. not ok
.
-
--
-
Foo
-
--
-
Bar
-baz
-
+1234567890. not ok
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4893
+src line: 4398
.
-- foo
-- bar
-+ baz
+0. ok
.
-
-- foo
-- bar
-
-
-- baz
-
+
+- ok
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4908
+src line: 4407
.
-1. foo
-2. bar
-3) baz
+003. ok
.
-
-- foo
-- bar
-
-- baz
+- ok
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 4927
-
-.
-Foo
-- bar
-- baz
-.
-Foo
-
-- bar
-- baz
-
-.
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5004
-
-.
-The number of windows in my house is
-14. The number of doors is 6.
-.
-The number of windows in my house is
-14. The number of doors is 6.
-.
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5014
+src line: 4418
.
-The number of windows in my house is
-1. The number of doors is 6.
+-1. not ok
.
-The number of windows in my house is
-
-- The number of doors is 6.
-
+-1. not ok
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5028
+src line: 4441
.
- foo
-- bar
-
-
-- baz
+ bar
.
-
foo
-
--
-
bar
-
--
-
baz
+bar
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5049
+src line: 4458
.
-- foo
- - bar
- - baz
-
+ 10. foo
- bim
+ bar
.
-
-- foo
-
-- bar
-
+
-
-
baz
-bim
-
-
-
-
+foo
+bar
+
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5079
+src line: 4477
.
-- foo
-- bar
+ indented code
-
+paragraph
-- baz
-- bim
+ more code
.
-
-- foo
-- bar
-
-
-
-- baz
-- bim
-
+indented code
+
+paragraph
+more code
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5100
+src line: 4492
.
-- foo
-
- notcode
-
-- foo
+1. indented code
-
+ paragraph
- code
+ more code
.
-
--
-
foo
-notcode
-
+
-
-
foo
-
-
-
-code
+indented code
+
+paragraph
+more code
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5131
+src line: 4514
.
-- a
- - b
- - c
- - d
- - e
- - f
-- g
+1. indented code
+
+ paragraph
+
+ more code
.
-
-- a
-- b
-- c
-- d
-- e
-- f
-- g
-
+
+-
+
indented code
+
+paragraph
+more code
+
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5152
+src line: 4541
.
-1. a
-
- 2. b
+ foo
- 3. c
+bar
.
-
--
-
a
-
--
-
b
-
--
-
c
-
-
+foo
+bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5176
+src line: 4551
.
-- a
- - b
- - c
- - d
- - e
+- foo
+
+ bar
.
-- a
-- b
-- c
-- d
-- e
+- foo
+bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5196
+src line: 4568
.
-1. a
-
- 2. b
+- foo
- 3. c
+ bar
.
-
--
-
a
-
+
-
-
b
+foo
+bar
-
-3. c
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5219
+src line: 4595
.
-- a
-- b
-
-- c
+-
+ foo
+-
+ ```
+ bar
+ ```
+-
+ baz
.
+- foo
-
-
a
-
--
-
b
+bar
+
-
-
c
+baz
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5241
+src line: 4621
.
-* a
-*
-
-* c
+-
+ foo
.
--
-
a
-
-
--
-
c
-
+- foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5263
+src line: 4635
.
-- a
-- b
+-
- c
-- d
+ foo
.
--
-
a
-
--
-
b
-c
-
--
-
d
-
+
+foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5285
+src line: 4649
.
-- a
-- b
-
- [ref]: /url
-- d
+- foo
+-
+- bar
.
--
-
a
-
--
-
b
-
--
-
d
-
+- foo
+
+- bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5308
+src line: 4664
.
-- a
-- ```
- b
-
-
- ```
-- c
+- foo
+-
+- bar
.
-- a
--
-
b
-
-
-
-
-- c
+- foo
+
+- bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5334
+src line: 4679
.
-- a
- - b
-
- c
-- d
+1. foo
+2.
+3. bar
.
-
-- a
-
--
-
b
-c
-
-
-
-- d
-
+
+- foo
+
+- bar
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5358
+src line: 4694
.
-* a
- > b
- >
-* c
+*
.
-- a
-
-b
-
-
-- c
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5378
+src line: 4704
.
-- a
- > b
- ```
- c
- ```
-- d
+foo
+*
+
+foo
+1.
.
-
-- a
-
-b
-
-c
-
-
-- d
-
+foo
+*
+foo
+1.
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5401
+src line: 4726
.
-- a
+ 1. A paragraph
+ with two lines.
+
+ indented code
+
+ > A block quote.
.
-
-- a
-
+
+-
+
A paragraph
+with two lines.
+indented code
+
+
+A block quote.
+
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5410
+src line: 4750
.
-- a
- - b
+ 1. A paragraph
+ with two lines.
+
+ indented code
+
+ > A block quote.
.
-
-- a
-
-- b
-
+
+-
+
A paragraph
+with two lines.
+indented code
+
+
+A block quote.
+
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5427
+src line: 4774
.
-1. ```
- foo
- ```
+ 1. A paragraph
+ with two lines.
- bar
+ indented code
+
+ > A block quote.
.
-
-
foo
+A paragraph
+with two lines.
+indented code
-bar
+
+A block quote.
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5446
+src line: 4798
.
-* foo
- * bar
+ 1. A paragraph
+ with two lines.
- baz
+ indented code
+
+ > A block quote.
.
-
--
-
foo
-
-- bar
-
-baz
-
-
+1. A paragraph
+ with two lines.
+
+ indented code
+
+ > A block quote.
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5464
+src line: 4828
.
-- a
- - b
- - c
+ 1. A paragraph
+with two lines.
-- d
- - e
- - f
+ indented code
+
+ > A block quote.
.
-
--
-
a
-
-- b
-- c
-
-
+
-
-
d
-
-- e
-- f
-
+A paragraph
+with two lines.
+indented code
+
+
+A block quote.
+
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5498
+src line: 4852
.
-`hi`lo`
+ 1. A paragraph
+ with two lines.
.
-hi
lo`
+
+- A paragraph
+with two lines.
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5512
+src line: 4865
.
-\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\\\]\^\_\`\{\|\}\~
+> 1. > Blockquote
+continued here.
.
-!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
+
+
+-
+
+Blockquote
+continued here.
+
+
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5522
+src line: 4882
.
-\ \A\a\ \3\φ\«
+> 1. > Blockquote
+> continued here.
.
-\ \A\a\ \3\φ\«
+
+
+-
+
+Blockquote
+continued here.
+
+
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5532
+src line: 4910
.
-\*not emphasized*
-\
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
+- foo
+ - bar
+ - baz
+ - boo
.
-*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
+
+- foo
+
+- bar
+
+- baz
+
+- boo
+
+
+
+
+
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5557
+src line: 4936
.
-\\*emphasis*
+- foo
+ - bar
+ - baz
+ - boo
.
-\emphasis
+
+- foo
+- bar
+- baz
+- boo
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5566
+src line: 4953
.
-foo\
-bar
+10) foo
+ - bar
.
-foo
-bar
+
+- foo
+
+- bar
+
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5578
+src line: 4969
.
-`` \[\` ``
+10) foo
+ - bar
.
-\[\`
+
+- foo
+
+
+- bar
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5585
+src line: 4984
.
- \[\]
+- - foo
.
-\[\]
-
+
+-
+
+- foo
+
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5593
+src line: 4997
.
-~~~
-\[\]
-~~~
+1. - 2. foo
.
-\[\]
-
+
+-
+
+-
+
+- foo
+
+
+
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5603
+src line: 5016
.
-
+- # Foo
+- Bar
+ ---
+ baz
.
-
+
+-
+
Foo
+
+-
+
Bar
+baz
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5610
+src line: 5252
.
-
+- foo
+- bar
++ baz
.
-
+
+- foo
+- bar
+
+
+- baz
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5620
+src line: 5267
.
-[foo](/bar\* "ti\*tle")
+1. foo
+2. bar
+3) baz
.
-
+
+- foo
+- bar
+
+
+- baz
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5627
+src line: 5286
.
-[foo]
+Foo
+- bar
+- baz
+.
+Foo
+
+- bar
+- baz
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 5363
-[foo]: /bar\* "ti\*tle"
.
-
+The number of windows in my house is
+14. The number of doors is 6.
+.
+The number of windows in my house is
+14. The number of doors is 6.
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5636
+src line: 5373
.
-``` foo\+bar
-foo
-```
+The number of windows in my house is
+1. The number of doors is 6.
.
-foo
+The number of windows in my house is
+
+- The number of doors is 6.
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 5387
+
+.
+- foo
+
+- bar
+
+
+- baz
+.
+
+-
+
foo
+
+-
+
bar
+
+-
+
baz
+
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 5408
+
+.
+- foo
+ - bar
+ - baz
+
+
+ bim
+.
+
+- foo
+
+- bar
+
+-
+
baz
+bim
+
+
+
+
+
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 5438
+
+.
+- foo
+- bar
+
+
+
+- baz
+- bim
+.
+
+- foo
+- bar
+
+
+
+- baz
+- bim
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 5459
+
+.
+- foo
+
+ notcode
+
+- foo
+
+
+
+ code
+.
+
+-
+
foo
+notcode
+
+-
+
foo
+
+
+
+code
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5673
+src line: 5490
.
- & © Æ Ď
-¾ ℋ ⅆ
-∲ ≧̸
+- a
+ - b
+ - c
+ - d
+ - e
+ - f
+- g
.
- & © Æ Ď
-¾ ℋ ⅆ
-∲ ≧̸
+
+- a
+- b
+- c
+- d
+- e
+- f
+- g
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5692
+src line: 5511
.
-# Ӓ Ϡ
+1. a
+
+ 2. b
+
+ 3. c
.
-# Ӓ Ϡ �
+
+-
+
a
+
+-
+
b
+
+-
+
c
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5705
+src line: 5535
.
-" ആ ಫ
+- a
+ - b
+ - c
+ - d
+ - e
.
-" ആ ಫ
+
+- a
+- b
+- c
+- d
+- e
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5714
+src line: 5555
.
-  &x;
-
-abcdef0;
-&ThisIsNotDefined; &hi?;
+1. a
+
+ 2. b
+
+ 3. c
.
-  &x; &#; &#x;
-�
-&#abcdef0;
-&ThisIsNotDefined; &hi?;
+
+-
+
a
+
+-
+
b
+
+
+3. c
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 5578
+
+.
+- a
+- b
+
+- c
+.
+
+-
+
a
+
+-
+
b
+
+-
+
c
+
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 5600
+
+.
+* a
+*
+
+* c
+.
+
+-
+
a
+
+
+-
+
c
+
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 5622
+
+.
+- a
+- b
+
+ c
+- d
+.
+
+-
+
a
+
+-
+
b
+c
+
+-
+
d
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5731
+src line: 5644
.
-©
+- a
+- b
+
+ [ref]: /url
+- d
.
-©
+
+-
+
a
+
+-
+
b
+
+-
+
d
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5741
+src line: 5667
.
-&MadeUpEntity;
-.
-&MadeUpEntity;
-.
+- a
+- ```
+ b
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5752
+ ```
+- c
.
-
-.
-
+
+- a
+-
+
b
+
+
+
+
+- c
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5759
+src line: 5693
.
-[foo](/föö "föö")
+- a
+ - b
+
+ c
+- d
.
-
+
+- a
+
+-
+
b
+c
+
+
+
+- d
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5766
+src line: 5717
.
-[foo]
-
-[foo]: /föö "föö"
+* a
+ > b
+ >
+* c
.
-
+
+- a
+
+b
+
+
+- c
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5775
+src line: 5737
.
-``` föö
-foo
-```
+- a
+ > b
+ ```
+ c
+ ```
+- d
.
-foo
+
+- a
+
+b
+
+c
+
+- d
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5788
+src line: 5760
.
-`föö`
+- a
.
-föö
+
+- a
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5795
+src line: 5769
.
- föfö
+- a
+ - b
.
-föfö
-
+
+- a
+
+- b
+
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5807
+src line: 5786
.
-*foo*
-*foo*
+1. ```
+ foo
+ ```
+
+ bar
.
-*foo*
-foo
+
+-
+
foo
+
+bar
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5815
+src line: 5805
.
-* foo
-
* foo
+ * bar
+
+ baz
.
-* foo
-- foo
+-
+
foo
+
+- bar
+
+baz
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5826
-
-.
-foo
bar
-.
-foo
+src line: 5823
-bar
.
+- a
+ - b
+ - c
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5834
-
-.
- foo
+- d
+ - e
+ - f
.
- foo
+
+-
+
a
+
+- b
+- c
+
+
+-
+
d
+
+- e
+- f
+
+
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5841
+src line: 5857
.
-[a](url "tit")
+`hi`lo`
.
-[a](url "tit")
+hi
lo`
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5869
+src line: 5889
.
`foo`
@@ -4683,7 +4696,7 @@ src line: 5869
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5880
+src line: 5900
.
`` foo ` bar ``
@@ -4692,7 +4705,7 @@ src line: 5880
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5890
+src line: 5910
.
` `` `
@@ -4701,7 +4714,7 @@ src line: 5890
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5898
+src line: 5918
.
` `` `
@@ -4710,7 +4723,7 @@ src line: 5898
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5907
+src line: 5927
.
` a`
@@ -4719,7 +4732,7 @@ src line: 5907
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5916
+src line: 5936
.
` b `
@@ -4728,7 +4741,7 @@ src line: 5916
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5924
+src line: 5944
.
` `
@@ -4739,7 +4752,7 @@ src line: 5924
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5935
+src line: 5955
.
``
@@ -4752,7 +4765,7 @@ baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5945
+src line: 5965
.
``
@@ -4763,7 +4776,7 @@ foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5956
+src line: 5976
.
`foo bar
@@ -4773,7 +4786,7 @@ baz`
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5973
+src line: 5993
.
`foo\`bar`
@@ -4782,7 +4795,7 @@ src line: 5973
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5984
+src line: 6004
.
``foo`bar``
@@ -4791,7 +4804,7 @@ src line: 5984
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 5990
+src line: 6010
.
` foo `` bar `
@@ -4800,7 +4813,7 @@ src line: 5990
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6002
+src line: 6022
.
*foo`*`
@@ -4809,7 +4822,7 @@ src line: 6002
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6011
+src line: 6031
.
[not a `link](/foo`)
@@ -4818,7 +4831,7 @@ src line: 6011
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6021
+src line: 6041
.
``
@@ -4827,7 +4840,7 @@ src line: 6021
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6030
+src line: 6050
.
`
@@ -4836,7 +4849,7 @@ src line: 6030
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6039
+src line: 6059
.
``
@@ -4845,7 +4858,7 @@ src line: 6039
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6048
+src line: 6068
.
`
@@ -4854,7 +4867,7 @@ src line: 6048
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6058
+src line: 6078
.
```foo``
@@ -4863,7 +4876,7 @@ src line: 6058
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6065
+src line: 6085
.
`foo
@@ -4872,7 +4885,7 @@ src line: 6065
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6074
+src line: 6094
.
`foo``bar``
@@ -4881,7 +4894,7 @@ src line: 6074
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6291
+src line: 6311
.
*foo bar*
@@ -4890,7 +4903,7 @@ src line: 6291
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6301
+src line: 6321
.
a * foo bar*
@@ -4899,7 +4912,7 @@ a * foo bar*
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6312
+src line: 6332
.
a*"foo"*
@@ -4908,7 +4921,7 @@ a*"foo"*
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6321
+src line: 6341
.
* a *
@@ -4917,7 +4930,7 @@ src line: 6321
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6330
+src line: 6350
.
foo*bar*
@@ -4926,7 +4939,7 @@ foo*bar*
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6337
+src line: 6357
.
5*6*78
@@ -4935,7 +4948,7 @@ src line: 6337
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6346
+src line: 6366
.
_foo bar_
@@ -4944,7 +4957,7 @@ _foo bar_
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6356
+src line: 6376
.
_ foo bar_
@@ -4953,7 +4966,7 @@ _ foo bar_
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6366
+src line: 6386
.
a_"foo"_
@@ -4962,7 +4975,7 @@ a_"foo"_
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6375
+src line: 6395
.
foo_bar_
@@ -4971,7 +4984,7 @@ foo_bar_
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6382
+src line: 6402
.
5_6_78
@@ -4980,7 +4993,7 @@ src line: 6382
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6389
+src line: 6409
.
пристаням_стремятся_
@@ -4989,7 +5002,7 @@ src line: 6389
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6399
+src line: 6419
.
aa_"bb"_cc
@@ -4998,7 +5011,7 @@ aa_"bb"_cc
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6410
+src line: 6430
.
foo-_(bar)_
@@ -5007,7 +5020,7 @@ foo-_(bar)_
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6422
+src line: 6442
.
_foo*
@@ -5016,7 +5029,7 @@ _foo*
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6432
+src line: 6452
.
*foo bar *
@@ -5025,7 +5038,7 @@ src line: 6432
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6441
+src line: 6461
.
*foo bar
@@ -5036,7 +5049,7 @@ src line: 6441
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6454
+src line: 6474
.
*(*foo)
@@ -5045,7 +5058,7 @@ src line: 6454
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6464
+src line: 6484
.
*(*foo*)*
@@ -5054,7 +5067,7 @@ src line: 6464
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6473
+src line: 6493
.
*foo*bar
@@ -5063,7 +5076,7 @@ src line: 6473
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6486
+src line: 6506
.
_foo bar _
@@ -5072,7 +5085,7 @@ _foo bar _
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6496
+src line: 6516
.
_(_foo)
@@ -5081,7 +5094,7 @@ _(_foo)
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6505
+src line: 6525
.
_(_foo_)_
@@ -5090,7 +5103,7 @@ _(_foo_)_
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6514
+src line: 6534
.
_foo_bar
@@ -5099,7 +5112,7 @@ _foo_bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6521
+src line: 6541
.
_пристаням_стремятся
@@ -5108,7 +5121,7 @@ _пристаням_стремятся
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6528
+src line: 6548
.
_foo_bar_baz_
@@ -5117,7 +5130,7 @@ _foo_bar_baz_
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6539
+src line: 6559
.
_(bar)_.
@@ -5126,7 +5139,7 @@ _(bar)_.
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6548
+src line: 6568
.
**foo bar**
@@ -5135,7 +5148,7 @@ src line: 6548
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6558
+src line: 6578
.
** foo bar**
@@ -5144,7 +5157,7 @@ src line: 6558
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6569
+src line: 6589
.
a**"foo"**
@@ -5153,7 +5166,7 @@ a**"foo"**
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6578
+src line: 6598
.
foo**bar**
@@ -5162,7 +5175,7 @@ foo**bar**
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6587
+src line: 6607
.
__foo bar__
@@ -5171,7 +5184,7 @@ __foo bar__
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6597
+src line: 6617
.
__ foo bar__
@@ -5180,7 +5193,7 @@ __ foo bar__
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6605
+src line: 6625
.
__
@@ -5191,7 +5204,7 @@ foo bar__
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6617
+src line: 6637
.
a__"foo"__
@@ -5200,7 +5213,7 @@ a__"foo"__
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6626
+src line: 6646
.
foo__bar__
@@ -5209,7 +5222,7 @@ foo__bar__
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6633
+src line: 6653
.
5__6__78
@@ -5218,7 +5231,7 @@ src line: 6633
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6640
+src line: 6660
.
пристаням__стремятся__
@@ -5227,7 +5240,7 @@ src line: 6640
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6647
+src line: 6667
.
__foo, __bar__, baz__
@@ -5236,7 +5249,7 @@ __foo, __bar__, baz__
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6658
+src line: 6678
.
foo-__(bar)__
@@ -5245,7 +5258,7 @@ foo-__(bar)__
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6671
+src line: 6691
.
**foo bar **
@@ -5254,7 +5267,7 @@ src line: 6671
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6684
+src line: 6704
.
**(**foo)
@@ -5263,7 +5276,7 @@ src line: 6684
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6694
+src line: 6714
.
*(**foo**)*
@@ -5272,7 +5285,7 @@ src line: 6694
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6701
+src line: 6721
.
**Gomphocarpus (*Gomphocarpus physocarpus*, syn.
@@ -5283,7 +5296,7 @@ src line: 6701
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6710
+src line: 6730
.
**foo "*bar*" foo**
@@ -5292,7 +5305,7 @@ src line: 6710
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6719
+src line: 6739
.
**foo**bar
@@ -5301,7 +5314,7 @@ src line: 6719
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6731
+src line: 6751
.
__foo bar __
@@ -5310,7 +5323,7 @@ __foo bar __
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6741
+src line: 6761
.
__(__foo)
@@ -5319,7 +5332,7 @@ __(__foo)
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6751
+src line: 6771
.
_(__foo__)_
@@ -5328,7 +5341,7 @@ _(__foo__)_
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6760
+src line: 6780
.
__foo__bar
@@ -5337,7 +5350,7 @@ __foo__bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6767
+src line: 6787
.
__пристаням__стремятся
@@ -5346,7 +5359,7 @@ __пристаням__стремятся
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6774
+src line: 6794
.
__foo__bar__baz__
@@ -5355,7 +5368,7 @@ __foo__bar__baz__
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6785
+src line: 6805
.
__(bar)__.
@@ -5364,7 +5377,7 @@ __(bar)__.
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6797
+src line: 6817
.
*foo [bar](/url)*
@@ -5373,7 +5386,7 @@ src line: 6797
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6804
+src line: 6824
.
*foo
@@ -5384,7 +5397,7 @@ bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6816
+src line: 6836
.
_foo __bar__ baz_
@@ -5393,7 +5406,7 @@ _foo __bar__ baz_
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6823
+src line: 6843
.
_foo _bar_ baz_
@@ -5402,7 +5415,7 @@ _foo _bar_ baz_
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6830
+src line: 6850
.
__foo_ bar_
@@ -5411,7 +5424,7 @@ __foo_ bar_
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6837
+src line: 6857
.
*foo *bar**
@@ -5420,7 +5433,7 @@ src line: 6837
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6844
+src line: 6864
.
*foo **bar** baz*
@@ -5429,7 +5442,7 @@ src line: 6844
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6850
+src line: 6870
.
*foo**bar**baz*
@@ -5438,7 +5451,7 @@ src line: 6850
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6874
+src line: 6894
.
*foo**bar*
@@ -5447,7 +5460,7 @@ src line: 6874
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6887
+src line: 6907
.
***foo** bar*
@@ -5456,7 +5469,7 @@ src line: 6887
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6894
+src line: 6914
.
*foo **bar***
@@ -5465,7 +5478,7 @@ src line: 6894
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6901
+src line: 6921
.
*foo**bar***
@@ -5474,7 +5487,7 @@ src line: 6901
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6912
+src line: 6932
.
foo***bar***baz
@@ -5483,7 +5496,7 @@ foo***bar***baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6918
+src line: 6938
.
foo******bar*********baz
@@ -5492,7 +5505,7 @@ foo******bar*********baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6927
+src line: 6947
.
*foo **bar *baz* bim** bop*
@@ -5501,7 +5514,7 @@ src line: 6927
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6934
+src line: 6954
.
*foo [*bar*](/url)*
@@ -5510,7 +5523,7 @@ src line: 6934
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6943
+src line: 6963
.
** is not an empty emphasis
@@ -5519,7 +5532,7 @@ src line: 6943
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6950
+src line: 6970
.
**** is not an empty strong emphasis
@@ -5528,7 +5541,7 @@ src line: 6950
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6963
+src line: 6983
.
**foo [bar](/url)**
@@ -5537,7 +5550,7 @@ src line: 6963
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6970
+src line: 6990
.
**foo
@@ -5548,7 +5561,7 @@ bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6982
+src line: 7002
.
__foo _bar_ baz__
@@ -5557,7 +5570,7 @@ __foo _bar_ baz__
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6989
+src line: 7009
.
__foo __bar__ baz__
@@ -5566,7 +5579,7 @@ __foo __bar__ baz__
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 6996
+src line: 7016
.
____foo__ bar__
@@ -5575,7 +5588,7 @@ ____foo__ bar__
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7003
+src line: 7023
.
**foo **bar****
@@ -5584,7 +5597,7 @@ src line: 7003
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7010
+src line: 7030
.
**foo *bar* baz**
@@ -5593,7 +5606,7 @@ src line: 7010
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7017
+src line: 7037
.
**foo*bar*baz**
@@ -5602,7 +5615,7 @@ src line: 7017
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7024
+src line: 7044
.
***foo* bar**
@@ -5611,7 +5624,7 @@ src line: 7024
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7031
+src line: 7051
.
**foo *bar***
@@ -5620,7 +5633,7 @@ src line: 7031
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7040
+src line: 7060
.
**foo *bar **baz**
@@ -5631,7 +5644,7 @@ bim bop
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7049
+src line: 7069
.
**foo [*bar*](/url)**
@@ -5640,7 +5653,7 @@ src line: 7049
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7058
+src line: 7078
.
__ is not an empty emphasis
@@ -5649,7 +5662,7 @@ __ is not an empty emphasis
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7065
+src line: 7085
.
____ is not an empty strong emphasis
@@ -5658,7 +5671,7 @@ ____ is not an empty strong emphasis
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7075
+src line: 7095
.
foo ***
@@ -5667,7 +5680,7 @@ foo ***
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7082
+src line: 7102
.
foo *\**
@@ -5676,7 +5689,7 @@ foo *\**
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7089
+src line: 7109
.
foo *_*
@@ -5685,7 +5698,7 @@ foo *_*
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7096
+src line: 7116
.
foo *****
@@ -5694,7 +5707,7 @@ foo *****
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7103
+src line: 7123
.
foo **\***
@@ -5703,7 +5716,7 @@ foo **\***
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7110
+src line: 7130
.
foo **_**
@@ -5712,7 +5725,7 @@ foo **_**
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7121
+src line: 7141
.
**foo*
@@ -5721,7 +5734,7 @@ src line: 7121
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7128
+src line: 7148
.
*foo**
@@ -5730,7 +5743,7 @@ src line: 7128
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7135
+src line: 7155
.
***foo**
@@ -5739,7 +5752,7 @@ src line: 7135
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7142
+src line: 7162
.
****foo*
@@ -5748,7 +5761,7 @@ src line: 7142
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7149
+src line: 7169
.
**foo***
@@ -5757,7 +5770,7 @@ src line: 7149
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7156
+src line: 7176
.
*foo****
@@ -5766,7 +5779,7 @@ src line: 7156
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7166
+src line: 7186
.
foo ___
@@ -5775,7 +5788,7 @@ foo ___
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7173
+src line: 7193
.
foo _\__
@@ -5784,7 +5797,7 @@ foo _\__
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7180
+src line: 7200
.
foo _*_
@@ -5793,7 +5806,7 @@ foo _*_
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7187
+src line: 7207
.
foo _____
@@ -5802,7 +5815,7 @@ foo _____
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7194
+src line: 7214
.
foo __\___
@@ -5811,7 +5824,7 @@ foo __\___
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7201
+src line: 7221
.
foo __*__
@@ -5820,7 +5833,7 @@ foo __*__
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7208
+src line: 7228
.
__foo_
@@ -5829,7 +5842,7 @@ __foo_
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7219
+src line: 7239
.
_foo__
@@ -5838,7 +5851,7 @@ _foo__
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7226
+src line: 7246
.
___foo__
@@ -5847,7 +5860,7 @@ ___foo__
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7233
+src line: 7253
.
____foo_
@@ -5856,7 +5869,7 @@ ____foo_
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7240
+src line: 7260
.
__foo___
@@ -5865,7 +5878,7 @@ __foo___
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7247
+src line: 7267
.
_foo____
@@ -5874,7 +5887,7 @@ _foo____
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7257
+src line: 7277
.
**foo**
@@ -5883,7 +5896,7 @@ src line: 7257
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7264
+src line: 7284
.
*_foo_*
@@ -5892,7 +5905,7 @@ src line: 7264
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7271
+src line: 7291
.
__foo__
@@ -5901,7 +5914,7 @@ __foo__
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7278
+src line: 7298
.
_*foo*_
@@ -5910,7 +5923,7 @@ _*foo*_
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7288
+src line: 7308
.
****foo****
@@ -5919,7 +5932,7 @@ src line: 7288
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7295
+src line: 7315
.
____foo____
@@ -5928,7 +5941,7 @@ ____foo____
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7306
+src line: 7326
.
******foo******
@@ -5937,7 +5950,7 @@ src line: 7306
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7315
+src line: 7335
.
***foo***
@@ -5946,7 +5959,7 @@ src line: 7315
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7322
+src line: 7342
.
_____foo_____
@@ -5955,7 +5968,7 @@ _____foo_____
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7331
+src line: 7351
.
*foo _bar* baz_
@@ -5964,7 +5977,7 @@ src line: 7331
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7338
+src line: 7358
.
*foo __bar *baz bim__ bam*
@@ -5973,7 +5986,7 @@ src line: 7338
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7347
+src line: 7367
.
**foo **bar baz**
@@ -5982,7 +5995,7 @@ src line: 7347
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7354
+src line: 7374
.
*foo *bar baz*
@@ -5991,7 +6004,7 @@ src line: 7354
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7363
+src line: 7383
.
*[bar*](/url)
@@ -6000,7 +6013,7 @@ src line: 7363
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7370
+src line: 7390
.
_foo [bar_](/url)
@@ -6009,7 +6022,7 @@ _foo [bar_](/url)
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7377
+src line: 7397
.
*
@@ -6018,7 +6031,7 @@ src line: 7377
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7384
+src line: 7404
.
**
@@ -6027,7 +6040,7 @@ src line: 7384
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7391
+src line: 7411
.
__
@@ -6036,7 +6049,7 @@ __
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7398
+src line: 7418
.
*a `*`*
@@ -6045,7 +6058,7 @@ src line: 7398
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7405
+src line: 7425
.
_a `_`_
@@ -6054,7 +6067,7 @@ _a `_`_
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7412
+src line: 7432
.
**a
@@ -6063,7 +6076,7 @@ src line: 7412
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7419
+src line: 7439
.
__a
@@ -6072,7 +6085,7 @@ __a
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7502
+src line: 7527
.
[link](/uri "title")
@@ -6081,7 +6094,7 @@ src line: 7502
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7511
+src line: 7537
.
[link](/uri)
@@ -6090,7 +6103,16 @@ src line: 7511
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7520
+src line: 7543
+
+.
+[](./target.md)
+.
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 7550
.
[link]()
@@ -6099,7 +6121,7 @@ src line: 7520
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7527
+src line: 7557
.
[link](<>)
@@ -6108,7 +6130,16 @@ src line: 7527
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7536
+src line: 7564
+
+.
+[]()
+.
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 7573
.
[link](/my uri)
@@ -6117,7 +6148,7 @@ src line: 7536
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7542
+src line: 7579
.
[link](
)
@@ -6126,7 +6157,7 @@ src line: 7542
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7551
+src line: 7588
.
[link](foo
@@ -6137,7 +6168,7 @@ bar)
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7559
+src line: 7596
.
[link]()
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7570
+src line: 7607
.
[a]()
@@ -6157,7 +6188,7 @@ src line: 7570
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7578
+src line: 7615
.
[link]()
@@ -6166,7 +6197,7 @@ src line: 7578
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7587
+src line: 7624
.
[a]([link](foo(and(bar))
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 7661
.
[link](foo\(and\(bar\))
@@ -6206,7 +6246,7 @@ src line: 7617
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7624
+src line: 7668
.
[link]()
@@ -6215,7 +6255,7 @@ src line: 7624
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7634
+src line: 7678
.
[link](foo\)\:)
@@ -6224,7 +6264,7 @@ src line: 7634
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7643
+src line: 7687
.
[link](#fragment)
@@ -6239,7 +6279,7 @@ src line: 7643
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7659
+src line: 7703
.
[link](foo\bar)
@@ -6248,7 +6288,7 @@ src line: 7659
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7675
+src line: 7719
.
[link](foo%20bä)
@@ -6257,7 +6297,7 @@ src line: 7675
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7686
+src line: 7730
.
[link]("title")
@@ -6266,7 +6306,7 @@ src line: 7686
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7695
+src line: 7739
.
[link](/url "title")
@@ -6279,7 +6319,7 @@ src line: 7695
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7709
+src line: 7753
.
[link](/url "title \""")
@@ -6288,7 +6328,7 @@ src line: 7709
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7719
+src line: 7764
.
[link](/url "title")
@@ -6297,7 +6337,7 @@ src line: 7719
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7728
+src line: 7773
.
[link](/url "title "and" title")
@@ -6306,7 +6346,7 @@ src line: 7728
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7737
+src line: 7782
.
[link](/url 'title "and" title')
@@ -6315,7 +6355,7 @@ src line: 7737
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7761
+src line: 7807
.
[link]( /uri
@@ -6325,7 +6365,7 @@ src line: 7761
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7772
+src line: 7818
.
[link] (/uri)
@@ -6334,7 +6374,7 @@ src line: 7772
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7782
+src line: 7828
.
[link [foo [bar]]](/uri)
@@ -6343,7 +6383,7 @@ src line: 7782
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7789
+src line: 7835
.
[link] bar](/uri)
@@ -6352,7 +6392,7 @@ src line: 7789
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7796
+src line: 7842
.
[link [bar](/uri)
@@ -6361,7 +6401,7 @@ src line: 7796
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7803
+src line: 7849
.
[link \[bar](/uri)
@@ -6370,7 +6410,7 @@ src line: 7803
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7812
+src line: 7858
.
[link *foo **bar** `#`*](/uri)
@@ -6379,7 +6419,7 @@ src line: 7812
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7819
+src line: 7865
.
[![moon](moon.jpg)](/uri)
@@ -6388,7 +6428,7 @@ src line: 7819
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7828
+src line: 7874
.
[foo [bar](/uri)](/uri)
@@ -6397,7 +6437,7 @@ src line: 7828
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7835
+src line: 7881
.
[foo *[bar [baz](/uri)](/uri)*](/uri)
@@ -6406,7 +6446,7 @@ src line: 7835
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7842
+src line: 7888
.
![[[foo](uri1)](uri2)](uri3)
@@ -6415,7 +6455,7 @@ src line: 7842
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7852
+src line: 7898
.
*[foo*](/uri)
@@ -6424,7 +6464,7 @@ src line: 7852
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7859
+src line: 7905
.
[foo *bar](baz*)
@@ -6433,7 +6473,7 @@ src line: 7859
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7869
+src line: 7915
.
*foo [bar* baz]
@@ -6442,7 +6482,7 @@ src line: 7869
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7879
+src line: 7925
.
[foo
@@ -6451,7 +6491,7 @@ src line: 7879
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7886
+src line: 7932
.
[foo`](/uri)`
@@ -6460,7 +6500,7 @@ src line: 7886
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7893
+src line: 7939
.
[foo
@@ -6469,7 +6509,7 @@ src line: 7893
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7931
+src line: 7977
.
[foo][bar]
@@ -6480,7 +6520,7 @@ src line: 7931
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7946
+src line: 7992
.
[link [foo [bar]]][ref]
@@ -6491,7 +6531,7 @@ src line: 7946
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7955
+src line: 8001
.
[link \[bar][ref]
@@ -6502,7 +6542,7 @@ src line: 7955
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7966
+src line: 8012
.
[link *foo **bar** `#`*][ref]
@@ -6513,7 +6553,7 @@ src line: 7966
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7975
+src line: 8021
.
[![moon](moon.jpg)][ref]
@@ -6524,7 +6564,7 @@ src line: 7975
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7986
+src line: 8032
.
[foo [bar](/uri)][ref]
@@ -6535,7 +6575,7 @@ src line: 7986
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 7995
+src line: 8041
.
[foo *bar [baz][ref]*][ref]
@@ -6546,7 +6586,7 @@ src line: 7995
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8010
+src line: 8056
.
*[foo*][ref]
@@ -6557,18 +6597,18 @@ src line: 8010
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8019
+src line: 8065
.
-[foo *bar][ref]
+[foo *bar][ref]*
[ref]: /uri
.
-
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8031
+src line: 8077
.
[foo
@@ -6579,7 +6619,7 @@ src line: 8031
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8040
+src line: 8086
.
[foo`][ref]`
@@ -6590,7 +6630,7 @@ src line: 8040
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8049
+src line: 8095
.
[foo
@@ -6601,7 +6641,7 @@ src line: 8049
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8060
+src line: 8106
.
[foo][BaR]
@@ -6612,18 +6652,18 @@ src line: 8060
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8071
+src line: 8117
.
-[Толпой][Толпой] is a Russian word.
+[ẞ]
-[ТОЛПОЙ]: /url
+[SS]: /url
.
-Толпой is a Russian word.
+
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8083
+src line: 8129
.
[Foo
@@ -6635,7 +6675,7 @@ src line: 8083
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8096
+src line: 8142
.
[foo] [bar]
@@ -6646,7 +6686,7 @@ src line: 8096
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8105
+src line: 8151
.
[foo]
@@ -6659,7 +6699,7 @@ src line: 8105
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8146
+src line: 8192
.
[foo]: /url1
@@ -6672,7 +6712,7 @@ src line: 8146
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8161
+src line: 8207
.
[bar][foo\!]
@@ -6683,7 +6723,7 @@ src line: 8161
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8173
+src line: 8219
.
[foo][ref[]
@@ -6695,7 +6735,7 @@ src line: 8173
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8183
+src line: 8229
.
[foo][ref[bar]]
@@ -6707,7 +6747,7 @@ src line: 8183
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8193
+src line: 8239
.
[[[foo]]]
@@ -6719,7 +6759,7 @@ src line: 8193
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8203
+src line: 8249
.
[foo][ref\[]
@@ -6730,7 +6770,7 @@ src line: 8203
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8214
+src line: 8260
.
[bar\\]: /uri
@@ -6741,7 +6781,7 @@ src line: 8214
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8225
+src line: 8272
.
[]
@@ -6753,7 +6793,7 @@ src line: 8225
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8235
+src line: 8282
.
[
@@ -6769,7 +6809,7 @@ src line: 8235
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8258
+src line: 8305
.
[foo][]
@@ -6780,7 +6820,7 @@ src line: 8258
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8267
+src line: 8314
.
[*foo* bar][]
@@ -6791,7 +6831,7 @@ src line: 8267
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8278
+src line: 8325
.
[Foo][]
@@ -6802,7 +6842,7 @@ src line: 8278
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8291
+src line: 8338
.
[foo]
@@ -6815,7 +6855,7 @@ src line: 8291
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8311
+src line: 8358
.
[foo]
@@ -6826,7 +6866,7 @@ src line: 8311
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8320
+src line: 8367
.
[*foo* bar]
@@ -6837,7 +6877,7 @@ src line: 8320
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8329
+src line: 8376
.
[[*foo* bar]]
@@ -6848,7 +6888,7 @@ src line: 8329
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8338
+src line: 8385
.
[[bar [foo]
@@ -6859,7 +6899,7 @@ src line: 8338
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8349
+src line: 8396
.
[Foo]
@@ -6870,7 +6910,7 @@ src line: 8349
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8360
+src line: 8407
.
[foo] bar
@@ -6881,7 +6921,7 @@ src line: 8360
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8372
+src line: 8419
.
\[foo]
@@ -6892,7 +6932,7 @@ src line: 8372
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8384
+src line: 8431
.
[foo*]: /url
@@ -6903,7 +6943,7 @@ src line: 8384
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8396
+src line: 8443
.
[foo][bar]
@@ -6915,7 +6955,7 @@ src line: 8396
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8405
+src line: 8452
.
[foo][]
@@ -6926,7 +6966,7 @@ src line: 8405
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8415
+src line: 8462
.
[foo]()
@@ -6937,7 +6977,7 @@ src line: 8415
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8423
+src line: 8470
.
[foo](not a link)
@@ -6948,7 +6988,7 @@ src line: 8423
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8434
+src line: 8481
.
[foo][bar][baz]
@@ -6959,7 +6999,7 @@ src line: 8434
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8446
+src line: 8493
.
[foo][bar][baz]
@@ -6971,7 +7011,7 @@ src line: 8446
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8459
+src line: 8506
.
[foo][bar][baz]
@@ -6983,7 +7023,7 @@ src line: 8459
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8482
+src line: 8529
.
![foo](/url "title")
@@ -6992,7 +7032,7 @@ src line: 8482
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8489
+src line: 8536
.
![foo *bar*]
@@ -7003,7 +7043,7 @@ src line: 8489
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8498
+src line: 8545
.
![foo ![bar](/url)](/url2)
@@ -7012,7 +7052,7 @@ src line: 8498
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8505
+src line: 8552
.
![foo [bar](/url)](/url2)
@@ -7021,7 +7061,7 @@ src line: 8505
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8519
+src line: 8566
.
![foo *bar*][]
@@ -7032,7 +7072,7 @@ src line: 8519
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8528
+src line: 8575
.
![foo *bar*][foobar]
@@ -7043,7 +7083,7 @@ src line: 8528
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8537
+src line: 8584
.
![foo](train.jpg)
@@ -7052,7 +7092,7 @@ src line: 8537
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8544
+src line: 8591
.
My ![foo bar](/path/to/train.jpg "title" )
@@ -7061,7 +7101,7 @@ My ![foo bar](/path/to/train.jpg "title" )
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8551
+src line: 8598
.
![foo]()
@@ -7070,7 +7110,7 @@ src line: 8551
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8558
+src line: 8605
.
![](/url)
@@ -7079,7 +7119,7 @@ src line: 8558
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8567
+src line: 8614
.
![foo][bar]
@@ -7090,7 +7130,7 @@ src line: 8567
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8576
+src line: 8623
.
![foo][bar]
@@ -7101,7 +7141,7 @@ src line: 8576
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8587
+src line: 8634
.
![foo][]
@@ -7112,7 +7152,7 @@ src line: 8587
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8596
+src line: 8643
.
![*foo* bar][]
@@ -7123,7 +7163,7 @@ src line: 8596
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8607
+src line: 8654
.
![Foo][]
@@ -7134,7 +7174,7 @@ src line: 8607
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8619
+src line: 8666
.
![foo]
@@ -7147,7 +7187,7 @@ src line: 8619
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8632
+src line: 8679
.
![foo]
@@ -7158,7 +7198,7 @@ src line: 8632
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8641
+src line: 8688
.
![*foo* bar]
@@ -7169,7 +7209,7 @@ src line: 8641
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8652
+src line: 8699
.
![[foo]]
@@ -7181,7 +7221,7 @@ src line: 8652
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8664
+src line: 8711
.
![Foo]
@@ -7192,7 +7232,7 @@ src line: 8664
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8676
+src line: 8723
.
!\[foo]
@@ -7203,7 +7243,7 @@ src line: 8676
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8688
+src line: 8735
.
\![foo]
@@ -7214,7 +7254,7 @@ src line: 8688
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8721
+src line: 8768
.
@@ -7223,7 +7263,7 @@ src line: 8721
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8728
+src line: 8775
.
@@ -7232,7 +7272,7 @@ src line: 8728
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8735
+src line: 8782
.
@@ -7241,7 +7281,7 @@ src line: 8735
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8744
+src line: 8791
.
@@ -7250,7 +7290,7 @@ src line: 8744
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8756
+src line: 8803
.
@@ -7259,7 +7299,7 @@ src line: 8756
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8763
+src line: 8810
.
@@ -7268,7 +7308,7 @@ src line: 8763
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8770
+src line: 8817
.
@@ -7277,7 +7317,7 @@ src line: 8770
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8777
+src line: 8824
.
@@ -7286,7 +7326,7 @@ src line: 8777
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8786
+src line: 8833
.
@@ -7295,7 +7335,7 @@ src line: 8786
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8795
+src line: 8842
.
@@ -7304,7 +7344,7 @@ src line: 8795
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8817
+src line: 8864
.
@@ -7313,7 +7353,7 @@ src line: 8817
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8824
+src line: 8871
.
@@ -7322,7 +7362,7 @@ src line: 8824
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8833
+src line: 8880
.
@@ -7331,7 +7371,7 @@ src line: 8833
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8842
+src line: 8889
.
<>
@@ -7340,7 +7380,7 @@ src line: 8842
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8849
+src line: 8896
.
< http://foo.bar >
@@ -7349,7 +7389,7 @@ src line: 8849
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8856
+src line: 8903
.
@@ -7358,7 +7398,7 @@ src line: 8856
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8863
+src line: 8910
.
@@ -7367,7 +7407,7 @@ src line: 8863
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8870
+src line: 8917
.
http://example.com
@@ -7376,7 +7416,7 @@ http://example.com
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8877
+src line: 8924
.
foo@bar.example.com
@@ -7385,7 +7425,7 @@ foo@bar.example.com
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8959
+src line: 9005
.
@@ -7394,7 +7434,7 @@ src line: 8959
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8968
+src line: 9014
.
@@ -7403,7 +7443,7 @@ src line: 8968
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8977
+src line: 9023
.
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8988
+src line: 9034
.
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 8999
+src line: 9045
.
Foo
@@ -7434,7 +7474,7 @@ Foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9008
+src line: 9054
.
<33> <__>
@@ -7443,7 +7483,7 @@ src line: 9008
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9017
+src line: 9063
.
@@ -7452,7 +7492,7 @@ src line: 9017
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9026
+src line: 9072
.
@@ -7503,7 +7543,7 @@ src line: 9068
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9077
+src line: 9123
.
foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9086
+src line: 9132
.
foo
@@ -7523,7 +7563,7 @@ foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9095
+src line: 9141
.
foo foo -->
@@ -7535,7 +7575,7 @@ foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9107
+src line: 9153
.
foo
@@ -7544,7 +7584,7 @@ foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9116
+src line: 9162
.
foo
@@ -7553,7 +7593,7 @@ foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9125
+src line: 9171
.
foo &<]]>
@@ -7562,7 +7602,7 @@ foo &<]]>
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9135
+src line: 9181
.
foo
@@ -7571,7 +7611,7 @@ foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9144
+src line: 9190
.
foo
@@ -7580,7 +7620,7 @@ foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9151
+src line: 9197
.
@@ -7589,7 +7629,7 @@ src line: 9151
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9165
+src line: 9211
.
foo
@@ -7600,7 +7640,7 @@ baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9177
+src line: 9223
.
foo\
@@ -7611,7 +7651,7 @@ baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9188
+src line: 9234
.
foo
@@ -7622,7 +7662,7 @@ baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9199
+src line: 9245
.
foo
@@ -7633,7 +7673,7 @@ bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9208
+src line: 9254
.
foo\
@@ -7644,7 +7684,7 @@ bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9220
+src line: 9266
.
*foo
@@ -7655,7 +7695,7 @@ bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9229
+src line: 9275
.
*foo\
@@ -7666,17 +7706,17 @@ bar
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9240
+src line: 9286
.
-`code
+`code
span`
.
-code span
+code span
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9248
+src line: 9294
.
`code\
@@ -7686,7 +7726,7 @@ span`
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9258
+src line: 9304
.
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9267
+src line: 9313
.
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9280
+src line: 9326
.
foo\
@@ -7717,7 +7757,7 @@ foo\
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9287
+src line: 9333
.
foo
@@ -7726,7 +7766,7 @@ foo
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9294
+src line: 9340
.
### foo\
@@ -7735,7 +7775,7 @@ src line: 9294
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9301
+src line: 9347
.
### foo
@@ -7744,7 +7784,7 @@ src line: 9301
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9316
+src line: 9362
.
foo
@@ -7755,7 +7795,7 @@ baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9328
+src line: 9374
.
foo
@@ -7766,7 +7806,7 @@ baz
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9348
+src line: 9394
.
hello $.;'there
@@ -7775,7 +7815,7 @@ hello $.;'there
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9355
+src line: 9401
.
Foo χρῆν
@@ -7784,7 +7824,7 @@ Foo χρῆν
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 9364
+src line: 9410
.
Multiple spaces
diff --git a/test/fixtures/commonmark/spec.txt b/test/fixtures/commonmark/spec.txt
index 3913de442..e6f313757 100644
--- a/test/fixtures/commonmark/spec.txt
+++ b/test/fixtures/commonmark/spec.txt
@@ -1,8 +1,8 @@
---
title: CommonMark Spec
author: John MacFarlane
-version: 0.29
-date: '2019-04-06'
+version: 0.30
+date: '2021-06-19'
license: '[CC-BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)'
...
@@ -270,6 +270,16 @@ of representing the structural distinctions we need to make, and the
choice of HTML for the tests makes it possible to run the tests against
an implementation without writing an abstract syntax tree renderer.
+Note that not every feature of the HTML samples is mandated by
+the spec. For example, the spec says what counts as a link
+destination, but it doesn't mandate that non-ASCII characters in
+the URL be percent-encoded. To use the automatic tests,
+implementers will need to provide a renderer that conforms to
+the expectations of the spec examples (percent-encoding
+non-ASCII characters in URLs). But a conforming implementation
+can use a different renderer and may choose not to
+percent-encode non-ASCII characters in URLs.
+
This document is generated from a text file, `spec.txt`, written
in Markdown with a small extension for the side-by-side tests.
The script `tools/makespec.py` can be used to convert `spec.txt` into
@@ -294,37 +304,31 @@ of [characters] rather than bytes. A conforming parser may be limited
to a certain encoding.
A [line](@) is a sequence of zero or more [characters]
-other than newline (`U+000A`) or carriage return (`U+000D`),
+other than line feed (`U+000A`) or carriage return (`U+000D`),
followed by a [line ending] or by the end of file.
-A [line ending](@) is a newline (`U+000A`), a carriage return
-(`U+000D`) not followed by a newline, or a carriage return and a
-following newline.
+A [line ending](@) is a line feed (`U+000A`), a carriage return
+(`U+000D`) not followed by a line feed, or a carriage return and a
+following line feed.
A line containing no characters, or a line containing only spaces
(`U+0020`) or tabs (`U+0009`), is called a [blank line](@).
The following definitions of character classes will be used in this spec:
-A [whitespace character](@) is a space
-(`U+0020`), tab (`U+0009`), newline (`U+000A`), line tabulation (`U+000B`),
-form feed (`U+000C`), or carriage return (`U+000D`).
-
-[Whitespace](@) is a sequence of one or more [whitespace
-characters].
-
A [Unicode whitespace character](@) is
any code point in the Unicode `Zs` general category, or a tab (`U+0009`),
-carriage return (`U+000D`), newline (`U+000A`), or form feed
-(`U+000C`).
+line feed (`U+000A`), form feed (`U+000C`), or carriage return (`U+000D`).
+
+[Unicode whitespace](@) is a sequence of one or more
+[Unicode whitespace characters].
-[Unicode whitespace](@) is a sequence of one
-or more [Unicode whitespace characters].
+A [tab](@) is `U+0009`.
A [space](@) is `U+0020`.
-A [non-whitespace character](@) is any character
-that is not a [whitespace character].
+An [ASCII control character](@) is a character between `U+0000–1F` (both
+including) or `U+007F`.
An [ASCII punctuation character](@)
is `!`, `"`, `#`, `$`, `%`, `&`, `'`, `(`, `)`,
@@ -333,14 +337,14 @@ is `!`, `"`, `#`, `$`, `%`, `&`, `'`, `(`, `)`,
`[`, `\`, `]`, `^`, `_`, `` ` `` (U+005B–0060),
`{`, `|`, `}`, or `~` (U+007B–007E).
-A [punctuation character](@) is an [ASCII
+A [Unicode punctuation character](@) is an [ASCII
punctuation character] or anything in
the general Unicode categories `Pc`, `Pd`, `Pe`, `Pf`, `Pi`, `Po`, or `Ps`.
## Tabs
Tabs in lines are not expanded to [spaces]. However,
-in contexts where whitespace helps to define block structure,
+in contexts where spaces help to define block structure,
tabs behave as if they were replaced by spaces with a tab stop
of 4 characters.
@@ -478,1575 +482,1916 @@ bar
For security reasons, the Unicode character `U+0000` must be replaced
with the REPLACEMENT CHARACTER (`U+FFFD`).
-# Blocks and inlines
-
-We can think of a document as a sequence of
-[blocks](@)---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 [inline](@) content---text,
-links, emphasized text, images, code spans, and so on.
-## Precedence
+## Backslash escapes
-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:
+Any ASCII punctuation character may be backslash-escaped:
```````````````````````````````` example
-- `one
-- two`
+\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\\\]\^\_\`\{\|\}\~
.
-
-- `one
-- two`
-
+!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
````````````````````````````````
-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.
-
-## Container blocks and leaf blocks
-
-We can divide blocks into two types:
-[container blocks](@),
-which can contain other blocks, and [leaf blocks](@),
-which cannot.
-
-# Leaf blocks
+Backslashes before other characters are treated as literal
+backslashes:
-This section describes the different kinds of leaf block that make up a
-Markdown document.
+```````````````````````````````` example
+\→\A\a\ \3\φ\«
+.
+\→\A\a\ \3\φ\«
+````````````````````````````````
-## Thematic breaks
-A line consisting of 0-3 spaces of indentation, followed by a sequence
-of three or more matching `-`, `_`, or `*` characters, each followed
-optionally by any number of spaces or tabs, forms a
-[thematic break](@).
+Escaped characters are treated as regular characters and do
+not have their usual Markdown meanings:
```````````````````````````````` example
-***
----
-___
+\*not emphasized*
+\
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
.
-
-
-
+*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
````````````````````````````````
-Wrong characters:
+If a backslash is itself escaped, the following character is not:
```````````````````````````````` example
-+++
+\\*emphasis*
.
-+++
+\emphasis
````````````````````````````````
+A backslash at the end of the line is a [hard line break]:
+
```````````````````````````````` example
-===
+foo\
+bar
.
-===
+foo
+bar
````````````````````````````````
-Not enough characters:
+Backslash escapes do not work in code blocks, code spans, autolinks, or
+raw HTML:
```````````````````````````````` example
---
-**
-__
+`` \[\` ``
.
---
-**
-__
+\[\`
````````````````````````````````
-One to three spaces indent are allowed:
-
```````````````````````````````` example
- ***
- ***
- ***
+ \[\]
.
-
-
-
+\[\]
+
````````````````````````````````
-Four spaces is too many:
-
```````````````````````````````` example
- ***
+~~~
+\[\]
+~~~
.
-***
+\[\]
````````````````````````````````
```````````````````````````````` example
-Foo
- ***
+
.
-Foo
-***
+
````````````````````````````````
-More than three characters may be used:
-
```````````````````````````````` example
-_____________________________________
+
.
-
+
````````````````````````````````
-Spaces are allowed between the characters:
+But they work in all other contexts, including URLs and link titles,
+link references, and [info strings] in [fenced code blocks]:
```````````````````````````````` example
- - - -
+[foo](/bar\* "ti\*tle")
.
-
+
````````````````````````````````
```````````````````````````````` example
- ** * ** * ** * **
+[foo]
+
+[foo]: /bar\* "ti\*tle"
.
-
+
````````````````````````````````
```````````````````````````````` example
-- - - -
+``` foo\+bar
+foo
+```
.
-
+foo
+
````````````````````````````````
-Spaces are allowed at the end:
+## Entity and numeric character references
-```````````````````````````````` example
-- - - -
-.
-
-````````````````````````````````
+Valid HTML entity references and numeric character references
+can be used in place of the corresponding Unicode character,
+with the following exceptions:
+- Entity and character references are not recognized in code
+ blocks and code spans.
-However, no other characters may occur in the line:
+- Entity and character references cannot stand in place of
+ special characters that define structural elements in
+ CommonMark. For example, although `*` can be used
+ in place of a literal `*` character, `*` cannot replace
+ `*` in emphasis delimiters, bullet list markers, or thematic
+ breaks.
-```````````````````````````````` example
-_ _ _ _ a
+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.
-a------
+[Entity references](@) consist of `&` + any of the valid
+HTML5 entity names + `;`. The
+document
+is used as an authoritative source for the valid entity
+references and their corresponding code points.
----a---
+```````````````````````````````` example
+ & © Æ Ď
+¾ ℋ ⅆ
+∲ ≧̸
.
-_ _ _ _ a
-a------
----a---
+ & © Æ Ď
+¾ ℋ ⅆ
+∲ ≧̸
````````````````````````````````
-It is required that all of the [non-whitespace characters] be the same.
-So, this is not a thematic break:
+[Decimal numeric character
+references](@)
+consist of `` + a string of 1--7 arabic digits + `;`. A
+numeric character reference is parsed as the corresponding
+Unicode character. Invalid Unicode code points will be replaced by
+the REPLACEMENT CHARACTER (`U+FFFD`). For security reasons,
+the code point `U+0000` will also be replaced by `U+FFFD`.
```````````````````````````````` example
- *-*
+# Ӓ Ϡ
.
--
+# Ӓ Ϡ �
````````````````````````````````
-Thematic breaks do not need blank lines before or after:
+[Hexadecimal numeric character
+references](@) consist of `` +
+either `X` or `x` + a string of 1-6 hexadecimal digits + `;`.
+They too are parsed as the corresponding Unicode character (this
+time specified with a hexadecimal numeral instead of decimal).
```````````````````````````````` example
-- foo
-***
-- bar
+" ആ ಫ
.
-
-- foo
-
-
-
-- bar
-
+" ആ ಫ
````````````````````````````````
-Thematic breaks can interrupt a paragraph:
+Here are some nonentities:
```````````````````````````````` example
-Foo
-***
-bar
+  &x;
+
+abcdef0;
+&ThisIsNotDefined; &hi?;
.
-Foo
-
-bar
+  &x; &#; &#x;
+�
+&#abcdef0;
+&ThisIsNotDefined; &hi?;
````````````````````````````````
-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:
+Although HTML5 does accept some entity references
+without a trailing semicolon (such as `©`), these are not
+recognized here, because it makes the grammar too ambiguous:
```````````````````````````````` example
-Foo
----
-bar
+©
.
-Foo
-bar
+©
````````````````````````````````
-When both a thematic break and a list item are possible
-interpretations of a line, the thematic break takes precedence:
+Strings that are not on the list of HTML5 named entities are not
+recognized as entity references either:
```````````````````````````````` example
-* Foo
-* * *
-* Bar
+&MadeUpEntity;
.
-
-- Foo
-
-
-
-- Bar
-
+&MadeUpEntity;
````````````````````````````````
-If you want a thematic break in a list item, use a different bullet:
+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]:
```````````````````````````````` example
-- Foo
-- * * *
+
.
-
-- Foo
--
-
-
-
+
````````````````````````````````
-## ATX headings
-
-An [ATX heading](@)
-consists of a string of characters, parsed as inline content, between an
-opening sequence of 1--6 unescaped `#` characters and an optional
-closing sequence of any number of unescaped `#` characters.
-The opening sequence of `#` characters must be followed by a
-[space] or by the end of line. The optional closing sequence of `#`s must be
-preceded by a [space] and may be followed by spaces only. The opening
-`#` 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 `#`
-characters in the opening sequence.
+```````````````````````````````` example
+[foo](/föö "föö")
+.
+
+````````````````````````````````
-Simple headings:
```````````````````````````````` example
-# foo
-## foo
-### foo
-#### foo
-##### foo
-###### foo
+[foo]
+
+[foo]: /föö "föö"
.
-foo
-foo
-foo
-foo
-foo
-foo
+
````````````````````````````````
-More than six `#` characters is not a heading:
-
```````````````````````````````` example
-####### foo
+``` föö
+foo
+```
.
-####### foo
+foo
+
````````````````````````````````
-At least one space is required between the `#` 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
-[original ATX implementation](http://www.aaronsw.com/2002/atx/atx.py),
-and it helps prevent things like the following from being parsed as
-headings:
+Entity and numeric character references are treated as literal
+text in code spans and code blocks:
```````````````````````````````` example
-#5 bolt
+`föö`
+.
+föö
+````````````````````````````````
-#hashtag
+
+```````````````````````````````` example
+ föfö
.
-#5 bolt
-#hashtag
+föfö
+
````````````````````````````````
-This is not a heading, because the first `#` is escaped:
+Entity and numeric character references cannot be used
+in place of symbols indicating structure in CommonMark
+documents.
```````````````````````````````` example
-\## foo
+*foo*
+*foo*
.
-## foo
+*foo*
+foo
````````````````````````````````
+```````````````````````````````` example
+* foo
-Contents are parsed as inlines:
+* foo
+.
+* foo
+
+- foo
+
+````````````````````````````````
```````````````````````````````` example
-# foo *bar* \*baz\*
+foo
bar
.
-foo bar *baz*
+foo
+
+bar
````````````````````````````````
+```````````````````````````````` example
+ foo
+.
+→foo
+````````````````````````````````
-Leading and trailing [whitespace] is ignored in parsing inline content:
```````````````````````````````` example
-# foo
+[a](url "tit")
.
-foo
+[a](url "tit")
````````````````````````````````
-One to three spaces indentation are allowed:
+
+# Blocks and inlines
+
+We can think of a document as a sequence of
+[blocks](@)---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 [inline](@) content---text,
+links, emphasized text, images, code spans, and so on.
+
+## Precedence
+
+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:
```````````````````````````````` example
- ### foo
- ## foo
- # foo
+- `one
+- two`
.
-foo
-foo
-foo
+
+- `one
+- two`
+
````````````````````````````````
-Four spaces are too much:
+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.
+
+## Container blocks and leaf blocks
+
+We can divide blocks into two types:
+[container blocks](#container-blocks),
+which can contain other blocks, and [leaf blocks](#leaf-blocks),
+which cannot.
+
+# Leaf blocks
+
+This section describes the different kinds of leaf block that make up a
+Markdown document.
+
+## Thematic breaks
+
+A line consisting of optionally up to three spaces of indentation, followed by a
+sequence of three or more matching `-`, `_`, or `*` characters, each followed
+optionally by any number of spaces or tabs, forms a
+[thematic break](@).
```````````````````````````````` example
- # foo
+***
+---
+___
.
-# foo
-
+
+
+
````````````````````````````````
+Wrong characters:
+
```````````````````````````````` example
-foo
- # bar
++++
.
-foo
-# bar
++++
````````````````````````````````
-A closing sequence of `#` characters is optional:
-
```````````````````````````````` example
-## foo ##
- ### bar ###
+===
.
-foo
-bar
+===
````````````````````````````````
-It need not be the same length as the opening sequence:
+Not enough characters:
```````````````````````````````` example
-# foo ##################################
-##### foo ##
+--
+**
+__
.
-foo
-foo
+--
+**
+__
````````````````````````````````
-Spaces are allowed after the closing sequence:
+Up to three spaces of indentation are allowed:
```````````````````````````````` example
-### foo ###
+ ***
+ ***
+ ***
.
-foo
+
+
+
````````````````````````````````
-A sequence of `#` characters with anything but [spaces] following it
-is not a closing sequence, but counts as part of the contents of the
-heading:
+Four spaces of indentation is too many:
```````````````````````````````` example
-### foo ### b
+ ***
.
-foo ### b
+***
+
````````````````````````````````
-The closing sequence must be preceded by a space:
-
```````````````````````````````` example
-# foo#
+Foo
+ ***
.
-foo#
+Foo
+***
````````````````````````````````
-Backslash-escaped `#` characters do not count as part
-of the closing sequence:
+More than three characters may be used:
```````````````````````````````` example
-### foo \###
-## foo #\##
-# foo \#
+_____________________________________
.
-foo ###
-foo ###
-foo #
+
````````````````````````````````
-ATX headings need not be separated from surrounding content by blank
-lines, and they can interrupt paragraphs:
+Spaces and tabs are allowed between the characters:
```````````````````````````````` example
-****
-## foo
-****
+ - - -
.
-foo
-
````````````````````````````````
```````````````````````````````` example
-Foo bar
-# baz
-Bar foo
+ ** * ** * ** * **
.
-Foo bar
-baz
-Bar foo
+
````````````````````````````````
-ATX headings can be empty:
-
```````````````````````````````` example
-##
-#
-### ###
+- - - -
.
-
-
-
+
````````````````````````````````
-## Setext headings
-
-A [setext heading](@) 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].
-
-A [setext heading underline](@) is a sequence of
-`=` characters or a sequence of `-` characters, with no more than 3
-spaces indentation and any number of trailing spaces. If a line
-containing a single `-` can be interpreted as an
-empty [list items], it should be interpreted this way
-and not as a [setext heading underline].
+Spaces and tabs are allowed at the end:
-The heading is a level 1 heading if `=` characters are used in
-the [setext heading underline], and a level 2 heading if `-`
-characters are used. The contents of the heading are the result
-of parsing the preceding lines of text as CommonMark inline
-content.
+```````````````````````````````` example
+- - - -
+.
+
+````````````````````````````````
-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.
-Simple examples:
+However, no other characters may occur in the line:
```````````````````````````````` example
-Foo *bar*
-=========
+_ _ _ _ a
-Foo *bar*
----------
+a------
+
+---a---
.
-Foo bar
-Foo bar
+_ _ _ _ a
+a------
+---a---
````````````````````````````````
-The content of the header may span more than one line:
+It is required that all of the characters other than spaces or tabs be the same.
+So, this is not a thematic break:
```````````````````````````````` example
-Foo *bar
-baz*
-====
+ *-*
.
-Foo bar
-baz
+-
````````````````````````````````
-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].
+
+Thematic breaks do not need blank lines before or after:
```````````````````````````````` example
- Foo *bar
-baz*→
-====
+- foo
+***
+- bar
.
-Foo bar
-baz
+
+- foo
+
+
+
+- bar
+
````````````````````````````````
-The underlining can be any length:
+Thematic breaks can interrupt a paragraph:
```````````````````````````````` example
Foo
--------------------------
-
-Foo
-=
+***
+bar
.
-Foo
-Foo
+Foo
+
+bar
````````````````````````````````
-The heading content can be indented up to three spaces, and need
-not line up with the underlining:
+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:
```````````````````````````````` example
- Foo
+Foo
---
-
- Foo
------
-
- Foo
- ===
+bar
.
Foo
-Foo
-Foo
+bar
````````````````````````````````
-Four spaces indent is too much:
+When both a thematic break and a list item are possible
+interpretations of a line, the thematic break takes precedence:
```````````````````````````````` example
- Foo
- ---
-
- Foo
----
+* Foo
+* * *
+* Bar
.
-Foo
----
+
+- Foo
+
+
+
+- Bar
+
+````````````````````````````````
-Foo
-
+
+If you want a thematic break in a list item, use a different bullet:
+
+```````````````````````````````` example
+- Foo
+- * * *
+.
+
+- Foo
+-
+
+
````````````````````````````````
-The setext heading underline can be indented up to three spaces, and
-may have trailing spaces:
+## ATX headings
+
+An [ATX heading](@)
+consists of a string of characters, parsed as inline content, between an
+opening sequence of 1--6 unescaped `#` characters and an optional
+closing sequence of any number of unescaped `#` characters.
+The opening sequence of `#` characters must be followed by spaces or tabs, or
+by the end of line. The optional closing sequence of `#`s must be preceded by
+spaces or tabs and may be followed by spaces or tabs only. The opening
+`#` character may be preceded by up to three spaces of indentation. The raw
+contents of the heading are stripped of leading and trailing space or tabs
+before being parsed as inline content. The heading level is equal to the number
+of `#` characters in the opening sequence.
+
+Simple headings:
```````````````````````````````` example
-Foo
- ----
+# foo
+## foo
+### foo
+#### foo
+##### foo
+###### foo
.
-Foo
+foo
+foo
+foo
+foo
+foo
+foo
````````````````````````````````
-Four spaces is too much:
+More than six `#` characters is not a heading:
```````````````````````````````` example
-Foo
- ---
+####### foo
.
-Foo
----
+####### foo
````````````````````````````````
-The setext heading underline cannot contain internal spaces:
+At least one space or tab is required between the `#` 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
+[original ATX implementation](http://www.aaronsw.com/2002/atx/atx.py),
+and it helps prevent things like the following from being parsed as
+headings:
```````````````````````````````` example
-Foo
-= =
+#5 bolt
-Foo
---- -
+#hashtag
.
-Foo
-= =
-Foo
-
+#5 bolt
+#hashtag
````````````````````````````````
-Trailing spaces in the content line do not cause a line break:
+This is not a heading, because the first `#` is escaped:
```````````````````````````````` example
-Foo
------
+\## foo
.
-Foo
+## foo
````````````````````````````````
-Nor does a backslash at the end:
+Contents are parsed as inlines:
```````````````````````````````` example
-Foo\
-----
+# foo *bar* \*baz\*
.
-Foo\
+foo bar *baz*
````````````````````````````````
-Since indicators of block structure take precedence over
-indicators of inline structure, the following are setext headings:
+Leading and trailing spaces or tabs are ignored in parsing inline content:
```````````````````````````````` example
-`Foo
-----
-`
-
-
+# foo
.
-`Foo
-`
-<a title="a lot
-of dashes"/>
+foo
````````````````````````````````
-The setext heading underline cannot be a [lazy continuation
-line] in a list item or block quote:
+Up to three spaces of indentation are allowed:
```````````````````````````````` example
-> Foo
----
+ ### foo
+ ## foo
+ # foo
.
-
-Foo
-
-
+foo
+foo
+foo
````````````````````````````````
+Four spaces of indentation is too many:
+
```````````````````````````````` example
-> foo
-bar
-===
+ # foo
.
-
-foo
-bar
-===
-
+# foo
+
````````````````````````````````
```````````````````````````````` example
-- Foo
----
+foo
+ # bar
.
-
-- Foo
-
-
+foo
+# bar
````````````````````````````````
-A blank line is needed between a paragraph and a following
-setext heading, since otherwise the paragraph becomes part
-of the heading's content:
+A closing sequence of `#` characters is optional:
```````````````````````````````` example
-Foo
-Bar
----
+## foo ##
+ ### bar ###
.
-Foo
-Bar
+foo
+bar
````````````````````````````````
-But in general a blank line is not required before or after
-setext headings:
+It need not be the same length as the opening sequence:
```````````````````````````````` example
----
-Foo
----
-Bar
----
-Baz
+# foo ##################################
+##### foo ##
.
-
-Foo
-Bar
-Baz
+foo
+foo
````````````````````````````````
-Setext headings cannot be empty:
+Spaces or tabs are allowed after the closing sequence:
```````````````````````````````` example
+### foo ###
+.
+foo
+````````````````````````````````
-====
+
+A sequence of `#` characters with anything but spaces or tabs following it
+is not a closing sequence, but counts as part of the contents of the
+heading:
+
+```````````````````````````````` example
+### foo ### b
.
-====
+foo ### b
````````````````````````````````
-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:
+The closing sequence must be preceded by a space or tab:
```````````````````````````````` example
----
----
+# foo#
.
-
-
+foo#
````````````````````````````````
+Backslash-escaped `#` characters do not count as part
+of the closing sequence:
+
```````````````````````````````` example
-- foo
------
+### foo \###
+## foo #\##
+# foo \#
.
-
-- foo
-
-
+foo ###
+foo ###
+foo #
````````````````````````````````
+ATX headings need not be separated from surrounding content by blank
+lines, and they can interrupt paragraphs:
+
```````````````````````````````` example
- foo
----
+****
+## foo
+****
.
-foo
-
+
+foo
````````````````````````````````
```````````````````````````````` example
-> foo
------
+Foo bar
+# baz
+Bar foo
.
-
-foo
-
-
+Foo bar
+baz
+Bar foo
````````````````````````````````
-If you want a heading with `> foo` as its literal text, you can
-use backslash escapes:
+ATX headings can be empty:
```````````````````````````````` example
-\> foo
-------
+##
+#
+### ###
.
-> foo
+
+
+
````````````````````````````````
-**Compatibility note:** 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
+## Setext headings
-``` markdown
-Foo
-bar
----
-baz
-```
+A [setext heading](@) consists of one or more
+lines of text, not interrupted by a blank line, of which the first line does not
+have more than 3 spaces of 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].
-One can find four different interpretations:
+A [setext heading underline](@) is a sequence of
+`=` characters or a sequence of `-` characters, with no more than 3
+spaces of indentation and any number of trailing spaces or tabs. If a line
+containing a single `-` can be interpreted as an
+empty [list items], it should be interpreted this way
+and not as a [setext heading underline].
-1. paragraph "Foo", heading "bar", paragraph "baz"
-2. paragraph "Foo bar", thematic break, paragraph "baz"
-3. paragraph "Foo bar --- baz"
-4. heading "Foo bar", paragraph "baz"
+The heading is a level 1 heading if `=` characters are used in
+the [setext heading underline], and a level 2 heading if `-`
+characters are used. The contents of the heading are the result
+of parsing the preceding lines of text as CommonMark inline
+content.
-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:
+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.
+
+Simple examples:
```````````````````````````````` example
-Foo
+Foo *bar*
+=========
-bar
----
-baz
+Foo *bar*
+---------
.
-Foo
-bar
-baz
+Foo bar
+Foo bar
````````````````````````````````
-Authors who want interpretation 2 can put blank lines around
-the thematic break,
+The content of the header may span more than one line:
```````````````````````````````` example
-Foo
-bar
+Foo *bar
+baz*
+====
+.
+Foo bar
+baz
+````````````````````````````````
----
+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
+spaces or tabs.
-baz
+```````````````````````````````` example
+ Foo *bar
+baz*→
+====
.
-Foo
-bar
-
-baz
+Foo bar
+baz
````````````````````````````````
-or use a thematic break that cannot count as a [setext heading
-underline], such as
+The underlining can be any length:
```````````````````````````````` example
Foo
-bar
-* * *
-baz
+-------------------------
+
+Foo
+=
.
-Foo
-bar
-
-baz
+Foo
+Foo
````````````````````````````````
-Authors who want interpretation 3 can use backslash escapes:
+The heading content can be preceded by up to three spaces of indentation, and
+need not line up with the underlining:
```````````````````````````````` example
-Foo
-bar
-\---
-baz
-.
-Foo
-bar
+ Foo
---
-baz
-````````````````````````````````
+ Foo
+-----
-## Indented code blocks
+ Foo
+ ===
+.
+Foo
+Foo
+Foo
+````````````````````````````````
-An [indented code block](@) is composed of one or more
-[indented chunks] separated by blank lines.
-An [indented chunk](@) 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].
-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.)
+Four spaces of indentation is too many:
```````````````````````````````` example
- a simple
- indented code block
+ Foo
+ ---
+
+ Foo
+---
.
-a simple
- indented code block
+Foo
+---
+
+Foo
+
````````````````````````````````
-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:
+The setext heading underline can be preceded by up to three spaces of
+indentation, and may have trailing spaces or tabs:
```````````````````````````````` example
- - foo
-
- bar
+Foo
+ ----
.
-
--
-
foo
-bar
-
-
+Foo
````````````````````````````````
-```````````````````````````````` example
-1. foo
+Four spaces of indentation is too many:
- - bar
+```````````````````````````````` example
+Foo
+ ---
.
-
--
-
foo
-
-- bar
-
-
-
+Foo
+---
````````````````````````````````
-
-The contents of a code block are literal text, and do not get parsed
-as Markdown:
+The setext heading underline cannot contain internal spaces or tabs:
```````````````````````````````` example
-
- *hi*
+Foo
+= =
- - one
+Foo
+--- -
.
-<a/>
-*hi*
-
-- one
-
+Foo
+= =
+Foo
+
````````````````````````````````
-Here we have three chunks separated by blank lines:
+Trailing spaces or tabs in the content line do not cause a hard line break:
```````````````````````````````` example
- chunk1
-
- chunk2
-
-
-
- chunk3
+Foo
+-----
.
-chunk1
-
-chunk2
-
-
-
-chunk3
-
+Foo
````````````````````````````````
-Any initial spaces beyond four will be included in the content, even
-in interior blank lines:
+Nor does a backslash at the end:
```````````````````````````````` example
- chunk1
-
- chunk2
+Foo\
+----
.
-chunk1
-
- chunk2
-
+Foo\
````````````````````````````````
-An indented code block cannot interrupt a paragraph. (This
-allows hanging indents and the like.)
+Since indicators of block structure take precedence over
+indicators of inline structure, the following are setext headings:
```````````````````````````````` example
-Foo
- bar
+`Foo
+----
+`
+
.
-Foo
-bar
+`Foo
+`
+<a title="a lot
+of dashes"/>
````````````````````````````````
-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:
+The setext heading underline cannot be a [lazy continuation
+line] in a list item or block quote:
```````````````````````````````` example
- foo
-bar
+> Foo
+---
.
-foo
-
-bar
+
+Foo
+
+
````````````````````````````````
-And indented code can occur immediately before and after other kinds of
-blocks:
-
```````````````````````````````` example
-# Heading
- foo
-Heading
-------
- foo
-----
+> foo
+bar
+===
.
-Heading
-foo
-
-Heading
-foo
-
-
+
+foo
+bar
+===
+
````````````````````````````````
-The first line can be indented more than four spaces:
-
```````````````````````````````` example
- foo
- bar
+- Foo
+---
.
- foo
-bar
-
+
+- Foo
+
+
````````````````````````````````
-Blank lines preceding or following an indented code block
-are not included in it:
+A blank line is needed between a paragraph and a following
+setext heading, since otherwise the paragraph becomes part
+of the heading's content:
```````````````````````````````` example
-
-
- foo
-
-
+Foo
+Bar
+---
.
-foo
-
+Foo
+Bar
````````````````````````````````
-Trailing spaces are included in the code block's content:
+But in general a blank line is not required before or after
+setext headings:
```````````````````````````````` example
- foo
+---
+Foo
+---
+Bar
+---
+Baz
.
-foo
-
+
+Foo
+Bar
+Baz
````````````````````````````````
+Setext headings cannot be empty:
-## Fenced code blocks
-
-A [code fence](@) is a sequence
-of at least three consecutive backtick characters (`` ` ``) or
-tildes (`~`). (Tildes and backticks cannot be mixed.)
-A [fenced code block](@)
-begins with a code fence, indented no more than three spaces.
-
-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 [info string](@). 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.)
+```````````````````````````````` example
-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.)
+====
+.
+====
+````````````````````````````````
-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.)
-A fenced code block may interrupt a paragraph, and does not require
-a blank line either before or after.
+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:
-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 `class`
-attribute of the `code` tag. However, this spec does not mandate any
-particular treatment of the [info string].
+```````````````````````````````` example
+---
+---
+.
+
+
+````````````````````````````````
-Here is a simple example with backticks:
```````````````````````````````` example
-```
-<
- >
-```
+- foo
+-----
.
-<
- >
-
+
+- foo
+
+
````````````````````````````````
-With tildes:
-
```````````````````````````````` example
-~~~
-<
- >
-~~~
+ foo
+---
.
-<
- >
+foo
+
````````````````````````````````
-Fewer than three backticks is not enough:
```````````````````````````````` example
-``
-foo
-``
+> foo
+-----
.
-foo
+
+foo
+
+
````````````````````````````````
-The closing code fence must use the same character as the opening
-fence:
+
+If you want a heading with `> foo` as its literal text, you can
+use backslash escapes:
```````````````````````````````` example
-```
-aaa
-~~~
-```
+\> foo
+------
.
-aaa
-~~~
-
+> foo
````````````````````````````````
-```````````````````````````````` example
-~~~
-aaa
-```
-~~~
-.
-aaa
+**Compatibility note:** 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
+
+``` markdown
+Foo
+bar
+---
+baz
```
-
-````````````````````````````````
+One can find four different interpretations:
-The closing code fence must be at least as long as the opening fence:
+1. paragraph "Foo", heading "bar", paragraph "baz"
+2. paragraph "Foo bar", thematic break, paragraph "baz"
+3. paragraph "Foo bar --- baz"
+4. heading "Foo bar", paragraph "baz"
+
+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:
```````````````````````````````` example
-````
-aaa
-```
-``````
+Foo
+
+bar
+---
+baz
.
-aaa
-```
-
+Foo
+bar
+baz
````````````````````````````````
+Authors who want interpretation 2 can put blank lines around
+the thematic break,
+
```````````````````````````````` example
-~~~~
-aaa
-~~~
-~~~~
+Foo
+bar
+
+---
+
+baz
.
-aaa
-~~~
-
+Foo
+bar
+
+baz
````````````````````````````````
-Unclosed code blocks are closed by the end of the document
-(or the enclosing [block quote][block quotes] or [list item][list items]):
+or use a thematic break that cannot count as a [setext heading
+underline], such as
```````````````````````````````` example
-```
+Foo
+bar
+* * *
+baz
.
-
+Foo
+bar
+
+baz
````````````````````````````````
-```````````````````````````````` example
-`````
+Authors who want interpretation 3 can use backslash escapes:
-```
-aaa
+```````````````````````````````` example
+Foo
+bar
+\---
+baz
.
-
-```
-aaa
-
+Foo
+bar
+---
+baz
````````````````````````````````
-```````````````````````````````` example
-> ```
-> aaa
+## Indented code blocks
-bbb
+An [indented code block](@) is composed of one or more
+[indented chunks] separated by blank lines.
+An [indented chunk](@) is a sequence of non-blank lines,
+each preceded by four or more spaces of indentation. 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].
+
+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.)
+
+```````````````````````````````` example
+ a simple
+ indented code block
.
-
-aaa
+a simple
+ indented code block
-
-bbb
````````````````````````````````
-A code block can have all empty lines as its content:
+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:
```````````````````````````````` example
-```
+ - foo
-
-```
+ bar
.
-
-
-
+
+-
+
foo
+bar
+
+
````````````````````````````````
-A code block can be empty:
-
```````````````````````````````` example
-```
-```
+1. foo
+
+ - bar
.
-
+
+-
+
foo
+
+- bar
+
+
+
````````````````````````````````
-Fences can be indented. If the opening fence is indented,
-content lines will have equivalent opening indentation removed,
-if present:
+
+The contents of a code block are literal text, and do not get parsed
+as Markdown:
```````````````````````````````` example
- ```
- aaa
-aaa
-```
+
+ *hi*
+
+ - one
.
-aaa
-aaa
+<a/>
+*hi*
+
+- one
````````````````````````````````
+Here we have three chunks separated by blank lines:
+
```````````````````````````````` example
- ```
-aaa
- aaa
-aaa
- ```
+ chunk1
+
+ chunk2
+
+
+
+ chunk3
.
-aaa
-aaa
-aaa
+chunk1
+
+chunk2
+
+
+
+chunk3
````````````````````````````````
+Any initial spaces or tabs beyond four spaces of indentation will be included in
+the content, even in interior blank lines:
+
```````````````````````````````` example
- ```
- aaa
- aaa
- aaa
- ```
+ chunk1
+
+ chunk2
.
-aaa
- aaa
-aaa
+chunk1
+
+ chunk2
````````````````````````````````
-Four spaces indentation produces an indented code block:
+An indented code block cannot interrupt a paragraph. (This
+allows hanging indents and the like.)
```````````````````````````````` example
- ```
- aaa
- ```
+Foo
+ bar
+
.
-```
-aaa
-```
-
+Foo
+bar
````````````````````````````````
-Closing fences may be indented by 0-3 spaces, and their indentation
-need not match that of the opening fence:
+However, any non-blank line with fewer than four spaces of indentation ends
+the code block immediately. So a paragraph may occur immediately
+after indented code:
```````````````````````````````` example
-```
-aaa
- ```
+ foo
+bar
.
-aaa
+foo
+bar
````````````````````````````````
+And indented code can occur immediately before and after other kinds of
+blocks:
+
```````````````````````````````` example
- ```
-aaa
- ```
+# Heading
+ foo
+Heading
+------
+ foo
+----
.
-aaa
+Heading
+foo
+
+Heading
+foo
+
````````````````````````````````
-This is not a closing fence, because it is indented 4 spaces:
+The first line can be preceded by more than four spaces of indentation:
```````````````````````````````` example
-```
-aaa
- ```
+ foo
+ bar
.
-aaa
- ```
+ foo
+bar
````````````````````````````````
-
-Code fences (opening and closing) cannot contain internal spaces:
+Blank lines preceding or following an indented code block
+are not included in it:
```````````````````````````````` example
-``` ```
-aaa
+
+
+ foo
+
+
.
-
-aaa
+foo
+
````````````````````````````````
+Trailing spaces or tabs are included in the code block's content:
+
```````````````````````````````` example
-~~~~~~
-aaa
-~~~ ~~
+ foo
.
-aaa
-~~~ ~~
+foo
````````````````````````````````
-Fenced code blocks can interrupt paragraphs, and can be followed
-directly by paragraphs, without a blank line between:
+
+## Fenced code blocks
+
+A [code fence](@) is a sequence
+of at least three consecutive backtick characters (`` ` ``) or
+tildes (`~`). (Tildes and backticks cannot be mixed.)
+A [fenced code block](@)
+begins with a code fence, preceded by up to three spaces of indentation.
+
+The line with the opening code fence may optionally contain some text
+following the code fence; this is trimmed of leading and trailing
+spaces or tabs and called the [info string](@). 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.)
+
+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
+preceded by N spaces of indentation, 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 N spaces or less, all
+of the indentation is removed.)
+
+The closing code fence may be preceded by up to three spaces of indentation, and
+may be followed only by spaces or tabs, 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.)
+
+A fenced code block may interrupt a paragraph, and does not require
+a blank line either before or after.
+
+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 `class`
+attribute of the `code` tag. However, this spec does not mandate any
+particular treatment of the [info string].
+
+Here is a simple example with backticks:
```````````````````````````````` example
-foo
```
-bar
+<
+ >
```
-baz
.
-foo
-bar
+<
+ >
-baz
````````````````````````````````
-Other blocks can also occur before and after fenced code blocks
-without an intervening blank line:
+With tildes:
```````````````````````````````` example
-foo
----
~~~
-bar
+<
+ >
~~~
-# baz
.
-foo
-bar
+<
+ >
-baz
````````````````````````````````
+Fewer than three backticks is not enough:
+
+```````````````````````````````` example
+``
+foo
+``
+.
+foo
+````````````````````````````````
-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` element consisting
-of `language-` followed by the language name.
+The closing code fence must use the same character as the opening
+fence:
```````````````````````````````` example
-```ruby
-def foo(x)
- return 3
-end
+```
+aaa
+~~~
```
.
-def foo(x)
- return 3
-end
+aaa
+~~~
````````````````````````````````
```````````````````````````````` example
-~~~~ ruby startline=3 $%@#$
-def foo(x)
- return 3
-end
-~~~~~~~
+~~~
+aaa
+```
+~~~
.
-def foo(x)
- return 3
-end
+aaa
+```
````````````````````````````````
+The closing code fence must be at least as long as the opening fence:
+
```````````````````````````````` example
-````;
````
+aaa
+```
+``````
.
-
+aaa
+```
+
````````````````````````````````
-[Info strings] for backtick code blocks cannot contain backticks:
+```````````````````````````````` example
+~~~~
+aaa
+~~~
+~~~~
+.
+aaa
+~~~
+
+````````````````````````````````
+
+
+Unclosed code blocks are closed by the end of the document
+(or the enclosing [block quote][block quotes] or [list item][list items]):
```````````````````````````````` example
-``` aa ```
-foo
+```
.
-aa
-foo
+
````````````````````````````````
-[Info strings] for tilde code blocks can contain backticks and tildes:
+```````````````````````````````` example
+`````
+
+```
+aaa
+.
+
+```
+aaa
+
+````````````````````````````````
+
```````````````````````````````` example
-~~~ aa ``` ~~~
-foo
-~~~
+> ```
+> aaa
+
+bbb
.
-foo
+
+aaa
+
+bbb
````````````````````````````````
-Closing code fences cannot have [info strings]:
+A code block can have all empty lines as its content:
```````````````````````````````` example
```
-``` aaa
+
+
```
.
-``` aaa
+
+
````````````````````````````````
+A code block can be empty:
-## HTML blocks
-
-An [HTML block](@) is a group of lines that is treated
-as raw HTML (and will not be escaped in HTML output).
+```````````````````````````````` example
+```
+```
+.
+
+````````````````````````````````
-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
-[start condition](@) (after up to three spaces optional indentation).
-It ends with the first subsequent line that meets a matching [end
-condition](@), or the last line of the document, or the last line of
-the [container block](#container-blocks) 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.
-1. **Start condition:** line begins with the string ``, `
`, or `` (case-insensitive; it
-need not match the start tag).
+Fences can be indented. If the opening fence is indented,
+content lines will have equivalent opening indentation removed,
+if present:
-2. **Start condition:** line begins with the string ``.
+```````````````````````````````` example
+ ```
+ aaa
+aaa
+```
+.
+aaa
+aaa
+
+````````````````````````````````
-3. **Start condition:** line begins with the string ``.\
-**End condition:** line contains the string `?>`.
-4. **Start condition:** line begins with the string ``.
+```````````````````````````````` example
+ ```
+aaa
+ aaa
+aaa
+ ```
+.
+aaa
+aaa
+aaa
+
+````````````````````````````````
+
+
+```````````````````````````````` example
+ ```
+ aaa
+ aaa
+ aaa
+ ```
+.
+aaa
+ aaa
+aaa
+
+````````````````````````````````
+
+
+Four spaces of indentation is too many:
+
+```````````````````````````````` example
+ ```
+ aaa
+ ```
+.
+```
+aaa
+```
+
+````````````````````````````````
+
+
+Closing fences may be preceded by up to three spaces of indentation, and their
+indentation need not match that of the opening fence:
+
+```````````````````````````````` example
+```
+aaa
+ ```
+.
+aaa
+
+````````````````````````````````
+
+
+```````````````````````````````` example
+ ```
+aaa
+ ```
+.
+aaa
+
+````````````````````````````````
+
+
+This is not a closing fence, because it is indented 4 spaces:
+
+```````````````````````````````` example
+```
+aaa
+ ```
+.
+aaa
+ ```
+
+````````````````````````````````
+
+
+
+Code fences (opening and closing) cannot contain internal spaces or tabs:
+
+```````````````````````````````` example
+``` ```
+aaa
+.
+
+aaa
+````````````````````````````````
+
+
+```````````````````````````````` example
+~~~~~~
+aaa
+~~~ ~~
+.
+aaa
+~~~ ~~
+
+````````````````````````````````
+
+
+Fenced code blocks can interrupt paragraphs, and can be followed
+directly by paragraphs, without a blank line between:
+
+```````````````````````````````` example
+foo
+```
+bar
+```
+baz
+.
+foo
+bar
+
+baz
+````````````````````````````````
+
+
+Other blocks can also occur before and after fenced code blocks
+without an intervening blank line:
+
+```````````````````````````````` example
+foo
+---
+~~~
+bar
+~~~
+# baz
+.
+foo
+bar
+
+baz
+````````````````````````````````
+
+
+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` element consisting
+of `language-` followed by the language name.
+
+```````````````````````````````` example
+```ruby
+def foo(x)
+ return 3
+end
+```
+.
+def foo(x)
+ return 3
+end
+
+````````````````````````````````
+
+
+```````````````````````````````` example
+~~~~ ruby startline=3 $%@#$
+def foo(x)
+ return 3
+end
+~~~~~~~
+.
+def foo(x)
+ return 3
+end
+
+````````````````````````````````
+
+
+```````````````````````````````` example
+````;
+````
+.
+
+````````````````````````````````
+
+
+[Info strings] for backtick code blocks cannot contain backticks:
+
+```````````````````````````````` example
+``` aa ```
+foo
+.
+aa
+foo
+````````````````````````````````
+
+
+[Info strings] for tilde code blocks can contain backticks and tildes:
+
+```````````````````````````````` example
+~~~ aa ``` ~~~
+foo
+~~~
+.
+foo
+
+````````````````````````````````
+
+
+Closing code fences cannot have [info strings]:
+
+```````````````````````````````` example
+```
+``` aaa
+```
+.
+``` aaa
+
+````````````````````````````````
+
+
+
+## HTML blocks
+
+An [HTML block](@) is a group of lines that is treated
+as raw HTML (and will not be escaped in HTML output).
+
+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
+[start condition](@) (after up to three optional spaces of indentation).
+It ends with the first subsequent line that meets a matching
+[end condition](@), or the last line of the document, or the last line of
+the [container block](#container-blocks) 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.
+
+1. **Start condition:** line begins with the string ``, or the end of the line.\
+**End condition:** line contains an end tag
+`
`, ``, ``, or `` (case-insensitive; it
+need not match the start tag).
+
+2. **Start condition:** line begins with the string ``.
+
+3. **Start condition:** line begins with the string ``.\
+**End condition:** line contains the string `?>`.
+
+4. **Start condition:** line begins with the string ``.
5. **Start condition:** line begins with the string
``, or
+by a space, a tab, the end of the line, the string `>`, or
the string `/>`.\
**End condition:** line is followed by a [blank line].
7. **Start condition:** line begins with a complete [open tag]
-(with any [tag name] other than `script`,
-`style`, or `pre`) or a complete [closing tag],
-followed only by [whitespace] or the end of the line.\
+(with any [tag name] other than `pre`, `script`,
+`style`, or `textarea`) or a complete [closing tag],
+followed by zero or more spaces and tabs, followed by the end of the line.\
**End condition:** line is followed by a [blank line].
HTML blocks continue until they are closed by their appropriate
@@ -2080,7 +2425,7 @@ block** 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.
-For instance, `` within a HTML block started by `
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-src line: 2649
+src line: 2545
.
.
-
.
-