diff --git a/test/fixtures/commonmark/bad.txt b/test/fixtures/commonmark/bad.txt index 99133f8..a00e6d9 100644 --- a/test/fixtures/commonmark/bad.txt +++ b/test/fixtures/commonmark/bad.txt @@ -1,38 +1,1488 @@ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 468 + +. +- Foo +- * * * +. + +. + +error: + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 2530 + +. +1. A paragraph + with two lines. + + indented code + + > A block quote. +. +
    +
  1. +

    A paragraph +with two lines.

    +
    indented code
    +
    +
    +

    A block quote.

    +
    +
  2. +
+. + +error: + +
    +
  1. A paragraph +with two lines.

    +
    indented code
    +
    +
    +

    A block quote.

    +
  2. +
+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 2573 + +. +- one + + two +. + +. + +error: + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 2598 + +. + - one + + two +. + +. + +error: + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 2619 + +. + > > 1. one +>> +>> two +. +
+
+
    +
  1. +

    one

    +

    two

    +
  2. +
+
+
+. + +error: + +
+
+
    +
  1. one

    +

    two

  2. +
+
+
+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 2664 + +. +- foo + + bar + +- foo + + + bar + +- ``` + foo + + + bar + ``` +. + +

bar

+ +. + +error: + + +

bar

+ + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 2704 + +. +1. foo + + ``` + bar + ``` + + baz + + > bam +. +
    +
  1. +

    foo

    +
    bar
    +
    +

    baz

    +
    +

    bam

    +
    +
  2. +
+. + +error: + +
    +
  1. foo

    +
    bar
    +
    +

    baz

    +
    +

    bam

    +
  2. +
+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 2744 + +. +- foo + + bar +. + +. + +error: + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 2760 + +. + 10. foo + + bar +. +
    +
  1. +

    foo

    +
    bar
    +
    +
  2. +
+. + +error: + +
    +
  1. foo

    +
    bar
    +
  2. +
+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 2792 + +. +1. indented code + + paragraph + + more code +. +
    +
  1. +
    indented code
    +
    +

    paragraph

    +
    more code
    +
    +
  2. +
+. + +error: + +
    +
  1. indented code
    +
    +

    paragraph

    +
    more code
    +
  2. +
+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 2813 + +. +1. indented code + + paragraph + + more code +. +
    +
  1. +
     indented code
    +
    +

    paragraph

    +
    more code
    +
    +
  2. +
+. + +error: + +
    +
  1.  indented code
    +
    +

    paragraph

    +
    more code
    +
  2. +
+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 2863 + +. +- foo + + bar +. + +. + +error: + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 2885 + +. + 1. A paragraph + with two lines. + + indented code + + > A block quote. +. +
    +
  1. +

    A paragraph +with two lines.

    +
    indented code
    +
    +
    +

    A block quote.

    +
    +
  2. +
+. + +error: + +
    +
  1. A paragraph +with two lines.

    +
    indented code
    +
    +
    +

    A block quote.

    +
  2. +
+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 2908 + +. + 1. A paragraph + with two lines. + + indented code + + > A block quote. +. +
    +
  1. +

    A paragraph +with two lines.

    +
    indented code
    +
    +
    +

    A block quote.

    +
    +
  2. +
+. + +error: + +
    +
  1. A paragraph +with two lines.

    +
    indented code
    +
    +
    +

    A block quote.

    +
  2. +
+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 2931 + +. + 1. A paragraph + with two lines. + + indented code + + > A block quote. +. +
    +
  1. +

    A paragraph +with two lines.

    +
    indented code
    +
    +
    +

    A block quote.

    +
    +
  2. +
+. + +error: + +
    +
  1. A paragraph +with two lines.

    +
    indented code
    +
    +
    +

    A block quote.

    +
  2. +
+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 2984 + +. + 1. A paragraph +with two lines. + + indented code + + > A block quote. +. +
    +
  1. +

    A paragraph +with two lines.

    +
    indented code
    +
    +
    +

    A block quote.

    +
    +
  2. +
+. + +error: + +
    +
  1. A paragraph +with two lines.

    +
    indented code
    +
    +
    +

    A block quote.

    +
  2. +
+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3019 + +. +> 1. > Blockquote +continued here. +. +
+
    +
  1. +
    +

    Blockquote +continued here.

    +
    +
  2. +
+
+. + +error: + +
+
    +
  1. +

    Blockquote +continued here.

    +
  2. +
+
+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3035 + +. +> 1. > Blockquote +> continued here. +. +
+
    +
  1. +
    +

    Blockquote +continued here.

    +
    +
  2. +
+
+. + +error: + +
+
    +
  1. +

    Blockquote +continued here.

    +
  2. +
+
+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3061 + +. +- foo + - bar + - baz +. + +. + +error: + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3095 + +. +10) foo + - bar +. +
    +
  1. foo + +
  2. +
+. + +error: + +
    +
  1. foo +
  2. +
+ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src line: 3124 . -- # Foo -- Bar - --- +- - foo +. + +. + +error: + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3136 + +. +1. - 2. foo +. +
    +
  1. + +
  2. +
+. + +error: + +
    +
  1. +
+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3176 + +. +- # Foo +- Bar + --- + baz +. + +. + +error: + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3524 + +. +- foo + +- bar + + +- baz +. + + +. + +error: + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3567 + +. +- foo + - bar + - baz + + + bim +. + +
  bim
+
+. + +error: + + +
  bim
+
+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3613 + +. +- foo + + notcode + +- foo + + + code +. + +
code
+
+. + +error: + + +
code
+
+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3664 + +. +- a +- b + +- c +. + +. + +error: + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3685 + +. +* a +* + +* c +. + +. + +error: + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3706 + +. +- a +- b + + c +- d +. + +. + +error: + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3727 + +. +- a +- b + + [ref]: /url +- d +. + +. + +error: + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3749 + +. +- a +- ``` + b + + + ``` +- c +. + +. + +error: + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3774 + +. +- a + - b + + c +- d +. + +. + +error: + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3797 + +. +* a + > b + > +* c +. + +. + +error: + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3816 + +. +- a + > b + ``` + c + ``` +- d +. + +. + +error: + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3846 + +. +- a + - b +. + +. + +error: + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3861 + +. +* foo + * bar + baz . . error: + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3878 + +. +- a + - b + - c + +- d + - e + - f +. + +. + +error: + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 4463 + +. +* a * +. +

* a *

+. + +error: + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5603 +src line: 4844 + +. +____foo__ bar__ +. +

foo bar

+. + +error: + +

____foo__ bar__

+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 4850 + +. +**foo **bar**** +. +

foo bar

+. + +error: + +

**foo **bar****

+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 4977 + +. +****foo* +. +

***foo

+. + +error: + +

****foo*

+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 4989 + +. +*foo**** +. +

foo***

+. + +error: + +

*foo****

+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 5056 + +. +____foo_ +. +

___foo

+. + +error: + +

____foo_

+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 5068 + +. +_foo____ +. +

foo___

+. + +error: + +

_foo____

+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 5104 + +. +****foo**** +. +

foo

+. + +error: + +

****foo****

+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 5110 + +. +____foo____ +. +

foo

+. + +error: + +

____foo____

+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 5120 + +. +******foo****** +. +

foo

+. + +error: + +

******foo******

+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 5134 + +. +_____foo_____ +. +

foo

+. + +error: + +

_____foo_____

+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 5521 + +. +[foo [bar](/uri)](/uri) +. +

[foo bar](/uri)

+. + +error: + +

foo bar

+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 5527 + +. +[foo *[bar [baz](/uri)](/uri)*](/uri) +. +

[foo [bar baz](/uri)](/uri)

+. + +error: + +

foo bar baz

+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 5648 + +. +[foo [bar](/uri)][ref] + +[ref]: /uri +. +

[foo bar]ref

+. + +error: + +

foo bar

+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 5656 + +. +[foo *bar [baz][ref]*][ref] + +[ref]: /uri +. +

[foo bar baz]ref

+. + +error: + +

foo bar [baz][ref]

+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 5803 + +. +[foo][ref[bar]] + +[ref[bar]]: /uri +. +

[foo][ref[bar]]

+

[ref[bar]]: /uri

+. + +error: + +

foo

+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 5812 + +. +[[[foo]]] + +[[[foo]]]: /url +. +

[[[foo]]]

+

[[[foo]]]: /url

+. + +error: + +

[[foo]]

+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 5923 + +. +[foo] bar + +[foo]: /url +. +

foo bar

+. + +error: + +

foobar

+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 6028 . ![foo *bar*] [foo *bar*]: train.jpg "train & tracks" . -

foo <em>bar</em>

+

foo bar

. error: @@ -41,14 +1491,42 @@ error: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5611 +src line: 6036 + +. +![foo ![bar](/url)](/url2) +. +

foo bar

+. + +error: + +

foo ![bar](/url)

+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 6042 + +. +![foo [bar](/url)](/url2) +. +

foo bar

+. + +error: + +

foo [bar](/url)

+ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 6055 . ![foo *bar*][] [foo *bar*]: train.jpg "train & tracks" . -

foo <em>bar</em>

+

foo bar

. error: @@ -57,14 +1535,14 @@ error: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5619 +src line: 6063 . ![foo *bar*][foobar] [FOOBAR]: train.jpg "train & tracks" . -

foo <em>bar</em>

+

foo bar

. error: @@ -73,14 +1551,14 @@ error: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5679 +src line: 6123 . ![*foo* bar][] [*foo* bar]: /url "title" . -

<em>foo</em> bar

+

foo bar

. error: @@ -89,14 +1567,14 @@ error: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5719 +src line: 6163 . ![*foo* bar] [*foo* bar]: /url "title" . -

<em>foo</em> bar

+

foo bar

. error: @@ -104,3 +1582,20 @@ error:

*foo* bar

+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 6173 + +. +![[foo]] + +[[foo]]: /url "title" +. +

![[foo]]

+

[[foo]]: /url "title"

+. + +error: + +

[foo]

+ + diff --git a/test/fixtures/commonmark/good.txt b/test/fixtures/commonmark/good.txt index e5af533..e94ff47 100644 --- a/test/fixtures/commonmark/good.txt +++ b/test/fixtures/commonmark/good.txt @@ -21,7 +21,7 @@ src line: 212 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 241 +src line: 244 . - `one @@ -34,7 +34,7 @@ src line: 241 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 279 +src line: 282 . *** @@ -47,7 +47,7 @@ ___ . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 291 +src line: 294 . +++ @@ -56,7 +56,7 @@ src line: 291 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 297 +src line: 300 . === @@ -65,7 +65,7 @@ src line: 297 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 305 +src line: 308 . -- @@ -78,7 +78,7 @@ __

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 317 +src line: 320 . *** @@ -91,7 +91,7 @@ src line: 317 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 329 +src line: 332 . *** @@ -101,7 +101,7 @@ src line: 329 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 336 +src line: 339 . Foo @@ -112,7 +112,7 @@ Foo . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 346 +src line: 349 . _____________________________________ @@ -121,7 +121,7 @@ _____________________________________ . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 354 +src line: 357 . - - - @@ -130,7 +130,7 @@ src line: 354 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 360 +src line: 363 . ** * ** * ** * ** @@ -139,7 +139,7 @@ src line: 360 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 366 +src line: 369 . - - - - @@ -148,7 +148,7 @@ src line: 366 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 374 +src line: 377 . - - - - @@ -157,7 +157,7 @@ src line: 374 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 382 +src line: 385 . _ _ _ _ a @@ -172,7 +172,7 @@ a------ . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 397 +src line: 400 . *-* @@ -181,7 +181,7 @@ src line: 397 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 405 +src line: 408 . - foo @@ -198,7 +198,7 @@ src line: 405 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 421 +src line: 424 . Foo @@ -211,7 +211,7 @@ bar . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 437 +src line: 440 . Foo @@ -223,7 +223,7 @@ bar . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 449 +src line: 452 . * Foo @@ -240,20 +240,7 @@ src line: 449 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 465 - -. -- Foo -- * * * -. - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 490 +src line: 495 . # foo @@ -272,7 +259,7 @@ src line: 490 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 508 +src line: 513 . ####### foo @@ -281,7 +268,7 @@ src line: 508 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 520 +src line: 525 . #5 bolt @@ -290,7 +277,7 @@ src line: 520 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 528 +src line: 533 . \## foo @@ -299,7 +286,7 @@ src line: 528 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 536 +src line: 541 . # foo *bar* \*baz\* @@ -308,7 +295,7 @@ src line: 536 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 544 +src line: 549 . # foo @@ -317,7 +304,7 @@ src line: 544 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 552 +src line: 557 . ### foo @@ -330,7 +317,7 @@ src line: 552 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 564 +src line: 569 . # foo @@ -340,7 +327,7 @@ src line: 564 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 571 +src line: 576 . foo @@ -351,7 +338,7 @@ foo . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 581 +src line: 586 . ## foo ## @@ -362,7 +349,7 @@ src line: 581 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 591 +src line: 596 . # foo ################################## @@ -373,7 +360,7 @@ src line: 591 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 601 +src line: 606 . ### foo ### @@ -382,7 +369,7 @@ src line: 601 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 611 +src line: 616 . ### foo ### b @@ -391,7 +378,7 @@ src line: 611 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 619 +src line: 624 . # foo# @@ -400,7 +387,7 @@ src line: 619 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 628 +src line: 633 . ### foo \### @@ -413,7 +400,7 @@ src line: 628 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 641 +src line: 646 . **** @@ -426,7 +413,7 @@ src line: 641 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 651 +src line: 656 . Foo bar @@ -439,7 +426,7 @@ Bar foo . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 663 +src line: 668 . ## @@ -452,7 +439,7 @@ src line: 663 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 696 +src line: 701 . Foo *bar* @@ -466,7 +453,7 @@ Foo *bar* . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 709 +src line: 714 . Foo @@ -480,7 +467,7 @@ Foo . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 723 +src line: 728 . Foo @@ -498,7 +485,7 @@ src line: 723 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 740 +src line: 745 . Foo @@ -516,7 +503,7 @@ Foo . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 758 +src line: 763 . Foo @@ -526,7 +513,7 @@ Foo . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 767 +src line: 772 . Foo @@ -537,7 +524,7 @@ Foo . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 777 +src line: 782 . Foo @@ -553,7 +540,7 @@ Foo . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 792 +src line: 797 . Foo @@ -563,7 +550,7 @@ Foo . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 801 +src line: 806 . Foo\ @@ -573,7 +560,7 @@ Foo\ . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 811 +src line: 816 . `Foo @@ -591,7 +578,7 @@ of dashes"/> . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 829 +src line: 834 . > Foo @@ -604,7 +591,7 @@ src line: 829 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 839 +src line: 844 . - Foo @@ -617,7 +604,7 @@ src line: 839 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 851 +src line: 856 . Foo @@ -637,7 +624,7 @@ Bar . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 870 +src line: 875 . --- @@ -654,7 +641,7 @@ Baz . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 886 +src line: 891 . @@ -664,7 +651,7 @@ src line: 886 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 897 +src line: 902 . --- @@ -675,7 +662,7 @@ src line: 897 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 905 +src line: 910 . - foo @@ -688,7 +675,7 @@ src line: 905 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 915 +src line: 920 . foo @@ -700,7 +687,7 @@ src line: 915 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 924 +src line: 929 . > foo @@ -713,7 +700,7 @@ src line: 924 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 937 +src line: 942 . \> foo @@ -723,7 +710,7 @@ src line: 937 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 958 +src line: 964 . a simple @@ -735,7 +722,7 @@ src line: 958 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 969 +src line: 975 . @@ -751,7 +738,7 @@ src line: 969 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 984 +src line: 990 . chunk1 @@ -773,7 +760,7 @@ chunk3 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1006 +src line: 1012 . chunk1 @@ -787,7 +774,7 @@ src line: 1006 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1020 +src line: 1026 . Foo @@ -799,7 +786,7 @@ bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1033 +src line: 1039 . foo @@ -811,7 +798,7 @@ bar . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1045 +src line: 1051 . # Header @@ -831,7 +818,7 @@ Header . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1064 +src line: 1070 . foo @@ -843,7 +830,7 @@ bar . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1076 +src line: 1082 . @@ -857,7 +844,7 @@ src line: 1076 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1089 +src line: 1095 . foo @@ -867,7 +854,7 @@ src line: 1089 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1143 +src line: 1149 . ``` @@ -881,7 +868,7 @@ src line: 1143 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1156 +src line: 1162 . ~~~ @@ -895,7 +882,7 @@ src line: 1156 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1170 +src line: 1176 . ``` @@ -909,7 +896,7 @@ aaa . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1181 +src line: 1187 . ~~~ @@ -923,7 +910,7 @@ aaa . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1194 +src line: 1200 . ```` @@ -937,7 +924,7 @@ aaa . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1205 +src line: 1211 . ~~~~ @@ -951,7 +938,7 @@ aaa . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1218 +src line: 1224 . ``` @@ -960,7 +947,7 @@ src line: 1218 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1224 +src line: 1230 . ````` @@ -975,7 +962,7 @@ aaa . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1238 +src line: 1244 . ``` @@ -989,7 +976,7 @@ src line: 1238 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1251 +src line: 1257 . ``` @@ -999,7 +986,7 @@ src line: 1251 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1262 +src line: 1268 . ``` @@ -1013,7 +1000,7 @@ aaa . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1273 +src line: 1279 . ``` @@ -1029,7 +1016,7 @@ aaa . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1286 +src line: 1292 . ``` @@ -1045,7 +1032,7 @@ aaa . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1301 +src line: 1307 . ``` @@ -1059,7 +1046,7 @@ aaa . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1315 +src line: 1321 . ``` @@ -1071,7 +1058,7 @@ aaa . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1324 +src line: 1330 . ``` @@ -1083,7 +1070,7 @@ aaa . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1335 +src line: 1341 . ``` @@ -1096,7 +1083,7 @@ aaa . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1348 +src line: 1354 . ``` ``` @@ -1107,7 +1094,7 @@ aaa

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1356 +src line: 1362 . ~~~~~~ @@ -1120,7 +1107,7 @@ aaa . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1369 +src line: 1375 . foo @@ -1136,7 +1123,7 @@ baz . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1385 +src line: 1391 . foo @@ -1153,7 +1140,7 @@ bar . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1404 +src line: 1410 . ```ruby @@ -1169,7 +1156,7 @@ end . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1417 +src line: 1423 . ~~~~ ruby startline=3 $%@#$ @@ -1185,7 +1172,7 @@ end . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1430 +src line: 1436 . ````; @@ -1195,7 +1182,7 @@ src line: 1430 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1439 +src line: 1445 . ``` aa ``` @@ -1206,7 +1193,7 @@ foo

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1449 +src line: 1455 . ``` @@ -1218,7 +1205,7 @@ src line: 1449 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1484 +src line: 1490 . @@ -1242,7 +1229,7 @@ okay. . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1505 +src line: 1511 .
@@ -1255,7 +1242,7 @@ src line: 1505 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1517 +src line: 1523 .
@@ -1270,7 +1257,7 @@ src line: 1517 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1533 +src line: 1539 .
@@ -1285,7 +1272,7 @@ int x = 33; . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1547 +src line: 1553 . @@ -1357,7 +1344,7 @@ src line: 1603 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1616 +src line: 1622 . Foo @@ -1372,7 +1359,7 @@ bar . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1631 +src line: 1637 .
@@ -1387,7 +1374,7 @@ bar . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1645 +src line: 1651 .
@@ -1413,7 +1400,7 @@ src line: 1681 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1695 +src line: 1701 .
@@ -1426,7 +1413,7 @@ src line: 1695 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1716 +src line: 1722 .
@@ -1451,7 +1438,7 @@ Hi . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1763 +src line: 1769 . [foo]: /url "title" @@ -1462,7 +1449,7 @@ src line: 1763 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1771 +src line: 1777 . [foo]: @@ -1475,7 +1462,7 @@ src line: 1771 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1781 +src line: 1787 . [Foo*bar\]]:my_(url) 'title (with parens)' @@ -1486,7 +1473,7 @@ src line: 1781 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1789 +src line: 1795 . [Foo bar]: @@ -1499,7 +1486,7 @@ src line: 1789 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1801 +src line: 1807 . [foo]: @@ -1511,7 +1498,7 @@ src line: 1801 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1812 +src line: 1818 . [foo]: @@ -1523,7 +1510,7 @@ src line: 1812 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1823 +src line: 1829 . [foo] @@ -1534,7 +1521,7 @@ src line: 1823 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1834 +src line: 1840 . [foo] @@ -1546,7 +1533,7 @@ src line: 1834 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1846 +src line: 1852 . [FOO]: /url @@ -1557,7 +1544,7 @@ src line: 1846 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1854 +src line: 1860 . [ΑΓΩ]: /φου @@ -1568,7 +1555,7 @@ src line: 1854 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1865 +src line: 1871 . [foo]: /url @@ -1576,7 +1563,7 @@ src line: 1865 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1873 +src line: 1879 . [foo]: /url "title" ok @@ -1585,7 +1572,7 @@ src line: 1873 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1882 +src line: 1888 . [foo]: /url "title" @@ -1598,7 +1585,7 @@ src line: 1882 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1895 +src line: 1901 . ``` @@ -1613,7 +1600,7 @@ src line: 1895 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1910 +src line: 1916 . Foo @@ -1627,7 +1614,7 @@ Foo . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1924 +src line: 1930 . # [Foo] @@ -1641,7 +1628,7 @@ src line: 1924 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1938 +src line: 1944 . [foo]: /foo-url "foo" @@ -1659,7 +1646,7 @@ src line: 1938 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1958 +src line: 1964 . [foo] @@ -1672,7 +1659,7 @@ src line: 1958 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1980 +src line: 1986 . aaa @@ -1684,7 +1671,7 @@ bbb . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 1991 +src line: 1997 . aaa @@ -1700,7 +1687,7 @@ ddd

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2006 +src line: 2012 . aaa @@ -1713,7 +1700,7 @@ bbb . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2018 +src line: 2024 . aaa @@ -1724,7 +1711,7 @@ bbb

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2029 +src line: 2035 . aaa @@ -1737,7 +1724,7 @@ ccc

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2042 +src line: 2048 . aaa @@ -1748,7 +1735,7 @@ bbb

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2050 +src line: 2056 . aaa @@ -1760,7 +1747,7 @@ bbb . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2063 +src line: 2069 . aaa @@ -1771,7 +1758,7 @@ bbb

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2079 +src line: 2085 . @@ -1788,7 +1775,7 @@ aaa . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2147 +src line: 2152 . > # Foo @@ -1803,7 +1790,7 @@ baz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2161 +src line: 2166 . ># Foo @@ -1818,7 +1805,7 @@ baz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2175 +src line: 2180 . > # Foo @@ -1833,7 +1820,7 @@ baz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2189 +src line: 2194 . > # Foo @@ -1847,7 +1834,7 @@ src line: 2189 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2203 +src line: 2208 . > # Foo @@ -1862,7 +1849,7 @@ baz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2218 +src line: 2223 . > bar @@ -1877,7 +1864,7 @@ foo

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2234 +src line: 2239 . > foo @@ -1890,7 +1877,7 @@ src line: 2234 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2244 +src line: 2249 . > - foo @@ -1907,7 +1894,7 @@ src line: 2244 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2258 +src line: 2263 . > foo @@ -1922,7 +1909,7 @@ src line: 2258 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2270 +src line: 2275 . > ``` @@ -1937,7 +1924,7 @@ foo . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2284 +src line: 2289 . > @@ -1947,7 +1934,7 @@ src line: 2284 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2291 +src line: 2296 . > @@ -1959,7 +1946,7 @@ src line: 2291 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2302 +src line: 2307 . > @@ -1972,7 +1959,7 @@ src line: 2302 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2314 +src line: 2319 . > foo @@ -1988,7 +1975,7 @@ src line: 2314 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2335 +src line: 2340 . > foo @@ -2001,7 +1988,7 @@ bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2347 +src line: 2352 . > foo @@ -2015,7 +2002,7 @@ src line: 2347 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2360 +src line: 2365 . foo @@ -2028,7 +2015,7 @@ foo . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2373 +src line: 2378 . > aaa @@ -2045,7 +2032,7 @@ src line: 2373 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2390 +src line: 2395 . > bar @@ -2058,7 +2045,7 @@ baz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2400 +src line: 2405 . > bar @@ -2072,7 +2059,7 @@ baz . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2411 +src line: 2416 . > bar @@ -2086,7 +2073,7 @@ baz . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2426 +src line: 2431 . > > > foo @@ -2103,7 +2090,7 @@ bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2440 +src line: 2445 . >>> foo @@ -2122,7 +2109,7 @@ baz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2461 +src line: 2466 . > code @@ -2139,7 +2126,7 @@ src line: 2461 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2505 +src line: 2509 . A paragraph @@ -2159,29 +2146,7 @@ with two lines.

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2526 - -. -1. A paragraph - with two lines. - - indented code - - > A block quote. -. -
    -
  1. A paragraph -with two lines.

    -
    indented code
    -
    -
    -

    A block quote.

    -
  2. -
-. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2556 +src line: 2562 . - one @@ -2195,21 +2160,7 @@ src line: 2556 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2567 - -. -- one - - two -. - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2578 +src line: 2586 . - one @@ -2224,39 +2175,7 @@ src line: 2578 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2590 - -. - - one - - two -. - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2609 - -. - > > 1. one ->> ->> two -. -
-
-
    -
  1. one

    -

    two

  2. -
-
-
-. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2633 +src line: 2645 . >>- one @@ -2274,805 +2193,264 @@ src line: 2633 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2652 +src line: 2778 . -- foo + indented code - bar +paragraph -- foo + more code +. +
indented code
+
+

paragraph

+
more code
+
+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 2838 +. + foo - bar +bar +. +

foo

+

bar

+. -- ``` - foo +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 2847 +. +- foo bar - ``` .

bar

- . + 1. A paragraph + with two lines. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2686 + indented code + > A block quote. . -1. foo +
1.  A paragraph
+    with two lines.
 
-    ```
-    bar
-    ```
+        indented code
+
+    > A block quote.
+
+. - baz +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3007 - > bam +. + 1. A paragraph + with two lines. .
    -
  1. foo

    -
    bar
    -
    -

    baz

    -
    -

    bam

    -
  2. +
  3. A paragraph +with two lines.
. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2724 +src line: 3081 . - foo - - bar + - bar + - baz . . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2738 +src line: 3110 . - 10. foo - - bar +10) foo + - bar .
    -
  1. foo

    -
    bar
    -
  2. +
  3. foo
+ . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2754 +src line: 3154 . - indented code +- foo +- +- bar +. + +. -paragraph +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3166 - more code . -
indented code
-
-

paragraph

-
more code
-
+- +. + . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2768 +src line: 3412 . -1. indented code +- foo +- bar ++ baz +. + + +. - paragraph +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 3426 - more code +. +1. foo +2. bar +3) baz .
    -
  1. indented code
    -
    -

    paragraph

    -
    more code
    -
  2. +
  3. foo
  4. +
  5. bar
  6. +
+
    +
  1. baz
. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2787 +src line: 3444 . -1. indented code - - paragraph - - more code +Foo +- bar +- baz . -
    -
  1.  indented code
    -
    -

    paragraph

    -
    more code
    -
  2. -
+

Foo

+ . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2810 +src line: 3459 . - foo - -bar +The number of windows in my house is +14. The number of doors is 6. . -

foo

-

bar

+

The number of windows in my house is

+
    +
  1. The number of doors is 6.
  2. +
. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2819 +src line: 3549 . -- foo +- foo + bar +- baz .

bar

+ . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2835 +src line: 3595 . -- foo +- foo +- bar + - bar +- baz +- bim . + . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2855 +src line: 3641 . - 1. A paragraph - with two lines. - - indented code - - > A block quote. +- a + - b + - c + - d + - e + - f +- g . -
    -
  1. A paragraph -with two lines.

    -
    indented code
    -
    -
    -

    A block quote.

    -
  2. -
+ . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2876 - -. - 1. A paragraph - with two lines. - - indented code - - > A block quote. -. -
    -
  1. A paragraph -with two lines.

    -
    indented code
    -
    -
    -

    A block quote.

    -
  2. -
-. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2897 - -. - 1. A paragraph - with two lines. - - indented code - - > A block quote. -. -
    -
  1. A paragraph -with two lines.

    -
    indented code
    -
    -
    -

    A block quote.

    -
  2. -
-. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2918 - -. - 1. A paragraph - with two lines. - - indented code - - > A block quote. -. -
1.  A paragraph
-    with two lines.
-
-        indented code
-
-    > A block quote.
-
-. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2947 - -. - 1. A paragraph -with two lines. - - indented code - - > A block quote. -. -
    -
  1. A paragraph -with two lines.

    -
    indented code
    -
    -
    -

    A block quote.

    -
  2. -
-. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2968 - -. - 1. A paragraph - with two lines. -. -
    -
  1. A paragraph -with two lines.
  2. -
-. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2980 - -. -> 1. > Blockquote -continued here. -. -
-
    -
  1. -

    Blockquote -continued here.

    -
  2. -
-
-. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 2994 - -. -> 1. > Blockquote -> continued here. -. -
-
    -
  1. -

    Blockquote -continued here.

    -
  2. -
-
-. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3018 - -. -- foo - - bar - - baz -. - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3036 - -. -- foo - - bar - - baz -. - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3050 - -. -10) foo - - bar -. -
    -
  1. foo -
      -
    • bar
    • -
  2. -
-. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3064 - -. -10) foo - - bar -. -
    -
  1. foo
  2. -
- -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3078 - -. -- - foo -. - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3088 - -. -1. - 2. foo -. -
    -
    • -
      1. -
      2. foo
      3. -
    • -
  1. -
-. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3102 - -. -- foo -- -- bar -. - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3114 - -. -- -. - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3351 - -. -- foo -- bar -+ baz -. - - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3365 - -. -1. foo -2. bar -3) baz -. -
    -
  1. foo
  2. -
  3. bar
  4. -
-
    -
  1. baz
  2. -
-. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3383 - -. -Foo -- bar -- baz -. -

Foo

- -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3398 - -. -The number of windows in my house is -14. The number of doors is 6. -. -

The number of windows in my house is

-
    -
  1. The number of doors is 6.
  2. -
-. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3463 - -. -- foo - -- bar - - -- baz -. - - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3484 - -. -- foo - - - bar -- baz -. - -

bar

- -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3502 - -. -- foo - - bar - - baz - - - bim -. - -
  bim
-
-. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3528 - -. -- foo -- bar - - -- baz -- bim -. - - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3546 - -. -- foo - - notcode - -- foo - - - code -. - -
code
-
-. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3570 - -. -- a - - b - - c - - d - - e - - f -- g -. - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3593 - -. -- a -- b - -- c -. - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3608 - -. -* a -* - -* c -. - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3625 - -. -- a -- b - - c -- d -. - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3640 - -. -- a -- b - - [ref]: /url -- d -. - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3656 - -. -- a -- ``` - b - - - ``` -- c -. - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3679 - -. -- a - - b - - c -- d -. - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3699 - -. -* a - > b - > -* c -. - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3717 - -. -- a - > b - ``` - c - ``` -- d -. - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3738 +src line: 3838 . - a @@ -3083,66 +2461,7 @@ src line: 3738 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3746 - -. -- a - - b -. - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3760 - -. -* foo - * bar - - baz -. - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3775 - -. -- a - - b - - c - -- d - - e - - f -. - -. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3804 +src line: 3911 . `hi`lo` @@ -3151,7 +2470,7 @@ src line: 3804 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3817 +src line: 3924 . \!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\\\]\^\_\`\{\|\}\~ @@ -3160,7 +2479,7 @@ src line: 3817 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3826 +src line: 3933 . \ \A\a\ \3\φ\« @@ -3169,7 +2488,7 @@ src line: 3826 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3835 +src line: 3942 . \*not emphasized* @@ -3192,7 +2511,7 @@ src line: 3835 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3857 +src line: 3964 . \\*emphasis* @@ -3201,7 +2520,7 @@ src line: 3857 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3866 +src line: 3973 . foo\ @@ -3212,7 +2531,7 @@ bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3877 +src line: 3984 . `` \[\` `` @@ -3221,7 +2540,7 @@ src line: 3877 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3883 +src line: 3990 . \[\] @@ -3231,7 +2550,7 @@ src line: 3883 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3890 +src line: 3997 . ~~~ @@ -3243,7 +2562,7 @@ src line: 3890 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3899 +src line: 4006 . @@ -3252,7 +2571,7 @@ src line: 3899 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3905 +src line: 4012 . @@ -3261,7 +2580,7 @@ src line: 3905 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3915 +src line: 4022 . [foo](/bar\* "ti\*tle") @@ -3270,7 +2589,7 @@ src line: 3915 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3921 +src line: 4028 . [foo] @@ -3281,7 +2600,7 @@ src line: 3921 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3929 +src line: 4036 . ``` foo\+bar @@ -3293,7 +2612,7 @@ foo . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3961 +src line: 4068 .   & © Æ Ď ¾ ℋ ⅆ ∲ @@ -3302,7 +2621,7 @@ src line: 3961 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3973 +src line: 4080 . # Ӓ Ϡ � @@ -3311,7 +2630,7 @@ src line: 3973 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3983 +src line: 4090 . " ആ ಫ @@ -3320,7 +2639,7 @@ src line: 3983 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 3991 +src line: 4098 .   &x; &#; &#x; &ThisIsWayTooLongToBeAnEntityIsntIt; &hi?; @@ -3329,7 +2648,7 @@ src line: 3991 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4001 +src line: 4108 . © @@ -3338,7 +2657,7 @@ src line: 4001 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4010 +src line: 4117 . &MadeUpEntity; @@ -3347,7 +2666,7 @@ src line: 4010 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4020 +src line: 4127 . @@ -3356,7 +2675,7 @@ src line: 4020 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4026 +src line: 4133 . [foo](/föö "föö") @@ -3365,7 +2684,7 @@ src line: 4026 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4032 +src line: 4139 . [foo] @@ -3376,7 +2695,7 @@ src line: 4032 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4040 +src line: 4147 . ``` föö @@ -3388,7 +2707,7 @@ foo . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4051 +src line: 4158 . `föö` @@ -3397,7 +2716,7 @@ src line: 4051 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4057 +src line: 4164 . föfö @@ -3407,7 +2726,7 @@ src line: 4057 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4078 +src line: 4185 . `foo` @@ -3416,7 +2735,7 @@ src line: 4078 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4087 +src line: 4194 . `` foo ` bar `` @@ -3425,7 +2744,7 @@ src line: 4087 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4096 +src line: 4203 . ` `` ` @@ -3434,7 +2753,7 @@ src line: 4096 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4104 +src line: 4211 . `` @@ -3445,7 +2764,7 @@ foo . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4115 +src line: 4222 . `foo bar @@ -3455,7 +2774,7 @@ src line: 4115 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4135 +src line: 4242 . `foo `` bar` @@ -3464,7 +2783,7 @@ src line: 4135 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4144 +src line: 4251 . `foo\`bar` @@ -3473,7 +2792,7 @@ src line: 4144 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4159 +src line: 4266 . *foo`*` @@ -3482,7 +2801,7 @@ src line: 4159 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4167 +src line: 4274 . [not a `link](/foo`) @@ -3491,7 +2810,7 @@ src line: 4167 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4175 +src line: 4282 . ` @@ -3500,7 +2819,7 @@ src line: 4175 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4183 +src line: 4290 . ` @@ -3509,7 +2828,7 @@ src line: 4183 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4192 +src line: 4299 . ```foo`` @@ -3518,7 +2837,7 @@ src line: 4192 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4198 +src line: 4305 . `foo @@ -3527,7 +2846,7 @@ src line: 4198 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4356 +src line: 4446 . *foo bar* @@ -3536,7 +2855,34 @@ src line: 4356 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4362 +src line: 4455 + +. +a * foo bar* +. +

a * foo bar*

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 4471 + +. +foo*bar* +. +

foobar

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 4477 + +. +5*6*78 +. +

5678

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 4485 . _foo bar_ @@ -3545,276 +2891,351 @@ _foo bar_ . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4370 +src line: 4494 . -**foo bar** +_ foo bar_ . -

foo bar

+

_ foo bar_

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4376 +src line: 4502 . -__foo bar__ +foo_bar_ +. +

foo_bar_

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 4508 + +. +5_6_78 +. +

5_6_78

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 4516 + +. +пристаням_стремятся_ +. +

пристанямстремятся

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 4527 + +. +*foo bar * +. +

*foo bar *

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 4535 + +. +*foo*bar +. +

foobar

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 4547 + +. +_foo bar _ +. +

_foo bar _

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 4555 + +. +_foo_bar +. +

_foo_bar

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 4561 + +. +_пристаням_стремятся +. +

пристанямстремятся

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 4567 + +. +_foo_bar_baz_ +. +

foo_bar_baz

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 4575 + +. +**foo bar** .

foo bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4384 +src line: 4584 . -*foo -bar* +** foo bar** . -

foo -bar

+

** foo bar**

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4392 +src line: 4592 . -_foo -bar_ +foo**bar** . -

foo -bar

+

foobar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4400 +src line: 4600 . -**foo -bar** +__foo bar__ . -

foo -bar

+

foo bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4408 +src line: 4609 . -__foo -bar__ +__ foo bar__ . -

foo -bar

+

__ foo bar__

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4418 +src line: 4617 . -*foo [bar](/url)* +foo__bar__ . -

foo bar

+

foo__bar__

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4424 +src line: 4623 . -_foo [bar](/url)_ +5__6__78 . -

foo bar

+

5__6__78

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4430 +src line: 4629 . -**foo [bar](/url)** +пристаням__стремятся__ . -

foo bar

+

пристанямстремятся

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4436 +src line: 4635 . -__foo [bar](/url)__ +__foo, __bar__, baz__ . -

foo bar

+

foo, bar, baz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4445 +src line: 4646 . -*foo [bar*](/url) +**foo bar ** . -

*foo bar*

+

**foo bar **

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4451 +src line: 4657 . -_foo [bar_](/url) +**foo**bar . -

_foo bar_

+

foobar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4457 +src line: 4668 . -** +__foo bar __ . -

**

+

__foo bar __

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4463 +src line: 4676 . -__
+__foo__bar . -

__

+

__foo__bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4469 +src line: 4682 . -*a `*`* +__пристаням__стремятся . -

a *

+

пристанямстремятся

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4475 +src line: 4688 . -_a `_`_ +__foo__bar__baz__ . -

a _

+

foo__bar__baz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4481 +src line: 4699 . -**a +*foo [bar](/url)* . -

**ahttp://foo.bar?q=**

+

foo bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4487 +src line: 4705 . -__a +*foo +bar* . -

__ahttp://foo.bar?q=__

+

foo +bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4496 +src line: 4716 . -and * foo bar* +_foo __bar__ baz_ . -

and * foo bar*

+

foo bar baz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4502 +src line: 4722 . -_ foo bar_ +_foo _bar_ baz_ . -

_ foo bar_

+

foo bar baz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4508 +src line: 4728 . -and ** foo bar** +__foo_ bar_ . -

and ** foo bar**

+

foo bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4514 +src line: 4734 . -__ foo bar__ +*foo *bar** . -

__ foo bar__

+

foo bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4523 +src line: 4740 . -and *foo bar * +*foo **bar** baz* . -

and *foo bar *

+

foo bar baz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4529 +src line: 4748 . -and _foo bar _ +*foo**bar**baz* . -

and _foo bar _

+

foobarbaz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4535 +src line: 4758 . -and **foo bar ** +***foo** bar* . -

and **foo bar **

+

foo bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4541 +src line: 4764 . -and __foo bar __ +*foo **bar*** . -

and __foo bar __

+

foo bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4550 +src line: 4774 . -****hi**** +*foo**bar*** . -

****hi****

+

foobar**

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4556 +src line: 4783 . -_____hi_____ +*foo **bar *baz* bim** bop* . -

_____hi_____

+

foo bar baz bim bop

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4562 +src line: 4789 . -Sign here: _________ +*foo [*bar*](/url)* . -

Sign here: _________

+

foo bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4571 +src line: 4797 . ** is not an empty emphasis @@ -3823,7 +3244,7 @@ src line: 4571 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4577 +src line: 4803 . **** is not an empty strong emphasis @@ -3832,807 +3253,857 @@ src line: 4577 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4586 +src line: 4815 . -*here is a \** +**foo [bar](/url)** . -

here is a *

+

foo bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4592 +src line: 4821 . -__this is a double underscore (`__`)__ +**foo +bar** . -

this is a double underscore (__)

+

foo +bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4600 +src line: 4832 . -*_* +__foo _bar_ baz__ . -

_

+

foo bar baz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4606 +src line: 4838 . -_*_ +__foo __bar__ baz__ . -

*

+

foo bar baz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4612 +src line: 4856 . -*__* +**foo *bar* baz** . -

__

+

foo bar baz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4618 +src line: 4864 . -_**_ +**foo*bar*baz** . -

**

+

foobarbaz**

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4626 +src line: 4874 . -foo*bar*baz +***foo* bar** . -

foobarbaz

+

foo bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4632 +src line: 4880 . -foo_bar_baz +**foo *bar*** . -

foo_bar_baz

+

foo bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4638 +src line: 4888 . -foo__bar__baz +**foo *bar **baz** +bim* bop** . -

foo__bar__baz

+

foo bar baz +bim bop

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4644 +src line: 4896 . -_foo_bar_baz_ +**foo [*bar*](/url)** . -

foo_bar_baz

+

foo bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4650 +src line: 4904 . -11*15*32 +__ is not an empty emphasis . -

111532

+

__ is not an empty emphasis

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4656 +src line: 4910 . -11_15_32 +____ is not an empty strong emphasis . -

11_15_32

+

____ is not an empty strong emphasis

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4665 +src line: 4919 . -_foo_bar_baz_ +foo *** . -

foo_bar_baz

+

foo ***

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4671 +src line: 4925 . -__foo__bar__baz__ +foo *\** . -

foo__bar__baz

+

foo *

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4679 +src line: 4931 . -***foo bar*** +foo *_* . -

foo bar

+

foo _

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4685 +src line: 4937 . -___foo bar___ +foo ***** . -

foo bar

+

foo *****

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4691 +src line: 4943 . -***foo** bar* +foo **\*** . -

foo bar

+

foo *

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4697 +src line: 4949 . -___foo__ bar_ +foo **_** . -

foo bar

+

foo _

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4703 +src line: 4959 . -***foo* bar** +**foo* . -

foo bar

+

*foo

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4709 +src line: 4965 . -___foo_ bar__ +*foo** . -

foo bar

+

foo*

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4715 +src line: 4971 . -*foo **bar*** +***foo** . -

foo bar

+

*foo

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4721 +src line: 4983 . -_foo __bar___ +**foo*** . -

foo bar

+

foo*

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4727 +src line: 4998 . -**foo *bar*** +foo ___ . -

foo bar

+

foo ___

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4733 +src line: 5004 . -__foo _bar___ +foo _\__ . -

foo bar

+

foo _

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4739 +src line: 5010 . -*foo **bar*** +foo _*_ . -

foo bar

+

foo *

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4745 +src line: 5016 . -_foo __bar___ +foo _____ . -

foo bar

+

foo _____

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4751 +src line: 5022 . -*foo *bar* baz* +foo __\___ . -

foo bar baz

+

foo _

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4757 +src line: 5028 . -_foo _bar_ baz_ +foo __*__ . -

foo bar baz

+

foo *

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4763 +src line: 5034 . -**foo **bar** baz** +__foo_ . -

foo bar baz

+

_foo

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4769 +src line: 5044 . -__foo __bar__ baz__ +_foo__ . -

foo bar baz

+

foo_

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4775 +src line: 5050 . -*foo **bar** baz* +___foo__ . -

foo bar baz

+

_foo

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4781 +src line: 5062 . -_foo __bar__ baz_ +__foo___ . -

foo bar baz

+

foo_

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4787 +src line: 5077 . -**foo *bar* baz** +**foo** . -

foo bar baz

+

foo

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4793 +src line: 5083 . -__foo _bar_ baz__ +*_foo_* . -

foo bar baz

+

foo

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 5089 + +. +__foo__ +. +

foo

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 5095 + +. +_*foo*_ +. +

foo

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 5128 + +. +***foo*** +. +

foo

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 5142 + +. +*foo _bar* baz_ +. +

foo _bar baz_

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4799 +src line: 5148 . -**foo, *bar*, baz** +**foo*bar** . -

foo, bar, baz

+

foobar*

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4805 +src line: 5157 . -__foo, _bar_, baz__ +**foo **bar baz** . -

foo, bar, baz

+

**foo bar baz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4813 +src line: 5163 . -*foo**bar**baz* +*foo *bar baz* . -

foobarbaz

+

*foo bar baz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4819 +src line: 5171 . -**foo*bar*baz** +*[bar*](/url) . -

foobarbaz**

+

*bar*

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4833 +src line: 5177 . -**foo** +_foo [bar_](/url) . -

foo

+

_foo bar_

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4839 +src line: 5183 . -****foo**** +* . -

****foo****

+

*

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4847 +src line: 5189 . -*_foo_* +** . -

foo

+

**

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4853 +src line: 5195 . -**__foo__** +__ . -

foo

+

__

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4863 +src line: 5201 . -*foo** +*a `*`* . -

foo*

+

a *

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4869 +src line: 5207 . -*foo *bar** +_a `_`_ . -

foo bar

+

a _

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4875 +src line: 5213 . -**foo*** +**a . -

foo*

+

**ahttp://foo.bar?q=**

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4881 +src line: 5219 . -***foo* bar*** +__a . -

foo bar*

+

__ahttp://foo.bar?q=__

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4887 +src line: 5298 . -***foo** bar*** +[link](/uri "title") . -

foo bar**

+

link

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4896 +src line: 5306 . -*foo**bar*** +[link](/uri) . -

foobar**

+

link

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4904 +src line: 5314 . -*foo**** +[link]() . -

*foo****

+

link

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4912 +src line: 5320 . -*foo** - -**foo* +[link](<>) . -

foo*

-

*foo

+

link

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4921 +src line: 5329 . -*foo *bar** - -**foo* bar* +[link](/my uri) . -

foo bar

-

foo bar

+

[link](/my uri)

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4932 +src line: 5335 . -*bar*** +[link]() . -

bar**

+

link

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4938 +src line: 5343 . -***foo* +[link](foo +bar) . -

**foo

+

[link](foo +bar)

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4944 +src line: 5353 . -**bar*** +[link]((foo)and(bar)) . -

bar*

+

link

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4950 +src line: 5362 . -***foo** +[link](foo(and(bar))) . -

*foo

+

[link](foo(and(bar)))

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4956 +src line: 5368 . -***foo *bar* +[link](foo(and\(bar\))) . -

***foo bar

+

link

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4964 +src line: 5374 . -*foo _bar* baz_ +[link]() . -

foo _bar baz_

+

link

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4970 +src line: 5383 . -**foo bar* baz** +[link](foo\)\:) . -

foo bar baz*

+

link

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4978 +src line: 5394 . -**foo **bar baz** +[link](foo%20bä) . -

**foo bar baz

+

link

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4984 +src line: 5404 . -*foo *bar baz* +[link]("title") . -

*foo bar baz

+

link

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4992 +src line: 5412 . -*[foo*](bar) +[link](/url "title") +[link](/url 'title') +[link](/url (title)) . -

*foo*

+

link +link +link

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 4998 +src line: 5424 . -*![foo*](bar) +[link](/url "title \""") . -

*foo*

+

link

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5004 +src line: 5432 . -* +[link](/url "title "and" title") . -

*

+

[link](/url "title "and" title")

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5010 +src line: 5440 . -*a`a*` +[link](/url 'title "and" title') . -

*aa*

+

link

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5082 +src line: 5462 . -[link](/uri "title") +[link]( /uri + "title" ) .

link

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5090 +src line: 5472 . -[link](/uri) +[link] (/uri) . -

link

+

[link] (/uri)

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5098 +src line: 5481 . -[link]() +[link [foo [bar]]](/uri) . -

link

+

link [foo [bar]]

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5104 +src line: 5487 . -[link](<>) +[link] bar](/uri) . -

link

+

[link] bar](/uri)

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5114 +src line: 5493 . -[link](/my uri) +[link [bar](/uri) . -

[link](/my uri)

+

[link bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5120 +src line: 5499 . -[link]() +[link \[bar](/uri) . -

link

+

link [bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5128 +src line: 5507 . -[link](foo -bar) +[link *foo **bar** `#`*](/uri) . -

[link](foo -bar)

+

link foo bar #

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5138 +src line: 5513 . -[link]((foo)and(bar)) +[![moon](moon.jpg)](/uri) . -

link

+

moon

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5147 +src line: 5536 . -[link](foo(and(bar))) +*[foo*](/uri) . -

[link](foo(and(bar)))

+

*foo*

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5153 +src line: 5542 . -[link](foo(and\(bar\))) +[foo *bar](baz*) . -

link

+

foo *bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5159 +src line: 5551 . -[link]() +[foo . -

link

+

[foo

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5168 +src line: 5557 . -[link](foo\)\:) +[foo`](/uri)` . -

link

+

[foo](/uri)

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5179 +src line: 5563 . -[link](foo%20bä) +[foo . -

link

+

[foohttp://example.com?search=](uri)

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5189 +src line: 5598 . -[link]("title") +[foo][bar] + +[bar]: /url "title" . -

link

+

foo

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5197 +src line: 5612 . -[link](/url "title") -[link](/url 'title') -[link](/url (title)) +[link [foo [bar]]][ref] + +[ref]: /uri . -

link -link -link

+

link [foo [bar]]

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5209 +src line: 5620 . -[link](/url "title \""") +[link \[bar][ref] + +[ref]: /uri . -

link

+

link [bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5217 +src line: 5630 . -[link](/url "title "and" title") +[link *foo **bar** `#`*][ref] + +[ref]: /uri . -

[link](/url "title "and" title")

+

link foo bar #

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5225 +src line: 5638 . -[link](/url 'title "and" title') +[![moon](moon.jpg)][ref] + +[ref]: /uri . -

link

+

moon

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5247 +src line: 5671 . -[link]( /uri - "title" ) +*[foo*][ref] + +[ref]: /uri . -

link

+

*foo*

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5257 +src line: 5679 . -[link] (/uri) +[foo *bar][ref] + +[ref]: /uri . -

[link] (/uri)

+

foo *bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5266 +src line: 5690 . -[foo +[foo + +[ref]: /uri . -

[foo

+

[foo

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5295 +src line: 5698 . -[foo][bar] +[foo`][ref]` -[bar]: /url "title" +[ref]: /uri . -

foo

+

[foo][ref]

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5305 +src line: 5706 . -[*foo\!*][bar] +[foo -[bar]: /url "title" +[ref]: /uri . -

foo!

+

[foohttp://example.com?search=][ref]

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5315 +src line: 5716 . [foo][BaR] @@ -4643,7 +4114,7 @@ src line: 5315 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5325 +src line: 5726 . [Толпой][Толпой] is a Russian word. @@ -4654,7 +4125,7 @@ src line: 5325 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5336 +src line: 5737 . [Foo @@ -4666,7 +4137,7 @@ src line: 5336 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5347 +src line: 5749 . [foo] [bar] @@ -4677,7 +4148,7 @@ src line: 5347 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5355 +src line: 5757 . [foo] @@ -4689,7 +4160,7 @@ src line: 5355 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5367 +src line: 5769 . [foo]: /url1 @@ -4702,7 +4173,7 @@ src line: 5367 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5381 +src line: 5783 . [bar][foo\!] @@ -4713,7 +4184,30 @@ src line: 5381 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5398 +src line: 5794 + +. +[foo][ref[] + +[ref[]: /uri +. +

[foo][ref[]

+

[ref[]: /uri

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 5821 + +. +[foo][ref\[] + +[ref\[]: /uri +. +

foo

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 5838 . [foo][] @@ -4724,7 +4218,7 @@ src line: 5398 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5406 +src line: 5846 . [*foo* bar][] @@ -4735,7 +4229,7 @@ src line: 5406 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5416 +src line: 5856 . [Foo][] @@ -4746,7 +4240,7 @@ src line: 5416 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5428 +src line: 5868 . [foo] @@ -4758,7 +4252,7 @@ src line: 5428 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5447 +src line: 5887 . [foo] @@ -4769,7 +4263,7 @@ src line: 5447 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5455 +src line: 5895 . [*foo* bar] @@ -4780,7 +4274,7 @@ src line: 5455 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5463 +src line: 5903 . [[*foo* bar]] @@ -4791,7 +4285,7 @@ src line: 5463 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5473 +src line: 5913 . [Foo] @@ -4802,7 +4296,7 @@ src line: 5473 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5484 +src line: 5934 . \[foo] @@ -4813,7 +4307,7 @@ src line: 5484 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5495 +src line: 5945 . [foo*]: /url @@ -4824,7 +4318,7 @@ src line: 5495 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5506 +src line: 5955 . [foo`]: /url @@ -4835,41 +4329,7 @@ src line: 5506 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5516 - -. -[[[foo]]] - -[[[foo]]]: /url -. -

[[foo]]

-. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5524 - -. -[[[foo]]] - -[[[foo]]]: /url1 -[foo]: /url2 -. -

[[foo]]

-. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5535 - -. -[\[foo] - -[\[foo]: /url -. -

[foo

-. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5545 +src line: 5965 . [foo][bar] @@ -4881,7 +4341,7 @@ src line: 5545 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5557 +src line: 5977 . [foo][bar][baz] @@ -4892,7 +4352,7 @@ src line: 5557 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5568 +src line: 5988 . [foo][bar][baz] @@ -4904,7 +4364,7 @@ src line: 5568 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5580 +src line: 6000 . [foo][bar][baz] @@ -4916,7 +4376,7 @@ src line: 5580 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5597 +src line: 6022 . ![foo](/url "title") @@ -4925,7 +4385,7 @@ src line: 5597 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5627 +src line: 6071 . ![foo](train.jpg) @@ -4934,7 +4394,7 @@ src line: 5627 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5633 +src line: 6077 . My ![foo bar](/path/to/train.jpg "title" ) @@ -4943,7 +4403,7 @@ My ![foo bar](/path/to/train.jpg "title" ) . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5639 +src line: 6083 . ![foo]() @@ -4952,7 +4412,7 @@ src line: 5639 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5645 +src line: 6089 . ![](/url) @@ -4961,7 +4421,7 @@ src line: 5645 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5653 +src line: 6097 . ![foo] [bar] @@ -4972,7 +4432,7 @@ src line: 5653 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5661 +src line: 6105 . ![foo] [bar] @@ -4983,7 +4443,7 @@ src line: 5661 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5671 +src line: 6115 . ![foo][] @@ -4994,7 +4454,7 @@ src line: 5671 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5689 +src line: 6133 . ![Foo][] @@ -5005,7 +4465,7 @@ src line: 5689 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5700 +src line: 6144 . ![foo] @@ -5017,7 +4477,7 @@ src line: 5700 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5711 +src line: 6155 . ![foo] @@ -5028,18 +4488,7 @@ src line: 5711 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5727 - -. -![[foo]] - -[[foo]]: /url "title" -. -

[foo]

-. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5737 +src line: 6184 . ![Foo] @@ -5050,7 +4499,7 @@ src line: 5737 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5748 +src line: 6195 . \!\[foo] @@ -5061,7 +4510,7 @@ src line: 5748 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5759 +src line: 6206 . \![foo] @@ -5072,7 +4521,7 @@ src line: 5759 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5812 +src line: 6259 . @@ -5081,7 +4530,7 @@ src line: 5812 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5818 +src line: 6265 . @@ -5090,7 +4539,7 @@ src line: 5818 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5824 +src line: 6271 . @@ -5099,7 +4548,7 @@ src line: 5824 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5832 +src line: 6279 . @@ -5108,7 +4557,7 @@ src line: 5832 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5840 +src line: 6287 . @@ -5117,7 +4566,7 @@ src line: 5840 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5861 +src line: 6308 . @@ -5126,7 +4575,7 @@ src line: 5861 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5867 +src line: 6314 . @@ -5135,7 +4584,7 @@ src line: 5867 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5875 +src line: 6322 . <> @@ -5144,7 +4593,7 @@ src line: 5875 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5881 +src line: 6328 . @@ -5153,7 +4602,7 @@ src line: 5881 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5887 +src line: 6334 . < http://foo.bar > @@ -5162,7 +4611,7 @@ src line: 5887 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5893 +src line: 6340 . @@ -5171,7 +4620,7 @@ src line: 5893 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5899 +src line: 6346 . @@ -5180,7 +4629,7 @@ src line: 5899 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5905 +src line: 6352 . http://example.com @@ -5189,7 +4638,7 @@ http://example.com . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5911 +src line: 6358 . foo@bar.example.com @@ -5198,7 +4647,7 @@ foo@bar.example.com . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 5995 +src line: 6442 . @@ -5207,7 +4656,7 @@ src line: 5995 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6003 +src line: 6450 . @@ -5216,7 +4665,7 @@ src line: 6003 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6011 +src line: 6458 .

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6021 +src line: 6468 .

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6031 +src line: 6478 . <33> <__> @@ -5247,7 +4696,7 @@ src line: 6031 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6039 +src line: 6486 .
@@ -5256,7 +4705,7 @@ src line: 6039 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6047 +src line: 6494 . @@ -5305,7 +4754,7 @@ src line: 6083 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6091 +src line: 6538 . foo

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6099 +src line: 6546 . foo @@ -5325,7 +4774,7 @@ foo . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6107 +src line: 6554 . foo @@ -5334,7 +4783,7 @@ foo . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6115 +src line: 6562 . foo @@ -5343,7 +4792,7 @@ foo . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6123 +src line: 6570 . foo &<]]> @@ -5352,7 +4801,7 @@ foo &<]]> . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6131 +src line: 6578 .
@@ -5361,7 +4810,7 @@ src line: 6131 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6139 +src line: 6586 . @@ -5370,7 +4819,7 @@ src line: 6139 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6145 +src line: 6592 . @@ -5379,7 +4828,7 @@ src line: 6145 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6158 +src line: 6605 . foo @@ -5390,7 +4839,7 @@ baz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6169 +src line: 6616 . foo\ @@ -5401,7 +4850,7 @@ baz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6179 +src line: 6626 . foo @@ -5412,7 +4861,7 @@ baz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6189 +src line: 6636 . foo @@ -5423,7 +4872,7 @@ bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6197 +src line: 6644 . foo\ @@ -5434,7 +4883,7 @@ bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6208 +src line: 6655 . *foo @@ -5445,7 +4894,7 @@ bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6216 +src line: 6663 . *foo\ @@ -5456,7 +4905,7 @@ bar

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6226 +src line: 6673 . `code @@ -5466,7 +4915,7 @@ span` . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6233 +src line: 6680 . `code\ @@ -5476,7 +4925,7 @@ span` . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6242 +src line: 6689 .

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6250 +src line: 6697 .

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6266 +src line: 6709 + +. +foo\ +. +

foo\

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 6715 + +. +foo +. +

foo

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 6721 + +. +### foo\ +. +

foo\

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 6727 + +. +### foo +. +

foo

+. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src line: 6741 . foo @@ -5509,7 +4994,7 @@ baz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6277 +src line: 6752 . foo @@ -5520,7 +5005,7 @@ baz

. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6296 +src line: 6771 . hello $.;'there @@ -5529,7 +5014,7 @@ hello $.;'there . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6302 +src line: 6777 . Foo χρῆν @@ -5538,7 +5023,7 @@ Foo χρῆν . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src line: 6310 +src line: 6785 . Multiple spaces diff --git a/test/fixtures/commonmark/spec.txt b/test/fixtures/commonmark/spec.txt index 1bbd287..3217e6c 100644 --- a/test/fixtures/commonmark/spec.txt +++ b/test/fixtures/commonmark/spec.txt @@ -2,8 +2,8 @@ title: CommonMark Spec author: - John MacFarlane -version: 0.7 -date: 2014-10-28 +version: 0.13 +date: 2014-12-10 ... # Introduction @@ -170,10 +170,10 @@ as a "syntax error," the divergence often isn't discovered right away. This document attempts to specify Markdown syntax unambiguously. It contains many examples with side-by-side Markdown and HTML. These are intended to double as conformance tests. An -accompanying script `runtests.pl` can be used to run the tests +accompanying script `spec_tests.py` can be used to run the tests against any Markdown program: - perl runtests.pl spec.txt PROGRAM + python test/spec_tests.py --spec spec.txt --program PROGRAM Since this document describes how Markdown is to be parsed into an abstract syntax tree, it would have made sense to use an abstract @@ -191,11 +191,11 @@ In the examples, the `→` character is used to represent tabs. # Preprocessing -A [line](#line)
+A [line](@line) is a sequence of zero or more [characters](#character) followed by a line ending (CR, LF, or CRLF) or by the end of file. -A [character](#character) is a unicode code point. +A [character](@character) is a unicode code point. This spec does not specify an encoding; it thinks of lines as composed of characters rather than bytes. A conforming parser may be limited to a certain encoding. @@ -221,15 +221,18 @@ Tabs in lines are expanded to spaces, with a tab stop of 4 characters: Line endings are replaced by newline characters (LF). A line containing no characters, or a line containing only spaces (after -tab expansion), is called a [blank line](#blank-line). - +tab expansion), is called a [blank line](@blank-line). + +For security reasons, a conforming parser must strip or replace the +Unicode character `U+0000`. # Blocks and inlines -We can think of a document as a sequence of [blocks](#block)---structural elements like paragraphs, block quotations, +We can think of a document as a sequence of +[blocks](@block)---structural +elements like paragraphs, block quotations, lists, headers, rules, and code blocks. Blocks can contain other -blocks, or they can contain [inline](#inline) content: +blocks, or they can contain [inline](@inline) content: words, spaces, links, emphasized text, images, and inline code. ## Precedence @@ -260,9 +263,9 @@ 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-block), -which can contain other blocks, and [leaf blocks](#leaf-block), - which cannot. +[container blocks](@container-block), +which can contain other blocks, and [leaf blocks](@leaf-block), +which cannot. # Leaf blocks @@ -274,7 +277,7 @@ Markdown document. 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, forms a [horizontal -rule](#horizontal-rule). +rule](@horizontal-rule). . *** @@ -468,13 +471,15 @@ If you want a horizontal rule in a list item, use a different bullet: .
  • Foo
  • -

  • +
  • +
    +
. ## ATX headers -An [ATX header](#atx-header) +An [ATX header](@atx-header) 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 `#` characters. The opening sequence @@ -672,14 +677,14 @@ ATX headers can be empty: ## Setext headers -A [setext header](#setext-header) +A [setext header](@setext-header) consists of a line of text, containing at least one nonspace character, with no more than 3 spaces indentation, followed by a [setext header underline](#setext-header-underline). The line of text must be one that, were it not followed by the setext header underline, would be interpreted as part of a paragraph: it cannot be a code block, header, blockquote, horizontal rule, or list. A [setext header -underline](#setext-header-underline) +underline](@setext-header-underline) is a sequence of `=` characters or a sequence of `-` characters, with no more than 3 spaces indentation and any number of trailing spaces. The header is a level 1 header if `=` characters are used, and @@ -943,18 +948,19 @@ use backslash escapes: ## Indented code blocks -An [indented code block](#indented-code-block) - is composed of one or more +An [indented code block](@indented-code-block) is composed of one or more [indented chunks](#indented-chunk) separated by blank lines. -An [indented chunk](#indented-chunk) -is a sequence of non-blank lines, each indented four or more -spaces. An indented code block cannot interrupt a paragraph, so -if it occurs before or after a paragraph, there must be an -intervening blank line. The contents of the code block are +An [indented chunk](@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 newlines, minus four spaces of indentation. An indented code block has no attributes. +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.) + . a simple indented code block @@ -1096,16 +1102,16 @@ Trailing spaces are included in the code block's content: ## Fenced code blocks -A [code fence](#code-fence) is a sequence +A [code fence](@code-fence) is a sequence of at least three consecutive backtick characters (`` ` ``) or tildes (`~`). (Tildes and backticks cannot be mixed.) -A [fenced code block](#fenced-code-block) +A [fenced code block](@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 -spaces and called the [info string](#info-string). - The info string may not contain any backtick +spaces and called the [info string](@info-string). +The info string 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.) @@ -1458,7 +1464,7 @@ Closing code fences cannot have info strings: ## HTML blocks -An [HTML block tag](#html-block-tag) is +An [HTML block tag](@html-block-tag) is an [open tag](#open-tag) or [closing tag](#closing-tag) whose tag name is one of the following (case-insensitive): `article`, `header`, `aside`, `hgroup`, `blockquote`, `hr`, `iframe`, @@ -1469,7 +1475,7 @@ name is one of the following (case-insensitive): `tr`, `form`, `ul`, `h1`, `h2`, `h3`, `h4`, `h5`, `h6`, `video`, `script`, `style`. -An [HTML block](#html-block) begins with an +An [HTML block](@html-block) begins with an [HTML block tag](#html-block-tag), [HTML comment](#html-comment), [processing instruction](#processing-instruction), [declaration](#declaration), or [CDATA section](#cdata-section). @@ -1743,8 +1749,8 @@ So there is no important loss of expressive power with the new rule. ## Link reference definitions -A [link reference definition](#link-reference-definition) - consists of a [link +A [link reference definition](@link-reference-definition) +consists of a [link label](#link-label), indented up to three spaces, followed by a colon (`:`), optional blank space (including up to one newline), a [link destination](#link-destination), optional @@ -1969,7 +1975,7 @@ are defined: ## Paragraphs A sequence of non-blank lines that cannot be interpreted as other -kinds of blocks forms a [paragraph](#paragraph). +kinds of blocks forms a [paragraph](@paragraph). The contents of the paragraph are the result of parsing the paragraph's raw content as inlines. The paragraph's raw content is formed by concatenating the lines and removing initial and final @@ -2113,12 +2119,11 @@ these constructions. (A recipe is provided below in the section entitled ## Block quotes -A [block quote marker](#block-quote-marker) +A [block quote marker](@block-quote-marker) consists of 0-3 spaces of initial indent, plus (a) the character `>` together with a following space, or (b) a single character `>` not followed by a space. -The following rules define [block quotes](#block-quote): - +The following rules define [block quotes](@block-quote): 1. **Basic case.** If a string of lines *Ls* constitute a sequence of blocks *Bs*, then the result of prepending a [block quote @@ -2131,8 +2136,8 @@ The following rules define [block quotes](#block-quote): more lines in which the next non-space character after the [block quote marker](#block-quote-marker) is [paragraph continuation text](#paragraph-continuation-text) is a block quote with *Bs* as - its content. - [Paragraph continuation text](#paragraph-continuation-text) is text + its content. + [Paragraph continuation text](@paragraph-continuation-text) is text that will be parsed as part of the content of a paragraph, but does not occur at the beginning of the paragraph. @@ -2475,19 +2480,18 @@ the `>`: ## List items -A [list marker](#list-marker) is a +A [list marker](@list-marker) is a [bullet list marker](#bullet-list-marker) or an [ordered list marker](#ordered-list-marker). -A [bullet list marker](#bullet-list-marker) +A [bullet list marker](@bullet-list-marker) is a `-`, `+`, or `*` character. -An [ordered list marker](#ordered-list-marker) +An [ordered list marker](@ordered-list-marker) is a sequence of one of more digits (`0-9`), followed by either a `.` character or a `)` character. -The following rules define [list items](#list-item): +The following rules define [list items](@list-item): 1. **Basic case.** If a sequence of lines *Ls* constitute a sequence of blocks *Bs* starting with a non-space character and not separated @@ -2532,13 +2536,15 @@ and the same contents as *Ls*: > A block quote. .
    -
  1. A paragraph +

  2. +

    A paragraph with two lines.

    indented code
     

    A block quote.

    -
  3. + +
. @@ -2570,8 +2576,10 @@ put under the list item: two .
    -
  • one

    -

    two

  • +
  • +

    one

    +

    two

    +
. @@ -2593,8 +2601,10 @@ put under the list item: two .
    -
  • one

    -

    two

  • +
  • +

    one

    +

    two

    +
. @@ -2614,8 +2624,10 @@ this example:
    -
  1. one

    -

    two

  2. +
  3. +

    one

    +

    two

    +
@@ -2667,17 +2679,23 @@ two blanks are contained in a [fenced code block](#fenced-code-block). ``` .
    -
  • foo

    -

    bar

  • -
  • foo

  • +
  • +

    foo

    +

    bar

    +
  • +
  • +

    foo

    +

bar

    -
  • foo
    +
  • +
    foo
     
     
     bar
    -
  • +
    +
. @@ -2695,13 +2713,15 @@ A list item may contain any kind of block: > bam .
    -
  1. foo

    +
  2. +

    foo

    bar
     

    baz

    bam

    -
  3. + +
. @@ -2727,9 +2747,11 @@ In the following case that is 6 spaces: bar .
    -
  • foo

    +
  • +

    foo

    bar
    -
  • + +
. @@ -2741,9 +2763,11 @@ And in this case it is 11 spaces: bar .
    -
  1. foo

    +
  2. +

    foo

    bar
    -
  3. + +
. @@ -2773,11 +2797,13 @@ paragraph more code .
    -
  1. indented code
    +
  2. +
    indented code
     

    paragraph

    more code
    -
  3. +
    +
. @@ -2792,11 +2818,13 @@ inside the code block: more code .
    -
  1.  indented code
    +
  2. +
     indented code
     

    paragraph

    more code
    -
  3. +
    +
. @@ -2838,8 +2866,10 @@ the above case: bar .
    -
  • foo

    -

    bar

  • +
  • +

    foo

    +

    bar

    +
. @@ -2861,13 +2891,15 @@ Indented one space: > A block quote. .
    -
  1. A paragraph +

  2. +

    A paragraph with two lines.

    indented code
     

    A block quote.

    -
  3. + +
. @@ -2882,13 +2914,15 @@ Indented two spaces: > A block quote. .
    -
  1. A paragraph +

  2. +

    A paragraph with two lines.

    indented code
     

    A block quote.

    -
  3. + +
. @@ -2903,13 +2937,15 @@ Indented three spaces: > A block quote. .
    -
  1. A paragraph +

  2. +

    A paragraph with two lines.

    indented code
     

    A block quote.

    -
  3. + +
. @@ -2938,8 +2974,9 @@ Four spaces indent gives a code block: some or all of the indentation from one or more lines in which the next non-space character after the indentation is [paragraph continuation text](#paragraph-continuation-text) is a - list item with the same contents and attributes. + list item with the same contents and attributes. The unindented + lines are called + [lazy continuation lines](@lazy-continuation-line). Here is an example with [lazy continuation lines](#lazy-continuation-line): @@ -2953,13 +2990,15 @@ with two lines. > A block quote. .
    -
  1. A paragraph +

  2. +

    A paragraph with two lines.

    indented code
     

    A block quote.

    -
  3. + +
. @@ -2983,10 +3022,12 @@ continued here. .
    -
  1. +
  2. +

    Blockquote continued here.

    -
  3. +
    +
. @@ -2997,10 +3038,12 @@ continued here.

.
    -
  1. +
  2. +

    Blockquote continued here.

    -
  3. +
    +
. @@ -3026,8 +3069,10 @@ So, in this case we need two spaces indent:
  • bar
    • baz
    • -
  • - + + + + . @@ -3055,7 +3100,8 @@ Here we need four, because the list marker is wider:
  • foo
    • bar
    • -
  • + + . @@ -3079,9 +3125,11 @@ A list may be the first block in a list item: - - foo .
      -
      • +
      • +
        • foo
        • -
      • +
      +
    . @@ -3089,11 +3137,15 @@ A list may be the first block in a list item: 1. - 2. foo .
      -
      • -
        1. +
        2. +
            +
          • +
            1. foo
            2. -
          • -
        3. +
        +
      • +
      +
    . @@ -3128,9 +3180,12 @@ A list item can contain a header: baz .
      -
    • Foo

    • -
    • Bar

      -

      baz

    • +
    • +

      Foo

      +
    • +
    • +

      Bar

      +baz
    . @@ -3225,11 +3280,13 @@ as the four-space rule demands, rather than a single list, ``` html
      -
    • foo

      +
    • +

      foo

      bar

      • baz
      • -
    • +
    + ``` @@ -3252,8 +3309,10 @@ as a single list item, with `two` a continuation paragraph: ``` html
      -
    • one

      -

      two

    • +
    • +

      one

      +

      two

      +
    ``` @@ -3270,8 +3329,10 @@ as ``` html
      -
    • one

      -

      two

    • +
    • +

      one

      +

      two

      +
    ``` @@ -3316,33 +3377,33 @@ takes four spaces (a common case), but diverge in other cases. ## Lists -A [list](#list) is a sequence of one or more +A [list](@list) is a sequence of one or more list items [of the same type](#of-the-same-type). The list items may be separated by single [blank lines](#blank-line), but two blank lines end all containing lists. -Two list items are [of the same type](#of-the-same-type) - if they begin with a [list +Two list items are [of the same type](@of-the-same-type) +if they begin with a [list marker](#list-marker) of the same type. Two list markers are of the same type if (a) they are bullet list markers using the same character (`-`, `+`, or `*`) or (b) they are ordered list numbers with the same delimiter (either `.` or `)`). -A list is an [ordered list](#ordered-list) +A list is an [ordered list](@ordered-list) if its constituent list items begin with [ordered list markers](#ordered-list-marker), and a [bullet -list](#bullet-list) if its constituent list +list](@bullet-list) if its constituent list items begin with [bullet list markers](#bullet-list-marker). -The [start number](#start-number) +The [start number](@start-number) of an [ordered list](#ordered-list) is determined by the list number of its initial list item. The numbers of subsequent list items are disregarded. -A list is [loose](#loose) if it any of its constituent +A list is [loose](@loose) if it any of its constituent list items are separated by blank lines, or if any of its constituent list items directly contain two block-level elements with a blank line -between them. Otherwise a list is [tight](#tight). +between them. Otherwise a list is [tight](@tight). (The difference in HTML output is that paragraphs in a loose list are wrapped in `

    ` tags, while paragraphs in a tight list are not.) @@ -3420,8 +3481,8 @@ blank lines: Second, we are attracted to a -> [principle of uniformity](#principle-of-uniformity): id="principle-of-uniformity"> if a span of text has a certain +> [principle of uniformity](@principle-of-uniformity): +> if a span of text has a certain > meaning, it will continue to have the same meaning when put into a list > item. @@ -3469,8 +3530,12 @@ a list: - baz .

      -
    • foo

    • -
    • bar

    • +
    • +

      foo

      +
    • +
    • +

      bar

      +
    • baz
    • @@ -3513,8 +3578,10 @@ Indeed, two blank lines will end *all* containing lists:
    • bar
      • baz
      • -
    • -
    + + + +
      bim
     
    @@ -3554,9 +3621,13 @@ item: code .
      -
    • foo

      -

      notcode

    • -
    • foo

    • +
    • +

      foo

      +

      notcode

      +
    • +
    • +

      foo

      +
    code
     
    @@ -3597,9 +3668,15 @@ two of the list items: - c .
      -
    • a

    • -
    • b

    • -
    • c

    • +
    • +

      a

      +
    • +
    • +

      b

      +
    • +
    • +

      c

      +
    . @@ -3612,9 +3689,13 @@ So is this, with a empty second item: * c .
      -
    • a

    • +
    • +

      a

      +
    • -
    • c

    • +
    • +

      c

      +
    . @@ -3630,10 +3711,16 @@ with a blank line between them: - d .
      -
    • a

    • -
    • b

      -

      c

    • -
    • d

    • +
    • +

      a

      +
    • +
    • +

      b

      +

      c

      +
    • +
    • +

      d

      +
    . @@ -3645,9 +3732,15 @@ with a blank line between them: - d .
      -
    • a

    • -
    • b

    • -
    • d

    • +
    • +

      a

      +
    • +
    • +

      b

      +
    • +
    • +

      d

      +
    . @@ -3664,10 +3757,12 @@ This is a tight list, because the blank lines are in a code block: .
    • a
    • -
    • b
      +
    • +
      b
       
       
      -
    • +
      +
    • c
    . @@ -3686,9 +3781,12 @@ the outer list is tight:
    • a
        -
      • b

        -

        c

      • -
    • +
    • +

      b

      +

      c

      +
    • +
    +
  • d
  • . @@ -3706,7 +3804,8 @@ block quote:
  • a

    b

    -
  • + +
  • c
  • . @@ -3728,7 +3827,8 @@ are not separated by blank lines:

    b

    c
    -
    + +
  • d
  • . @@ -3751,7 +3851,8 @@ A single-paragraph list is tight:
  • a
    • b
    • -
  • + + . @@ -3764,11 +3865,13 @@ Here the outer list is loose, the inner list tight: baz .
      -
    • foo

      +
    • +

      foo

      • bar
      -

      baz

    • +

      baz

      +
    . @@ -3782,16 +3885,20 @@ Here the outer list is loose, the inner list tight: - f .
      -
    • a

      +
    • +

      a

      • b
      • c
      • -
    • -
    • d

      +
    + +
  • +

    d

    • e
    • f
    • -
  • + + . @@ -3947,7 +4054,7 @@ the entities when generating HTML, and simplifies the job of implementations targetting other languages, as these will only need to handle the unicode chars and need not be HTML-entity aware. -[Named entities](#name-entities) consist of `&` +[Named entities](@name-entities) consist of `&` + any of the valid HTML5 entity names + `;`. The [following document](http://www.whatwg.org/specs/web-apps/current-work/multipage/entities.json) is used as an authoritative source of the valid entity names and their @@ -3964,7 +4071,7 @@ always need to be written as entities for security reasons.

      & © Æ Ď ¾ ℋ ⅆ ∲

    . -[Decimal entities](#decimal-entities) +[Decimal entities](@decimal-entities) consist of `&#` + a string of 1--8 arabic digits + `;`. Again, these entities need to be recognised and tranformed into their corresponding UTF8 codepoints. Invalid Unicode codepoints will be written as the @@ -3976,7 +4083,7 @@ UTF8 codepoints. Invalid Unicode codepoints will be written as the

    # Ӓ Ϡ �

    . -[Hexadecimal entities](#hexadecimal-entities) +[Hexadecimal entities](@hexadecimal-entities) consist of `&#` + either `X` or `x` + a string of 1-8 hexadecimal digits + `;`. They will also be parsed and turned into their corresponding UTF8 values in the AST. @@ -4063,11 +4170,11 @@ Entities are treated as literal text in code spans and code blocks: ## Code span -A [backtick string](#backtick-string) +A [backtick string](@backtick-string) is a string of one or more backtick characters (`` ` ``) that is neither preceded nor followed by a backtick. -A code span begins with a backtick string and ends with a backtick +A [code span](@code-span) begins with a backtick string and ends with a backtick string of equal length. The contents of the code span are the characters between the two backtick strings, with leading and trailing spaces and newlines removed, and consecutive spaces and newlines @@ -4247,88 +4354,71 @@ no emphasis: foo_bar_baz The following rules capture all of these patterns, while allowing for efficient parsing strategies that do not backtrack: -1. A single `*` character [can open emphasis](#can-open-emphasis) - iff - - (a) it is not part of a sequence of four or more unescaped `*`s, - (b) it is not followed by whitespace, and - (c) either it is not followed by a `*` character or it is - followed immediately by emphasis or strong emphasis. +1. A single `*` character [can open emphasis](@can-open-emphasis) + iff it is not followed by whitespace. (For these purposes, + any unicode space character counts as whitespace.) 2. A single `_` character [can open emphasis](#can-open-emphasis) iff + it is not followed by whitespace and it is not preceded by an + ASCII alphanumeric character. - (a) it is not part of a sequence of four or more unescaped `_`s, - (b) it is not followed by whitespace, - (c) it is not preceded by an ASCII alphanumeric character, and - (d) either it is not followed by a `_` character or it is - followed immediately by emphasis or strong emphasis. - -3. A single `*` character [can close emphasis](#can-close-emphasis) - iff - - (a) it is not part of a sequence of four or more unescaped `*`s, and - (b) it is not preceded by whitespace. +3. A single `*` character [can close emphasis](@can-close-emphasis) + iff it is not preceded by whitespace. 4. A single `_` character [can close emphasis](#can-close-emphasis) iff + it is not preceded by whitespace and it is not followed by an + ASCII alphanumeric character. - (a) it is not part of a sequence of four or more unescaped `_`s, - (b) it is not preceded by whitespace, and - (c) it is not followed by an ASCII alphanumeric character. - -5. A double `**` [can open strong emphasis](#can-open-strong-emphasis) - iff - - (a) it is not part of a sequence of four or more unescaped `*`s, - (b) it is not followed by whitespace, and - (c) either it is not followed by a `*` character or it is - followed immediately by emphasis. +5. A double `**` [can open strong emphasis](@can-open-strong-emphasis) + iff it is not followed by + whitespace. 6. A double `__` [can open strong emphasis](#can-open-strong-emphasis) - iff - - (a) it is not part of a sequence of four or more unescaped `_`s, - (b) it is not followed by whitespace, and - (c) it is not preceded by an ASCII alphanumeric character, and - (d) either it is not followed by a `_` character or it is - followed immediately by emphasis. - -7. A double `**` [can close strong emphasis](#can-close-strong-emphasis) - iff + iff it is not followed by whitespace and it is not preceded by an + ASCII alphanumeric character. - (a) it is not part of a sequence of four or more unescaped `*`s, and - (b) it is not preceded by whitespace. +7. A double `**` [can close strong emphasis](@can-close-strong-emphasis) + iff it is not preceded by whitespace. 8. A double `__` [can close strong emphasis](#can-close-strong-emphasis) - iff - - (a) it is not part of a sequence of four or more unescaped `_`s, - (b) it is not preceded by whitespace, and - (c) it is not followed by an ASCII alphanumeric character. + iff it is not preceded by whitespace and it is not followed by an + ASCII alphanumeric character. 9. Emphasis begins with a delimiter that [can open emphasis](#can-open-emphasis) and ends with a delimiter that [can close emphasis](#can-close-emphasis), and that uses the same - character (`_` or `*`) as the opening delimiter. The inlines - between the open delimiter and the closing delimiter are the - contents of the emphasis inline. + character (`_` or `*`) as the opening delimiter. There must + be a nonempty sequence of inlines between the open delimiter + and the closing delimiter; these form the contents of the emphasis + inline. 10. Strong emphasis begins with a delimiter that [can open strong emphasis](#can-open-strong-emphasis) and ends with a delimiter that - [can close strong emphasis](#can-close-strong-emphasis), and that uses the - same character (`_` or `*`) as the opening delimiter. The inlines - between the open delimiter and the closing delimiter are the - contents of the strong emphasis inline. + [can close strong emphasis](#can-close-strong-emphasis), and that + uses the same character (`_` or `*`) as the opening delimiter. + There must be a nonempty sequence of inlines between the open + delimiter and the closing delimiter; these form the contents of + the strong emphasis inline. + +11. A literal `*` character cannot occur at the beginning or end of + `*`-delimited emphasis or `**`-delimited strong emphasis, unless it + is backslash-escaped. -Where rules 1--10 above are compatible with multiple parsings, +12. A literal `_` character cannot occur at the beginning or end of + `_`-delimited emphasis or `__`-delimited strong emphasis, unless it + is backslash-escaped. + +Where rules 1--12 above are compatible with multiple parsings, the following principles resolve ambiguity: -11. An interpretation `...` is always preferred to +13. The number of nestings should be minimized. Thus, for example, + an interpretation `...` is always preferred to `...`. -12. An interpretation `...` is always +14. An interpretation `...` is always preferred to `..`. -13. When two potential emphasis or strong emphasis spans overlap, +15. When two potential emphasis or strong emphasis spans overlap, so that the second begins before the first ends and ends after the first ends, the first is preferred. Thus, for example, `*foo _bar* baz_` is parsed as `foo _bar baz_` rather @@ -4336,13 +4426,13 @@ the following principles resolve ambiguity: `**foo*bar**` is parsed as `foobar*` rather than `foo*bar`. -14. When there are two potential emphasis or strong emphasis spans +16. When there are two potential emphasis or strong emphasis spans with the same closing delimiter, the shorter one (the one that opens later) is preferred. Thus, for example, `**foo **bar baz**` is parsed as `**foo bar baz` rather than `foo **bar baz`. -15. Inline code spans, links, images, and HTML tags group more tightly +17. Inline code spans, links, images, and HTML tags group more tightly than emphasis. So, when there is a choice between an interpretation that contains one of these elements and one that does not, the former always wins. Thus, for example, `*[foo*](bar)` is @@ -4351,7 +4441,7 @@ the following principles resolve ambiguity: These rules can be illustrated through a series of examples. -Simple emphasis: +Rule 1: . *foo bar* @@ -4359,369 +4449,432 @@ Simple emphasis:

    foo bar

    . +This is not emphasis, because the opening `*` is followed by +whitespace: + . -_foo bar_ +a * foo bar* . -

    foo bar

    +

    a * foo bar*

    . -Simple strong emphasis: +Unicode nonbreaking spaces count as whitespace, too: . -**foo bar** +* a * . -

    foo bar

    +

    * a *

    . +Intraword emphasis with `*` is permitted: + . -__foo bar__ +foo*bar* . -

    foo bar

    +

    foobar

    . -Emphasis can continue over line breaks: - . -*foo -bar* +5*6*78 . -

    foo -bar

    +

    5678

    . +Rule 2: + . -_foo -bar_ +_foo bar_ . -

    foo -bar

    +

    foo bar

    . +This is not emphasis, because the opening `*` is followed by +whitespace: + . -**foo -bar** +_ foo bar_ . -

    foo -bar

    +

    _ foo bar_

    . +Emphasis with `_` is not allowed inside ASCII words: + . -__foo -bar__ +foo_bar_ . -

    foo -bar

    +

    foo_bar_

    . -Emphasis can contain other inline constructs: - . -*foo [bar](/url)* +5_6_78 . -

    foo bar

    +

    5_6_78

    . +But it is permitted inside non-ASCII words: + . -_foo [bar](/url)_ +пристаням_стремятся_ . -

    foo bar

    +

    пристанямстремятся

    . +Rule 3: + +This is not emphasis, because the closing `*` is preceded by +whitespace: + . -**foo [bar](/url)** +*foo bar * . -

    foo bar

    +

    *foo bar *

    . +Intraword emphasis with `*` is allowed: + . -__foo [bar](/url)__ +*foo*bar . -

    foo bar

    +

    foobar

    . -Symbols contained in other inline constructs will not -close emphasis: + +Rule 4: + +This is not emphasis, because the closing `_` is preceded by +whitespace: . -*foo [bar*](/url) +_foo bar _ . -

    *foo bar*

    +

    _foo bar _

    . +Intraword emphasis: + . -_foo [bar_](/url) +_foo_bar . -

    _foo bar_

    +

    _foo_bar

    . . -** +_пристаням_стремятся . -

    **

    +

    пристанямстремятся

    . . -__
    +_foo_bar_baz_ . -

    __

    +

    foo_bar_baz

    . +Rule 5: + . -*a `*`* +**foo bar** . -

    a *

    +

    foo bar

    . +This is not strong emphasis, because the opening delimiter is +followed by whitespace: + . -_a `_`_ +** foo bar** . -

    a _

    +

    ** foo bar**

    . +Intraword strong emphasis with `**` is permitted: + . -**a +foo**bar** . -

    **ahttp://foo.bar?q=**

    +

    foobar

    . +Rule 6: + . -__a +__foo bar__ . -

    __ahttp://foo.bar?q=__

    +

    foo bar

    . -This is not emphasis, because the opening delimiter is -followed by white space: +This is not strong emphasis, because the opening delimiter is +followed by whitespace: . -and * foo bar* +__ foo bar__ . -

    and * foo bar*

    +

    __ foo bar__

    . +Intraword emphasis examples: + . -_ foo bar_ +foo__bar__ . -

    _ foo bar_

    +

    foo__bar__

    . . -and ** foo bar** +5__6__78 . -

    and ** foo bar**

    +

    5__6__78

    . . -__ foo bar__ +пристаням__стремятся__ . -

    __ foo bar__

    +

    пристанямстремятся

    . -This is not emphasis, because the closing delimiter is -preceded by white space: - . -and *foo bar * +__foo, __bar__, baz__ . -

    and *foo bar *

    +

    foo, bar, baz

    . +Rule 7: + +This is not strong emphasis, because the closing delimiter is preceded +by whitespace: + . -and _foo bar _ +**foo bar ** . -

    and _foo bar _

    +

    **foo bar **

    . +(Nor can it be interpreted as an emphasized `*foo bar *`, because of +Rule 11.) + +Intraword emphasis: + . -and **foo bar ** +**foo**bar . -

    and **foo bar **

    +

    foobar

    . +Rule 8: + +This is not strong emphasis, because the closing delimiter is +preceded by whitespace: + . -and __foo bar __ +__foo bar __ . -

    and __foo bar __

    +

    __foo bar __

    . -The rules imply that a sequence of four or more unescaped `*` or -`_` characters will always be parsed as a literal string: +Intraword strong emphasis examples: . -****hi**** +__foo__bar . -

    ****hi****

    +

    __foo__bar

    . . -_____hi_____ +__пристаням__стремятся . -

    _____hi_____

    +

    пристанямстремятся

    . . -Sign here: _________ +__foo__bar__baz__ . -

    Sign here: _________

    +

    foo__bar__baz

    . -The rules also imply that there can be no empty emphasis or strong -emphasis: +Rule 9: + +Any nonempty sequence of inline elements can be the contents of an +emphasized span. . -** is not an empty emphasis +*foo [bar](/url)* . -

    ** is not an empty emphasis

    +

    foo bar

    . . -**** is not an empty strong emphasis +*foo +bar* . -

    **** is not an empty strong emphasis

    +

    foo +bar

    . -To include `*` or `_` in emphasized sections, use backslash escapes -or code spans: +In particular, emphasis and strong emphasis can be nested +inside emphasis: . -*here is a \** +_foo __bar__ baz_ . -

    here is a *

    +

    foo bar baz

    . . -__this is a double underscore (`__`)__ +_foo _bar_ baz_ . -

    this is a double underscore (__)

    +

    foo bar baz

    . -Or use the other emphasis character: - . -*_* +__foo_ bar_ . -

    _

    +

    foo bar

    . . -_*_ +*foo *bar** . -

    *

    +

    foo bar

    . . -*__* +*foo **bar** baz* . -

    __

    +

    foo bar baz

    . +But note: + . -_**_ +*foo**bar**baz* . -

    **

    +

    foobarbaz

    . -`*` delimiters allow intra-word emphasis; `_` delimiters do not: +The difference is that in the preceding case, +the internal delimiters [can close emphasis](#can-close-emphasis), +while in the cases with spaces, they cannot. . -foo*bar*baz +***foo** bar* . -

    foobarbaz

    +

    foo bar

    . . -foo_bar_baz +*foo **bar*** . -

    foo_bar_baz

    +

    foo bar

    . +Note, however, that in the following case we get no strong +emphasis, because the opening delimiter is closed by the first +`*` before `bar`: + . -foo__bar__baz +*foo**bar*** . -

    foo__bar__baz

    +

    foobar**

    . + +Indefinite levels of nesting are possible: + . -_foo_bar_baz_ +*foo **bar *baz* bim** bop* . -

    foo_bar_baz

    +

    foo bar baz bim bop

    . . -11*15*32 +*foo [*bar*](/url)* . -

    111532

    +

    foo bar

    . +There can be no empty emphasis or strong emphasis: + . -11_15_32 +** is not an empty emphasis . -

    11_15_32

    +

    ** is not an empty emphasis

    . -Internal underscores will be ignored in underscore-delimited -emphasis: - . -_foo_bar_baz_ +**** is not an empty strong emphasis . -

    foo_bar_baz

    +

    **** is not an empty strong emphasis

    . + +Rule 10: + +Any nonempty sequence of inline elements can be the contents of an +strongly emphasized span. + . -__foo__bar__baz__ +**foo [bar](/url)** . -

    foo__bar__baz

    +

    foo bar

    . -The rules are sufficient for the following nesting patterns: - . -***foo bar*** +**foo +bar** . -

    foo bar

    +

    foo +bar

    . +In particular, emphasis and strong emphasis can be nested +inside strong emphasis: + . -___foo bar___ +__foo _bar_ baz__ . -

    foo bar

    +

    foo bar baz

    . . -***foo** bar* +__foo __bar__ baz__ . -

    foo bar

    +

    foo bar baz

    . . -___foo__ bar_ +____foo__ bar__ . -

    foo bar

    +

    foo bar

    . . -***foo* bar** +**foo **bar**** . -

    foo bar

    +

    foo bar

    . . -___foo_ bar__ +**foo *bar* baz** . -

    foo bar

    +

    foo bar baz

    . +But note: + . -*foo **bar*** +**foo*bar*baz** . -

    foo bar

    +

    foobarbaz**

    . +The difference is that in the preceding case, +the internal delimiters [can close emphasis](#can-close-emphasis), +while in the cases with spaces, they cannot. + . -_foo __bar___ +***foo* bar** . -

    foo bar

    +

    foo bar

    . . @@ -4730,236 +4883,261 @@ _foo __bar___

    foo bar

    . +Indefinite levels of nesting are possible: + . -__foo _bar___ +**foo *bar **baz** +bim* bop** . -

    foo bar

    +

    foo bar baz +bim bop

    . . -*foo **bar*** +**foo [*bar*](/url)** . -

    foo bar

    +

    foo bar

    . +There can be no empty emphasis or strong emphasis: + . -_foo __bar___ +__ is not an empty emphasis . -

    foo bar

    +

    __ is not an empty emphasis

    . . -*foo *bar* baz* +____ is not an empty strong emphasis . -

    foo bar baz

    +

    ____ is not an empty strong emphasis

    . + +Rule 11: + . -_foo _bar_ baz_ +foo *** . -

    foo bar baz

    +

    foo ***

    . . -**foo **bar** baz** +foo *\** . -

    foo bar baz

    +

    foo *

    . . -__foo __bar__ baz__ +foo *_* . -

    foo bar baz

    +

    foo _

    . . -*foo **bar** baz* +foo ***** . -

    foo bar baz

    +

    foo *****

    . . -_foo __bar__ baz_ +foo **\*** . -

    foo bar baz

    +

    foo *

    . . -**foo *bar* baz** +foo **_** . -

    foo bar baz

    +

    foo _

    . +Note that when delimiters do not match evenly, Rule 11 determines +that the excess literal `*` characters will appear outside of the +emphasis, rather than inside it: + . -__foo _bar_ baz__ +**foo* . -

    foo bar baz

    +

    *foo

    . . -**foo, *bar*, baz** +*foo** . -

    foo, bar, baz

    +

    foo*

    . . -__foo, _bar_, baz__ +***foo** . -

    foo, bar, baz

    +

    *foo

    . -But note: +. +****foo* +. +

    ***foo

    +. . -*foo**bar**baz* +**foo*** . -

    foobarbaz

    +

    foo*

    . . -**foo*bar*baz** +*foo**** . -

    foobarbaz**

    +

    foo***

    . -The difference is that in the two preceding cases, -the internal delimiters [can close emphasis](#can-close-emphasis), -while in the cases with spaces, they cannot. -Note that you cannot nest emphasis directly inside emphasis -using the same delimeter, or strong emphasis directly inside -strong emphasis: +Rule 12: . -**foo** +foo ___ . -

    foo

    +

    foo ___

    . . -****foo**** +foo _\__ . -

    ****foo****

    +

    foo _

    . -For these nestings, you need to switch delimiters: - . -*_foo_* +foo _*_ . -

    foo

    +

    foo *

    . . -**__foo__** +foo _____ . -

    foo

    +

    foo _____

    . -Note that a `*` followed by a `*` can close emphasis, and -a `**` followed by a `*` can close strong emphasis (and -similarly for `_` and `__`): - . -*foo** +foo __\___ . -

    foo*

    +

    foo _

    . . -*foo *bar** +foo __*__ . -

    foo bar

    +

    foo *

    . . -**foo*** +__foo_ . -

    foo*

    +

    _foo

    . +Note that when delimiters do not match evenly, Rule 12 determines +that the excess literal `_` characters will appear outside of the +emphasis, rather than inside it: + . -***foo* bar*** +_foo__ . -

    foo bar*

    +

    foo_

    . . -***foo** bar*** +___foo__ . -

    foo bar**

    +

    _foo

    . -The following contains no strong emphasis, because the opening -delimiter is closed by the first `*` before `bar`: - . -*foo**bar*** +____foo_ . -

    foobar**

    +

    ___foo

    . -However, a string of four or more `****` can never close emphasis: +. +__foo___ +. +

    foo_

    +. . -*foo**** +_foo____ . -

    *foo****

    +

    foo___

    . -We retain symmetry in these cases: +Rule 13 implies that if you want emphasis nested directly inside +emphasis, you must use different delimiters: . -*foo** +**foo** +. +

    foo

    +. -**foo* . -

    foo*

    -

    *foo

    +*_foo_* +. +

    foo

    . . -*foo *bar** +__foo__ +. +

    foo

    +. -**foo* bar* . -

    foo bar

    -

    foo bar

    +_*foo*_ +. +

    foo

    . -More cases with mismatched delimiters: +However, strong emphasis within strong emphasisis possible without +switching delimiters: . -*bar*** +****foo**** . -

    bar**

    +

    foo

    . . -***foo* +____foo____ . -

    **foo

    +

    foo

    . + +Rule 13 can be applied to arbitrarily long sequences of +delimiters: + . -**bar*** +******foo****** . -

    bar*

    +

    foo

    . +Rule 14: + . -***foo** +***foo*** . -

    *foo

    +

    foo

    . . -***foo *bar* +_____foo_____ . -

    ***foo bar

    +

    foo

    . -The following cases illustrate rule 13: +Rule 15: . *foo _bar* baz_ @@ -4968,12 +5146,13 @@ The following cases illustrate rule 13: . . -**foo bar* baz** +**foo*bar** . -

    foo bar baz*

    +

    foobar*

    . -The following cases illustrate rule 14: + +Rule 16: . **foo **bar baz** @@ -4987,18 +5166,18 @@ The following cases illustrate rule 14:

    *foo bar baz

    . -The following cases illustrate rule 15: +Rule 17: . -*[foo*](bar) +*[bar*](/url) . -

    *foo*

    +

    *bar*

    . . -*![foo*](bar) +_foo [bar_](/url) . -

    *foo*

    +

    _foo bar_

    . . @@ -5008,38 +5187,74 @@ The following cases illustrate rule 15: . . -*a`a*` +** +. +

    **

    +. + +. +__ +. +

    __

    +. + . -

    *aa*

    +*a `*`* +. +

    a *

    . +. +_a `_`_ +. +

    a _

    +. + +. +**a +. +

    **ahttp://foo.bar?q=**

    +. + +. +__a +. +

    __ahttp://foo.bar?q=__

    +. + + ## Links -A link contains a [link label](#link-label) (the visible text), +A link contains [link text](#link-label) (the visible text), a [destination](#destination) (the URI that is the link destination), and optionally a [link title](#link-title). There are two basic kinds of links in Markdown. In [inline links](#inline-links) the destination -and title are given immediately after the label. In [reference +and title are given immediately after the link text. In [reference links](#reference-links) the destination and title are defined elsewhere in the document. -A [link label](#link-label) consists of +A [link text](@link-text) consists of a sequence of zero or more +inline elements enclosed by square brackets (`[` and `]`). The +following rules apply: -- an opening `[`, followed by -- zero or more backtick code spans, autolinks, HTML tags, link labels, - backslash-escaped ASCII punctuation characters, or non-`]` characters, - followed by -- a closing `]`. +- Links may not contain other links, at any level of nesting. -These rules are motivated by the following intuitive ideas: +- Brackets are allowed in the [link text](#link-text) only if (a) they + are backslash-escaped or (b) they appear as a matched pair of brackets, + with an open bracket `[`, a sequence of zero or more inlines, and + a close bracket `]`. -- A link label is a container for inline elements. -- The square brackets bind more tightly than emphasis markers, - but less tightly than `<>` or `` ` ``. -- Link labels may contain material in matching square brackets. +- Backtick [code spans](#code-span), [autolinks](#autolink), and + raw [HTML tags](#html-tag) bind more tightly + than the brackets in link text. Thus, for example, + `` [foo`]` `` could not be a link text, since the second `]` + is part of a code span. -A [link destination](#link-destination) -consists of either +- The brackets in link text bind more tightly than markers for + [emphasis and strong emphasis](#emphasis-and-strong-emphasis). + Thus, for example, `*[foo*](url)` is a link. + +A [link destination](@link-destination) consists of either - a sequence of zero or more characters between an opening `<` and a closing `>` that contains no line breaks or unescaped `<` or `>` @@ -5051,7 +5266,7 @@ consists of either a balanced pair of unescaped parentheses that is not itself inside a balanced pair of unescaped paretheses. -A [link title](#link-title) consists of either +A [link title](@link-title) consists of either - a sequence of zero or more characters between straight double-quote characters (`"`), including a `"` character only if it is @@ -5064,18 +5279,19 @@ A [link title](#link-title) consists of either - a sequence of zero or more characters between matching parentheses (`(...)`), including a `)` character only if it is backslash-escaped. -An [inline link](#inline-link) -consists of a [link label](#link-label) followed immediately +An [inline link](@inline-link) +consists of a [link text](#link-text) followed immediately by a left parenthesis `(`, optional whitespace, an optional [link destination](#link-destination), an optional [link title](#link-title) separated from the link destination by whitespace, optional whitespace, and a right -parenthesis `)`. The link's text consists of the label (excluding -the enclosing square brackets) parsed as inlines. The link's -URI consists of the link destination, excluding enclosing `<...>` if -present, with backslash-escapes in effect as described above. The -link's title consists of the link title, excluding its enclosing -delimiters, with backslash-escapes in effect as described above. +parenthesis `)`. The link's text consists of the inlines contained +in the [link text](#link-text) (excluding the enclosing square brackets). +The link's URI consists of the link destination, excluding enclosing +`<...>` if present, with backslash-escapes in effect as described +above. The link's title consists of the link title, excluding its +enclosing delimiters, with backslash-escapes in effect as described +above. Here is a simple inline link: @@ -5107,7 +5323,6 @@ Both the title and the destination may be omitted:

    link

    . - If the destination contains spaces, it must be enclosed in pointy braces: @@ -5251,7 +5466,7 @@ Whitespace is allowed around the destination and title:

    link

    . -But it is not allowed between the link label and the +But it is not allowed between the link text and the following parenthesis: . @@ -5260,8 +5475,78 @@ following parenthesis:

    [link] (/uri)

    . -Note that this is not a link, because the closing `]` occurs in -an HTML tag: +The link text may contain balanced brackets, but not unbalanced ones, +unless they are escaped: + +. +[link [foo [bar]]](/uri) +. +

    link [foo [bar]]

    +. + +. +[link] bar](/uri) +. +

    [link] bar](/uri)

    +. + +. +[link [bar](/uri) +. +

    [link bar

    +. + +. +[link \[bar](/uri) +. +

    link [bar

    +. + +The link text may contain inline content: + +. +[link *foo **bar** `#`*](/uri) +. +

    link foo bar #

    +. + +. +[![moon](moon.jpg)](/uri) +. +

    moon

    +. + +However, links may not contain other links, at any level of nesting. + +. +[foo [bar](/uri)](/uri) +. +

    [foo bar](/uri)

    +. + +. +[foo *[bar [baz](/uri)](/uri)*](/uri) +. +

    [foo [bar baz](/uri)](/uri)

    +. + +These cases illustrate the precedence of link text grouping over +emphasis grouping: + +. +*[foo*](/uri) +. +

    *foo*

    +. + +. +[foo *bar](baz*) +. +

    foo *bar

    +. + +These cases illustrate the precedence of HTML tags, code spans, +and autolinks over link grouping: . [foo @@ -5269,17 +5554,35 @@ an HTML tag:

    [foo

    . +. +[foo`](/uri)` +. +

    [foo](/uri)

    +. + +. +[foo +. +

    [foohttp://example.com?search=](uri)

    +. -There are three kinds of [reference links](#reference-link): - +There are three kinds of [reference links](@reference-link): +[full](#full-reference-link), [collapsed](#collapsed-reference-link), +and [shortcut](#shortcut-reference-link). -A [full reference link](#full-reference-link) -consists of a [link label](#link-label), optional whitespace, and -another [link label](#link-label) that [matches](#matches) a +A [full reference link](@full-reference-link) +consists of a [link text](#link-text), optional whitespace, and +a [link label](#link-label) that [matches](#matches) a [link reference definition](#link-reference-definition) elsewhere in the document. -One label [matches](#matches) +A [link label](@link-label) begins with a left bracket (`[`) and ends +with the first right bracket (`]`) that is not backslash-escaped. +Unescaped square bracket characters are not allowed in +[link labels](#link-label). A link label can have at most 999 +characters inside the square brackets. + +One label [matches](@matches) another just in case their normalized forms are equal. To normalize a label, perform the *unicode case fold* and collapse consecutive internal whitespace to a single space. If there are multiple matching reference @@ -5300,14 +5603,112 @@ Here is a simple example:

    foo

    . -The first label can contain inline content: +The rules for the [link text](#link-text) are the same as with +[inline links](#inline-link). Thus: + +The link text may contain balanced brackets, but not unbalanced ones, +unless they are escaped: . -[*foo\!*][bar] +[link [foo [bar]]][ref] -[bar]: /url "title" +[ref]: /uri +. +

    link [foo [bar]]

    . -

    foo!

    + +. +[link \[bar][ref] + +[ref]: /uri +. +

    link [bar

    +. + +The link text may contain inline content: + +. +[link *foo **bar** `#`*][ref] + +[ref]: /uri +. +

    link foo bar #

    +. + +. +[![moon](moon.jpg)][ref] + +[ref]: /uri +. +

    moon

    +. + +However, links may not contain other links, at any level of nesting. + +. +[foo [bar](/uri)][ref] + +[ref]: /uri +. +

    [foo bar]ref

    +. + +. +[foo *bar [baz][ref]*][ref] + +[ref]: /uri +. +

    [foo bar baz]ref

    +. + +(In the examples above, we have two [shortcut reference +links](#shortcut-reference-link) instead of one [full reference +link](#full-reference-link).) + +The following cases illustrate the precedence of link text grouping over +emphasis grouping: + +. +*[foo*][ref] + +[ref]: /uri +. +

    *foo*

    +. + +. +[foo *bar][ref] + +[ref]: /uri +. +

    foo *bar

    +. + +These cases illustrate the precedence of HTML tags, code spans, +and autolinks over link grouping: + +. +[foo + +[ref]: /uri +. +

    [foo

    +. + +. +[foo`][ref]` + +[ref]: /uri +. +

    [foo][ref]

    +. + +. +[foo + +[ref]: /uri +. +

    [foohttp://example.com?search=][ref]

    . Matching is case-insensitive: @@ -5342,7 +5743,8 @@ purposes of determining matching:

    Baz

    . -There can be whitespace between the two labels: +There can be whitespace between the [link text](#link-text) and the +[link label](#link-label): . [foo] [bar] @@ -5386,8 +5788,46 @@ labels define equivalent inline content:

    [bar][foo!]

    . -A [collapsed reference link](#collapsed-reference-link) - consists of a [link +[Link labels](#link-label) cannot contain brackets, unless they are +backslash-escaped: + +. +[foo][ref[] + +[ref[]: /uri +. +

    [foo][ref[]

    +

    [ref[]: /uri

    +. + +. +[foo][ref[bar]] + +[ref[bar]]: /uri +. +

    [foo][ref[bar]]

    +

    [ref[bar]]: /uri

    +. + +. +[[[foo]]] + +[[[foo]]]: /url +. +

    [[[foo]]]

    +

    [[[foo]]]: /url

    +. + +. +[foo][ref\[] + +[ref\[]: /uri +. +

    foo

    +. + +A [collapsed reference link](@collapsed-reference-link) +consists of a [link label](#link-label) that [matches](#matches) a [link reference definition](#link-reference-definition) elsewhere in the document, optional whitespace, and the string `[]`. The contents of the @@ -5434,8 +5874,8 @@ between the two sets of brackets:

    foo

    . -A [shortcut reference link](#shortcut-reference-link) - consists of a [link +A [shortcut reference link](@shortcut-reference-link) +consists of a [link label](#link-label) that [matches](#matches) a [link reference definition](#link-reference-definition) elsewhere in the document and is not followed by `[]` or a link label. @@ -5478,6 +5918,16 @@ The link labels are case-insensitive:

    Foo

    . +A space after the link text should be preserved: + +. +[foo] bar + +[foo]: /url +. +

    foo bar

    +. + If you just want bracketed text, you can backslash-escape the opening bracket to avoid links: @@ -5489,8 +5939,8 @@ opening bracket to avoid links:

    [foo]

    . -Note that this is a link, because link labels bind more tightly -than emphasis: +Note that this is a link, because a link label ends with the first +following closing bracket: . [foo*]: /url @@ -5500,8 +5950,7 @@ than emphasis:

    *foo*

    . -However, this is not, because link labels bind less -tightly than code backticks: +This is a link too, for the same reason: . [foo`]: /url @@ -5511,35 +5960,6 @@ tightly than code backticks:

    [foo]

    . -Link labels can contain matched square brackets: - -. -[[[foo]]] - -[[[foo]]]: /url -. -

    [[foo]]

    -. - -. -[[[foo]]] - -[[[foo]]]: /url1 -[foo]: /url2 -. -

    [[foo]]

    -. - -For non-matching brackets, use backslash escapes: - -. -[\[foo] - -[\[foo]: /url -. -

    [foo

    -. - Full references take precedence over shortcut references: . @@ -5589,10 +6009,15 @@ is followed by a link label (even though `[bar]` is not defined): ## Images -An (unescaped) exclamation mark (`!`) followed by a reference or -inline link will be parsed as an image. The link label will be -used as the image's alt text, and the link title, if any, will -be used as the image's title. +Syntax for images is like the syntax for links, with one +difference. Instead of [link text](#link-text), we have an [image +description](@image-description). The rules for this are the +same as for [link text](#link-text), except that (a) an +image description starts with `![` rather than `[`, and +(b) an image description may contain links. +An image description has inline elements +as its contents. When an image is rendered to HTML, +this is standardly used as the image's `alt` attribute. . ![foo](/url "title") @@ -5605,15 +6030,34 @@ be used as the image's title. [foo *bar*]: train.jpg "train & tracks" . -

    foo <em>bar</em>

    +

    foo bar

    +. + +. +![foo ![bar](/url)](/url2) +. +

    foo bar

    . +. +![foo [bar](/url)](/url2) +. +

    foo bar

    +. + +Though this spec is concerned with parsing, not rendering, it is +recommended that in rendering to HTML, only the plain string content +of the [image description](#image-description) be used. Note that in +the above example, the alt attribute's value is `foo bar`, not `foo +[bar](/url)` or `foo bar`. Only the plain string +content is rendered, without formatting. + . ![foo *bar*][] [foo *bar*]: train.jpg "train & tracks" . -

    foo <em>bar</em>

    +

    foo bar

    . . @@ -5621,7 +6065,7 @@ be used as the image's title. [FOOBAR]: train.jpg "train & tracks" . -

    foo <em>bar</em>

    +

    foo bar

    . . @@ -5681,7 +6125,7 @@ Collapsed: [*foo* bar]: /url "title" . -

    <em>foo</em> bar

    +

    foo bar

    . The labels are case-insensitive: @@ -5721,15 +6165,18 @@ Shortcut: [*foo* bar]: /url "title" . -

    <em>foo</em> bar

    +

    foo bar

    . +Note that link labels cannot contain unescaped brackets: + . ![[foo]] [[foo]]: /url "title" . -

    [foo]

    +

    ![[foo]]

    +

    [[foo]]: /url "title"

    . The link labels are case-insensitive: @@ -5766,22 +6213,22 @@ If you want a link after a literal `!`, backslash-escape the ## Autolinks -Autolinks are absolute URIs and email addresses inside `<` and `>`. +[Autolinks](@autolink) are absolute URIs and email addresses inside `<` and `>`. They are parsed as links, with the URL or email address as the link label. -A [URI autolink](#uri-autolink) +A [URI autolink](@uri-autolink) consists of `<`, followed by an [absolute URI](#absolute-uri) not containing `<`, followed by `>`. It is parsed as a link to the URI, with the URI as the link's label. -An [absolute URI](#absolute-uri), +An [absolute URI](@absolute-uri), for these purposes, consists of a [scheme](#scheme) followed by a colon (`:`) followed by zero or more characters other than ASCII whitespace and control characters, `<`, and `>`. If the URI includes these characters, you must use percent-encoding (e.g. `%20` for a space). -The following [schemes](#scheme) +The following [schemes](@scheme) are recognized (case-insensitive): `coap`, `doi`, `javascript`, `aaa`, `aaas`, `about`, `acap`, `cap`, `cid`, `crid`, `data`, `dav`, `dict`, `dns`, `file`, `ftp`, `geo`, `go`, @@ -5843,12 +6290,12 @@ Spaces are not allowed in autolinks:

    <http://foo.bar/baz bim>

    . -An [email autolink](#email-autolink) +An [email autolink](@email-autolink) consists of `<`, followed by an [email address](#email-address), followed by `>`. The link's label is the email address, and the URL is `mailto:` followed by the email address. -An [email address](#email-address), +An [email address](@email-address), for these purposes, is anything that matches the [non-normative regex from the HTML5 spec](http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#e-mail-state-%28type=email%29): @@ -5923,67 +6370,67 @@ so custom tags (and even, say, DocBook tags) may be used. Here is the grammar for tags: -A [tag name](#tag-name) consists of an ASCII letter +A [tag name](@tag-name) consists of an ASCII letter followed by zero or more ASCII letters or digits. -An [attribute](#attribute) consists of whitespace, -an **attribute name**, and an optional **attribute value -specification**. +An [attribute](@attribute) consists of whitespace, +an [attribute name](#attribute-name), and an optional +[attribute value specification](#attribute-value-specification). -An [attribute name](#attribute-name) +An [attribute name](@attribute-name) consists of an ASCII letter, `_`, or `:`, followed by zero or more ASCII letters, digits, `_`, `.`, `:`, or `-`. (Note: This is the XML specification restricted to ASCII. HTML5 is laxer.) -An [attribute value specification](#attribute-value-specification) - consists of optional whitespace, +An [attribute value specification](@attribute-value-specification) +consists of optional whitespace, a `=` character, optional whitespace, and an [attribute value](#attribute-value). -An [attribute value](#attribute-value) +An [attribute value](@attribute-value) consists of an [unquoted attribute value](#unquoted-attribute-value), a [single-quoted attribute value](#single-quoted-attribute-value), or a [double-quoted attribute value](#double-quoted-attribute-value). -An [unquoted attribute value](#unquoted-attribute-value) - is a nonempty string of characters not +An [unquoted attribute value](@unquoted-attribute-value) +is a nonempty string of characters not including spaces, `"`, `'`, `=`, `<`, `>`, or `` ` ``. -A [single-quoted attribute value](#single-quoted-attribute-value) - consists of `'`, zero or more +A [single-quoted attribute value](@single-quoted-attribute-value) +consists of `'`, zero or more characters not including `'`, and a final `'`. -A [double-quoted attribute value](#double-quoted-attribute-value) - consists of `"`, zero or more +A [double-quoted attribute value](@double-quoted-attribute-value) +consists of `"`, zero or more characters not including `"`, and a final `"`. -An [open tag](#open-tag) consists of a `<` character, +An [open tag](@open-tag) consists of a `<` character, a [tag name](#tag-name), zero or more [attributes](#attribute), optional whitespace, an optional `/` character, and a `>` character. -A [closing tag](#closing-tag) consists of the +A [closing tag](@closing-tag) consists of the string ``. -An [HTML comment](#html-comment) consists of the +An [HTML comment](@html-comment) consists of the string ``. -A [processing instruction](#processing-instruction) - consists of the string ``, and the string `?>`. -A [declaration](#declaration) consists of the +A [declaration](@declaration) consists of the string ``, and the character `>`. -A [CDATA section](#cdata-section) consists of +A [CDATA section](@cdata-section) consists of the string ``, and the string `]]>`. -An [HTML tag](#html-tag) consists of an [open +An [HTML tag](@html-tag) consists of an [open tag](#open-tag), a [closing tag](#closing-tag), an [HTML comment](#html-comment), a [processing instruction](#processing-instruction), an [element type @@ -6151,8 +6598,8 @@ Backslash escapes do not work in HTML attributes: ## Hard line breaks A line break (not in a code span or HTML tag) that is preceded -by two or more spaces is parsed as a [hard line -break](#hard-line-break) (rendered +by two or more spaces and does not occur at the end of a block +is parsed as a [hard line break](@hard-line-break) (rendered in HTML as a `
    ` tag): . @@ -6255,6 +6702,34 @@ bar"> bar">

    . +Hard line breaks are for separating inline content within a block. +Neither syntax for hard line breaks works at the end of a paragraph or +other block element: + +. +foo\ +. +

    foo\

    +. + +. +foo +. +

    foo

    +. + +. +### foo\ +. +

    foo\

    +. + +. +### foo +. +

    foo

    +. + ## Soft line breaks A regular line break (not in a code span or HTML tag) that is not @@ -6288,10 +6763,10 @@ line break or as a space. A renderer may also provide an option to render soft line breaks as hard line breaks. -## Strings +## Textual content Any characters not given an interpretation by the above rules will -be parsed as string content. +be parsed as plain textual content. . hello $.;'there