` tags in the HTML output. For example, this input:\n\n * Bird\n * Magic\n\nwill turn into:\n\n
` tags in the HTML output. For example, this input:\n\n * Bird\n * Magic\n\nwill turn into:\n\n
\n\n\nIt's worth noting that it's possible to trigger an ordered list by\naccident, by writing something like this:\n\n 1986. What a great season.\n\nIn other words, a *number-period-space* sequence at the beginning of a\nline. To avoid this, you can backslash-escape the period:\n\n 1986\\. What a great season.\n\n\n\nCode Blocks
\n\nPre-formatted code blocks are used for writing about programming or\nmarkup source code. Rather than forming normal paragraphs, the lines\nof a code block are interpreted literally. Markdown wraps a code block\nin both `` and `` tags.\n\nTo produce a code block in Markdown, simply indent every line of the\nblock by at least 4 spaces or 1 tab. For example, given this input:\n\n This is a normal paragraph:\n\n This is a code block.\n\nMarkdown will generate:\n\n This is a normal paragraph:
\n\n This is a code block.\n
\n\nOne level of indentation -- 4 spaces or 1 tab -- is removed from each\nline of the code block. For example, this:\n\n Here is an example of AppleScript:\n\n tell application \"Foo\"\n beep\n end tell\n\nwill turn into:\n\n Here is an example of AppleScript:
\n\n tell application \"Foo\"\n beep\n end tell\n
\n\nA code block continues until it reaches a line that is not indented\n(or the end of the article).\n\nWithin a code block, ampersands (`&`) and angle brackets (`<` and `>`)\nare automatically converted into HTML entities. This makes it very\neasy to include example HTML source code using Markdown -- just paste\nit and indent it, and Markdown will handle the hassle of encoding the\nampersands and angle brackets. For example, this:\n\n \n\nwill turn into:\n\n <div class=\"footer\">\n © 2004 Foo Corporation\n </div>\n
\n\nRegular Markdown syntax is not processed within code blocks. E.g.,\nasterisks are just literal asterisks within a code block. This means\nit's also easy to use Markdown to write about Markdown's own syntax.\n\n\n\nHorizontal Rules
\n\nYou can produce a horizontal rule tag (`
`) by placing three or\nmore hyphens, asterisks, or underscores on a line by themselves. If you\nwish, you may use spaces between the hyphens or asterisks. Each of the\nfollowing lines will produce a horizontal rule:"
- "* * *\n\n ***\n\n *****\n\n - - -\n\n ---------------------------------------\n\n\n* * *"
- "Span Elements
\n\nLinks
\n\nMarkdown supports two style of links: *inline* and *reference*.\n\nIn both styles, the link text is delimited by [square brackets].\n\nTo create an inline link, use a set of regular parentheses immediately\nafter the link text's closing square bracket. Inside the parentheses,\nput the URL where you want the link to point, along with an *optional*\ntitle for the link, surrounded in quotes. For example:\n\n This is [an example](http://example.com/ \"Title\") inline link.\n\n [This link](http://example.net/) has no title attribute.\n\nWill produce:\n\n This is \n an example inline link.
\n\n This link has no\n title attribute.
\n\nIf you're referring to a local resource on the same server, you can\nuse relative paths:\n\n See my [About](/about/) page for details.\n\nReference-style links use a second set of square brackets, inside\nwhich you place a label of your choosing to identify the link:\n\n This is [an example][id] reference-style link.\n\nYou can optionally use a space to separate the sets of brackets:\n\n This is [an example] [id] reference-style link.\n\nThen, anywhere in the document, you define your link label like this,\non a line by itself:\n\n [id]: http://example.com/ \"Optional Title Here\"\n\nThat is:\n\n* Square brackets containing the link identifier (optionally\n indented from the left margin using up to three spaces);\n* followed by a colon;\n* followed by one or more spaces (or tabs);\n* followed by the URL for the link;\n* optionally followed by a title attribute for the link, enclosed\n in double or single quotes, or enclosed in parentheses.\n\nThe following three link definitions are equivalent:\n\n\t[foo]: http://example.com/ \"Optional Title Here\"\n\t[foo]: http://example.com/ 'Optional Title Here'\n\t[foo]: http://example.com/ (Optional Title Here)\n\n**Note:** There is a known bug in Markdown.pl 1.0.1 which prevents\nsingle quotes from being used to delimit link titles.\n\nThe link URL may, optionally, be surrounded by angle brackets:\n\n [id]: \"Optional Title Here\"\n\nYou can put the title attribute on the next line and use extra spaces\nor tabs for padding, which tends to look better with longer URLs:\n\n [id]: http://example.com/longish/path/to/resource/here\n \"Optional Title Here\"\n\nLink definitions are only used for creating links during Markdown\nprocessing, and are stripped from your document in the HTML output.\n\nLink definition names may consist of letters, numbers, spaces, and\npunctuation -- but they are *not* case sensitive. E.g. these two\nlinks:\n\n\t[link text][a]\n\t[link text][A]\n\nare equivalent.\n\nThe *implicit link name* shortcut allows you to omit the name of the\nlink, in which case the link text itself is used as the name.\nJust use an empty set of square brackets -- e.g., to link the word\n\"Google\" to the google.com web site, you could simply write:\n\n\t[Google][]\n\nAnd then define the link:\n\n\t[Google]: http://google.com/\n\nBecause link names may contain spaces, this shortcut even works for\nmultiple words in the link text:\n\n\tVisit [Daring Fireball][] for more information.\n\nAnd then define the link:\n\n\t[Daring Fireball]: http://daringfireball.net/\n\nLink definitions can be placed anywhere in your Markdown document. I\ntend to put them immediately after each paragraph in which they're\nused, but if you want, you can put them all at the end of your\ndocument, sort of like footnotes.\n\nHere's an example of reference links in action:"
diff --git a/tests/snapshots/text_splitter_snapshots__huggingface_markdown_trim@markdown_syntax.md.snap b/tests/snapshots/text_splitter_snapshots__huggingface_markdown_trim@markdown_syntax.md.snap
index 83b1137a..6faecb30 100644
--- a/tests/snapshots/text_splitter_snapshots__huggingface_markdown_trim@markdown_syntax.md.snap
+++ b/tests/snapshots/text_splitter_snapshots__huggingface_markdown_trim@markdown_syntax.md.snap
@@ -403,9 +403,8 @@ input_file: tests/inputs/markdown/markdown_syntax.md
- ".\n >\n > Back to the first level."
- Blockquotes can contain other Markdown elements
- ", including headers, lists,"
-- "and code blocks:"
-- "> ## This is a header.\n\t>"
-- ">"
+- "and code blocks:\n\n\t>"
+- "## This is a header.\n\t>\n\t>"
- 1. This is the first list item.
- ">"
- "2. This is the second list item.\n\t>"
diff --git a/tests/snapshots/text_splitter_snapshots__markdown@github_flavored.md-2.snap b/tests/snapshots/text_splitter_snapshots__markdown@github_flavored.md-2.snap
index ea583029..3ba4b323 100644
--- a/tests/snapshots/text_splitter_snapshots__markdown@github_flavored.md-2.snap
+++ b/tests/snapshots/text_splitter_snapshots__markdown@github_flavored.md-2.snap
@@ -3,14 +3,12 @@ source: tests/text_splitter_snapshots.rs
expression: chunks
input_file: tests/inputs/markdown/github_flavored.md
---
-- "# Headers\n\n"
-- "```\n# h1 Heading 8-)\n## h2 Heading\n### h3 Heading\n#### h4 Heading\n##### h5 Heading\n"
+- "# Headers\n\n```\n# h1 Heading 8-)\n## h2 Heading\n### h3 Heading\n#### h4 Heading\n##### h5 Heading\n"
- "###### h6 Heading\n\nAlternatively, for H1 and H2, an underline-ish style:\n\nAlt-H1\n======\n\nAlt-H2\n"
-- "------\n```\n\n# h1 Heading 8-)\n## h2 Heading\n### h3 Heading\n#### h4 Heading\n##### h5 Heading\n###### "
-- "h6 Heading\n\nAlternatively, for H1 and H2, an underline-ish style:\n\nAlt-H1\n======\n\nAlt-H2\n------\n\n"
-- "------\n"
-- "\n# Emphasis\n\n"
-- "```\nEmphasis, aka italics, with *asterisks* or _underscores_.\n\n"
+- "------\n```\n\n"
+- "# h1 Heading 8-)\n## h2 Heading\n### h3 Heading\n#### h4 Heading\n##### h5 Heading\n###### h6 Heading\n\n"
+- "Alternatively, for H1 and H2, an underline-ish style:\n\nAlt-H1\n======\n\nAlt-H2\n------\n\n------\n\n"
+- "# Emphasis\n\n```\nEmphasis, aka italics, with *asterisks* or _underscores_.\n\n"
- "Strong emphasis, aka bold, with **asterisks** or __underscores__.\n\n"
- "Combined emphasis with **asterisks and _underscores_**.\n\nStrikethrough uses two tildes. "
- "~~Scratch this.~~\n\n**This is bold text**\n\n__This is bold text__\n\n*This is italic text*\n\n"
@@ -19,9 +17,8 @@ input_file: tests/inputs/markdown/github_flavored.md
- "Strong emphasis, aka bold, with **asterisks** or __underscores__.\n\n"
- "Combined emphasis with **asterisks and _underscores_**.\n\n"
- "Strikethrough uses two tildes. ~~Scratch this.~~\n\n**This is bold text**\n\n__This is bold text__\n\n"
-- "*This is italic text*\n\n_This is italic text_\n\n~~Strikethrough~~\n\n------\n"
-- "\n# Lists\n\n"
-- "```\n1. First ordered list item\n2. Another item\n⋅⋅* Unordered sub-list.\n1. "
+- "*This is italic text*\n\n_This is italic text_\n\n~~Strikethrough~~\n\n------\n\n"
+- "# Lists\n\n```\n1. First ordered list item\n2. Another item\n⋅⋅* Unordered sub-list.\n1. "
- "Actual numbers don't matter, just that it's a number\n⋅⋅1. Ordered sub-list\n4. And another item.\n\n"
- "⋅⋅⋅You can have properly indented paragraphs within list items. "
- "Notice the blank line above, and the leading spaces (at least one, but we'll use three here to also "
@@ -51,22 +48,20 @@ input_file: tests/inputs/markdown/github_flavored.md
- "+ Create a list by starting a line with `+`, `-`, or `*`\n"
- "+ Sub-lists are made by indenting 2 spaces:\n - Marker character change forces new list start:\n"
- " * Ac tristique libero volutpat at\n + Facilisis in pretium nisl aliquet\n "
-- "- Nulla volutpat aliquam velit\n+ Very easy!\n\n------\n"
-- "\n# Task lists\n\n"
-- "```\n- [x] Finish my changes\n- [ ] Push my commits to GitHub\n- [ ] Open a pull request\n"
+- "- Nulla volutpat aliquam velit\n+ Very easy!\n\n------\n\n"
+- "# Task lists\n\n```\n- [x] Finish my changes\n- [ ] Push my commits to GitHub\n- [ ] Open a pull request\n"
- "- [x] @mentions, #refs, [links](), **formatting**, and tags supported\n"
- "- [x] list syntax required (any unordered or ordered list supported)\n- [x] this is a complete item\n"
- "- [ ] this is an incomplete item\n```\n\n"
- "- [x] Finish my changes\n- [ ] Push my commits to GitHub\n- [ ] Open a pull request\n"
- "- [x] @mentions, #refs, [links](), **formatting**, and tags supported\n"
- "- [x] list syntax required (any unordered or ordered list supported)\n- [ ] this is a complete item\n"
-- "- [ ] this is an incomplete item\n\n------\n"
-- "\n# Ignoring Markdown formatting\n\n"
+- "- [ ] this is an incomplete item\n\n------\n\n"
+- "# Ignoring Markdown formatting\n\n"
- "You can tell GitHub to ignore (or escape) Markdown formatting by using \\ before the Markdown "
- "character.\n\n```\nLet's rename \\*our-new-project\\* to \\*our-old-project\\*.\n```"
-- "\n\nLet's rename \\*our-new-project\\* to \\*our-old-project\\*.\n\n------\n"
-- "\n# Links\n\n"
-- "```\n[I'm an inline-style link](https://www.google.com)\n\n"
+- "\n\nLet's rename \\*our-new-project\\* to \\*our-old-project\\*.\n\n------\n\n"
+- "# Links\n\n```\n[I'm an inline-style link](https://www.google.com)\n\n"
- "[I'm an inline-style link with title](https://www.google.com \"Google's Homepage\")\n\n"
- "[I'm a reference-style link][Arbitrary case-insensitive reference text]\n\n"
- "[I'm a relative reference to a repository file](../blob/master/LICENSE)\n\n"
@@ -88,9 +83,8 @@ input_file: tests/inputs/markdown/github_flavored.md
- " and sometimes\nexample.com (but not on Github, for example).\n\n"
- "Some text to show that the reference links can follow later.\n"
- "\n[arbitrary case-insensitive reference text]: https://www.mozilla.org\n[1]: http://slashdot.org\n"
-- "[link text itself]: http://www.reddit.com\n\n------\n"
-- "\n# Images\n\n"
-- "```\nHere's our logo (hover to see the title text):\n\nInline-style:\n!["
+- "[link text itself]: http://www.reddit.com\n\n------\n\n"
+- "# Images\n\n```\nHere's our logo (hover to see the title text):\n\nInline-style:\n!["
- "alt text](https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png \"Logo "
- "Title Text 1\")\n\nReference-style:\n![alt text][logo]\n\n"
- "[logo]: https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png \"Logo Title "
@@ -110,17 +104,16 @@ input_file: tests/inputs/markdown/github_flavored.md
- "Stormtroopocat](https://octodex.github.com/images/stormtroopocat.jpg \"The Stormtroopocat\")\n\n"
- "Like links, Images also have a footnote style syntax\n\n![Alt text][id]\n\n"
- "With a reference later in the document defining the URL location:\n"
-- "\n[id]: https://octodex.github.com/images/dojocat.jpg \"The Dojocat\"\n\n------\n"
-- "\n# [Footnotes](https://github.com/markdown-it/markdown-it-footnote)\n\n"
-- "```\nFootnote 1 link[^first].\n\nFootnote 2 link[^second].\n\n"
-- "Inline footnote^[Text of inline footnote] definition.\n\nDuplicated footnote reference[^second].\n\n"
-- "[^first]: Footnote **can have markup**\n\n and multiple paragraphs.\n\n[^second]: Footnote text.\n```\n"
-- "\nFootnote 1 link[^first].\n\nFootnote 2 link[^second].\n\n"
-- "Inline footnote^[Text of inline footnote] definition.\n\nDuplicated footnote reference[^second].\n\n"
-- "[^first]: Footnote **can have markup**\n\n and multiple paragraphs.\n\n[^second]: Footnote text.\n\n"
-- "------\n"
-- "\n# Code and Syntax Highlighting\n\n```\nInline `code` has `back-ticks around` it.\n```"
-- "\n\nInline `code` has `back-ticks around` it.\n\n"
+- "\n[id]: https://octodex.github.com/images/dojocat.jpg \"The Dojocat\"\n\n------\n\n"
+- "# [Footnotes](https://github.com/markdown-it/markdown-it-footnote)\n\n```\nFootnote 1 link[^first].\n\n"
+- "Footnote 2 link[^second].\n\nInline footnote^[Text of inline footnote] definition.\n\n"
+- "Duplicated footnote reference[^second].\n\n[^first]: Footnote **can have markup**\n\n"
+- " and multiple paragraphs.\n\n[^second]: Footnote text.\n```\n\nFootnote 1 link[^first].\n\n"
+- "Footnote 2 link[^second].\n\nInline footnote^[Text of inline footnote] definition.\n\n"
+- "Duplicated footnote reference[^second].\n\n[^first]: Footnote **can have markup**\n\n "
+- "and multiple paragraphs.\n\n[^second]: Footnote text.\n\n------\n\n"
+- "# Code and Syntax Highlighting\n\n```\nInline `code` has `back-ticks around` it.\n```\n\n"
+- "Inline `code` has `back-ticks around` it.\n\n"
- "```c#\nusing System.IO.Compression;\n\n#pragma warning disable 414, 3021\n\nnamespace MyApplication\n{\n"
- " [Obsolete(\"...\")]\n class Program : IInterface\n {\n"
- " public static List JustDoIt(int count)\n {\n"
@@ -146,9 +139,8 @@ input_file: tests/inputs/markdown/github_flavored.md
- " $this->var = 0 - self::$st;\n"
- " $this->list = list(Array(\"1\"=> 2, 2=>self::ME, 3 => \\Location\\Web\\URI::class));\n\n"
- " return [\n 'uri' => $uri,\n 'value' => null,\n ];\n }\n}\n\n"
-- "echo URI::ME . URI::$st1;\n\n__halt_compiler () ; datahere\ndatahere\ndatahere */\ndatahere\n```\n\n------\n"
-- "\n# Tables\n\n"
-- "```\nColons can be used to align columns.\n\n| Tables | Are | Cool |\n"
+- "echo URI::ME . URI::$st1;\n\n__halt_compiler () ; datahere\ndatahere\ndatahere */\ndatahere\n```\n\n------\n\n"
+- "# Tables\n\n```\nColons can be used to align columns.\n\n| Tables | Are | Cool |\n"
- "| ------------- |:-------------:| -----:|\n| col 3 is | right-aligned | $1600 |\n"
- "| col 2 is | centered | $12 |\n| zebra stripes | are neat | $1 |\n\n"
- "There must be at least 3 dashes separating each header cell.\n"
@@ -183,9 +175,8 @@ input_file: tests/inputs/markdown/github_flavored.md
- "| git status | git status | git status |\n| git diff | git diff | git diff |\n"
- "\n"
- "| Name | Character |\n| --- | --- |\n| Backtick | ` |\n| Pipe | \\| |\n"
-- "\n------\n"
-- "\n# Blockquotes\n\n"
-- "```\n> Blockquotes are very handy in email to emulate reply text.\n"
+- "\n------\n\n"
+- "# Blockquotes\n\n```\n> Blockquotes are very handy in email to emulate reply text.\n"
- "> This line is part of the same quote.\n\nQuote break.\n\n"
- "> This is a very long line that will still be quoted properly when it wraps. "
- "Oh boy let's keep writing to make sure this is long enough to actually wrap for everyone. "
@@ -201,17 +192,15 @@ input_file: tests/inputs/markdown/github_flavored.md
- "> Blockquotes can also be nested...\n"
- ">"
- "> ...by using additional greater-than signs right next to each other...\n"
-- "> > > ...or with spaces between arrows.\n\n------\n"
-- "\n# Inline HTML\n\n"
-- "```\n\n - Definition list
\n - Is something people use sometimes.
\n\n"
+- "> > > ...or with spaces between arrows.\n\n------\n\n"
+- "# Inline HTML\n\n```\n\n - Definition list
\n - Is something people use sometimes.
\n\n"
- " - Markdown in HTML
\n - Does *not* work **very** well. Use HTML tags.
\n
\n"
- "```\n\n\n - Definition list
\n - Is something people use sometimes.
\n\n "
- "- Markdown in HTML
\n - Does *not* work **very** well. Use HTML tags.
\n
\n\n"
-- "------\n"
-- "\n# Horizontal Rules\n\n```\nThree or more...\n\n---\n\nHyphens\n\n***\n\nAsterisks\n\n___\n\nUnderscores\n```"
-- "\n\nThree or more...\n\n---\n\nHyphens\n\n***\n\nAsterisks\n\n___\n\nUnderscores\n\n------\n"
-- "\n# YouTube Videos\n\n"
-- "```\n\n"
- "\n\n```\n\n"
diff --git a/tests/snapshots/text_splitter_snapshots__markdown@github_flavored.md-3.snap b/tests/snapshots/text_splitter_snapshots__markdown@github_flavored.md-3.snap
index 6b819573..0a5192af 100644
--- a/tests/snapshots/text_splitter_snapshots__markdown@github_flavored.md-3.snap
+++ b/tests/snapshots/text_splitter_snapshots__markdown@github_flavored.md-3.snap
@@ -3,27 +3,25 @@ source: tests/text_splitter_snapshots.rs
expression: chunks
input_file: tests/inputs/markdown/github_flavored.md
---
-- "# Headers\n\n```\n# h1 Heading 8-)\n## h2 Heading\n### h3 Heading\n#### h4 Heading\n##### h5 Heading\n###### h6 Heading\n\nAlternatively, for H1 and H2, an underline-ish style:\n\nAlt-H1\n======\n\nAlt-H2\n------\n```\n\n# h1 Heading 8-)\n## h2 Heading\n### h3 Heading\n#### h4 Heading\n##### h5 Heading\n###### h6 Heading\n\nAlternatively, for H1 and H2, an underline-ish style:\n\nAlt-H1\n======\n\nAlt-H2\n------\n\n------\n"
-- "\n# Emphasis\n\n```\nEmphasis, aka italics, with *asterisks* or _underscores_.\n\nStrong emphasis, aka bold, with **asterisks** or __underscores__.\n\nCombined emphasis with **asterisks and _underscores_**.\n\nStrikethrough uses two tildes. ~~Scratch this.~~\n\n**This is bold text**\n\n__This is bold text__\n\n*This is italic text*\n\n_This is italic text_\n\n~~Strikethrough~~\n```\n\nEmphasis, aka italics, with *asterisks* or _underscores_.\n\nStrong emphasis, aka bold, with **asterisks** or __underscores__.\n\nCombined emphasis with **asterisks and _underscores_**.\n\nStrikethrough uses two tildes. ~~Scratch this.~~\n\n**This is bold text**\n\n__This is bold text__\n\n*This is italic text*\n\n_This is italic text_\n\n~~Strikethrough~~\n\n------\n"
-- "\n# Lists\n\n"
-- "```\n1. First ordered list item\n2. Another item\n⋅⋅* Unordered sub-list.\n1. Actual numbers don't matter, just that it's a number\n⋅⋅1. Ordered sub-list\n4. And another item.\n\n⋅⋅⋅You can have properly indented paragraphs within list items. Notice the blank line above, and the leading spaces (at least one, but we'll use three here to also align the raw Markdown).\n\n⋅⋅⋅To have a line break without a paragraph, you will need to use two trailing spaces.⋅⋅\n⋅⋅⋅Note that this line is separate, but within the same paragraph.⋅⋅\n⋅⋅⋅(This is contrary to the typical GFM line break behaviour, where trailing spaces are not required.)\n\n* Unordered list can use asterisks\n- Or minuses\n+ Or pluses\n\n1. Make my changes\n 1. Fix bug\n 2. Improve formatting\n - Make the headings bigger\n2. Push my commits to GitHub\n3. Open a pull request\n * Describe my changes\n * Mention all the members of my team\n * Ask for feedback\n\n+ Create a list by starting a line with `+`, `-`, or `*`\n"
+- "# Headers\n\n```\n# h1 Heading 8-)\n## h2 Heading\n### h3 Heading\n#### h4 Heading\n##### h5 Heading\n###### h6 Heading\n\nAlternatively, for H1 and H2, an underline-ish style:\n\nAlt-H1\n======\n\nAlt-H2\n------\n```\n\n# h1 Heading 8-)\n## h2 Heading\n### h3 Heading\n#### h4 Heading\n##### h5 Heading\n###### h6 Heading\n\nAlternatively, for H1 and H2, an underline-ish style:\n\nAlt-H1\n======\n\nAlt-H2\n------\n\n------\n\n"
+- "# Emphasis\n\n```\nEmphasis, aka italics, with *asterisks* or _underscores_.\n\nStrong emphasis, aka bold, with **asterisks** or __underscores__.\n\nCombined emphasis with **asterisks and _underscores_**.\n\nStrikethrough uses two tildes. ~~Scratch this.~~\n\n**This is bold text**\n\n__This is bold text__\n\n*This is italic text*\n\n_This is italic text_\n\n~~Strikethrough~~\n```\n\nEmphasis, aka italics, with *asterisks* or _underscores_.\n\nStrong emphasis, aka bold, with **asterisks** or __underscores__.\n\nCombined emphasis with **asterisks and _underscores_**.\n\nStrikethrough uses two tildes. ~~Scratch this.~~\n\n**This is bold text**\n\n__This is bold text__\n\n*This is italic text*\n\n_This is italic text_\n\n~~Strikethrough~~\n\n------\n\n"
+- "# Lists\n\n```\n1. First ordered list item\n2. Another item\n⋅⋅* Unordered sub-list.\n1. Actual numbers don't matter, just that it's a number\n⋅⋅1. Ordered sub-list\n4. And another item.\n\n⋅⋅⋅You can have properly indented paragraphs within list items. Notice the blank line above, and the leading spaces (at least one, but we'll use three here to also align the raw Markdown).\n\n⋅⋅⋅To have a line break without a paragraph, you will need to use two trailing spaces.⋅⋅\n⋅⋅⋅Note that this line is separate, but within the same paragraph.⋅⋅\n⋅⋅⋅(This is contrary to the typical GFM line break behaviour, where trailing spaces are not required.)\n\n* Unordered list can use asterisks\n- Or minuses\n+ Or pluses\n\n1. Make my changes\n 1. Fix bug\n 2. Improve formatting\n - Make the headings bigger\n2. Push my commits to GitHub\n3. Open a pull request\n * Describe my changes\n * Mention all the members of my team\n * Ask for feedback\n\n+ Create a list by starting a line with `+`, `-`, or `*`\n"
- "+ Sub-lists are made by indenting 2 spaces:\n - Marker character change forces new list start:\n * Ac tristique libero volutpat at\n + Facilisis in pretium nisl aliquet\n - Nulla volutpat aliquam velit\n+ Very easy!\n```\n\n1. First ordered list item\n2. Another item\n⋅⋅* Unordered sub-list.\n1. Actual numbers don't matter, just that it's a number\n⋅⋅1. Ordered sub-list\n4. And another item.\n\n⋅⋅⋅You can have properly indented paragraphs within list items. Notice the blank line above, and the leading spaces (at least one, but we'll use three here to also align the raw Markdown).\n\n⋅⋅⋅To have a line break without a paragraph, you will need to use two trailing spaces.⋅⋅\n⋅⋅⋅Note that this line is separate, but within the same paragraph.⋅⋅\n⋅⋅⋅(This is contrary to the typical GFM line break behaviour, where trailing spaces are not required.)\n\n* Unordered list can use asterisks\n- Or minuses\n+ Or pluses\n\n"
-- "1. Make my changes\n 1. Fix bug\n 2. Improve formatting\n - Make the headings bigger\n2. Push my commits to GitHub\n3. Open a pull request\n * Describe my changes\n * Mention all the members of my team\n * Ask for feedback\n\n+ Create a list by starting a line with `+`, `-`, or `*`\n+ Sub-lists are made by indenting 2 spaces:\n - Marker character change forces new list start:\n * Ac tristique libero volutpat at\n + Facilisis in pretium nisl aliquet\n - Nulla volutpat aliquam velit\n+ Very easy!\n\n------\n"
-- "\n# Task lists\n\n```\n- [x] Finish my changes\n- [ ] Push my commits to GitHub\n- [ ] Open a pull request\n- [x] @mentions, #refs, [links](), **formatting**, and tags supported\n- [x] list syntax required (any unordered or ordered list supported)\n- [x] this is a complete item\n- [ ] this is an incomplete item\n```\n\n- [x] Finish my changes\n- [ ] Push my commits to GitHub\n- [ ] Open a pull request\n- [x] @mentions, #refs, [links](), **formatting**, and tags supported\n- [x] list syntax required (any unordered or ordered list supported)\n- [ ] this is a complete item\n- [ ] this is an incomplete item\n\n------\n\n# Ignoring Markdown formatting\n\nYou can tell GitHub to ignore (or escape) Markdown formatting by using \\ before the Markdown character.\n\n```\nLet's rename \\*our-new-project\\* to \\*our-old-project\\*.\n```\n\nLet's rename \\*our-new-project\\* to \\*our-old-project\\*.\n\n------\n"
-- "\n# Links\n\n```\n[I'm an inline-style link](https://www.google.com)\n\n[I'm an inline-style link with title](https://www.google.com \"Google's Homepage\")\n\n[I'm a reference-style link][Arbitrary case-insensitive reference text]\n\n[I'm a relative reference to a repository file](../blob/master/LICENSE)\n\n[You can use numbers for reference-style link definitions][1]\n\nOr leave it empty and use the [link text itself].\n\nURLs and URLs in angle brackets will automatically get turned into links.\nhttp://www.example.com or and sometimes\nexample.com (but not on Github, for example).\n\nSome text to show that the reference links can follow later.\n\n[arbitrary case-insensitive reference text]: https://www.mozilla.org\n[1]: http://slashdot.org\n[link text itself]: http://www.reddit.com\n```"
-- "\n\n[I'm an inline-style link](https://www.google.com)\n\n[I'm an inline-style link with title](https://www.google.com \"Google's Homepage\")\n\n[I'm a reference-style link][Arbitrary case-insensitive reference text]\n\n[I'm a relative reference to a repository file](../blob/master/LICENSE)\n\n[You can use numbers for reference-style link definitions][1]\n\nOr leave it empty and use the [link text itself].\n\nURLs and URLs in angle brackets will automatically get turned into links.\nhttp://www.example.com or and sometimes\nexample.com (but not on Github, for example).\n\nSome text to show that the reference links can follow later.\n\n[arbitrary case-insensitive reference text]: https://www.mozilla.org\n[1]: http://slashdot.org\n[link text itself]: http://www.reddit.com\n\n------\n"
-- "\n# Images\n\n```\nHere's our logo (hover to see the title text):\n\nInline-style:\n![alt text](https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png \"Logo Title Text 1\")\n\nReference-style:\n![alt text][logo]\n\n[logo]: https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png \"Logo Title Text 2\"\n\n![Minion](https://octodex.github.com/images/minion.png)\n![Stormtroopocat](https://octodex.github.com/images/stormtroopocat.jpg \"The Stormtroopocat\")\n\nLike links, Images also have a footnote style syntax\n\n![Alt text][id]\n\nWith a reference later in the document defining the URL location:\n\n[id]: https://octodex.github.com/images/dojocat.jpg \"The Dojocat\"\n```"
-- "\n\nHere's our logo (hover to see the title text):\n\nInline-style:\n![alt text](https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png \"Logo Title Text 1\")\n\nReference-style:\n![alt text][logo]\n\n[logo]: https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png \"Logo Title Text 2\"\n\n![Minion](https://octodex.github.com/images/minion.png)\n![Stormtroopocat](https://octodex.github.com/images/stormtroopocat.jpg \"The Stormtroopocat\")\n\nLike links, Images also have a footnote style syntax\n\n![Alt text][id]\n\nWith a reference later in the document defining the URL location:\n\n[id]: https://octodex.github.com/images/dojocat.jpg \"The Dojocat\"\n\n------\n"
-- "\n# [Footnotes](https://github.com/markdown-it/markdown-it-footnote)\n\n```\nFootnote 1 link[^first].\n\nFootnote 2 link[^second].\n\nInline footnote^[Text of inline footnote] definition.\n\nDuplicated footnote reference[^second].\n\n[^first]: Footnote **can have markup**\n\n and multiple paragraphs.\n\n[^second]: Footnote text.\n```\n\nFootnote 1 link[^first].\n\nFootnote 2 link[^second].\n\nInline footnote^[Text of inline footnote] definition.\n\nDuplicated footnote reference[^second].\n\n[^first]: Footnote **can have markup**\n\n and multiple paragraphs.\n\n[^second]: Footnote text.\n\n------\n"
-- "\n# Code and Syntax Highlighting\n\n```\nInline `code` has `back-ticks around` it.\n```\n\nInline `code` has `back-ticks around` it.\n\n```c#\nusing System.IO.Compression;\n\n#pragma warning disable 414, 3021\n\nnamespace MyApplication\n{\n [Obsolete(\"...\")]\n class Program : IInterface\n {\n public static List JustDoIt(int count)\n {\n Console.WriteLine($\"Hello {Name}!\");\n return new List(new int[] { 1, 2, 3 })\n }\n }\n}\n```\n\n```css\n@font-face {\n font-family: Chunkfive; src: url('Chunkfive.otf');\n}\n\nbody, .usertext {\n color: #F0F0F0; background: #600;\n font-family: Chunkfive, sans;\n}\n\n@import url(print.css);\n@media print {\n a[href^=http]::after {\n content: attr(href)\n }\n}\n```\n\n"
-- "```javascript\nfunction $initHighlight(block, cls) {\n try {\n if (cls.search(/\\bno\\-highlight\\b/) != -1)\n return process(block, true, 0x0F) +\n ` class=\"${cls}\"`;\n } catch (e) {\n /* handle exception */\n }\n for (var i = 0 / 2; i < classes.length; i++) {\n if (checkCondition(classes[i]) === undefined)\n console.log('undefined');\n }\n}\n\nexport $initHighlight;\n```\n\n"
+- "1. Make my changes\n 1. Fix bug\n 2. Improve formatting\n - Make the headings bigger\n2. Push my commits to GitHub\n3. Open a pull request\n * Describe my changes\n * Mention all the members of my team\n * Ask for feedback\n\n+ Create a list by starting a line with `+`, `-`, or `*`\n+ Sub-lists are made by indenting 2 spaces:\n - Marker character change forces new list start:\n * Ac tristique libero volutpat at\n + Facilisis in pretium nisl aliquet\n - Nulla volutpat aliquam velit\n+ Very easy!\n\n------\n\n"
+- "# Task lists\n\n```\n- [x] Finish my changes\n- [ ] Push my commits to GitHub\n- [ ] Open a pull request\n- [x] @mentions, #refs, [links](), **formatting**, and tags supported\n- [x] list syntax required (any unordered or ordered list supported)\n- [x] this is a complete item\n- [ ] this is an incomplete item\n```\n\n- [x] Finish my changes\n- [ ] Push my commits to GitHub\n- [ ] Open a pull request\n- [x] @mentions, #refs, [links](), **formatting**, and tags supported\n- [x] list syntax required (any unordered or ordered list supported)\n- [ ] this is a complete item\n- [ ] this is an incomplete item\n\n------\n\n# Ignoring Markdown formatting\n\nYou can tell GitHub to ignore (or escape) Markdown formatting by using \\ before the Markdown character.\n\n```\nLet's rename \\*our-new-project\\* to \\*our-old-project\\*.\n```\n\nLet's rename \\*our-new-project\\* to \\*our-old-project\\*.\n\n------\n\n"
+- "# Links\n\n```\n[I'm an inline-style link](https://www.google.com)\n\n[I'm an inline-style link with title](https://www.google.com \"Google's Homepage\")\n\n[I'm a reference-style link][Arbitrary case-insensitive reference text]\n\n[I'm a relative reference to a repository file](../blob/master/LICENSE)\n\n[You can use numbers for reference-style link definitions][1]\n\nOr leave it empty and use the [link text itself].\n\nURLs and URLs in angle brackets will automatically get turned into links.\nhttp://www.example.com or and sometimes\nexample.com (but not on Github, for example).\n\nSome text to show that the reference links can follow later.\n\n[arbitrary case-insensitive reference text]: https://www.mozilla.org\n[1]: http://slashdot.org\n[link text itself]: http://www.reddit.com\n```\n\n[I'm an inline-style link](https://www.google.com)\n\n[I'm an inline-style link with title](https://www.google.com \"Google's Homepage\")\n\n"
+- "[I'm a reference-style link][Arbitrary case-insensitive reference text]\n\n[I'm a relative reference to a repository file](../blob/master/LICENSE)\n\n[You can use numbers for reference-style link definitions][1]\n\nOr leave it empty and use the [link text itself].\n\nURLs and URLs in angle brackets will automatically get turned into links.\nhttp://www.example.com or and sometimes\nexample.com (but not on Github, for example).\n\nSome text to show that the reference links can follow later.\n\n[arbitrary case-insensitive reference text]: https://www.mozilla.org\n[1]: http://slashdot.org\n[link text itself]: http://www.reddit.com\n\n------\n\n"
+- "# Images\n\n```\nHere's our logo (hover to see the title text):\n\nInline-style:\n![alt text](https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png \"Logo Title Text 1\")\n\nReference-style:\n![alt text][logo]\n\n[logo]: https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png \"Logo Title Text 2\"\n\n![Minion](https://octodex.github.com/images/minion.png)\n![Stormtroopocat](https://octodex.github.com/images/stormtroopocat.jpg \"The Stormtroopocat\")\n\nLike links, Images also have a footnote style syntax\n\n![Alt text][id]\n\nWith a reference later in the document defining the URL location:\n\n[id]: https://octodex.github.com/images/dojocat.jpg \"The Dojocat\"\n```\n\nHere's our logo (hover to see the title text):\n\nInline-style:\n![alt text](https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png \"Logo Title Text 1\")\n\nReference-style:\n![alt text][logo]\n\n"
+- "[logo]: https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png \"Logo Title Text 2\"\n\n![Minion](https://octodex.github.com/images/minion.png)\n![Stormtroopocat](https://octodex.github.com/images/stormtroopocat.jpg \"The Stormtroopocat\")\n\nLike links, Images also have a footnote style syntax\n\n![Alt text][id]\n\nWith a reference later in the document defining the URL location:\n\n[id]: https://octodex.github.com/images/dojocat.jpg \"The Dojocat\"\n\n------\n\n"
+- "# [Footnotes](https://github.com/markdown-it/markdown-it-footnote)\n\n```\nFootnote 1 link[^first].\n\nFootnote 2 link[^second].\n\nInline footnote^[Text of inline footnote] definition.\n\nDuplicated footnote reference[^second].\n\n[^first]: Footnote **can have markup**\n\n and multiple paragraphs.\n\n[^second]: Footnote text.\n```\n\nFootnote 1 link[^first].\n\nFootnote 2 link[^second].\n\nInline footnote^[Text of inline footnote] definition.\n\nDuplicated footnote reference[^second].\n\n[^first]: Footnote **can have markup**\n\n and multiple paragraphs.\n\n[^second]: Footnote text.\n\n------\n\n"
+- "# Code and Syntax Highlighting\n\n```\nInline `code` has `back-ticks around` it.\n```\n\nInline `code` has `back-ticks around` it.\n\n```c#\nusing System.IO.Compression;\n\n#pragma warning disable 414, 3021\n\nnamespace MyApplication\n{\n [Obsolete(\"...\")]\n class Program : IInterface\n {\n public static List JustDoIt(int count)\n {\n Console.WriteLine($\"Hello {Name}!\");\n return new List(new int[] { 1, 2, 3 })\n }\n }\n}\n```\n\n```css\n@font-face {\n font-family: Chunkfive; src: url('Chunkfive.otf');\n}\n\nbody, .usertext {\n color: #F0F0F0; background: #600;\n font-family: Chunkfive, sans;\n}\n\n@import url(print.css);\n@media print {\n a[href^=http]::after {\n content: attr(href)\n }\n}\n```\n\n```javascript\nfunction $initHighlight(block, cls) {\n try {\n if (cls.search(/\\bno\\-highlight\\b/) != -1)\n return process(block, true, 0x0F) +\n ` class=\"${cls}\"`;\n } catch (e) {\n /* handle exception */\n }\n"
+- " for (var i = 0 / 2; i < classes.length; i++) {\n if (checkCondition(classes[i]) === undefined)\n console.log('undefined');\n }\n}\n\nexport $initHighlight;\n```\n\n"
- "```php\nrequire_once 'Zend/Uri/Http.php';\n\nnamespace Location\\Web;\n\ninterface Factory\n{\n static function _factory();\n}\n\nabstract class URI extends BaseURI implements Factory\n{\n abstract function test();\n\n public static $st1 = 1;\n const ME = \"Yo\";\n var $list = NULL;\n private $var;\n\n /**\n * Returns a URI\n *\n * @return URI\n */\n static public function _factory($stats = array(), $uri = 'http')\n {\n echo __METHOD__;\n $uri = explode(':', $uri, 0b10);\n $schemeSpecific = isset($uri[1]) ? $uri[1] : '';\n $desc = 'Multi\nline description';\n\n // Security check\n if (!ctype_alnum($scheme)) {\n throw new Zend_Uri_Exception('Illegal scheme');\n }\n\n $this->var = 0 - self::$st;\n $this->list = list(Array(\"1\"=> 2, 2=>self::ME, 3 => \\Location\\Web\\URI::class));\n\n return [\n 'uri' => $uri,\n 'value' => null,\n ];\n }\n}\n\necho URI::ME . URI::$st1;\n\n"
-- "__halt_compiler () ; datahere\ndatahere\ndatahere */\ndatahere\n```\n\n------\n"
-- "\n# Tables\n\n"
-- "```\nColons can be used to align columns.\n\n| Tables | Are | Cool |\n| ------------- |:-------------:| -----:|\n| col 3 is | right-aligned | $1600 |\n| col 2 is | centered | $12 |\n| zebra stripes | are neat | $1 |\n\nThere must be at least 3 dashes separating each header cell.\nThe outer pipes (|) are optional, and you don't need to make the\nraw Markdown line up prettily. You can also use inline Markdown.\n\nMarkdown | Less | Pretty\n--- | --- | ---\n*Still* | `renders` | **nicely**\n1 | 2 | 3\n\n| First Header | Second Header |\n| ------------- | ------------- |\n| Content Cell | Content Cell |\n| Content Cell | Content Cell |\n\n| Command | Description |\n| --- | --- |\n| git status | List all new or modified files |\n| git diff | Show file differences that haven't been staged |\n\n| Command | Description |\n| --- | --- |\n| `git status` | List all *new or modified* files |\n| `git diff` | Show file differences that **haven't been** staged |\n\n"
+- "__halt_compiler () ; datahere\ndatahere\ndatahere */\ndatahere\n```\n\n------\n\n"
+- "# Tables\n\n```\nColons can be used to align columns.\n\n| Tables | Are | Cool |\n| ------------- |:-------------:| -----:|\n| col 3 is | right-aligned | $1600 |\n| col 2 is | centered | $12 |\n| zebra stripes | are neat | $1 |\n\nThere must be at least 3 dashes separating each header cell.\nThe outer pipes (|) are optional, and you don't need to make the\nraw Markdown line up prettily. You can also use inline Markdown.\n\nMarkdown | Less | Pretty\n--- | --- | ---\n*Still* | `renders` | **nicely**\n1 | 2 | 3\n\n| First Header | Second Header |\n| ------------- | ------------- |\n| Content Cell | Content Cell |\n| Content Cell | Content Cell |\n\n| Command | Description |\n| --- | --- |\n| git status | List all new or modified files |\n| git diff | Show file differences that haven't been staged |\n\n| Command | Description |\n| --- | --- |\n| `git status` | List all *new or modified* files |\n| `git diff` | Show file differences that **haven't been** staged |\n\n"
- "| Left-aligned | Center-aligned | Right-aligned |\n| :--- | :---: | ---: |\n| git status | git status | git status |\n| git diff | git diff | git diff |\n\n| Name | Character |\n| --- | --- |\n| Backtick | ` |\n| Pipe | \\| |\n```\n\nColons can be used to align columns.\n\n| Tables | Are | Cool |\n| ------------- |:-------------:| -----:|\n| col 3 is | right-aligned | $1600 |\n| col 2 is | centered | $12 |\n| zebra stripes | are neat | $1 |\n\nThere must be at least 3 dashes separating each header cell.\nThe outer pipes (|) are optional, and you don't need to make the\nraw Markdown line up prettily. You can also use inline Markdown.\n\nMarkdown | Less | Pretty\n--- | --- | ---\n*Still* | `renders` | **nicely**\n1 | 2 | 3\n\n| First Header | Second Header |\n| ------------- | ------------- |\n| Content Cell | Content Cell |\n| Content Cell | Content Cell |\n\n"
-- "| Command | Description |\n| --- | --- |\n| git status | List all new or modified files |\n| git diff | Show file differences that haven't been staged |\n\n| Command | Description |\n| --- | --- |\n| `git status` | List all *new or modified* files |\n| `git diff` | Show file differences that **haven't been** staged |\n\n| Left-aligned | Center-aligned | Right-aligned |\n| :--- | :---: | ---: |\n| git status | git status | git status |\n| git diff | git diff | git diff |\n\n| Name | Character |\n| --- | --- |\n| Backtick | ` |\n| Pipe | \\| |\n\n------\n"
-- "\n# Blockquotes\n\n```\n> Blockquotes are very handy in email to emulate reply text.\n> This line is part of the same quote.\n\nQuote break.\n\n> This is a very long line that will still be quoted properly when it wraps. Oh boy let's keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can *put* **Markdown** into a blockquote.\n\n> Blockquotes can also be nested...\n>> ...by using additional greater-than signs right next to each other...\n> > > ...or with spaces between arrows.\n```\n\n> Blockquotes are very handy in email to emulate reply text.\n> This line is part of the same quote.\n\nQuote break.\n\n> This is a very long line that will still be quoted properly when it wraps. Oh boy let's keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can *put* **Markdown** into a blockquote.\n\n> Blockquotes can also be nested...\n>> ...by using additional greater-than signs right next to each other...\n> > > ...or with spaces between arrows.\n\n------\n"
-- "\n# Inline HTML\n\n```\n\n - Definition list
\n - Is something people use sometimes.
\n\n - Markdown in HTML
\n - Does *not* work **very** well. Use HTML tags.
\n
\n```\n\n\n - Definition list
\n - Is something people use sometimes.
\n\n - Markdown in HTML
\n - Does *not* work **very** well. Use HTML tags.
\n
\n\n------\n\n# Horizontal Rules\n\n```\nThree or more...\n\n---\n\nHyphens\n\n***\n\nAsterisks\n\n___\n\nUnderscores\n```\n\nThree or more...\n\n---\n\nHyphens\n\n***\n\nAsterisks\n\n___\n\nUnderscores\n\n------\n"
-- "\n# YouTube Videos\n\n```\n\n\n\n```\n\n\n\n\n\n```\n[![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/YOUTUBE_VIDEO_ID_HERE/0.jpg)](http://www.youtube.com/watch?v=YOUTUBE_VIDEO_ID_HERE)\n```\n\n[![IMAGE ALT TEXT HERE](https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/YouTube_logo_2015.svg/1200px-YouTube_logo_2015.svg.png)](https://www.youtube.com/watch?v=ciawICBvQoE)\n"
+- "| Command | Description |\n| --- | --- |\n| git status | List all new or modified files |\n| git diff | Show file differences that haven't been staged |\n\n| Command | Description |\n| --- | --- |\n| `git status` | List all *new or modified* files |\n| `git diff` | Show file differences that **haven't been** staged |\n\n| Left-aligned | Center-aligned | Right-aligned |\n| :--- | :---: | ---: |\n| git status | git status | git status |\n| git diff | git diff | git diff |\n\n| Name | Character |\n| --- | --- |\n| Backtick | ` |\n| Pipe | \\| |\n\n------\n\n"
+- "# Blockquotes\n\n```\n> Blockquotes are very handy in email to emulate reply text.\n> This line is part of the same quote.\n\nQuote break.\n\n> This is a very long line that will still be quoted properly when it wraps. Oh boy let's keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can *put* **Markdown** into a blockquote.\n\n> Blockquotes can also be nested...\n>> ...by using additional greater-than signs right next to each other...\n> > > ...or with spaces between arrows.\n```\n\n> Blockquotes are very handy in email to emulate reply text.\n> This line is part of the same quote.\n\nQuote break.\n\n> This is a very long line that will still be quoted properly when it wraps. Oh boy let's keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can *put* **Markdown** into a blockquote.\n\n> Blockquotes can also be nested...\n>> ...by using additional greater-than signs right next to each other...\n> > > ...or with spaces between arrows.\n\n------\n\n"
+- "# Inline HTML\n\n```\n\n - Definition list
\n - Is something people use sometimes.
\n\n - Markdown in HTML
\n - Does *not* work **very** well. Use HTML tags.
\n
\n```\n\n\n - Definition list
\n - Is something people use sometimes.
\n\n - Markdown in HTML
\n - Does *not* work **very** well. Use HTML tags.
\n
\n\n------\n\n# Horizontal Rules\n\n```\nThree or more...\n\n---\n\nHyphens\n\n***\n\nAsterisks\n\n___\n\nUnderscores\n```\n\nThree or more...\n\n---\n\nHyphens\n\n***\n\nAsterisks\n\n___\n\nUnderscores\n\n------\n\n"
+- "# YouTube Videos\n\n```\n\n\n\n```\n\n\n\n\n\n```\n[![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/YOUTUBE_VIDEO_ID_HERE/0.jpg)](http://www.youtube.com/watch?v=YOUTUBE_VIDEO_ID_HERE)\n```\n\n[![IMAGE ALT TEXT HERE](https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/YouTube_logo_2015.svg/1200px-YouTube_logo_2015.svg.png)](https://www.youtube.com/watch?v=ciawICBvQoE)\n"
diff --git a/tests/snapshots/text_splitter_snapshots__markdown@github_flavored.md.snap b/tests/snapshots/text_splitter_snapshots__markdown@github_flavored.md.snap
index d0277250..6410722e 100644
--- a/tests/snapshots/text_splitter_snapshots__markdown@github_flavored.md.snap
+++ b/tests/snapshots/text_splitter_snapshots__markdown@github_flavored.md.snap
@@ -3,8 +3,8 @@ source: tests/text_splitter_snapshots.rs
expression: chunks
input_file: tests/inputs/markdown/github_flavored.md
---
-- "# Headers"
-- "\n\n"
+- "# Headers\n"
+- "\n"
- "```\n"
- "# h1 "
- Heading 8-
@@ -29,32 +29,34 @@ input_file: tests/inputs/markdown/github_flavored.md
- "======\n\n"
- "Alt-H2\n"
- "------\n"
-- "```\n\n# "
-- h1 Heading
-- " 8-)\n## "
-- h2 Heading
-- "\n### "
-- h3 Heading
-- "\n#### "
-- h4 Heading
-- "\n##### "
-- h5 Heading
-- "\n###### "
-- h6 Heading
-- "\n\n"
+- "```\n\n"
+- "# h1 "
+- Heading 8-
+- ")\n"
+- "## h2 "
+- "Heading\n"
+- "### h3 "
+- "Heading\n"
+- "#### h4 "
+- "Heading\n"
+- "##### h5 "
+- "Heading\n"
+- "###### h6 "
+- "Heading\n\n"
- Alternativ
- "ely, for "
- "H1 and H2,"
- " an "
- underline-
- "ish style:"
-- "\n\nAlt-H1"
-- "\n======\n\n"
+- "\n\n"
+- "Alt-H1\n"
+- "======\n\n"
- Alt-H2
- "\n------\n\n"
-- "------\n"
-- "\n# "
-- "Emphasis\n\n"
+- "------\n\n"
+- "# Emphasis"
+- "\n\n"
- "```\n"
- "Emphasis, "
- "aka "
@@ -145,8 +147,8 @@ input_file: tests/inputs/markdown/github_flavored.md
- ~~
- Strikethro
- "ugh~~\n\n"
-- "------\n"
-- "\n# Lists\n\n"
+- "------\n\n"
+- "# Lists\n\n"
- "```\n1. "
- "First "
- "ordered "
@@ -460,10 +462,9 @@ input_file: tests/inputs/markdown/github_flavored.md
- "velit\n"
- "+ Very "
- "easy!\n\n"
-- "------\n"
-- "\n# "
-- Task lists
-- "\n\n"
+- "------\n\n"
+- "# Task "
+- "lists\n\n"
- "```\n"
- "- [x] "
- "Finish my "
@@ -540,10 +541,9 @@ input_file: tests/inputs/markdown/github_flavored.md
- " is an "
- incomplete
- " item\n\n"
-- "------\n"
-- "\n# "
-- "Ignoring "
-- "Markdown "
+- "------\n\n"
+- "# Ignoring"
+- " Markdown "
- formatting
- "\n\n"
- "You can "
@@ -575,8 +575,8 @@ input_file: tests/inputs/markdown/github_flavored.md
- "to \\*our-"
- old-
- "project\\*."
-- "\n\n------\n"
-- "\n# Links\n\n"
+- "\n\n------\n\n"
+- "# Links\n\n"
- "```\n"
- "[I'm an "
- inline-
@@ -778,9 +778,8 @@ input_file: tests/inputs/markdown/github_flavored.md
- "http://"
- www.reddit
- ".com\n\n"
-- "------\n"
-- "\n# Images"
-- "\n\n"
+- "------\n\n"
+- "# Images\n\n"
- "```\n"
- "Here's our"
- " logo ("
@@ -950,10 +949,10 @@ input_file: tests/inputs/markdown/github_flavored.md
- dojocat.jp
- "g \"The "
- "Dojocat\"\n\n"
-- "------\n"
-- "\n# "
-- "[Footnotes"
-- "](https://"
+- "------\n\n"
+- "# ["
+- "Footnotes]"
+- "(https://"
- github.com
- /markdown-
- it/
@@ -1021,10 +1020,9 @@ input_file: tests/inputs/markdown/github_flavored.md
- "[^second]:"
- " Footnote "
- "text.\n\n"
-- "------\n"
-- "\n# "
-- "Code and "
-- "Syntax "
+- "------\n\n"
+- "# Code and"
+- " Syntax "
- Highlighti
- "ng\n\n"
- "```\n"
@@ -1299,9 +1297,8 @@ input_file: tests/inputs/markdown/github_flavored.md
- "/\n"
- "datahere\n"
- "```\n\n"
-- "------\n"
-- "\n# Tables"
-- "\n\n"
+- "------\n\n"
+- "# Tables\n\n"
- "```\n"
- Colons can
- " be used "
@@ -1627,8 +1624,8 @@ input_file: tests/inputs/markdown/github_flavored.md
- "| Pipe"
- " | \\|"
- " |\n"
-- "\n------\n"
-- "\n# "
+- "\n------\n\n"
+- "# "
- Blockquote
- "s\n\n"
- "```\n"
@@ -1750,9 +1747,8 @@ input_file: tests/inputs/markdown/github_flavored.md
- "spaces "
- "between "
- "arrows.\n\n"
-- "------\n"
-- "\n# "
-- "Inline "
+- "------\n\n"
+- "# Inline "
- "HTML\n\n"
- "```\n\n"
- " - "
@@ -1777,7 +1773,8 @@ input_file: tests/inputs/markdown/github_flavored.md
- em>tags
- "em>.\n"
- "
\n```\n"
-- "\n\n"
+- "\n"
+- "\n"
- " - "
- Definition
- " list
"
@@ -1800,8 +1797,8 @@ input_file: tests/inputs/markdown/github_flavored.md
- em>tags
- "em>.\n"
- "
\n\n"
-- "------\n"
-- "\n# "
+- "------\n\n"
+- "# "
- Horizontal
- " Rules\n\n"
- "```\n"
@@ -1825,8 +1822,8 @@ input_file: tests/inputs/markdown/github_flavored.md
- "\n"
- Underscore
- "s\n\n------\n"
-- "\n# "
-- "YouTube "
+- "\n"
+- "# YouTube "
- "Videos\n\n"
- "```\n"
- "Syntax\n"
- "
- License
\n - Dingus
\n"
-- "\n"
-- "\n\nGetting the Gist of Markdown's Formatting Syntax"
-- "\n------------------------------------------------\n\n"
+- "\n\n\n"
+- "Getting the Gist of Markdown's Formatting Syntax\n------------------------------------------------\n\n"
- "This page offers a brief overview of what it's like to use Markdown.\n"
- "The [syntax page] [s]"
- " provides complete, detailed documentation for\n"
@@ -25,8 +24,8 @@ input_file: tests/inputs/markdown/markdown_basics.md
- "can [see the source for it by adding '.text' to the URL] [src]"
- "."
- "\n\n [s]: /projects/markdown/syntax \"Markdown Syntax\"\n"
-- " [d]: /projects/markdown/dingus \"Markdown Dingus\"\n [src]: /projects/markdown/basics.text\n\n\n## "
-- "Paragraphs, Headers, Blockquotes ##\n\n"
+- " [d]: /projects/markdown/dingus \"Markdown Dingus\"\n [src]: /projects/markdown/basics.text\n\n\n"
+- "## Paragraphs, Headers, Blockquotes ##\n\n"
- "A paragraph is simply one or more consecutive lines of text, separated\nby one or more blank lines. "
- "(A blank line is any line that looks like\na blank line --"
- " a line containing nothing but spaces or tabs is\n"
@@ -46,15 +45,17 @@ input_file: tests/inputs/markdown/markdown_basics.md
- "regular paragraph.\n\n The quick brown fox jumped over the lazy\n dog's back.
\n\n "
- "Header 3
\n\n \n This is a blockquote.
\n\n "
- " This is the second paragraph in the blockquote.
\n\n "
-- " This is an H2 in a blockquote
\n
\n\n\n\n### Phrase Emphasis ###\n\n"
-- "Markdown uses asterisks and underscores to indicate spans of emphasis.\n\nMarkdown:\n\n "
+- " This is an H2 in a blockquote
\n \n\n\n\n"
+- "### Phrase Emphasis ###\n\nMarkdown uses asterisks and underscores to indicate spans of emphasis.\n\n"
+- "Markdown:\n\n "
- "Some of these words *are emphasized*.\n Some of these words _are emphasized also_.\n\n"
- " Use two asterisks for **strong emphasis**.\n "
- "Or, if you prefer, __use two underscores instead__.\n\nOutput:\n\n "
- "Some of these words are emphasized.\n"
- " Some of these words are emphasized also.
\n\n "
- "Use two asterisks for strong emphasis.\n "
-- "Or, if you prefer, use two underscores instead.
\n\n\n\n## Lists ##\n\n"
+- "Or, if you prefer, use two underscores instead.\n\n\n\n"
+- "## Lists ##\n\n"
- "Unordered (bulleted) lists use asterisks, pluses, and hyphens (`*`,\n`+`, and `-`) as list markers. "
- "These three markers are\ninterchangable; this:\n\n * Candy.\n * Gum.\n * Booze.\n"
- "\nthis:\n\n + Candy.\n + Gum.\n + Booze.\n\nand this:\n\n "
@@ -69,7 +70,8 @@ input_file: tests/inputs/markdown/markdown_basics.md
- "* A list item.\n\n With multiple paragraphs.\n\n * Another item in the list.\n"
- "\nOutput:\n\n "
- "\n\n\n\n### Links ###\n\n"
+- " Another item in the list.
\n \n\n\n\n"
+- "### Links ###\n\n"
- "Markdown supports two styles for creating links: *inline* and\n*reference*. "
- "With both styles, you use square brackets to delimit the\ntext you want to turn into a link.\n\n"
- "Inline-style links use parentheses immediately after the link text.\nFor example:\n\n "
@@ -93,13 +95,13 @@ input_file: tests/inputs/markdown/markdown_basics.md
- "I start my morning with a cup of coffee and\n [The New York Times][NY Times].\n\n"
- " [ny times]: http://www.nytimes.com/\n\nOutput:\n\n "
- "I start my morning with a cup of coffee and\n"
-- " The New York Times.
\n\n\n### Images ###\n\n"
-- "Image syntax is very much like link syntax.\n\nInline (titles are optional):\n\n "
+- " The New York Times.\n\n\n"
+- "### Images ###\n\nImage syntax is very much like link syntax.\n\nInline (titles are optional):\n\n "
- "![alt text](/path/to/img.jpg \"Title\")\n\nReference-style:\n\n "
- "![alt text][id]\n\n [id]: /path/to/img.jpg \"Title\"\n"
- "\nBoth of the above examples produce the same output:\n\n "
-- "\n"
-- "\n\n\n### Code ###\n\n"
+- "\n\n\n\n"
+- "### Code ###\n\n"
- "In a regular paragraph, you can create code span by wrapping text in\nbacktick quotes. "
- "Any ampersands (`&`) and angle brackets (`<` or\n`>`"
- ") will automatically be translated into HTML entities. This makes\n"
diff --git a/tests/snapshots/text_splitter_snapshots__markdown@markdown_basics.md-3.snap b/tests/snapshots/text_splitter_snapshots__markdown@markdown_basics.md-3.snap
index 6ef4ca56..3b1e6ea6 100644
--- a/tests/snapshots/text_splitter_snapshots__markdown@markdown_basics.md-3.snap
+++ b/tests/snapshots/text_splitter_snapshots__markdown@markdown_basics.md-3.snap
@@ -4,12 +4,14 @@ expression: chunks
input_file: tests/inputs/markdown/markdown_basics.md
---
- "Markdown: Basics\n================\n\n\n\n\nGetting the Gist of Markdown's Formatting Syntax\n------------------------------------------------\n\nThis page offers a brief overview of what it's like to use Markdown.\nThe [syntax page] [s] provides complete, detailed documentation for\nevery feature, but Markdown should be very easy to pick up simply by\nlooking at a few examples of it in action. The examples on this page\nare written in a before/after style, showing example syntax and the\nHTML output produced by Markdown.\n\n"
-- "It's also helpful to simply try Markdown out; the [Dingus] [d] is a\nweb application that allows you type your own Markdown-formatted text\nand translate it to XHTML.\n\n**Note:** This document is itself written using Markdown; you\ncan [see the source for it by adding '.text' to the URL] [src].\n\n [s]: /projects/markdown/syntax \"Markdown Syntax\"\n [d]: /projects/markdown/dingus \"Markdown Dingus\"\n [src]: /projects/markdown/basics.text\n\n\n## Paragraphs, Headers, Blockquotes ##\n\nA paragraph is simply one or more consecutive lines of text, separated\nby one or more blank lines. (A blank line is any line that looks like\na blank line -- a line containing nothing but spaces or tabs is\nconsidered blank.) Normal paragraphs should not be indented with\nspaces or tabs.\n\n"
-- "Markdown offers two styles of headers: *Setext* and *atx*.\nSetext-style headers for `` and `` are created by\n\"underlining\" with equal signs (`=`) and hyphens (`-`), respectively.\nTo create an atx-style header, you put 1-6 hash marks (`#`) at the\nbeginning of the line -- the number of hashes equals the resulting\nHTML header level.\n\nBlockquotes are indicated using email-style '`>`' angle brackets.\n\nMarkdown:\n\n A First Level Header\n ====================\n\n A Second Level Header\n ---------------------\n\n Now is the time for all good men to come to\n the aid of their country. This is just a\n regular paragraph.\n\n The quick brown fox jumped over the lazy\n dog's back.\n\n ### Header 3\n\n > This is a blockquote.\n >\n > This is the second paragraph in the blockquote.\n >\n > ## This is an H2 in a blockquote\n\n\nOutput:\n\n "
-- "A First Level Header
\n\n A Second Level Header
\n\n
Now is the time for all good men to come to\n the aid of their country. This is just a\n regular paragraph.
\n\n The quick brown fox jumped over the lazy\n dog's back.
\n\n Header 3
\n\n \n This is a blockquote.
\n\n This is the second paragraph in the blockquote.
\n\n This is an H2 in a blockquote
\n
\n\n\n\n### Phrase Emphasis ###\n\nMarkdown uses asterisks and underscores to indicate spans of emphasis.\n\nMarkdown:\n\n Some of these words *are emphasized*.\n Some of these words _are emphasized also_.\n\n Use two asterisks for **strong emphasis**.\n Or, if you prefer, __use two underscores instead__.\n\nOutput:\n\n "
-- "Some of these words are emphasized.\n Some of these words are emphasized also.
\n\n Use two asterisks for strong emphasis.\n Or, if you prefer, use two underscores instead.
\n\n\n\n## Lists ##\n\nUnordered (bulleted) lists use asterisks, pluses, and hyphens (`*`,\n`+`, and `-`) as list markers. These three markers are\ninterchangable; this:\n\n * Candy.\n * Gum.\n * Booze.\n\nthis:\n\n + Candy.\n + Gum.\n + Booze.\n\nand this:\n\n - Candy.\n - Gum.\n - Booze.\n\nall produce the same output:\n\n \n - Candy.
\n - Gum.
\n - Booze.
\n
\n\nOrdered (numbered) lists use regular numbers, followed by periods, as\nlist markers:\n\n 1. Red\n 2. Green\n 3. Blue\n\nOutput:\n\n \n - Red
\n - Green
\n - Blue
\n
\n"
-- "\nIf you put blank lines between items, you'll get `` tags for the\nlist item text. You can create multi-paragraph list items by indenting\nthe paragraphs by 4 spaces or 1 tab:\n\n * A list item.\n\n With multiple paragraphs.\n\n * Another item in the list.\n\nOutput:\n\n
\n\n\n\n### Links ###\n\nMarkdown supports two styles for creating links: *inline* and\n*reference*. With both styles, you use square brackets to delimit the\ntext you want to turn into a link.\n\nInline-style links use parentheses immediately after the link text.\nFor example:\n\n This is an [example link](http://example.com/).\n\nOutput:\n\n This is an \n example link.
\n\nOptionally, you may include a title attribute in the parentheses:\n\n This is an [example link](http://example.com/ \"With a Title\").\n\nOutput:\n\n "
-- "This is an \n example link.
\n\nReference-style links allow you to refer to your links by names, which\nyou define elsewhere in your document:\n\n I get 10 times more traffic from [Google][1] than from\n [Yahoo][2] or [MSN][3].\n\n [1]: http://google.com/ \"Google\"\n [2]: http://search.yahoo.com/ \"Yahoo Search\"\n [3]: http://search.msn.com/ \"MSN Search\"\n\nOutput:\n\n I get 10 times more traffic from Google than from Yahoo or MSN.
\n\nThe title attribute is optional. Link names may contain letters,\nnumbers and spaces, but are *not* case sensitive:\n\n I start my morning with a cup of coffee and\n [The New York Times][NY Times].\n\n [ny times]: http://www.nytimes.com/\n\nOutput:\n\n "
-- "I start my morning with a cup of coffee and\n The New York Times.
\n\n\n### Images ###\n\nImage syntax is very much like link syntax.\n\nInline (titles are optional):\n\n ![alt text](/path/to/img.jpg \"Title\")\n\nReference-style:\n\n ![alt text][id]\n\n [id]: /path/to/img.jpg \"Title\"\n\nBoth of the above examples produce the same output:\n\n \n\n\n\n### Code ###\n\nIn a regular paragraph, you can create code span by wrapping text in\nbacktick quotes. Any ampersands (`&`) and angle brackets (`<` or\n`>`) will automatically be translated into HTML entities. This makes\nit easy to use Markdown to write about HTML example code:\n\n I strongly recommend against using any `