### Image/Link Placement: Image Links at Start Option (Markdown) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_translation_formatter_spec.md This snippet demonstrates the `image-links-at-start` option, which forces image links to be rendered on a new line if they appear at the start of a logical line in the Markdown source. ```Markdown text with [link](/url) followed by ![alt](/image) ``` -------------------------------- ### Image/Link Placement: Image and Explicit Links at Start Options (Markdown) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_translation_formatter_spec.md This snippet combines `image-links-at-start` and `explicit-links-at-start` options, causing both image and explicit links to be rendered on new lines if they appear at the start of a logical line in the Markdown source. ```Markdown text with [link](/url) followed by ![alt](/image) ``` -------------------------------- ### Image/Link Placement: Explicit Links at Start Option (Markdown) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_translation_formatter_spec.md This snippet illustrates the `explicit-links-at-start` option, which forces explicit links (like `[link](/url)`) to be rendered on a new line if they appear at the start of a logical line in the Markdown source. ```Markdown text with [link](/url) followed by ![alt](/image) ``` -------------------------------- ### Setting Ordered List Start Number (Markdown) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_pegdown_compatibility_spec.md This example illustrates that an ordered list can start with a number other than '1'. The parser correctly identifies '2.' as the starting point for the ordered list, and the generated HTML reflects this custom starting number. ```Markdown 2. Non One Start Item ``` ```HTML
  1. Non One Start Item
``` ```AST Document[0, 21] OrderedList[0, 21] isTight start:2 delimiter:'.' OrderedListItem[0, 21] open:[0, 2, "2."] isTight Paragraph[3, 21] Text[3, 21] chars:[3, 21, "Non O … Item"] ``` -------------------------------- ### General flexmark-java Spec Example Syntax Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-spec-example/src/main/javadoc/overview.md This snippet illustrates the general syntax for defining a flexmark-java spec test example. It shows the structure including markdown input, expected HTML output, and the corresponding Abstract Syntax Tree (AST) representation, with each section separated by a single dot on a line. ```flexmark-java Spec Example example SpecExample: 1 markdown content . html content . AST content ``` -------------------------------- ### Markdown Spec Example: Basic 2 Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-spec-example/src/test/resources/ext_spec_example_formatter_spec.md This example illustrates how the formatter handles a basic Markdown section with a header and content, demonstrating that the structure and text are preserved in the output, including YAML front matter and example fences. ```Markdown --- title: Intentions Spec author: version: date: '2019-10-14' license: '[CC-BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)' ... ## Section ```````````````` example Markdown only ``` -------------------------------- ### Markdown Spec Example: Basic 1 Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-spec-example/src/test/resources/ext_spec_example_formatter_spec.md This example demonstrates the formatter's handling of basic Markdown text, showing that a simple 'Markdown only' string is processed and reflected in the output, along with its YAML front matter and example fences. ```Markdown --- title: Intentions Spec author: version: date: '2019-10-14' license: '[CC-BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)' ... ```````````````` example Markdown only ```````````````` ``` ```Markdown --- title: Intentions Spec author: version: date: '2019-10-14' license: '[CC-BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)' ... ```````````````` example : 1 Markdown only … ```````````````` ``` -------------------------------- ### Markdown List: Simple Mixed Ordered List Markers Example 4 Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_translation_formatter_spec.md Presents a concise example of an ordered list using both dot (.) and parenthesis ()) markers, demonstrating basic mixed numbering without deep nesting. ```Markdown 1. list item 1 1. list item 1.1 1) list item 1.2 . 1. LiISt iIteEm 1 1. LiISt iIteEm 1.1 1) LiISt iIteEm 1.2 ``` -------------------------------- ### Default Blank Line Handling (Example 1) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_translation_formatter_spec.md This example demonstrates the default behavior of the parser when encountering multiple blank lines between paragraphs. It shows how consecutive blank lines are typically collapsed into a single blank line in the rendered output. ```Markdown paragraph another paragraph ``` -------------------------------- ### Removing Space and Preserving Trailing Hashes for ATX Headings (Example 5) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_translation_formatter_spec.md This example combines `atx-space-remove` and `atx-trailing-as-is`. It removes the space after the leading hash but leaves the trailing hashes exactly as they are in the source. ```Markdown # Heading #### ``` -------------------------------- ### Setting Ordered List Start Number in Markdown Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_kramdown_compatibility_spec.md This example illustrates that an ordered list item can explicitly set the starting number of the list. Even if the first item is '2.', the generated HTML correctly reflects this by starting the ordered list from '2', demonstrating the flexibility in defining list sequences. ```Markdown 2. Non One Start Item ``` ```HTML
  1. Non One Start Item
``` ```flexmark-java AST Document[0, 21] OrderedList[0, 21] isTight start:2 delimiter:'.' OrderedListItem[0, 21] open:[0, 2, "2."] isTight Paragraph[3, 21] Text[3, 21] chars:[3, 21, "Non O … Item"] ``` -------------------------------- ### Installing TypeScript and Webpack Globally (Shell) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-profile-pegdown/src/test/resources/issue_mn_236_exception_spec.md Installs the TypeScript compiler and Webpack globally on the system. This allows these tools to be executed directly from the command line, independent of any specific project's `node_modules`. ```Shell npm install -g typescript npm install -g webpack ``` -------------------------------- ### Preserving Space and Equalizing Trailing Hashes for ATX Headings (Example 3) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_translation_formatter_spec.md This example uses `atx-space-as-is` and `atx-trailing-equalize`. It preserves the space after the leading hash and equalizes the number of trailing hashes to match the leading ones, adding a space before them if necessary. ```Markdown # Heading #### ``` -------------------------------- ### Nested Markdown Example Block with Multiple Options (Options 2) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-spec-example/src/test/resources/ext_spec_example_formatter_spec.md Similar to the previous nested example, this snippet shows a Markdown section with an embedded example block. The inner block uses 'test,option2' options, demonstrating the parser's ability to handle multiple options for an example block. ```Markdown ## Section ```````````````` example options test,option2 Markdown only ```````````````` ``` -------------------------------- ### Demonstrating Item Prefix Copying with Flexmark (Wrap 11) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_paragraph_formatter_spec.md This snippet provides another example of the Flexmark library's behavior regarding repeated prefixes. It shows how prefixes are copied when items are added or split, reinforcing the concept of their equivalence to task item markers. ```Flexmark Example Text Add: configuration for repeated prefixes in items, which would `be #2` copied when adding/splitting an item. In other words they ⟦ ⟧⦙would be treated equivalent to task item marker prefix. That way ⦙ ⟦ ⟧standard: `Add: `, `Fix: `, `Break: ` and `Deprecate: ` prefixes would be automatically copied. ⦙ ⦙ . ``` -------------------------------- ### Wrap - Restore Spaces: 37 (Insert Space, Caret at Line Start) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_wrapping_spec.md This example demonstrates text wrapping and space restoration with an 'insert-space' option. It shows how a 'Fix' task item is formatted, specifically when a caret `⦙` is at the beginning of a wrapped line, ensuring proper indentation and flow. ```Markdown Formatting Example ⟦* [ ] ⟧Fix: remove formatter and use flexmark formatter for document format to eliminate the need ⟦ ⟧ ⦙to keep duplicate code. . * [ ] Fix: remove formatter and use flexmark formatter for document format to eliminate the need ⦙to keep duplicate code. ``` -------------------------------- ### Adding Space and Removing Trailing Hashes for ATX Headings (Example 7) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_translation_formatter_spec.md This example demonstrates `atx-space-add` and `atx-trailing-remove`. It adds a space after the leading hash and completely removes any trailing hash characters from the heading. ```Markdown #Heading#### ``` -------------------------------- ### Adding Space and Equalizing Trailing Hashes for ATX Headings (Example 4) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_translation_formatter_spec.md This snippet demonstrates `atx-space-add` and `atx-trailing-equalize`. It ensures a space is added after the leading hash and equalizes the number of trailing hashes, adding a space before them. ```Markdown # Heading #### ``` -------------------------------- ### GFM Emphasis Parsing Spec Example with AST Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-spec-example/src/main/javadoc/overview.md This example demonstrates how GitHub Flavored Markdown (GFM) emphasis is parsed by flexmark-java. It shows the input markdown `**a*b*c**`, its rendered HTML `

abc

`, and the detailed Abstract Syntax Tree (AST) representation, highlighting nested emphasis nodes and their character ranges. ```flexmark-java Spec Example example GFM Emphasis: 7 **a*b*c** .

abc

. Document[0, 11] Paragraph[0, 10] isTrailingBlankLine StrongEmphasis[0, 9] textOpen:[0, 2, "**"] text:[2, 7, "a*b*c"] textClose:[7, 9, "**"] Text[2, 3] chars:[2, 3, "a"] Emphasis[3, 6] textOpen:[3, 4, "*"] text:[4, 5, "b"] textClose:[5, 6, "*"] Text[4, 5] chars:[4, 5, "b"] Text[6, 7] chars:[6, 7, "c"] ``` -------------------------------- ### Wrap Functionality Example 1 - Basic Margin Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_paragraph_formatter_spec.md This example demonstrates the 'Wrap' functionality with a margin of 66. It illustrates how repeated prefixes in items are automatically copied when adding or splitting an item, treating them as equivalent to a task item marker prefix. ```Text Add: configuration for repeated prefixes in items, which would `be #2` copied when adding/splitting an item. In other words they would be treated equivalent to task item marker prefix. That way standard: `Add: `, `Fix: `, `Break: ` and `Deprecate: ` prefixes would be automatically copied. ``` -------------------------------- ### Markdown List Example 27 with Link and Newline Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_translation_formatter_spec.md This snippet demonstrates a Markdown list item containing an inline link, followed by a blank line and additional text. Similar to Example 26, it further illustrates how such content is parsed and rendered within a list context, confirming the behavior of continued list item content. ```Markdown - [link](link.txt) next line ``` -------------------------------- ### Markdown Spec Example: Empty Sections 1 Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-spec-example/src/test/resources/ext_spec_example_formatter_spec.md This example demonstrates how the flexmark-java formatter handles an empty section, showing that the input Markdown with a minimal content block (…) is preserved in the output, including its YAML front matter and example fences. ```Markdown --- title: Intentions Spec author: version: date: '2019-10-14' license: '[CC-BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)' ... ```````````````` example … ```````````````` ``` ```Markdown --- title: Intentions Spec author: version: date: '2019-10-14' license: '[CC-BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)' ... ```````````````` example : 1 … ```````````````` ``` -------------------------------- ### Installing and Linking TypeScript Globally (Shell) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-profile-pegdown/src/test/resources/issue_mn_236_exception_spec.md These shell commands install the TypeScript compiler globally on your system and then link it to your project. Installing globally allows 'tsc' to be run from any directory, while 'npm link' ensures that local projects can still resolve the globally installed package. ```shell npm install typescript -g npm link typescript ``` -------------------------------- ### Markdown List: Nested Unordered List with Asterisks Example 1 Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_translation_formatter_spec.md Demonstrates a standard nested unordered list using asterisk (*) as the bullet marker. The example includes both the input Markdown and its expected rendering output, showcasing basic list structure and indentation. ```Markdown * list item 1 * list item 1.1 * list item 1.2 * list item 1.2.1 * list item 1.2.2 * list item 1.2.3 * list item 2 * list item 2.1 * list item 2.2 * list item 2.2.1 * list item 2.2.2 * list item 2.2.3 . * LiISt iIteEm 1 * LiISt iIteEm 1.1 * LiISt iIteEm 1.2 * LiISt iIteEm 1.2.1 * LiISt iIteEm 1.2.2 * LiISt iIteEm 1.2.3 * LiISt iIteEm 2 * LiISt iIteEm 2.1 * LiISt iIteEm 2.2 * LiISt iIteEm 2.2.1 * LiISt iIteEm 2.2.2 * LiISt iIteEm 2.2.3 ``` -------------------------------- ### Markdown Spec Example: Empty Sections 2 Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-spec-example/src/test/resources/ext_spec_example_formatter_spec.md This example further illustrates the formatter's preservation of empty sections, showing how two minimal content blocks (… …) within Markdown are maintained in the output, including their YAML front matter and example fences. ```Markdown --- title: Intentions Spec author: version: date: '2019-10-14' license: '[CC-BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)' ... ```````````````` example … … ```````````````` ``` ```Markdown --- title: Intentions Spec author: version: date: '2019-10-14' license: '[CC-BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)' ... ```````````````` example : 1 … … ```````````````` ``` -------------------------------- ### Adding Space and Equalizing Trailing Hashes for ATX Headings (Example 6) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_translation_formatter_spec.md This snippet uses `atx-space-add` and `atx-trailing-equalize` on a heading without initial space. It adds a space after the leading hash and equalizes the trailing hashes, adding a space before them. ```Markdown #Heading#### ``` -------------------------------- ### Demonstrating Item Prefix Copying with Flexmark (Wrap 9) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_paragraph_formatter_spec.md This snippet illustrates how configured repeated prefixes like 'Add:', 'Fix:', 'Break:', and 'Deprecate:' are automatically copied when an item is added or split, treating them similarly to task item markers. The example shows the input text and the resulting processed text with the prefixes preserved. ```Flexmark Example Text Add: configuration for repeated prefixes in items, which would `be #2` copied when adding/splitting an item. In other words they ⟦ ⟧⦙would be treated equivalent to task item marker prefix. That way ⟦ ⟧standard: `Add: `, `Fix: `, `Break: ` and `Deprecate: ` prefixes would be automatically copied. ⦙ ⦙ . ``` -------------------------------- ### Markdown List: Unordered List After Blank Line Example 8 Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_translation_formatter_spec.md Demonstrates an unordered list separated from a preceding paragraph by a blank line. This is the standard Markdown practice for distinct block elements, ensuring proper rendering. ```Markdown paragraph * item 1 * item 2 * item 2.1 * item 2.2 . paARaAGRaAph * iIteEm 1 * iIteEm 2 * iIteEm 2.1 * iIteEm 2.2 ``` -------------------------------- ### Markdown Reference Link and Image Formatting Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_translation_formatter_spec.md Demonstrates various forms of Markdown reference links and images, including shorthand, full reference, and image syntax. It shows how these are processed, including case-insensitivity for references. ```Markdown Work with [Markdown] Work with [Markdown][] Work with [Markdown Text][Markdown] Work with ![Markdown][] Work with ![Markdown Image][Markdown] [Markdown]: https://test.com/doc.png ``` ```Markdown woRK WiIth [maARKDoWN] woRK WiIth [maARKDoWN][] woRK WiIth [maARKDoWN teEXt][maARKDoWN] woRK WiIth ![maARKDoWN][] woRK WiIth ![maARKDoWN imaAGeE][maARKDoWN] [maARKDoWN]: https://test.com/doc.png ``` -------------------------------- ### Markdown List: Unordered List Following Paragraph Example 7 Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_translation_formatter_spec.md Shows an unordered list immediately following a paragraph without an intervening blank line. This example tests how a Markdown parser handles the transition from block-level text to a list without explicit separation. ```Markdown paragraph * item 1 * item 2 * item 2.1 * item 2.2 . paARaAGRaAph * iIteEm 1 * iIteEm 2 * iIteEm 2.1 * iIteEm 2.2 ``` -------------------------------- ### Non-Definition: Leading Colon Paragraph - Example 1 Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-definition/src/test/resources/ext_definition_ast_spec.md Illustrates that a line starting with a colon but not preceded by a definition term is treated as a regular paragraph, not a definition list item. The HTML output confirms it's wrapped in a

tag. ```markdown : definition item ``` ```html

: definition item

``` ```ast Document[0, 18] Paragraph[0, 18] Text[0, 17] chars:[0, 17, ": def … item"] ``` -------------------------------- ### Markdown Section Example with Options Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-spec-example/src/test/resources/ext_spec_example_formatter_spec.md This snippet demonstrates a basic Markdown section with specific options 'test' and 'option2'. It shows how a section might be defined or parsed within a larger document structure. ```Markdown Markdown only … ``` -------------------------------- ### Setting Ordered List Start with Non-One Index in Markdown Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-profile-pegdown/src/test/resources/pegdown_spec.md This snippet illustrates how an ordered list item, even if it starts with an index other than '1' (e.g., '2.'), correctly initializes an ordered list. The parser recognizes the starting number and renders the item within an `
    ` tag, maintaining the specified index. ```Markdown 2. Non One Start Item ``` ```HTML
    1. Non One Start Item
    ``` -------------------------------- ### Non-Definition: Numbered List Item with Colon - Example 3 Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-definition/src/test/resources/ext_definition_ast_spec.md Demonstrates that a line starting with a colon, when part of a numbered list item, is treated as content within that list item, not as a definition. The HTML output confirms it remains within the
  1. tag. ```markdown 1. numbered item : definition item ``` ```html
    1. numbered item : definition item
    ``` ```ast Document[0, 35] OrderedList[0, 35] isTight delimiter:'.' OrderedListItem[0, 35] open:[0, 2, "1."] isTight Paragraph[3, 35] Text[3, 16] chars:[3, 16, "numbe … item"] SoftLineBreak[16, 17] Text[17, 34] chars:[17, 34, ": def … item"] ``` -------------------------------- ### Handling ATX Headings in Markdown Lists: Example 23 Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_gfm_doc_compatibility_spec.md Similar to the previous snippet, this example further illustrates GitHub's non-standard handling of ATX headings within markdown lists, specifically when a blank line precedes a nested list item. It shows a truncated version of the previous example, focusing on the initial headings and nested list structure. The 'options(FAIL)' again indicates this is a test case for a known deviation. ```Markdown * item 1 # Heading 1 ## Heading 2 ### Heading 3 #### Heading 4 ##### Heading 5 ###### Heading 6 * item 2 # Heading 1 ## Heading 2 ``` -------------------------------- ### HTML Output for Numbered Headings (Example 2) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-enumerated-reference/src/test/resources/ext_enumerated_reference_ast_spec.md The HTML output generated by flexmark-java from the second Markdown input example, illustrating the automatic numbering of headings. ```HTML

    1 Numbered Heading 1

    1.1 Numbered Heading 1.1

    2 Numbered Heading 2

    2.1 Numbered Heading 2.1

    ``` -------------------------------- ### Parsing Headings and TOC (flexmark-java) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-formatter-test-suite/src/test/resources/formatter_issue_test_suite_spec.md This example illustrates flexmark-java's ability to parse various heading levels and a Table of Contents (TOC) definition. It shows how headings are rendered and how a TOC placeholder is handled, demonstrating basic structural parsing. ```Markdown ## Header 2 ### Header 3 ### What you didn't know you were missing [TOC]: # "" ### title"s - [Header 2](#header-2) - [Header 3](#header-3) ``` ```Text ## Header 2 ### Header 3 ``` -------------------------------- ### Non-Definition: Bullet List Item with Colon - Example 2 Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-definition/src/test/resources/ext_definition_ast_spec.md Shows that a line starting with a colon, when part of a bullet list item, is treated as content within that list item, not as a definition. The HTML output confirms it remains within the
  2. tag. ```markdown - bullet item : definition item ``` ```html ``` ```ast Document[0, 32] BulletList[0, 32] isTight BulletListItem[0, 32] open:[0, 1, "-"] isTight Paragraph[2, 32] Text[2, 13] chars:[2, 13, "bulle … item"] SoftLineBreak[13, 14] Text[14, 31] chars:[14, 31, ": def … item"] ``` -------------------------------- ### Text Wrapping with Caret Adjustment (Example 6) - Markdown Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_wrapping_spec.md This example demonstrates text wrapping with a margin of 96, `insert-space`, and `restore-tracked-spaces`. It focuses on how the wrapping logic adjusts the typing caret position when spaces are encountered after non-space characters and before elements that should remain at the start of a line. ```Markdown ### Next 2.9.0.227/2.9.7.227 - Dev Build * Fix: wrap on typing caret adjustment on space after non-space and before keep at start of line elements. ``` -------------------------------- ### Basic Markdown Example with Test Option Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-spec-example/src/test/resources/ext_spec_example_formatter_spec.md This snippet shows a minimal Markdown input 'Markdown only' within a flexmark-java example block. It's configured with the 'test' option, likely for basic parsing validation. ```Markdown Markdown only ``` -------------------------------- ### Parsing Markdown Changelog (flexmark-java) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-formatter-test-suite/src/test/resources/formatter_issue_test_suite_spec.md This example shows flexmark-java parsing a standard Markdown changelog. It illustrates the rendering of headings, lists, and text, demonstrating basic Markdown parsing capabilities without specific options. ```Markdown # Changelog ### 0.4 - browser support ### 0.3 - passing more information into {Function} config - API change: returning {Object} with code, ast, comments and tokens attached instead of just a code {String} - comments support ### 0.2 - upgrade to Esprima 1.0.0 ### 0.1 - first working version ``` ```Text # Changelog ### 0.4 - browser support ### 0.3 - passing more information into {Function} config - API change: returning {Object} with code, ast, comments and tokens attached instead of just a code {String} - comments support ### 0.2 - upgrade to Esprima 1.0.0 ### 0.1 - first working version ``` -------------------------------- ### Setting Ordered List Start Number (Markdown) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-profile-pegdown/src/test/resources/pegdown_profile_compatibility_spec.md This snippet illustrates that an ordered list item can explicitly set the starting number of the list, even if it's not '1'. It shows the Markdown input, the resulting HTML, and the flexmark-java Abstract Syntax Tree, demonstrating how the parser respects the specified starting index. ```Markdown 2. Non One Start Item ``` ```HTML
    1. Non One Start Item
    ``` ```flexmark-java AST Document[0, 21] OrderedList[0, 21] isTight start:2 delimiter:'.' OrderedListItem[0, 21] open:[0, 2, "2."] isTight Paragraph[3, 21] Text[3, 21] chars:[3, 21, "Non O … Item"] ``` -------------------------------- ### Demonstrating Item Prefix Copying with Flexmark (Wrap 12) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_paragraph_formatter_spec.md This snippet demonstrates the handling of repeated prefixes, including leading spaces, when items are added or split. It shows how the configured prefixes are automatically copied, even with variations in initial spacing. ```Flexmark Example Text Add: configuration for repeated prefixes in items, which would `be #2` copied when adding/splitting an item. In other words they ⟦ ⟧would be treated equivalent ⦙ to task item marker prefix. That way ⟦ ⟧standard: `Add: `, `Fix: `, `Break: ` and `Deprecate: ` prefixes would be automatically copied. . ``` -------------------------------- ### Handling Unclosed Strikethrough in GFM Extension - Example 4 Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-gfm-strikethrough/src/test/resources/ext_strikethrough_subscript_ast_spec.md This example shows that text starting with `~~` but without a closing `~~` is not rendered as strikethrough by the GFM Strikethrough Extension. It includes the CommonMark input, the HTML output `

    ~~foo

    `, and the AST, confirming the `~~` are treated as literal text due to the unclosed tag. ```CommonMark ~~foo ``` ```HTML

    ~~foo

    ``` ```AST Document[0, 5] Paragraph[0, 5] Text[0, 5] chars:[0, 5, "~~foo"] ``` -------------------------------- ### Definition List Example 1 - Markdown Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-definition/src/test/resources/ext_definition_formatter_spec.md An example showing a definition item without a preceding term, which might not render as a standard definition list or could be part of a larger context. ```Markdown : definition item . : definition item ``` -------------------------------- ### Wrap Functionality Example 2 - Margin with Tracked Offset Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_paragraph_formatter_spec.md This example demonstrates the 'Wrap' functionality with a margin of 66, showing the effect of a tracked offset (indicated by ⦙) on the wrapping behavior. It illustrates how repeated prefixes in items are automatically copied when adding or splitting an item. ```Text Add: configuration for repeated prefixes in items, which would `be #2` ⦙copied when adding/splitting an item. In other words they would be treated equivalent to task item marker prefix. That way standard: `Add: `, `Fix: `, `Break: ` and `Deprecate: ` prefixes would be automatically copied. ``` -------------------------------- ### GFM Task List Markdown Input - Example 19 Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-gfm-tasklist/src/test/resources/ext_gfm_tasklist_ast_spec.md Demonstrates basic GitHub Flavored Markdown (GFM) task list syntax, including both standard list items and task list items, with consistent indentation. This input is processed by flexmark-java to generate HTML and an AST. ```Markdown - task - [ ] task 1. task 1. [ ] task ``` -------------------------------- ### Escaping Pipe Characters in Markdown with Flexmark-Java Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-formatter-test-suite/src/test/resources/formatter_issue_test_suite_spec.md This snippet demonstrates how a pipe character ('|') needs to be escaped when it appears at the start of a wrapped line in Markdown, especially when 'aside' is enabled, to prevent misinterpretation during parsing. ```Markdown Text wrapping pipe `|` should be escaped when | is wrapped to start of line. ``` -------------------------------- ### Autolink WWW URLs (Issue #178) - Markdown Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-autolink/src/test/resources/ext_autolink_ast_spec.md This example addresses Issue #178, demonstrating that the AutolinkExtension correctly adds the `http://` prefix to simple URLs starting with `www.` when converting them into hyperlinks. ```Markdown auto link www.example.com ``` -------------------------------- ### Separating Aside Blocks with a Blank Line (Markdown) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-aside/src/test/resources/ext_aside_ast_spec.md This example demonstrates that a blank line between two lines starting with the Aside marker `|` will cause them to be parsed as two distinct Aside blocks, each containing its own paragraph. ```Markdown | foo\n\n| bar\n ``` -------------------------------- ### Basic Markdown Parsing and HTML Rendering in Java Source: https://github.com/vsch/flexmark-java/blob/master/README.md This Java code demonstrates the fundamental usage of flexmark-java to parse a Markdown string and render it as HTML. It initializes a `Parser` and `HtmlRenderer` with default options, parses the input, and prints the resulting HTML. Optional extensions and soft-break handling are commented out as examples. ```Java package com.vladsch.flexmark.samples; import com.vladsch.flexmark.util.ast.Node; import com.vladsch.flexmark.html.HtmlRenderer; import com.vladsch.flexmark.parser.Parser; import com.vladsch.flexmark.util.data.MutableDataSet; public class BasicSample { public static void main(String[] args) { MutableDataSet options = new MutableDataSet(); // uncomment to set optional extensions //options.set(Parser.EXTENSIONS, Arrays.asList(TablesExtension.create(), StrikethroughExtension.create())); // uncomment to convert soft-breaks to hard breaks //options.set(HtmlRenderer.SOFT_BREAK, "
    \n"); Parser parser = Parser.builder(options).build(); HtmlRenderer renderer = HtmlRenderer.builder(options).build(); // You can re-use parser and renderer instances Node document = parser.parse("This is *Sparta*"); String html = renderer.render(document); // "

    This is Sparta

    \n" System.out.println(html); } } ``` -------------------------------- ### Markdown Syntax Demonstration with HTML Output Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-profile-pegdown/src/test/resources/pegdown_profile_compatibility_spec.md This example showcases a comprehensive set of Markdown features, including headings, thematic breaks, paragraphs with lazy continuation, nested lists (bullet and numbered), blockquotes, and both fenced and indented code blocks. It provides the original Markdown input and its corresponding HTML rendering, demonstrating how flexmark-java processes these elements. ```Markdown #Heading ----- paragraph text lazy continuation * list item > block quote lazy continuation ~~~info with uneven indent with uneven indent indented code ~~~ with uneven indent with uneven indent indented code 1. numbered item 1 1. numbered item 2 1. numbered item 3 - bullet item 1 - bullet item 2 - bullet item 3 1. numbered sub-item 1 1. numbered sub-item 2 1. numbered sub-item 3 ~~~info with uneven indent with uneven indent indented code ~~~ with uneven indent with uneven indent indented code ``` ```HTML

    Heading


    paragraph text lazy continuation

            with uneven indent
               with uneven indent
         indented code
    
        with uneven indent
           with uneven indent
     indented code
    
    1. numbered item 1
    2. numbered item 2
    3. numbered item 3
      • bullet item 1
      • bullet item 2
      • bullet item 3
        1. numbered sub-item 1
        2. numbered sub-item 2
        3. numbered sub-item 3
              with uneven indent
                 with uneven indent
           indented code
      
          with uneven indent
             with uneven indent
       indented code
      
    ``` -------------------------------- ### Inline Images/Links: Image & Explicit Links at Start Options (Markdown) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_formatter_no_blanklines_spec.md This example combines `image-links-at-start` and `explicit-links-at-start`. Both image links and explicit links will be rendered on new lines, causing line breaks before each. ```Markdown text with [link](/url) followed by ![alt](/image) ``` ```Markdown text with [link](/url) followed by ![alt](/image) ``` -------------------------------- ### Parsing Nested Block Quotes with Compact Spacing and Minimized Fenced Code (Example 1) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_translation_formatter_spec.md This example demonstrates parsing nested block quotes, lazy continuations, indented code blocks (fenced and un-fenced), and numbered lists within block quotes. It uses `block-quote-compact-with-space` and `fenced-code-minimize` options, showing how the parser handles spacing and code block rendering. ```Markdown > > block quote > lazy continuation > > ~~~info > indented code > code > ~~~ > > indented code > 1. numbered item 1 ``` -------------------------------- ### Webpack Configuration for TypeScript with ts-loader Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-profile-pegdown/src/test/resources/issue_mn_236_exception_spec.md This JavaScript snippet provides a Webpack configuration example for compiling TypeScript files using `ts-loader`. It defines the entry point, output bundle, resolves `.ts` and `.js` extensions, and sets up a rule to process `.ts` files with `ts-loader`. ```javascript module.exports = { entry: './src/index.ts', output: { filename: 'bundle.js', path: __dirname + '/dist' }, resolve: { extensions: ['.ts', '.js'] }, module: { rules: [ { test: /\.ts$/, loader: 'ts-loader' } ] } }; ``` -------------------------------- ### Inline Images/Links: Image Links at Start Option (Markdown) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_formatter_no_blanklines_spec.md This example demonstrates the `image-links-at-start` option. When enabled, any image link encountered will be rendered on a new line, effectively breaking the line before the image. ```Markdown text with [link](/url) followed by ![alt](/image) ``` ```Markdown text with [link](/url) followed by ![alt](/image) ``` -------------------------------- ### Basic Footnote Example in Markdown Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-footnotes/src/test/resources/ext_footnotes_translation_formatter_spec.md Demonstrates a basic footnote reference and definition, including a continuation line. Shows how the text and footnote content are transformed by the flexmark-java processor. ```Markdown Input text [^footnote] embedded. [^footnote]: footnote text with continuation ``` ```Transformed Markdown Output teEXt [^_1_] eEmBeEDDeED. >>>FootNoteE teEXt WiIth coNtiINuUaAtiIoN ``` -------------------------------- ### Tables Without Explicit Headers (flexmark-java) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-jira-converter/src/test/resources/jira_converter_ast_spec.md This example shows how the flexmark-java Tables Extension handles tables that do not have an explicit header row, starting directly with the separator line. It demonstrates that the first row after the separator is treated as a body row. ```Markdown |---|--- | col1 | col2| ``` -------------------------------- ### Rendering Ordered Lists with Left Numeric Alignment and Reset in Markdown Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_formatter_spec.md This example uses `list-align-numeric-left` to left-align list numbers and `list-reset-first-item` to renumber items sequentially starting from 1. This ensures consistent alignment regardless of digit count. ```Markdown 2. item 1 3. item 2 10. item 2.1 1. item 2.2 1. item 2.2 1. item 2.2 1. item 2.2 100. item 2.2 1. item 2.2 3. item 2 3. item 2 3. item 2 3. item 2 3. item 2 3. item 2 3. item 2 3. item 2 3. item 2 300. item 2 3. item 2 30. item 2 3. item 2 ``` ```Markdown 1. item 1 2. item 2 1. item 2.1 2. item 2.2 3. item 2.2 4. item 2.2 5. item 2.2 6. item 2.2 7. item 2.2 3. item 2 4. item 2 5. item 2 6. item 2 7. item 2 8. item 2 9. item 2 10. item 2 11. item 2 12. item 2 13. item 2 14. item 2 15. item 2 ``` -------------------------------- ### Markdown Inline Link and Image Formatting Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_translation_formatter_spec.md Illustrates various forms of Markdown inline links and images, including those with and without titles. It also shows a reference definition, demonstrating how inline syntax is processed. ```Markdown Work with [Markdown](https://test.com/doc.png) Work with [Markdown](https://test.com/doc.png "") Work with [Markdown](https://test.com/doc.png "test") Work with ![Markdown](https://test.com/doc.png) Work with ![Markdown](https://test.com/doc.png "") Work with ![Markdown](https://test.com/doc.png "test") [Markdown]: https://test.com/doc.png "test" ``` ```Markdown woRK WiIth [maARKDoWN](https://test.com/doc.png) woRK WiIth [maARKDoWN](https://test.com/doc.png "") woRK WiIth [maARKDoWN](https://test.com/doc.png "teESt") woRK WiIth ![maARKDoWN](https://test.com/doc.png) woRK WiIth ![maARKDoWN](https://test.com/doc.png "") woRK WiIth ![maARKDoWN](https://test.com/doc.png "teESt") [maARKDoWN]: https://test.com/doc.png "teESt" ``` -------------------------------- ### Image: Basic Markdown Image Example Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-profile-pegdown/src/test/resources/pegdown_extension_compatibility_spec.md Illustrates a basic Markdown image syntax ![alt text](url), showing how it's rendered into an tag within a paragraph. ```Markdown ![alt](/url) ``` ```HTML

    alt

    ``` -------------------------------- ### WikiLink with Absolute Link Prefix Handling Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-wikilink/src/test/resources/ext_wikilink_ast_spec.md Demonstrates how `link-prefix-absolute` option affects WikiLink generation for both relative and absolute paths. Links starting with `/` are prefixed with an 'absolute' path, while others get a 'relative' prefix, showcasing flexible URL generation. ```WikiLink Markup [[Page]] [[dir/Page]] [[/Page]] [[/dir/Page]] ``` -------------------------------- ### HTML Output for Numbered Headings (Example 1) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-enumerated-reference/src/test/resources/ext_enumerated_reference_ast_spec.md The HTML output generated by flexmark-java from the first Markdown input example, showing how headings are automatically numbered based on the defined references. ```HTML

    0.1. Numbered Heading 0.1

    1. Numbered Heading 1

    1.1. Numbered Heading 1.1

    2. Numbered Heading 2

    2.1. Numbered Heading 2.1

    ``` -------------------------------- ### Installing TypeScript as a Dev Dependency (Shell) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-profile-pegdown/src/test/resources/issue_mn_236_exception_spec.md Installs the TypeScript compiler as a development dependency for the current project. This ensures the project has its own version of TypeScript available for compilation. ```Shell npm install --save-dev typescript ``` -------------------------------- ### Rendering Ordered Lists with First Item Reset in Markdown Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_formatter_spec.md This example demonstrates the `list-reset-first-item` option, which forces the first item of any ordered list to start at 1, and subsequent items are renumbered sequentially. Nested lists also reset their first item. ```Markdown 2. item 1 3. item 2 4. item 2.1 1. item 2.2 ``` ```Markdown 1. item 1 2. item 2 1. item 2.1 2. item 2.2 ``` -------------------------------- ### Prioritized Task List (Low Priority) - Example 20 (Markdown/Task List) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-gfm-tasklist/src/test/resources/ext_gfm_tasklist_formatter_spec.md This snippet continues the demonstration of a 'low' priority task list, focusing on detailed caret offset tracking within the task items and regular list items. It shows how specific characters and prefixes are tracked. ```Markdown/Task List * item ⦙1⦙.⦙ ⦙[⦙ ⦙]⦙ ⦙Add1:⦙ ⦙*⦙ ⦙Add2:⦙ * [ ] Add3: * [ ] Fix: + [ ] do not ``` -------------------------------- ### Generating Ordered TOC with Missing First Level Heading (No Spacer) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-toc/src/test/resources/ext_simtoc_formatter_markdown_spec.md This example illustrates generating an ordered Table of Contents when the document starts with a heading level other than 1. It shows how the `[TOC levels=1-6]:#` directive handles the hierarchy when the top-level heading is absent. ```Markdown [TOC levels=1-6]:# ## Header 1 # Header 2 ### Header 3 ## Header 4 # Header 5 . [TOC levels=1-6]: # ``` -------------------------------- ### Adding Source Position Attributes to HTML Elements Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-gitlab/src/test/resources/ext_gitlab_ast_spec.md This example shows how the 'src-pos' option adds 'md-pos' attributes to generated HTML elements, indicating their original character start and end positions in the Markdown source. This is useful for debugging or linking back to source. ```markdown >>> Block Quote Contents >>> Nested Block Quote Contents >>> >>> ``` ```html

    Block Quote Contents

    Nested Block Quote Contents

    ``` -------------------------------- ### Handling HTML Blocks in Formatter Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_translation_formatter_spec.md This example illustrates how the formatter processes HTML block elements. It shows that the content within the HTML tags is translated, but the HTML tags themselves are preserved, demonstrating partial translation within HTML structures. ```HTML this is a test ``` -------------------------------- ### Markdown Loose Item Handling: Example 9 Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-profile-pegdown/src/test/resources/pegdown_profile_compatibility_spec.md This example demonstrates Markdown list rendering, focusing on how blank lines between list items affect their 'tightness' or 'looseness' in the generated HTML. It provides the Markdown input and the corresponding HTML output. ```Markdown - item 1 - item 1.1 - item 2 - item 2.1 - item 3 - item 3.1 - item 4 - item 4.1 ``` ```HTML ``` ```Java (Parse Tree) Document[0, 102] BulletList[0, 102] isTight BulletListItem[0, 24] open:[0, 1, "-"] isTight Paragraph[2, 9] Text[2, 8] chars:[2, 8, "item 1"] BulletList[13, 24] isTight BulletListItem[13, 24] open:[13, 14, "-"] isTight Paragraph[15, 24] ``` -------------------------------- ### Parsing Flat Lists with Indentation - Issue 108: 2 Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_pegdown_compatibility_spec.md This snippet demonstrates how flexmark-java parses a series of ordered list items that are indented but result in a flat list structure, unlike the previous nested example. The input shows list items '1.', '2.', and '3.' all starting with two spaces of indentation. The parser correctly interprets this as a single flat ordered list, where all items are at the same level. This example further clarifies the behavior related to Issue #108 and list item indentation. ```Markdown 1. **download** \n 2. **abc** \n 3. **999** ``` -------------------------------- ### Markdown List Example 24 with Tight Spacing and Paragraph Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_translation_formatter_spec.md This snippet demonstrates Markdown list rendering with the 'list-spacing-tight' option, including a trailing paragraph. It illustrates the compact list spacing achieved by this option and the clear separation of the subsequent paragraph. ```Markdown * item 1 * item 2 * item 2.1 * item 2.2 * item 3 paragraph ``` -------------------------------- ### Parsing Block-Quoted Ordered List Without Ignore Blank Line (Example 3) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-aside/src/test/resources/ext_aside_ast_spec.md This snippet shows how a block-quoted ordered list is parsed when only `extend-to-blank-line` is enabled, but `ignore-blank-line` is absent. A blank line between list items causes the list to terminate and a new blockquote and list to start. ```Markdown > 1. item > 2. item > 3. item ``` -------------------------------- ### Loose and Tight Definitions - HTML Output Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-definition/src/test/resources/ext_definition_ast_spec.md Displays the HTML output generated from the Markdown example of loose and tight definitions, demonstrating how blank lines lead to

    tags within

    elements. ```html
    Definition Term

    Loose Definition of above term

    Tight definition of above term

    Another loose definition term

    ``` -------------------------------- ### Indented Code Block Formatting (Plain Text) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_translation_formatter_spec.md Illustrates how plain indented text blocks are processed, maintaining their original indentation. This example shows both the input and the identical output, indicating literal interpretation of spacing. ```Text with uneven indent with uneven indent indented code ``` ```Text with uneven indent with uneven indent indented code ``` -------------------------------- ### Parsing Block Quotes with Lazy Continuation Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-core-test/src/test/resources/core_gfm_doc_compatibility_spec.md This example demonstrates 'lazy continuation' in block quotes. A line not starting with '>' but following a block-quoted line is considered part of the block quote until a non-indented line breaks the block quote. The parser renders the continued text within the same blockquote paragraph. ```Markdown > block quoted text lazy continuation another paragraph ``` ```HTML

    block quoted text lazy continuation

    another paragraph

    ``` ```AST Document[0, 56] BlockQuote[0, 38] marker:[0, 1, ">"] Paragraph[2, 38] isTrailingBlankLine Text[2, 19] chars:[2, 19, "block … text"] SoftLineBreak[19, 20] Text[20, 37] chars:[20, 37, "lazy … ation"] Paragraph[39, 56] Text[39, 56] chars:[39, 56, "anoth … graph"] ``` -------------------------------- ### Enabling Source Position Attributes in HTML Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-typographic/src/test/resources/ext_typographic_ast_spec.md This example shows how to enable the `src-pos` option to include source position attributes in the generated HTML. The `md-pos` attribute on HTML elements indicates the start and end character offsets from the original Markdown source, useful for debugging or linking back to source. ```Markdown Sample with l'existence, from 1...2 and so on. . . en--dash and em---dash ``` ```HTML

    Sample with l’existence, from 1…2 and so on…

    en–dash and em—dash

    ``` -------------------------------- ### Rendering Task List with Heading (Issue #136, Example 2) Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-profile-pegdown/src/test/resources/pegdown_extension_compatibility_spec.md This example demonstrates the rendering of a Markdown task list preceded by a heading. It verifies that flexmark-java correctly processes the task list syntax into an HTML unordered list with interactive checkboxes, maintaining the heading structure. ```Markdown # Task List - [x] Task 1 - [ ] Task 2 - [x] Task 3 ``` ```HTML

    Task List

    •  Task 1
    •  Task 2
    •  Task 3
    ``` ```AST Document[0, 50] Heading[0, 11] textOpen:[0, 1, "#"] text:[2, 11, "Task List"] Text[2, 11] chars:[2, 11, "Task List"] BulletList[12, 50] isTight TaskListItem[12, 25] open:[12, 13, "-"] openSuffix:[14, 17, "[x]"] isTight isDone Paragraph[18, 25] Text[18, 24] chars:[18, 24, "Task 1"] TaskListItem[25, 38] open:[25, 26, "-"] openSuffix:[27, 30, "[ ]"] isTight isNotDone Paragraph[31, 38] Text[31, 37] chars:[31, 37, "Task 2"] TaskListItem[38, 50] open:[38, 39, "-"] openSuffix:[40, 43, "[x]"] isTight isDone Paragraph[44, 50] Text[44, 50] chars:[44, 50, "Task 3"] ``` -------------------------------- ### Aside Blocks and Interspersing Blank Lines Source: https://github.com/vsch/flexmark-java/blob/master/flexmark-ext-aside/src/test/resources/ext_aside_ast_spec.md Illustrates that blank lines within nested Aside blocks, even if followed by markers, can terminate the current aside and start a new one, or break the nesting. This example shows how a blank line can break the continuation of nested asides, leading to new top-level asides. ```Markdown | Block Quote || Nested Quote ||| Another Quote |||| Nested Quote ``` ```HTML