erusev / parsedown

Better Markdown Parser in PHP

Home Page:https://parsedown.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

List sub-items don't render in the correct position

zmip opened this issue · comments

commented

Compact:

- List item 1, level 1
- List item 2, level 1
  With paragraph
  - Sublist item 1, level 2
  - Sublist item 2, level 2
    With paragraph

Renders like this:

<ul>
    <li>List item 1, level 1</li>
    <li>List item 2, level 1<br />
        With paragraph
        <ul>
            <li>Sublist item 1, level 2</li>
            <li>Sublist item 2, level 2<br />
            With paragraph</li>
        </ul>
    </li>
</ul>

In this case, <br /> tags get added for the "paragraphs".

Spacious (created with Typora):

- List item 1, level 1

- List item 2, level 1

  With paragraph

  - Sublist item 1, level 2

  - Sublist item 2, level 2

    With paragraph

Renders like this:

<ul>
    <li>
        <p>List item 1, level 1</p>
    </li>
    <li>
        <p>List item 2, level 1</p>
        <p>With paragraph</p>
        <ul>
            <li>
                <p>Sublist item 1, level 2</p>
            </li>
            <li>
                <p>Sublist item 2, level 2</p>
            </li>
        </ul>
        <p>With paragraph</p>
    </li>
</ul>

Note that the paragraph of for List item 2 is okay, but completely in the wrong position (outside the sublist) for Sublist item 2.

Pandoc (commonmark to html) or Typora render it, as expected, correctly like this:

<ul>
    <li>
        <p>List item 1, level 1</p>
    </li>
    <li>
        <p>List item 2, level 1</p>
        <p>With paragraph</p>
        <ul>
            <li>
                <p>Sublist item 1, level 2</p>
            </li>
            <li>
                <p>Sublist item 2, level 2</p>
                <p>With paragraph</p>
            </li>
        </ul>
    </li>
</ul>