diff --git a/packages/netlify-cms-widget-markdown/src/serializers/__tests__/__fixtures__/commonmark.json b/packages/netlify-cms-widget-markdown/src/serializers/__tests__/__fixtures__/commonmark.json new file mode 100644 index 00000000..eb6b4df7 --- /dev/null +++ b/packages/netlify-cms-widget-markdown/src/serializers/__tests__/__fixtures__/commonmark.json @@ -0,0 +1,4994 @@ +[ + { + "end_line": 355, + "section": "Tabs", + "html": "
foo\tbaz\t\tbim\n
\n",
+ "markdown": "\tfoo\tbaz\t\tbim\n",
+ "example": 1,
+ "start_line": 350
+ },
+ {
+ "end_line": 362,
+ "section": "Tabs",
+ "html": "foo\tbaz\t\tbim\n
\n",
+ "markdown": " \tfoo\tbaz\t\tbim\n",
+ "example": 2,
+ "start_line": 357
+ },
+ {
+ "end_line": 371,
+ "section": "Tabs",
+ "html": "a\ta\nὐ\ta\n
\n",
+ "markdown": " a\ta\n ὐ\ta\n",
+ "example": 3,
+ "start_line": 364
+ },
+ {
+ "end_line": 388,
+ "section": "Tabs",
+ "html": "foo
\nbar
\nfoo
\n bar\n
\n\n\n", + "markdown": ">\t\tfoo\n", + "example": 6, + "start_line": 413 + }, + { + "end_line": 431, + "section": "Tabs", + "html": "\nfoo\n
foo\n
\nfoo\nbar\n
\n",
+ "markdown": " foo\n\tbar\n",
+ "example": 8,
+ "start_line": 434
+ },
+ {
+ "end_line": 459,
+ "section": "Tabs",
+ "html": "+++
\n", + "markdown": "+++\n", + "example": 14, + "start_line": 546 + }, + { + "end_line": 557, + "section": "Thematic breaks", + "html": "===
\n", + "markdown": "===\n", + "example": 15, + "start_line": 553 + }, + { + "end_line": 570, + "section": "Thematic breaks", + "html": "--\n**\n__
\n", + "markdown": "--\n**\n__\n", + "example": 16, + "start_line": 562 + }, + { + "end_line": 583, + "section": "Thematic breaks", + "html": "***\n
\n",
+ "markdown": " ***\n",
+ "example": 18,
+ "start_line": 588
+ },
+ {
+ "end_line": 602,
+ "section": "Thematic breaks",
+ "html": "Foo\n***
\n", + "markdown": "Foo\n ***\n", + "example": 19, + "start_line": 596 + }, + { + "end_line": 611, + "section": "Thematic breaks", + "html": "_ _ _ _ a
\na------
\n---a---
\n", + "markdown": "_ _ _ _ a\n\na------\n\n---a---\n", + "example": 25, + "start_line": 648 + }, + { + "end_line": 668, + "section": "Thematic breaks", + "html": "-
\n", + "markdown": " *-*\n", + "example": 26, + "start_line": 664 + }, + { + "end_line": 685, + "section": "Thematic breaks", + "html": "Foo
\nbar
\n", + "markdown": "Foo\n***\nbar\n", + "example": 28, + "start_line": 690 + }, + { + "end_line": 714, + "section": "Thematic breaks", + "html": "bar
\n", + "markdown": "Foo\n---\nbar\n", + "example": 29, + "start_line": 707 + }, + { + "end_line": 732, + "section": "Thematic breaks", + "html": "####### foo
\n", + "markdown": "####### foo\n", + "example": 33, + "start_line": 785 + }, + { + "end_line": 807, + "section": "ATX headings", + "html": "#5 bolt
\n#hashtag
\n", + "markdown": "#5 bolt\n\n#hashtag\n", + "example": 34, + "start_line": 800 + }, + { + "end_line": 816, + "section": "ATX headings", + "html": "## foo
\n", + "markdown": "\\## foo\n", + "example": 35, + "start_line": 812 + }, + { + "end_line": 825, + "section": "ATX headings", + "html": "# foo\n
\n",
+ "markdown": " # foo\n",
+ "example": 39,
+ "start_line": 852
+ },
+ {
+ "end_line": 866,
+ "section": "ATX headings",
+ "html": "foo\n# bar
\n", + "markdown": "foo\n # bar\n", + "example": 40, + "start_line": 860 + }, + { + "end_line": 877, + "section": "ATX headings", + "html": "Foo bar
\nBar foo
\n", + "markdown": "Foo bar\n# baz\nBar foo\n", + "example": 48, + "start_line": 948 + }, + { + "end_line": 969, + "section": "ATX headings", + "html": "\n\n\n", + "markdown": "## \n#\n### ###\n", + "example": 49, + "start_line": 961 + }, + { + "end_line": 1013, + "section": "Setext headings", + "html": "Foo\n---\n\nFoo\n
\nFoo\n---
\n", + "markdown": "Foo\n ---\n", + "example": 56, + "start_line": 1092 + }, + { + "end_line": 1114, + "section": "Setext headings", + "html": "Foo\n= =
\nFoo
\n`
\nof dashes"/>
\n", + "markdown": "`Foo\n----\n`\n\n\n", + "example": 60, + "start_line": 1140 + }, + { + "end_line": 1167, + "section": "Setext headings", + "html": "\n\nFoo
\n
\n\n", + "markdown": "> foo\nbar\n===\n", + "example": 62, + "start_line": 1170 + }, + { + "end_line": 1191, + "section": "Setext headings", + "html": "foo\nbar\n===
\n
Baz
\n", + "markdown": "---\nFoo\n---\nBar\n---\nBaz\n", + "example": 65, + "start_line": 1211 + }, + { + "end_line": 1233, + "section": "Setext headings", + "html": "====
\n", + "markdown": "\n====\n", + "example": 66, + "start_line": 1228 + }, + { + "end_line": 1246, + "section": "Setext headings", + "html": "foo\n
\n\n\nfoo
\n
Foo
\nbaz
\n", + "markdown": "Foo\n\nbar\n---\nbaz\n", + "example": 72, + "start_line": 1315 + }, + { + "end_line": 1343, + "section": "Setext headings", + "html": "Foo\nbar
\nbaz
\n", + "markdown": "Foo\nbar\n\n---\n\nbaz\n", + "example": 73, + "start_line": 1331 + }, + { + "end_line": 1359, + "section": "Setext headings", + "html": "Foo\nbar
\nbaz
\n", + "markdown": "Foo\nbar\n* * *\nbaz\n", + "example": 74, + "start_line": 1349 + }, + { + "end_line": 1374, + "section": "Setext headings", + "html": "Foo\nbar\n---\nbaz
\n", + "markdown": "Foo\nbar\n\\---\nbaz\n", + "example": 75, + "start_line": 1364 + }, + { + "end_line": 1399, + "section": "Indented code blocks", + "html": "a simple\n indented code block\n
\n",
+ "markdown": " a simple\n indented code block\n",
+ "example": 76,
+ "start_line": 1392
+ },
+ {
+ "end_line": 1417,
+ "section": "Indented code blocks",
+ "html": "foo
\nbar
\nfoo
\n<a/>\n*hi*\n\n- one\n
\n",
+ "markdown": " \n *hi*\n\n - one\n",
+ "example": 79,
+ "start_line": 1440
+ },
+ {
+ "end_line": 1473,
+ "section": "Indented code blocks",
+ "html": "chunk1\n\nchunk2\n\n\n\nchunk3\n
\n",
+ "markdown": " chunk1\n\n chunk2\n \n \n \n chunk3\n",
+ "example": 80,
+ "start_line": 1456
+ },
+ {
+ "end_line": 1488,
+ "section": "Indented code blocks",
+ "html": "chunk1\n \n chunk2\n
\n",
+ "markdown": " chunk1\n \n chunk2\n",
+ "example": 81,
+ "start_line": 1479
+ },
+ {
+ "end_line": 1501,
+ "section": "Indented code blocks",
+ "html": "Foo\nbar
\n", + "markdown": "Foo\n bar\n\n", + "example": 82, + "start_line": 1494 + }, + { + "end_line": 1515, + "section": "Indented code blocks", + "html": "foo\n
\nbar
\n", + "markdown": " foo\nbar\n", + "example": 83, + "start_line": 1508 + }, + { + "end_line": 1536, + "section": "Indented code blocks", + "html": "foo\n
\nfoo\n
\n foo\nbar\n
\n",
+ "markdown": " foo\n bar\n",
+ "example": 85,
+ "start_line": 1541
+ },
+ {
+ "end_line": 1563,
+ "section": "Indented code blocks",
+ "html": "foo\n
\n",
+ "markdown": "\n \n foo\n \n\n",
+ "example": 86,
+ "start_line": 1554
+ },
+ {
+ "end_line": 1573,
+ "section": "Indented code blocks",
+ "html": "foo \n
\n",
+ "markdown": " foo \n",
+ "example": 87,
+ "start_line": 1568
+ },
+ {
+ "end_line": 1632,
+ "section": "Fenced code blocks",
+ "html": "<\n >\n
\n",
+ "markdown": "```\n<\n >\n```\n",
+ "example": 88,
+ "start_line": 1623
+ },
+ {
+ "end_line": 1646,
+ "section": "Fenced code blocks",
+ "html": "<\n >\n
\n",
+ "markdown": "~~~\n<\n >\n~~~\n",
+ "example": 89,
+ "start_line": 1637
+ },
+ {
+ "end_line": 1656,
+ "section": "Fenced code blocks",
+ "html": "foo
aaa\n~~~\n
\n",
+ "markdown": "```\naaa\n~~~\n```\n",
+ "example": 91,
+ "start_line": 1661
+ },
+ {
+ "end_line": 1682,
+ "section": "Fenced code blocks",
+ "html": "aaa\n```\n
\n",
+ "markdown": "~~~\naaa\n```\n~~~\n",
+ "example": 92,
+ "start_line": 1673
+ },
+ {
+ "end_line": 1696,
+ "section": "Fenced code blocks",
+ "html": "aaa\n```\n
\n",
+ "markdown": "````\naaa\n```\n``````\n",
+ "example": 93,
+ "start_line": 1687
+ },
+ {
+ "end_line": 1708,
+ "section": "Fenced code blocks",
+ "html": "aaa\n~~~\n
\n",
+ "markdown": "~~~~\naaa\n~~~\n~~~~\n",
+ "example": 94,
+ "start_line": 1699
+ },
+ {
+ "end_line": 1718,
+ "section": "Fenced code blocks",
+ "html": "
\n",
+ "markdown": "```\n",
+ "example": 95,
+ "start_line": 1714
+ },
+ {
+ "end_line": 1731,
+ "section": "Fenced code blocks",
+ "html": "\n```\naaa\n
\n",
+ "markdown": "`````\n\n```\naaa\n",
+ "example": 96,
+ "start_line": 1721
+ },
+ {
+ "end_line": 1745,
+ "section": "Fenced code blocks",
+ "html": "\n\n\naaa\n
bbb
\n", + "markdown": "> ```\n> aaa\n\nbbb\n", + "example": 97, + "start_line": 1734 + }, + { + "end_line": 1759, + "section": "Fenced code blocks", + "html": "\n \n
\n",
+ "markdown": "```\n\n \n```\n",
+ "example": 98,
+ "start_line": 1750
+ },
+ {
+ "end_line": 1769,
+ "section": "Fenced code blocks",
+ "html": "
\n",
+ "markdown": "```\n```\n",
+ "example": 99,
+ "start_line": 1764
+ },
+ {
+ "end_line": 1785,
+ "section": "Fenced code blocks",
+ "html": "aaa\naaa\n
\n",
+ "markdown": " ```\n aaa\naaa\n```\n",
+ "example": 100,
+ "start_line": 1776
+ },
+ {
+ "end_line": 1799,
+ "section": "Fenced code blocks",
+ "html": "aaa\naaa\naaa\n
\n",
+ "markdown": " ```\naaa\n aaa\naaa\n ```\n",
+ "example": 101,
+ "start_line": 1788
+ },
+ {
+ "end_line": 1813,
+ "section": "Fenced code blocks",
+ "html": "aaa\n aaa\naaa\n
\n",
+ "markdown": " ```\n aaa\n aaa\n aaa\n ```\n",
+ "example": 102,
+ "start_line": 1802
+ },
+ {
+ "end_line": 1827,
+ "section": "Fenced code blocks",
+ "html": "```\naaa\n```\n
\n",
+ "markdown": " ```\n aaa\n ```\n",
+ "example": 103,
+ "start_line": 1818
+ },
+ {
+ "end_line": 1840,
+ "section": "Fenced code blocks",
+ "html": "aaa\n
\n",
+ "markdown": "```\naaa\n ```\n",
+ "example": 104,
+ "start_line": 1833
+ },
+ {
+ "end_line": 1850,
+ "section": "Fenced code blocks",
+ "html": "aaa\n
\n",
+ "markdown": " ```\naaa\n ```\n",
+ "example": 105,
+ "start_line": 1843
+ },
+ {
+ "end_line": 1863,
+ "section": "Fenced code blocks",
+ "html": "aaa\n ```\n
\n",
+ "markdown": "```\naaa\n ```\n",
+ "example": 106,
+ "start_line": 1855
+ },
+ {
+ "end_line": 1875,
+ "section": "Fenced code blocks",
+ "html": "\naaa
aaa\n~~~ ~~\n
\n",
+ "markdown": "~~~~~~\naaa\n~~~ ~~\n",
+ "example": 108,
+ "start_line": 1878
+ },
+ {
+ "end_line": 1903,
+ "section": "Fenced code blocks",
+ "html": "foo
\nbar\n
\nbaz
\n", + "markdown": "foo\n```\nbar\n```\nbaz\n", + "example": 109, + "start_line": 1892 + }, + { + "end_line": 1921, + "section": "Fenced code blocks", + "html": "bar\n
\ndef foo(x)\n return 3\nend\n
\n",
+ "markdown": "```ruby\ndef foo(x)\n return 3\nend\n```\n",
+ "example": 111,
+ "start_line": 1929
+ },
+ {
+ "end_line": 1954,
+ "section": "Fenced code blocks",
+ "html": "def foo(x)\n return 3\nend\n
\n",
+ "markdown": "~~~~ ruby startline=3 $%@#$\ndef foo(x)\n return 3\nend\n~~~~~~~\n",
+ "example": 112,
+ "start_line": 1943
+ },
+ {
+ "end_line": 1962,
+ "section": "Fenced code blocks",
+ "html": "
\n",
+ "markdown": "````;\n````\n",
+ "example": 113,
+ "start_line": 1957
+ },
+ {
+ "end_line": 1973,
+ "section": "Fenced code blocks",
+ "html": "aa
\nfoo
``` aaa\n
\n",
+ "markdown": "```\n``` aaa\n```\n",
+ "example": 115,
+ "start_line": 1978
+ },
+ {
+ "end_line": 2070,
+ "section": "HTML blocks",
+ "html": "\n\n**Hello**,\n\n |
\n\n**Hello**,\n\n_world_.\n\n |
\n hi\n | \n
okay.
\n", + "markdown": "\n hi\n | \n
Markdown
\nbar
\n", + "markdown": "\nfoo\n |
\nfoo\n |
foo
\nfoo
\nimport Text.HTML.TagSoup\n\nmain :: IO ()\nmain = print $ parseTags tags\n
\nokay
\n", + "markdown": "\nimport Text.HTML.TagSoup\n\nmain :: IO ()\nmain = print $ parseTags tags\n
\nokay\n",
+ "example": 137,
+ "start_line": 2358
+ },
+ {
+ "end_line": 2393,
+ "section": "HTML blocks",
+ "html": "\nokay
\n", + "markdown": "\nokay\n", + "example": 138, + "start_line": 2379 + }, + { + "end_line": 2414, + "section": "HTML blocks", + "html": "\nokay
\n", + "markdown": "\nokay\n", + "example": 139, + "start_line": 2398 + }, + { + "end_line": 2431, + "section": "HTML blocks", + "html": "\nfoo
\n", + "markdown": "\n*foo*\n", + "example": 143, + "start_line": 2463 + }, + { + "end_line": 2478, + "section": "HTML blocks", + "html": "*bar*\nbaz
\n", + "markdown": "*bar*\n*baz*\n", + "example": 144, + "start_line": 2472 + }, + { + "end_line": 2492, + "section": "HTML blocks", + "html": "1. *bar*\n", + "markdown": "1. *bar*\n", + "example": 145, + "start_line": 2484 + }, + { + "end_line": 2509, + "section": "HTML blocks", + "html": "\nokay
\n", + "markdown": "\nokay\n", + "example": 146, + "start_line": 2497 + }, + { + "end_line": 2529, + "section": "HTML blocks", + "html": "';\n\n?>\nokay
\n", + "markdown": "';\n\n?>\nokay\n", + "example": 147, + "start_line": 2515 + }, + { + "end_line": 2538, + "section": "HTML blocks", + "html": "\n", + "markdown": "\n", + "example": 148, + "start_line": 2534 + }, + { + "end_line": 2571, + "section": "HTML blocks", + "html": "\nokay
\n", + "markdown": "\nokay\n", + "example": 149, + "start_line": 2543 + }, + { + "end_line": 2584, + "section": "HTML blocks", + "html": " \n<!-- foo -->\n
\n",
+ "markdown": " \n\n \n",
+ "example": 150,
+ "start_line": 2576
+ },
+ {
+ "end_line": 2595,
+ "section": "HTML blocks",
+ "html": " <div>\n
\n",
+ "markdown": " Foo
\nFoo\n\nbaz
\n", + "markdown": "Foo\n\nbaz\n", + "example": 154, + "start_line": 2632 + }, + { + "end_line": 2683, + "section": "HTML blocks", + "html": "Emphasized text.
\n\nHi\n | \n
\nHi\n | \n\n
\n Hi\n | \n\n
[foo]: /url 'title
\nwith blank line'
\n[foo]
\n", + "markdown": "[foo]: /url 'title\n\nwith blank line'\n\n[foo]\n", + "example": 164, + "start_line": 2844 + }, + { + "end_line": 2866, + "section": "Link reference definitions", + "html": "\n", + "markdown": "[foo]:\n/url\n\n[foo]\n", + "example": 165, + "start_line": 2859 + }, + { + "end_line": 2878, + "section": "Link reference definitions", + "html": "[foo]:
\n[foo]
\n", + "markdown": "[foo]:\n\n[foo]\n", + "example": 166, + "start_line": 2871 + }, + { + "end_line": 2890, + "section": "Link reference definitions", + "html": "\n", + "markdown": "[foo]: /url\\bar\\*baz \"foo\\\"bar\\baz\"\n\n[foo]\n", + "example": 167, + "start_line": 2884 + }, + { + "end_line": 2901, + "section": "Link reference definitions", + "html": "\n", + "markdown": "[foo]\n\n[foo]: url\n", + "example": 168, + "start_line": 2895 + }, + { + "end_line": 2914, + "section": "Link reference definitions", + "html": "\n", + "markdown": "[foo]\n\n[foo]: first\n[foo]: second\n", + "example": 169, + "start_line": 2907 + }, + { + "end_line": 2926, + "section": "Link reference definitions", + "html": "\n", + "markdown": "[FOO]: /url\n\n[Foo]\n", + "example": 170, + "start_line": 2920 + }, + { + "end_line": 2935, + "section": "Link reference definitions", + "html": "\n", + "markdown": "[ΑΓΩ]: /φου\n\n[αγω]\n", + "example": 171, + "start_line": 2929 + }, + { + "end_line": 2944, + "section": "Link reference definitions", + "html": "", + "markdown": "[foo]: /url\n", + "example": 172, + "start_line": 2941 + }, + { + "end_line": 2956, + "section": "Link reference definitions", + "html": "bar
\n", + "markdown": "[\nfoo\n]: /url\nbar\n", + "example": 173, + "start_line": 2949 + }, + { + "end_line": 2966, + "section": "Link reference definitions", + "html": "[foo]: /url "title" ok
\n", + "markdown": "[foo]: /url \"title\" ok\n", + "example": 174, + "start_line": 2962 + }, + { + "end_line": 2976, + "section": "Link reference definitions", + "html": ""title" ok
\n", + "markdown": "[foo]: /url\n\"title\" ok\n", + "example": 175, + "start_line": 2971 + }, + { + "end_line": 2990, + "section": "Link reference definitions", + "html": "[foo]: /url "title"\n
\n[foo]
\n", + "markdown": " [foo]: /url \"title\"\n\n[foo]\n", + "example": 176, + "start_line": 2982 + }, + { + "end_line": 3006, + "section": "Link reference definitions", + "html": "[foo]: /url\n
\n[foo]
\n", + "markdown": "```\n[foo]: /url\n```\n\n[foo]\n", + "example": 177, + "start_line": 2996 + }, + { + "end_line": 3020, + "section": "Link reference definitions", + "html": "Foo\n[bar]: /baz
\n[bar]
\n", + "markdown": "Foo\n[bar]: /baz\n\n[bar]\n", + "example": 178, + "start_line": 3011 + }, + { + "end_line": 3035, + "section": "Link reference definitions", + "html": "\n\n", + "markdown": "# [Foo]\n[foo]: /url\n> bar\n", + "example": 179, + "start_line": 3026 + }, + { + "end_line": 3054, + "section": "Link reference definitions", + "html": "\n", + "markdown": "[foo]: /foo-url \"foo\"\n[bar]: /bar-url\n \"bar\"\n[baz]: /baz-url\n\n[foo],\n[bar],\n[baz]\n", + "example": 180, + "start_line": 3041 + }, + { + "end_line": 3070, + "section": "Link reference definitions", + "html": "\nbar
\n
\n\n", + "markdown": "[foo]\n\n> [foo]: /url\n", + "example": 181, + "start_line": 3062 + }, + { + "end_line": 3092, + "section": "Paragraphs", + "html": "
aaa
\nbbb
\n", + "markdown": "aaa\n\nbbb\n", + "example": 182, + "start_line": 3085 + }, + { + "end_line": 3108, + "section": "Paragraphs", + "html": "aaa\nbbb
\nccc\nddd
\n", + "markdown": "aaa\nbbb\n\nccc\nddd\n", + "example": 183, + "start_line": 3097 + }, + { + "end_line": 3121, + "section": "Paragraphs", + "html": "aaa
\nbbb
\n", + "markdown": "aaa\n\n\nbbb\n", + "example": 184, + "start_line": 3113 + }, + { + "end_line": 3132, + "section": "Paragraphs", + "html": "aaa\nbbb
\n", + "markdown": " aaa\n bbb\n", + "example": 185, + "start_line": 3126 + }, + { + "end_line": 3146, + "section": "Paragraphs", + "html": "aaa\nbbb\nccc
\n", + "markdown": "aaa\n bbb\n ccc\n", + "example": 186, + "start_line": 3138 + }, + { + "end_line": 3158, + "section": "Paragraphs", + "html": "aaa\nbbb
\n", + "markdown": " aaa\nbbb\n", + "example": 187, + "start_line": 3152 + }, + { + "end_line": 3168, + "section": "Paragraphs", + "html": "aaa\n
\nbbb
\n", + "markdown": " aaa\nbbb\n", + "example": 188, + "start_line": 3161 + }, + { + "end_line": 3181, + "section": "Paragraphs", + "html": "aaa
\nbbb
aaa
\n\n\n", + "markdown": "> # Foo\n> bar\n> baz\n", + "example": 191, + "start_line": 3258 + }, + { + "end_line": 3283, + "section": "Block quotes", + "html": "Foo
\nbar\nbaz
\n
\n\n", + "markdown": "># Foo\n>bar\n> baz\n", + "example": 192, + "start_line": 3273 + }, + { + "end_line": 3298, + "section": "Block quotes", + "html": "Foo
\nbar\nbaz
\n
\n\n", + "markdown": " > # Foo\n > bar\n > baz\n", + "example": 193, + "start_line": 3288 + }, + { + "end_line": 3312, + "section": "Block quotes", + "html": "Foo
\nbar\nbaz
\n
> # Foo\n> bar\n> baz\n
\n",
+ "markdown": " > # Foo\n > bar\n > baz\n",
+ "example": 194,
+ "start_line": 3303
+ },
+ {
+ "end_line": 3328,
+ "section": "Block quotes",
+ "html": "\n\n", + "markdown": "> # Foo\n> bar\nbaz\n", + "example": 195, + "start_line": 3318 + }, + { + "end_line": 3344, + "section": "Block quotes", + "html": "Foo
\nbar\nbaz
\n
\n\n", + "markdown": "> bar\nbaz\n> foo\n", + "example": 196, + "start_line": 3334 + }, + { + "end_line": 3366, + "section": "Block quotes", + "html": "bar\nbaz\nfoo
\n
\n\nfoo
\n
\n\n\n
\n- foo
\n
\n\n\nfoo\n
bar\n
\n",
+ "markdown": "> foo\n bar\n",
+ "example": 199,
+ "start_line": 3396
+ },
+ {
+ "end_line": 3419,
+ "section": "Block quotes",
+ "html": "\n\n\n
foo
\n
\n",
+ "markdown": "> ```\nfoo\n```\n",
+ "example": 200,
+ "start_line": 3409
+ },
+ {
+ "end_line": 3433,
+ "section": "Block quotes",
+ "html": "\n\n", + "markdown": "> foo\n - bar\n", + "example": 201, + "start_line": 3425 + }, + { + "end_line": 3454, + "section": "Block quotes", + "html": "foo\n- bar
\n
\n\n", + "markdown": ">\n", + "example": 202, + "start_line": 3449 + }, + { + "end_line": 3464, + "section": "Block quotes", + "html": "
\n\n", + "markdown": ">\n> \n> \n", + "example": 203, + "start_line": 3457 + }, + { + "end_line": 3477, + "section": "Block quotes", + "html": "
\n\n", + "markdown": ">\n> foo\n> \n", + "example": 204, + "start_line": 3469 + }, + { + "end_line": 3493, + "section": "Block quotes", + "html": "foo
\n
\n\nfoo
\n
\n\n", + "markdown": "> foo\n\n> bar\n", + "example": 205, + "start_line": 3482 + }, + { + "end_line": 3512, + "section": "Block quotes", + "html": "bar
\n
\n\n", + "markdown": "> foo\n> bar\n", + "example": 206, + "start_line": 3504 + }, + { + "end_line": 3526, + "section": "Block quotes", + "html": "foo\nbar
\n
\n\n", + "markdown": "> foo\n>\n> bar\n", + "example": 207, + "start_line": 3517 + }, + { + "end_line": 3539, + "section": "Block quotes", + "html": "foo
\nbar
\n
foo
\n\n\n", + "markdown": "foo\n> bar\n", + "example": 208, + "start_line": 3531 + }, + { + "end_line": 3557, + "section": "Block quotes", + "html": "bar
\n
\n\naaa
\n
\n\n", + "markdown": "> aaa\n***\n> bbb\n", + "example": 209, + "start_line": 3545 + }, + { + "end_line": 3571, + "section": "Block quotes", + "html": "bbb
\n
\n\n", + "markdown": "> bar\nbaz\n", + "example": 210, + "start_line": 3563 + }, + { + "end_line": 3583, + "section": "Block quotes", + "html": "bar\nbaz
\n
\n\nbar
\n
baz
\n", + "markdown": "> bar\n\nbaz\n", + "example": 211, + "start_line": 3574 + }, + { + "end_line": 3595, + "section": "Block quotes", + "html": "\n\nbar
\n
baz
\n", + "markdown": "> bar\n>\nbaz\n", + "example": 212, + "start_line": 3586 + }, + { + "end_line": 3614, + "section": "Block quotes", + "html": "\n\n", + "markdown": "> > > foo\nbar\n", + "example": 213, + "start_line": 3602 + }, + { + "end_line": 3631, + "section": "Block quotes", + "html": "\n\n\n\nfoo\nbar
\n
\n\n", + "markdown": ">>> foo\n> bar\n>>baz\n", + "example": 214, + "start_line": 3617 + }, + { + "end_line": 3651, + "section": "Block quotes", + "html": "\n\n\n\nfoo\nbar\nbaz
\n
\n\n\ncode\n
\n\n", + "markdown": "> code\n\n> not code\n", + "example": 215, + "start_line": 3639 + }, + { + "end_line": 3709, + "section": "List items", + "html": "not code
\n
A paragraph\nwith two lines.
\nindented code\n
\n\n\n", + "markdown": "A paragraph\nwith two lines.\n\n indented code\n\n> A block quote.\n", + "example": 216, + "start_line": 3694 + }, + { + "end_line": 3735, + "section": "List items", + "html": "A block quote.
\n
A paragraph\nwith two lines.
\nindented code\n
\n\n\nA block quote.
\n
two
\n", + "markdown": "- one\n\n two\n", + "example": 218, + "start_line": 3749 + }, + { + "end_line": 3772, + "section": "List items", + "html": "one
\ntwo
\n two\n
\n",
+ "markdown": " - one\n\n two\n",
+ "example": 220,
+ "start_line": 3775
+ },
+ {
+ "end_line": 3799,
+ "section": "List items",
+ "html": "one
\ntwo
\n\n\n", + "markdown": " > > 1. one\n>>\n>> two\n", + "example": 222, + "start_line": 3810 + }, + { + "end_line": 3850, + "section": "List items", + "html": "\n\n\n
\n- \n
\none
\ntwo
\n
\n\n", + "markdown": ">>- one\n>>\n > > two\n", + "example": 223, + "start_line": 3837 + }, + { + "end_line": 3863, + "section": "List items", + "html": "\n\n\n
\n- one
\ntwo
\n
-one
\n2.two
\n", + "markdown": "-one\n\n2.two\n", + "example": 224, + "start_line": 3856 + }, + { + "end_line": 3881, + "section": "List items", + "html": "foo
\nbar
\nfoo
\nbar\n
\nbaz
\n\n\nbam
\n
Foo
\nbar\n\n\nbaz\n
\n1234567890. not ok
\n", + "markdown": "1234567890. not ok\n", + "example": 229, + "start_line": 3945 + }, + { + "end_line": 3960, + "section": "List items", + "html": "-1. not ok
\n", + "markdown": "-1. not ok\n", + "example": 232, + "start_line": 3974 + }, + { + "end_line": 4010, + "section": "List items", + "html": "foo
\nbar\n
\nfoo
\nbar\n
\nindented code\n
\nparagraph
\nmore code\n
\n",
+ "markdown": " indented code\n\nparagraph\n\n more code\n",
+ "example": 235,
+ "start_line": 4034
+ },
+ {
+ "end_line": 4065,
+ "section": "List items",
+ "html": "indented code\n
\nparagraph
\nmore code\n
\n indented code\n
\nparagraph
\nmore code\n
\nfoo
\nbar
\n", + "markdown": " foo\n\nbar\n", + "example": 238, + "start_line": 4098 + }, + { + "end_line": 4117, + "section": "List items", + "html": "bar
\n", + "markdown": "- foo\n\n bar\n", + "example": 239, + "start_line": 4108 + }, + { + "end_line": 4136, + "section": "List items", + "html": "foo
\nbar
\nbar\n
\nbaz\n
\nfoo
\n", + "markdown": "-\n\n foo\n", + "example": 243, + "start_line": 4193 + }, + { + "end_line": 4217, + "section": "List items", + "html": "foo\n*
\nfoo\n1.
\n", + "markdown": "foo\n*\n\nfoo\n1.\n", + "example": 248, + "start_line": 4262 + }, + { + "end_line": 4303, + "section": "List items", + "html": "A paragraph\nwith two lines.
\nindented code\n
\n\n\nA block quote.
\n
A paragraph\nwith two lines.
\nindented code\n
\n\n\nA block quote.
\n
A paragraph\nwith two lines.
\nindented code\n
\n\n\nA block quote.
\n
1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n
\n",
+ "markdown": " 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n",
+ "example": 252,
+ "start_line": 4356
+ },
+ {
+ "end_line": 4405,
+ "section": "List items",
+ "html": "A paragraph\nwith two lines.
\nindented code\n
\n\n\nA block quote.
\n
\n\n", + "markdown": "> 1. > Blockquote\ncontinued here.\n", + "example": 255, + "start_line": 4423 + }, + { + "end_line": 4454, + "section": "List items", + "html": "\n
\n- \n
\n\n\nBlockquote\ncontinued here.
\n
\n\n", + "markdown": "> 1. > Blockquote\n> continued here.\n", + "example": 256, + "start_line": 4440 + }, + { + "end_line": 4488, + "section": "List items", + "html": "\n
\n- \n
\n\n\nBlockquote\ncontinued here.
\n
Foo
\nThe number of windows in my house is\n14. The number of doors is 6.
\n", + "markdown": "The number of windows in my house is\n14. The number of doors is 6.\n", + "example": 267, + "start_line": 4920 + }, + { + "end_line": 4938, + "section": "Lists", + "html": "The number of windows in my house is
\nfoo
\nbar
\nbaz
\nbaz
\nbim
\nfoo
\nnotcode
\nfoo
\ncode\n
\n",
+ "markdown": "- foo\n\n notcode\n\n- foo\n\n\n\n code\n",
+ "example": 272,
+ "start_line": 5016
+ },
+ {
+ "end_line": 5069,
+ "section": "Lists",
+ "html": "a
\nb
\nc
\na
\nb
\nc
\na
\nc
\na
\nb
\nc
\nd
\na
\nb
\nd
\nb\n\n\n
\nb
\nc
\n\n\nb
\n
\n\nb
\n
c\n
\nfoo\n
\nbar
\nfoo
\nbaz
\na
\nd
\nhi
lo`
!"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~
\n", + "markdown": "\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\-\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\\\\\]\\^\\_\\`\\{\\|\\}\\~\n", + "example": 289, + "start_line": 5389 + }, + { + "end_line": 5403, + "section": "Backslash escapes", + "html": "\\\t\\A\\a\\ \\3\\φ\\«
\n", + "markdown": "\\\t\\A\\a\\ \\3\\φ\\«\n", + "example": 290, + "start_line": 5399 + }, + { + "end_line": 5427, + "section": "Backslash escapes", + "html": "*not emphasized*\n<br/> not a tag\n[not a link](/foo)\n`not code`\n1. not a list\n* not a list\n# not a heading\n[foo]: /url "not a reference"
\n", + "markdown": "\\*not emphasized*\n\\\\emphasis
\n", + "markdown": "\\\\*emphasis*\n", + "example": 292, + "start_line": 5432 + }, + { + "end_line": 5447, + "section": "Backslash escapes", + "html": "foo
\nbar
\\[\\`
\\[\\]\n
\n",
+ "markdown": " \\[\\]\n",
+ "example": 295,
+ "start_line": 5460
+ },
+ {
+ "end_line": 5475,
+ "section": "Backslash escapes",
+ "html": "\\[\\]\n
\n",
+ "markdown": "~~~\n\\[\\]\n~~~\n",
+ "example": 296,
+ "start_line": 5468
+ },
+ {
+ "end_line": 5482,
+ "section": "Backslash escapes",
+ "html": "\n",
+ "markdown": "foo\n
\n",
+ "markdown": "``` foo\\+bar\nfoo\n```\n",
+ "example": 301,
+ "start_line": 5511
+ },
+ {
+ "end_line": 5546,
+ "section": "Entity and numeric character references",
+ "html": "& © Æ Ď\n¾ ℋ ⅆ\n∲ ≧̸
\n", + "markdown": " & © Æ Ď\n¾ ℋ ⅆ\n∲ ≧̸\n", + "example": 302, + "start_line": 5538 + }, + { + "end_line": 5561, + "section": "Entity and numeric character references", + "html": "# Ӓ Ϡ � �
\n", + "markdown": "# Ӓ Ϡ \n", + "example": 303, + "start_line": 5557 + }, + { + "end_line": 5574, + "section": "Entity and numeric character references", + "html": "" ആ ಫ
\n", + "markdown": "" ആ ಫ\n", + "example": 304, + "start_line": 5570 + }, + { + "end_line": 5585, + "section": "Entity and numeric character references", + "html": "  &x; &#; &#x;\n&ThisIsNotDefined; &hi?;
\n", + "markdown": "  &x; \n&ThisIsNotDefined; &hi?;\n", + "example": 305, + "start_line": 5579 + }, + { + "end_line": 5596, + "section": "Entity and numeric character references", + "html": "©
\n", + "markdown": "©\n", + "example": 306, + "start_line": 5592 + }, + { + "end_line": 5606, + "section": "Entity and numeric character references", + "html": "&MadeUpEntity;
\n", + "markdown": "&MadeUpEntity;\n", + "example": 307, + "start_line": 5602 + }, + { + "end_line": 5617, + "section": "Entity and numeric character references", + "html": "\n", + "markdown": "\n", + "example": 308, + "start_line": 5613 + }, + { + "end_line": 5624, + "section": "Entity and numeric character references", + "html": "\n", + "markdown": "[foo](/föö \"föö\")\n", + "example": 309, + "start_line": 5620 + }, + { + "end_line": 5633, + "section": "Entity and numeric character references", + "html": "\n", + "markdown": "[foo]\n\n[foo]: /föö \"föö\"\n", + "example": 310, + "start_line": 5627 + }, + { + "end_line": 5643, + "section": "Entity and numeric character references", + "html": "foo\n
\n",
+ "markdown": "``` föö\nfoo\n```\n",
+ "example": 311,
+ "start_line": 5636
+ },
+ {
+ "end_line": 5653,
+ "section": "Entity and numeric character references",
+ "html": "föö
föfö\n
\n",
+ "markdown": " föfö\n",
+ "example": 313,
+ "start_line": 5656
+ },
+ {
+ "end_line": 5682,
+ "section": "Code spans",
+ "html": "foo
foo ` bar
``
foo
foo bar baz
a b
foo `` bar
foo\\
bar`
*foo*
[not a link](/foo
)
<a href="
">`
<http://foo.bar.
baz>`
```foo``
\n", + "markdown": "```foo``\n", + "example": 328, + "start_line": 5832 + }, + { + "end_line": 5843, + "section": "Code spans", + "html": "`foo
\n", + "markdown": "`foo\n", + "example": 329, + "start_line": 5839 + }, + { + "end_line": 5852, + "section": "Code spans", + "html": "`foobar
foo bar
\n", + "markdown": "*foo bar*\n", + "example": 331, + "start_line": 6061 + }, + { + "end_line": 6075, + "section": "Emphasis and strong emphasis", + "html": "a * foo bar*
\n", + "markdown": "a * foo bar*\n", + "example": 332, + "start_line": 6071 + }, + { + "end_line": 6086, + "section": "Emphasis and strong emphasis", + "html": "a*"foo"*
\n", + "markdown": "a*\"foo\"*\n", + "example": 333, + "start_line": 6082 + }, + { + "end_line": 6095, + "section": "Emphasis and strong emphasis", + "html": "* a *
\n", + "markdown": "* a *\n", + "example": 334, + "start_line": 6091 + }, + { + "end_line": 6104, + "section": "Emphasis and strong emphasis", + "html": "foobar
\n", + "markdown": "foo*bar*\n", + "example": 335, + "start_line": 6100 + }, + { + "end_line": 6111, + "section": "Emphasis and strong emphasis", + "html": "5678
\n", + "markdown": "5*6*78\n", + "example": 336, + "start_line": 6107 + }, + { + "end_line": 6120, + "section": "Emphasis and strong emphasis", + "html": "foo bar
\n", + "markdown": "_foo bar_\n", + "example": 337, + "start_line": 6116 + }, + { + "end_line": 6130, + "section": "Emphasis and strong emphasis", + "html": "_ foo bar_
\n", + "markdown": "_ foo bar_\n", + "example": 338, + "start_line": 6126 + }, + { + "end_line": 6140, + "section": "Emphasis and strong emphasis", + "html": "a_"foo"_
\n", + "markdown": "a_\"foo\"_\n", + "example": 339, + "start_line": 6136 + }, + { + "end_line": 6149, + "section": "Emphasis and strong emphasis", + "html": "foo_bar_
\n", + "markdown": "foo_bar_\n", + "example": 340, + "start_line": 6145 + }, + { + "end_line": 6156, + "section": "Emphasis and strong emphasis", + "html": "5_6_78
\n", + "markdown": "5_6_78\n", + "example": 341, + "start_line": 6152 + }, + { + "end_line": 6163, + "section": "Emphasis and strong emphasis", + "html": "пристаням_стремятся_
\n", + "markdown": "пристаням_стремятся_\n", + "example": 342, + "start_line": 6159 + }, + { + "end_line": 6173, + "section": "Emphasis and strong emphasis", + "html": "aa_"bb"_cc
\n", + "markdown": "aa_\"bb\"_cc\n", + "example": 343, + "start_line": 6169 + }, + { + "end_line": 6184, + "section": "Emphasis and strong emphasis", + "html": "foo-(bar)
\n", + "markdown": "foo-_(bar)_\n", + "example": 344, + "start_line": 6180 + }, + { + "end_line": 6196, + "section": "Emphasis and strong emphasis", + "html": "_foo*
\n", + "markdown": "_foo*\n", + "example": 345, + "start_line": 6192 + }, + { + "end_line": 6206, + "section": "Emphasis and strong emphasis", + "html": "*foo bar *
\n", + "markdown": "*foo bar *\n", + "example": 346, + "start_line": 6202 + }, + { + "end_line": 6217, + "section": "Emphasis and strong emphasis", + "html": "*foo bar\n*
\n", + "markdown": "*foo bar\n*\n", + "example": 347, + "start_line": 6211 + }, + { + "end_line": 6228, + "section": "Emphasis and strong emphasis", + "html": "*(*foo)
\n", + "markdown": "*(*foo)\n", + "example": 348, + "start_line": 6224 + }, + { + "end_line": 6238, + "section": "Emphasis and strong emphasis", + "html": "(foo)
\n", + "markdown": "*(*foo*)*\n", + "example": 349, + "start_line": 6234 + }, + { + "end_line": 6247, + "section": "Emphasis and strong emphasis", + "html": "foobar
\n", + "markdown": "*foo*bar\n", + "example": 350, + "start_line": 6243 + }, + { + "end_line": 6260, + "section": "Emphasis and strong emphasis", + "html": "_foo bar _
\n", + "markdown": "_foo bar _\n", + "example": 351, + "start_line": 6256 + }, + { + "end_line": 6270, + "section": "Emphasis and strong emphasis", + "html": "_(_foo)
\n", + "markdown": "_(_foo)\n", + "example": 352, + "start_line": 6266 + }, + { + "end_line": 6279, + "section": "Emphasis and strong emphasis", + "html": "(foo)
\n", + "markdown": "_(_foo_)_\n", + "example": 353, + "start_line": 6275 + }, + { + "end_line": 6288, + "section": "Emphasis and strong emphasis", + "html": "_foo_bar
\n", + "markdown": "_foo_bar\n", + "example": 354, + "start_line": 6284 + }, + { + "end_line": 6295, + "section": "Emphasis and strong emphasis", + "html": "_пристаням_стремятся
\n", + "markdown": "_пристаням_стремятся\n", + "example": 355, + "start_line": 6291 + }, + { + "end_line": 6302, + "section": "Emphasis and strong emphasis", + "html": "foo_bar_baz
\n", + "markdown": "_foo_bar_baz_\n", + "example": 356, + "start_line": 6298 + }, + { + "end_line": 6313, + "section": "Emphasis and strong emphasis", + "html": "(bar).
\n", + "markdown": "_(bar)_.\n", + "example": 357, + "start_line": 6309 + }, + { + "end_line": 6322, + "section": "Emphasis and strong emphasis", + "html": "foo bar
\n", + "markdown": "**foo bar**\n", + "example": 358, + "start_line": 6318 + }, + { + "end_line": 6332, + "section": "Emphasis and strong emphasis", + "html": "** foo bar**
\n", + "markdown": "** foo bar**\n", + "example": 359, + "start_line": 6328 + }, + { + "end_line": 6343, + "section": "Emphasis and strong emphasis", + "html": "a**"foo"**
\n", + "markdown": "a**\"foo\"**\n", + "example": 360, + "start_line": 6339 + }, + { + "end_line": 6352, + "section": "Emphasis and strong emphasis", + "html": "foobar
\n", + "markdown": "foo**bar**\n", + "example": 361, + "start_line": 6348 + }, + { + "end_line": 6361, + "section": "Emphasis and strong emphasis", + "html": "foo bar
\n", + "markdown": "__foo bar__\n", + "example": 362, + "start_line": 6357 + }, + { + "end_line": 6371, + "section": "Emphasis and strong emphasis", + "html": "__ foo bar__
\n", + "markdown": "__ foo bar__\n", + "example": 363, + "start_line": 6367 + }, + { + "end_line": 6381, + "section": "Emphasis and strong emphasis", + "html": "__\nfoo bar__
\n", + "markdown": "__\nfoo bar__\n", + "example": 364, + "start_line": 6375 + }, + { + "end_line": 6391, + "section": "Emphasis and strong emphasis", + "html": "a__"foo"__
\n", + "markdown": "a__\"foo\"__\n", + "example": 365, + "start_line": 6387 + }, + { + "end_line": 6400, + "section": "Emphasis and strong emphasis", + "html": "foo__bar__
\n", + "markdown": "foo__bar__\n", + "example": 366, + "start_line": 6396 + }, + { + "end_line": 6407, + "section": "Emphasis and strong emphasis", + "html": "5__6__78
\n", + "markdown": "5__6__78\n", + "example": 367, + "start_line": 6403 + }, + { + "end_line": 6414, + "section": "Emphasis and strong emphasis", + "html": "пристаням__стремятся__
\n", + "markdown": "пристаням__стремятся__\n", + "example": 368, + "start_line": 6410 + }, + { + "end_line": 6421, + "section": "Emphasis and strong emphasis", + "html": "foo, bar, baz
\n", + "markdown": "__foo, __bar__, baz__\n", + "example": 369, + "start_line": 6417 + }, + { + "end_line": 6432, + "section": "Emphasis and strong emphasis", + "html": "foo-(bar)
\n", + "markdown": "foo-__(bar)__\n", + "example": 370, + "start_line": 6428 + }, + { + "end_line": 6445, + "section": "Emphasis and strong emphasis", + "html": "**foo bar **
\n", + "markdown": "**foo bar **\n", + "example": 371, + "start_line": 6441 + }, + { + "end_line": 6458, + "section": "Emphasis and strong emphasis", + "html": "**(**foo)
\n", + "markdown": "**(**foo)\n", + "example": 372, + "start_line": 6454 + }, + { + "end_line": 6468, + "section": "Emphasis and strong emphasis", + "html": "(foo)
\n", + "markdown": "*(**foo**)*\n", + "example": 373, + "start_line": 6464 + }, + { + "end_line": 6477, + "section": "Emphasis and strong emphasis", + "html": "Gomphocarpus (Gomphocarpus physocarpus, syn.\nAsclepias physocarpa)
\n", + "markdown": "**Gomphocarpus (*Gomphocarpus physocarpus*, syn.\n*Asclepias physocarpa*)**\n", + "example": 374, + "start_line": 6471 + }, + { + "end_line": 6484, + "section": "Emphasis and strong emphasis", + "html": "foo "bar" foo
\n", + "markdown": "**foo \"*bar*\" foo**\n", + "example": 375, + "start_line": 6480 + }, + { + "end_line": 6493, + "section": "Emphasis and strong emphasis", + "html": "foobar
\n", + "markdown": "**foo**bar\n", + "example": 376, + "start_line": 6489 + }, + { + "end_line": 6505, + "section": "Emphasis and strong emphasis", + "html": "__foo bar __
\n", + "markdown": "__foo bar __\n", + "example": 377, + "start_line": 6501 + }, + { + "end_line": 6515, + "section": "Emphasis and strong emphasis", + "html": "__(__foo)
\n", + "markdown": "__(__foo)\n", + "example": 378, + "start_line": 6511 + }, + { + "end_line": 6525, + "section": "Emphasis and strong emphasis", + "html": "(foo)
\n", + "markdown": "_(__foo__)_\n", + "example": 379, + "start_line": 6521 + }, + { + "end_line": 6534, + "section": "Emphasis and strong emphasis", + "html": "__foo__bar
\n", + "markdown": "__foo__bar\n", + "example": 380, + "start_line": 6530 + }, + { + "end_line": 6541, + "section": "Emphasis and strong emphasis", + "html": "__пристаням__стремятся
\n", + "markdown": "__пристаням__стремятся\n", + "example": 381, + "start_line": 6537 + }, + { + "end_line": 6548, + "section": "Emphasis and strong emphasis", + "html": "foo__bar__baz
\n", + "markdown": "__foo__bar__baz__\n", + "example": 382, + "start_line": 6544 + }, + { + "end_line": 6559, + "section": "Emphasis and strong emphasis", + "html": "(bar).
\n", + "markdown": "__(bar)__.\n", + "example": 383, + "start_line": 6555 + }, + { + "end_line": 6571, + "section": "Emphasis and strong emphasis", + "html": "foo bar
\n", + "markdown": "*foo [bar](/url)*\n", + "example": 384, + "start_line": 6567 + }, + { + "end_line": 6580, + "section": "Emphasis and strong emphasis", + "html": "foo\nbar
\n", + "markdown": "*foo\nbar*\n", + "example": 385, + "start_line": 6574 + }, + { + "end_line": 6590, + "section": "Emphasis and strong emphasis", + "html": "foo bar baz
\n", + "markdown": "_foo __bar__ baz_\n", + "example": 386, + "start_line": 6586 + }, + { + "end_line": 6597, + "section": "Emphasis and strong emphasis", + "html": "foo bar baz
\n", + "markdown": "_foo _bar_ baz_\n", + "example": 387, + "start_line": 6593 + }, + { + "end_line": 6604, + "section": "Emphasis and strong emphasis", + "html": "foo bar
\n", + "markdown": "__foo_ bar_\n", + "example": 388, + "start_line": 6600 + }, + { + "end_line": 6611, + "section": "Emphasis and strong emphasis", + "html": "foo bar
\n", + "markdown": "*foo *bar**\n", + "example": 389, + "start_line": 6607 + }, + { + "end_line": 6618, + "section": "Emphasis and strong emphasis", + "html": "foo bar baz
\n", + "markdown": "*foo **bar** baz*\n", + "example": 390, + "start_line": 6614 + }, + { + "end_line": 6624, + "section": "Emphasis and strong emphasis", + "html": "foobarbaz
\n", + "markdown": "*foo**bar**baz*\n", + "example": 391, + "start_line": 6620 + }, + { + "end_line": 6649, + "section": "Emphasis and strong emphasis", + "html": "foo bar
\n", + "markdown": "***foo** bar*\n", + "example": 392, + "start_line": 6645 + }, + { + "end_line": 6656, + "section": "Emphasis and strong emphasis", + "html": "foo bar
\n", + "markdown": "*foo **bar***\n", + "example": 393, + "start_line": 6652 + }, + { + "end_line": 6663, + "section": "Emphasis and strong emphasis", + "html": "foobar
\n", + "markdown": "*foo**bar***\n", + "example": 394, + "start_line": 6659 + }, + { + "end_line": 6672, + "section": "Emphasis and strong emphasis", + "html": "foo bar baz bim bop
\n", + "markdown": "*foo **bar *baz* bim** bop*\n", + "example": 395, + "start_line": 6668 + }, + { + "end_line": 6679, + "section": "Emphasis and strong emphasis", + "html": "foo bar
\n", + "markdown": "*foo [*bar*](/url)*\n", + "example": 396, + "start_line": 6675 + }, + { + "end_line": 6688, + "section": "Emphasis and strong emphasis", + "html": "** is not an empty emphasis
\n", + "markdown": "** is not an empty emphasis\n", + "example": 397, + "start_line": 6684 + }, + { + "end_line": 6695, + "section": "Emphasis and strong emphasis", + "html": "**** is not an empty strong emphasis
\n", + "markdown": "**** is not an empty strong emphasis\n", + "example": 398, + "start_line": 6691 + }, + { + "end_line": 6708, + "section": "Emphasis and strong emphasis", + "html": "foo bar
\n", + "markdown": "**foo [bar](/url)**\n", + "example": 399, + "start_line": 6704 + }, + { + "end_line": 6717, + "section": "Emphasis and strong emphasis", + "html": "foo\nbar
\n", + "markdown": "**foo\nbar**\n", + "example": 400, + "start_line": 6711 + }, + { + "end_line": 6727, + "section": "Emphasis and strong emphasis", + "html": "foo bar baz
\n", + "markdown": "__foo _bar_ baz__\n", + "example": 401, + "start_line": 6723 + }, + { + "end_line": 6734, + "section": "Emphasis and strong emphasis", + "html": "foo bar baz
\n", + "markdown": "__foo __bar__ baz__\n", + "example": 402, + "start_line": 6730 + }, + { + "end_line": 6741, + "section": "Emphasis and strong emphasis", + "html": "foo bar
\n", + "markdown": "____foo__ bar__\n", + "example": 403, + "start_line": 6737 + }, + { + "end_line": 6748, + "section": "Emphasis and strong emphasis", + "html": "foo bar
\n", + "markdown": "**foo **bar****\n", + "example": 404, + "start_line": 6744 + }, + { + "end_line": 6755, + "section": "Emphasis and strong emphasis", + "html": "foo bar baz
\n", + "markdown": "**foo *bar* baz**\n", + "example": 405, + "start_line": 6751 + }, + { + "end_line": 6762, + "section": "Emphasis and strong emphasis", + "html": "foobarbaz
\n", + "markdown": "**foo*bar*baz**\n", + "example": 406, + "start_line": 6758 + }, + { + "end_line": 6769, + "section": "Emphasis and strong emphasis", + "html": "foo bar
\n", + "markdown": "***foo* bar**\n", + "example": 407, + "start_line": 6765 + }, + { + "end_line": 6776, + "section": "Emphasis and strong emphasis", + "html": "foo bar
\n", + "markdown": "**foo *bar***\n", + "example": 408, + "start_line": 6772 + }, + { + "end_line": 6787, + "section": "Emphasis and strong emphasis", + "html": "foo bar baz\nbim bop
\n", + "markdown": "**foo *bar **baz**\nbim* bop**\n", + "example": 409, + "start_line": 6781 + }, + { + "end_line": 6794, + "section": "Emphasis and strong emphasis", + "html": "foo bar
\n", + "markdown": "**foo [*bar*](/url)**\n", + "example": 410, + "start_line": 6790 + }, + { + "end_line": 6803, + "section": "Emphasis and strong emphasis", + "html": "__ is not an empty emphasis
\n", + "markdown": "__ is not an empty emphasis\n", + "example": 411, + "start_line": 6799 + }, + { + "end_line": 6810, + "section": "Emphasis and strong emphasis", + "html": "____ is not an empty strong emphasis
\n", + "markdown": "____ is not an empty strong emphasis\n", + "example": 412, + "start_line": 6806 + }, + { + "end_line": 6820, + "section": "Emphasis and strong emphasis", + "html": "foo ***
\n", + "markdown": "foo ***\n", + "example": 413, + "start_line": 6816 + }, + { + "end_line": 6827, + "section": "Emphasis and strong emphasis", + "html": "foo *
\n", + "markdown": "foo *\\**\n", + "example": 414, + "start_line": 6823 + }, + { + "end_line": 6834, + "section": "Emphasis and strong emphasis", + "html": "foo _
\n", + "markdown": "foo *_*\n", + "example": 415, + "start_line": 6830 + }, + { + "end_line": 6841, + "section": "Emphasis and strong emphasis", + "html": "foo *****
\n", + "markdown": "foo *****\n", + "example": 416, + "start_line": 6837 + }, + { + "end_line": 6848, + "section": "Emphasis and strong emphasis", + "html": "foo *
\n", + "markdown": "foo **\\***\n", + "example": 417, + "start_line": 6844 + }, + { + "end_line": 6855, + "section": "Emphasis and strong emphasis", + "html": "foo _
\n", + "markdown": "foo **_**\n", + "example": 418, + "start_line": 6851 + }, + { + "end_line": 6866, + "section": "Emphasis and strong emphasis", + "html": "*foo
\n", + "markdown": "**foo*\n", + "example": 419, + "start_line": 6862 + }, + { + "end_line": 6873, + "section": "Emphasis and strong emphasis", + "html": "foo*
\n", + "markdown": "*foo**\n", + "example": 420, + "start_line": 6869 + }, + { + "end_line": 6880, + "section": "Emphasis and strong emphasis", + "html": "*foo
\n", + "markdown": "***foo**\n", + "example": 421, + "start_line": 6876 + }, + { + "end_line": 6887, + "section": "Emphasis and strong emphasis", + "html": "***foo
\n", + "markdown": "****foo*\n", + "example": 422, + "start_line": 6883 + }, + { + "end_line": 6894, + "section": "Emphasis and strong emphasis", + "html": "foo*
\n", + "markdown": "**foo***\n", + "example": 423, + "start_line": 6890 + }, + { + "end_line": 6901, + "section": "Emphasis and strong emphasis", + "html": "foo***
\n", + "markdown": "*foo****\n", + "example": 424, + "start_line": 6897 + }, + { + "end_line": 6911, + "section": "Emphasis and strong emphasis", + "html": "foo ___
\n", + "markdown": "foo ___\n", + "example": 425, + "start_line": 6907 + }, + { + "end_line": 6918, + "section": "Emphasis and strong emphasis", + "html": "foo _
\n", + "markdown": "foo _\\__\n", + "example": 426, + "start_line": 6914 + }, + { + "end_line": 6925, + "section": "Emphasis and strong emphasis", + "html": "foo *
\n", + "markdown": "foo _*_\n", + "example": 427, + "start_line": 6921 + }, + { + "end_line": 6932, + "section": "Emphasis and strong emphasis", + "html": "foo _____
\n", + "markdown": "foo _____\n", + "example": 428, + "start_line": 6928 + }, + { + "end_line": 6939, + "section": "Emphasis and strong emphasis", + "html": "foo _
\n", + "markdown": "foo __\\___\n", + "example": 429, + "start_line": 6935 + }, + { + "end_line": 6946, + "section": "Emphasis and strong emphasis", + "html": "foo *
\n", + "markdown": "foo __*__\n", + "example": 430, + "start_line": 6942 + }, + { + "end_line": 6953, + "section": "Emphasis and strong emphasis", + "html": "_foo
\n", + "markdown": "__foo_\n", + "example": 431, + "start_line": 6949 + }, + { + "end_line": 6964, + "section": "Emphasis and strong emphasis", + "html": "foo_
\n", + "markdown": "_foo__\n", + "example": 432, + "start_line": 6960 + }, + { + "end_line": 6971, + "section": "Emphasis and strong emphasis", + "html": "_foo
\n", + "markdown": "___foo__\n", + "example": 433, + "start_line": 6967 + }, + { + "end_line": 6978, + "section": "Emphasis and strong emphasis", + "html": "___foo
\n", + "markdown": "____foo_\n", + "example": 434, + "start_line": 6974 + }, + { + "end_line": 6985, + "section": "Emphasis and strong emphasis", + "html": "foo_
\n", + "markdown": "__foo___\n", + "example": 435, + "start_line": 6981 + }, + { + "end_line": 6992, + "section": "Emphasis and strong emphasis", + "html": "foo___
\n", + "markdown": "_foo____\n", + "example": 436, + "start_line": 6988 + }, + { + "end_line": 7002, + "section": "Emphasis and strong emphasis", + "html": "foo
\n", + "markdown": "**foo**\n", + "example": 437, + "start_line": 6998 + }, + { + "end_line": 7009, + "section": "Emphasis and strong emphasis", + "html": "foo
\n", + "markdown": "*_foo_*\n", + "example": 438, + "start_line": 7005 + }, + { + "end_line": 7016, + "section": "Emphasis and strong emphasis", + "html": "foo
\n", + "markdown": "__foo__\n", + "example": 439, + "start_line": 7012 + }, + { + "end_line": 7023, + "section": "Emphasis and strong emphasis", + "html": "foo
\n", + "markdown": "_*foo*_\n", + "example": 440, + "start_line": 7019 + }, + { + "end_line": 7033, + "section": "Emphasis and strong emphasis", + "html": "foo
\n", + "markdown": "****foo****\n", + "example": 441, + "start_line": 7029 + }, + { + "end_line": 7040, + "section": "Emphasis and strong emphasis", + "html": "foo
\n", + "markdown": "____foo____\n", + "example": 442, + "start_line": 7036 + }, + { + "end_line": 7051, + "section": "Emphasis and strong emphasis", + "html": "foo
\n", + "markdown": "******foo******\n", + "example": 443, + "start_line": 7047 + }, + { + "end_line": 7060, + "section": "Emphasis and strong emphasis", + "html": "foo
\n", + "markdown": "***foo***\n", + "example": 444, + "start_line": 7056 + }, + { + "end_line": 7067, + "section": "Emphasis and strong emphasis", + "html": "foo
\n", + "markdown": "_____foo_____\n", + "example": 445, + "start_line": 7063 + }, + { + "end_line": 7076, + "section": "Emphasis and strong emphasis", + "html": "foo _bar baz_
\n", + "markdown": "*foo _bar* baz_\n", + "example": 446, + "start_line": 7072 + }, + { + "end_line": 7083, + "section": "Emphasis and strong emphasis", + "html": "foo bar *baz bim bam
\n", + "markdown": "*foo __bar *baz bim__ bam*\n", + "example": 447, + "start_line": 7079 + }, + { + "end_line": 7092, + "section": "Emphasis and strong emphasis", + "html": "**foo bar baz
\n", + "markdown": "**foo **bar baz**\n", + "example": 448, + "start_line": 7088 + }, + { + "end_line": 7099, + "section": "Emphasis and strong emphasis", + "html": "*foo bar baz
\n", + "markdown": "*foo *bar baz*\n", + "example": 449, + "start_line": 7095 + }, + { + "end_line": 7108, + "section": "Emphasis and strong emphasis", + "html": "*bar*
\n", + "markdown": "*[bar*](/url)\n", + "example": 450, + "start_line": 7104 + }, + { + "end_line": 7115, + "section": "Emphasis and strong emphasis", + "html": "_foo bar_
\n", + "markdown": "_foo [bar_](/url)\n", + "example": 451, + "start_line": 7111 + }, + { + "end_line": 7122, + "section": "Emphasis and strong emphasis", + "html": "*
a *
a _
[link](/my uri)
\n", + "markdown": "[link](/my uri)\n", + "example": 463, + "start_line": 7276 + }, + { + "end_line": 7287, + "section": "Links", + "html": "[link](</my uri>)
\n", + "markdown": "[link]([link](foo\nbar)
\n", + "markdown": "[link](foo\nbar)\n", + "example": 465, + "start_line": 7290 + }, + { + "end_line": 7305, + "section": "Links", + "html": "[link](
[link](/url "title "and" title")
\n", + "markdown": "[link](/url \"title \"and\" title\")\n", + "example": 479, + "start_line": 7438 + }, + { + "end_line": 7451, + "section": "Links", + "html": "\n", + "markdown": "[link](/url 'title \"and\" title')\n", + "example": 480, + "start_line": 7447 + }, + { + "end_line": 7476, + "section": "Links", + "html": "\n", + "markdown": "[link]( /uri\n \"title\" )\n", + "example": 481, + "start_line": 7471 + }, + { + "end_line": 7486, + "section": "Links", + "html": "[link] (/uri)
\n", + "markdown": "[link] (/uri)\n", + "example": 482, + "start_line": 7482 + }, + { + "end_line": 7496, + "section": "Links", + "html": "\n", + "markdown": "[link [foo [bar]]](/uri)\n", + "example": 483, + "start_line": 7492 + }, + { + "end_line": 7503, + "section": "Links", + "html": "[link] bar](/uri)
\n", + "markdown": "[link] bar](/uri)\n", + "example": 484, + "start_line": 7499 + }, + { + "end_line": 7510, + "section": "Links", + "html": "[link bar
\n", + "markdown": "[link [bar](/uri)\n", + "example": 485, + "start_line": 7506 + }, + { + "end_line": 7517, + "section": "Links", + "html": "\n", + "markdown": "[link \\[bar](/uri)\n", + "example": 486, + "start_line": 7513 + }, + { + "end_line": 7526, + "section": "Links", + "html": "\n", + "markdown": "[link *foo **bar** `#`*](/uri)\n", + "example": 487, + "start_line": 7522 + }, + { + "end_line": 7533, + "section": "Links", + "html": "\n", + "markdown": "[](/uri)\n", + "example": 488, + "start_line": 7529 + }, + { + "end_line": 7542, + "section": "Links", + "html": "[foo bar](/uri)
\n", + "markdown": "[foo [bar](/uri)](/uri)\n", + "example": 489, + "start_line": 7538 + }, + { + "end_line": 7549, + "section": "Links", + "html": "[foo [bar baz](/uri)](/uri)
\n", + "markdown": "[foo *[bar [baz](/uri)](/uri)*](/uri)\n", + "example": 490, + "start_line": 7545 + }, + { + "end_line": 7556, + "section": "Links", + "html": "*foo*
\n", + "markdown": "*[foo*](/uri)\n", + "example": 492, + "start_line": 7562 + }, + { + "end_line": 7573, + "section": "Links", + "html": "\n", + "markdown": "[foo *bar](baz*)\n", + "example": 493, + "start_line": 7569 + }, + { + "end_line": 7583, + "section": "Links", + "html": "foo [bar baz]
\n", + "markdown": "*foo [bar* baz]\n", + "example": 494, + "start_line": 7579 + }, + { + "end_line": 7593, + "section": "Links", + "html": "[foo
[foo](/uri)
[foohttp://example.com/?search=](uri)
\n", + "markdown": "[foo*foo*
\n", + "markdown": "*[foo*][ref]\n\n[ref]: /uri\n", + "example": 505, + "start_line": 7720 + }, + { + "end_line": 7735, + "section": "Links", + "html": "\n", + "markdown": "[foo *bar][ref]\n\n[ref]: /uri\n", + "example": 506, + "start_line": 7729 + }, + { + "end_line": 7747, + "section": "Links", + "html": "[foo
[foo][ref]
[foohttp://example.com/?search=][ref]
\n", + "markdown": "[fooТолпой is a Russian word.
\n", + "markdown": "[Толпой][Толпой] is a Russian word.\n\n[ТОЛПОЙ]: /url\n", + "example": 511, + "start_line": 7781 + }, + { + "end_line": 7800, + "section": "Links", + "html": "\n", + "markdown": "[Foo\n bar]: /url\n\n[Baz][Foo bar]\n", + "example": 512, + "start_line": 7793 + }, + { + "end_line": 7812, + "section": "Links", + "html": "[foo] bar
\n", + "markdown": "[foo] [bar]\n\n[bar]: /url \"title\"\n", + "example": 513, + "start_line": 7806 + }, + { + "end_line": 7823, + "section": "Links", + "html": "[foo]\nbar
\n", + "markdown": "[foo]\n[bar]\n\n[bar]: /url \"title\"\n", + "example": 514, + "start_line": 7815 + }, + { + "end_line": 7864, + "section": "Links", + "html": "\n", + "markdown": "[foo]: /url1\n\n[foo]: /url2\n\n[bar][foo]\n", + "example": 515, + "start_line": 7856 + }, + { + "end_line": 7877, + "section": "Links", + "html": "[bar][foo!]
\n", + "markdown": "[bar][foo\\!]\n\n[foo!]: /url\n", + "example": 516, + "start_line": 7871 + }, + { + "end_line": 7890, + "section": "Links", + "html": "[foo][ref[]
\n[ref[]: /uri
\n", + "markdown": "[foo][ref[]\n\n[ref[]: /uri\n", + "example": 517, + "start_line": 7883 + }, + { + "end_line": 7900, + "section": "Links", + "html": "[foo][ref[bar]]
\n[ref[bar]]: /uri
\n", + "markdown": "[foo][ref[bar]]\n\n[ref[bar]]: /uri\n", + "example": 518, + "start_line": 7893 + }, + { + "end_line": 7910, + "section": "Links", + "html": "[[[foo]]]
\n[[[foo]]]: /url
\n", + "markdown": "[[[foo]]]\n\n[[[foo]]]: /url\n", + "example": 519, + "start_line": 7903 + }, + { + "end_line": 7919, + "section": "Links", + "html": "\n", + "markdown": "[foo][ref\\[]\n\n[ref\\[]: /uri\n", + "example": 520, + "start_line": 7913 + }, + { + "end_line": 7930, + "section": "Links", + "html": "\n", + "markdown": "[bar\\\\]: /uri\n\n[bar\\\\]\n", + "example": 521, + "start_line": 7924 + }, + { + "end_line": 7942, + "section": "Links", + "html": "[]
\n[]: /uri
\n", + "markdown": "[]\n\n[]: /uri\n", + "example": 522, + "start_line": 7935 + }, + { + "end_line": 7956, + "section": "Links", + "html": "[\n]
\n[\n]: /uri
\n", + "markdown": "[\n ]\n\n[\n ]: /uri\n", + "example": 523, + "start_line": 7945 + }, + { + "end_line": 7974, + "section": "Links", + "html": "\n", + "markdown": "[foo][]\n\n[foo]: /url \"title\"\n", + "example": 524, + "start_line": 7968 + }, + { + "end_line": 7983, + "section": "Links", + "html": "\n", + "markdown": "[*foo* bar][]\n\n[*foo* bar]: /url \"title\"\n", + "example": 525, + "start_line": 7977 + }, + { + "end_line": 7994, + "section": "Links", + "html": "\n", + "markdown": "[Foo][]\n\n[foo]: /url \"title\"\n", + "example": 526, + "start_line": 7988 + }, + { + "end_line": 8009, + "section": "Links", + "html": "foo\n[]
\n", + "markdown": "[foo] \n[]\n\n[foo]: /url \"title\"\n", + "example": 527, + "start_line": 8001 + }, + { + "end_line": 8027, + "section": "Links", + "html": "\n", + "markdown": "[foo]\n\n[foo]: /url \"title\"\n", + "example": 528, + "start_line": 8021 + }, + { + "end_line": 8036, + "section": "Links", + "html": "\n", + "markdown": "[*foo* bar]\n\n[*foo* bar]: /url \"title\"\n", + "example": 529, + "start_line": 8030 + }, + { + "end_line": 8045, + "section": "Links", + "html": "[foo bar]
\n", + "markdown": "[[*foo* bar]]\n\n[*foo* bar]: /url \"title\"\n", + "example": 530, + "start_line": 8039 + }, + { + "end_line": 8054, + "section": "Links", + "html": "[[bar foo
\n", + "markdown": "[[bar [foo]\n\n[foo]: /url\n", + "example": 531, + "start_line": 8048 + }, + { + "end_line": 8065, + "section": "Links", + "html": "\n", + "markdown": "[Foo]\n\n[foo]: /url \"title\"\n", + "example": 532, + "start_line": 8059 + }, + { + "end_line": 8076, + "section": "Links", + "html": "foo bar
\n", + "markdown": "[foo] bar\n\n[foo]: /url\n", + "example": 533, + "start_line": 8070 + }, + { + "end_line": 8088, + "section": "Links", + "html": "[foo]
\n", + "markdown": "\\[foo]\n\n[foo]: /url \"title\"\n", + "example": 534, + "start_line": 8082 + }, + { + "end_line": 8100, + "section": "Links", + "html": "*foo*
\n", + "markdown": "[foo*]: /url\n\n*[foo*]\n", + "example": 535, + "start_line": 8094 + }, + { + "end_line": 8113, + "section": "Links", + "html": "\n", + "markdown": "[foo][bar]\n\n[foo]: /url1\n[bar]: /url2\n", + "example": 536, + "start_line": 8106 + }, + { + "end_line": 8121, + "section": "Links", + "html": "\n", + "markdown": "[foo][]\n\n[foo]: /url1\n", + "example": 537, + "start_line": 8115 + }, + { + "end_line": 8131, + "section": "Links", + "html": "\n", + "markdown": "[foo]()\n\n[foo]: /url1\n", + "example": 538, + "start_line": 8125 + }, + { + "end_line": 8139, + "section": "Links", + "html": "foo(not a link)
\n", + "markdown": "[foo](not a link)\n\n[foo]: /url1\n", + "example": 539, + "start_line": 8133 + }, + { + "end_line": 8150, + "section": "Links", + "html": "[foo]bar
\n", + "markdown": "[foo][bar][baz]\n\n[baz]: /url\n", + "example": 540, + "start_line": 8144 + }, + { + "end_line": 8163, + "section": "Links", + "html": "\n", + "markdown": "[foo][bar][baz]\n\n[baz]: /url1\n[bar]: /url2\n", + "example": 541, + "start_line": 8156 + }, + { + "end_line": 8176, + "section": "Links", + "html": "[foo]bar
\n", + "markdown": "[foo][bar][baz]\n\n[baz]: /url1\n[foo]: /url2\n", + "example": 542, + "start_line": 8169 + }, + { + "end_line": 8196, + "section": "Images", + "html": "My
\n[]
![[foo]]
\n[[foo]]: /url "title"
\n", + "markdown": "![[foo]]\n\n[[foo]]: /url \"title\"\n", + "example": 561, + "start_line": 8362 + }, + { + "end_line": 8380, + "section": "Images", + "html": "![foo]
\n", + "markdown": "!\\[foo]\n\n[foo]: /url \"title\"\n", + "example": 563, + "start_line": 8386 + }, + { + "end_line": 8404, + "section": "Images", + "html": "!foo
\n", + "markdown": "\\![foo]\n\n[foo]: /url \"title\"\n", + "example": 564, + "start_line": 8398 + }, + { + "end_line": 8435, + "section": "Autolinks", + "html": "\n", + "markdown": "http://foo.bar.baz/test?q=hello&id=22&boolean
\n", + "markdown": "<http://foo.bar/baz bim>
\n", + "markdown": "<foo+@bar.example.com>
\n", + "markdown": "<>
\n", + "markdown": "<>\n", + "example": 578, + "start_line": 8552 + }, + { + "end_line": 8563, + "section": "Autolinks", + "html": "< http://foo.bar >
\n", + "markdown": "< http://foo.bar >\n", + "example": 579, + "start_line": 8559 + }, + { + "end_line": 8570, + "section": "Autolinks", + "html": "<m:abc>
\n", + "markdown": "<foo.bar.baz>
\n", + "markdown": "http://example.com
\n", + "markdown": "http://example.com\n", + "example": 582, + "start_line": 8580 + }, + { + "end_line": 8591, + "section": "Autolinks", + "html": "foo@bar.example.com
\n", + "markdown": "foo@bar.example.com\n", + "example": 583, + "start_line": 8587 + }, + { + "end_line": 8673, + "section": "Raw HTML", + "html": "\n", + "markdown": "Foo
<33> <__>
\n", + "markdown": "<33> <__>\n", + "example": 589, + "start_line": 8718 + }, + { + "end_line": 8731, + "section": "Raw HTML", + "html": "<a h*#ref="hi">
\n", + "markdown": "\n", + "example": 590, + "start_line": 8727 + }, + { + "end_line": 8740, + "section": "Raw HTML", + "html": "<a href="hi'> <a href=hi'>
\n", + "markdown": " \n", + "example": 591, + "start_line": 8736 + }, + { + "end_line": 8751, + "section": "Raw HTML", + "html": "< a><\nfoo><bar/ >
\n", + "markdown": "< a><\nfoo><a href='bar'title=title>
\n", + "markdown": "\n", + "example": 593, + "start_line": 8756 + }, + { + "end_line": 8769, + "section": "Raw HTML", + "html": "</a href="foo">
\n", + "markdown": "\n", + "example": 595, + "start_line": 8774 + }, + { + "end_line": 8789, + "section": "Raw HTML", + "html": "foo
\n", + "markdown": "foo \n", + "example": 596, + "start_line": 8783 + }, + { + "end_line": 8796, + "section": "Raw HTML", + "html": "foo <!-- not a comment -- two hyphens -->
\n", + "markdown": "foo \n", + "example": 597, + "start_line": 8792 + }, + { + "end_line": 8808, + "section": "Raw HTML", + "html": "foo <!--> foo -->
\nfoo <!-- foo--->
\n", + "markdown": "foo foo -->\n\nfoo \n", + "example": 598, + "start_line": 8801 + }, + { + "end_line": 8817, + "section": "Raw HTML", + "html": "foo
\n", + "markdown": "foo \n", + "example": 599, + "start_line": 8813 + }, + { + "end_line": 8826, + "section": "Raw HTML", + "html": "foo
\n", + "markdown": "foo \n", + "example": 600, + "start_line": 8822 + }, + { + "end_line": 8835, + "section": "Raw HTML", + "html": "foo &<]]>
\n", + "markdown": "foo &<]]>\n", + "example": 601, + "start_line": 8831 + }, + { + "end_line": 8845, + "section": "Raw HTML", + "html": "\n", + "markdown": "foo \n", + "example": 602, + "start_line": 8841 + }, + { + "end_line": 8854, + "section": "Raw HTML", + "html": "\n", + "markdown": "foo \n", + "example": 603, + "start_line": 8850 + }, + { + "end_line": 8861, + "section": "Raw HTML", + "html": "<a href=""">
\n", + "markdown": "\n", + "example": 604, + "start_line": 8857 + }, + { + "end_line": 8877, + "section": "Hard line breaks", + "html": "foo
\nbaz
foo
\nbaz
foo
\nbaz
foo
\nbar
foo
\nbar
foo
\nbar
foo
\nbar
code span
code\\ span
foo\\
\n", + "markdown": "foo\\\n", + "example": 616, + "start_line": 8986 + }, + { + "end_line": 8997, + "section": "Hard line breaks", + "html": "foo
\n", + "markdown": "foo \n", + "example": 617, + "start_line": 8993 + }, + { + "end_line": 9004, + "section": "Hard line breaks", + "html": "foo\nbaz
\n", + "markdown": "foo\nbaz\n", + "example": 620, + "start_line": 9022 + }, + { + "end_line": 9040, + "section": "Soft line breaks", + "html": "foo\nbaz
\n", + "markdown": "foo \n baz\n", + "example": 621, + "start_line": 9034 + }, + { + "end_line": 9058, + "section": "Textual content", + "html": "hello $.;'there
\n", + "markdown": "hello $.;'there\n", + "example": 622, + "start_line": 9054 + }, + { + "end_line": 9065, + "section": "Textual content", + "html": "Foo χρῆν
\n", + "markdown": "Foo χρῆν\n", + "example": 623, + "start_line": 9061 + }, + { + "end_line": 9074, + "section": "Textual content", + "html": "Multiple spaces
\n", + "markdown": "Multiple spaces\n", + "example": 624, + "start_line": 9070 + } +] diff --git a/packages/netlify-cms-widget-markdown/src/serializers/__tests__/commonmark.spec.js b/packages/netlify-cms-widget-markdown/src/serializers/__tests__/commonmark.spec.js new file mode 100644 index 00000000..56a4f1d3 --- /dev/null +++ b/packages/netlify-cms-widget-markdown/src/serializers/__tests__/commonmark.spec.js @@ -0,0 +1,30 @@ +import { flow, trim } from 'lodash'; +import commonmarkSpec from './__fixtures__/commonmark.json'; +import { markdownToSlate, slateToMarkdown, markdownToHtml } from '../index.js'; + +/** + * Map the commonmark spec data into an array of arrays for use in Jest's + * `test.each`. + */ +const spec = commonmarkSpec.map(({ markdown, html }) => [markdown, html]); + +/** + * Each test receives input markdown and output html as expected for Commonmark + * compliance. To test all of our handling in one go, we serialize the markdown + * into our Slate AST, then back to raw markdown, and finally to HTML. + */ +const process = flow([markdownToSlate, slateToMarkdown, markdownToHtml]); + +/** + * Passing this test suite requires 100% Commonmark compliance. There are 624 + * tests, of which we're passing about 300 as of introduction of this suite. To + * work on improving Commonmark support, remove `.skip` from this `describe` + * and run the test suite locally. + */ +describe.skip('Commonmark support', () => { + test.each(spec)('%s', (markdown, html) => { + // We're trimming the html from the spec as they all have trailing newlines + // and we never output trailing newlines. This may be a compliance issue. + expect(process(markdown)).toEqual(trim(html)); + }); +});