Cimbali/markdown-viewer

lists nested in ordered lists are not being handled

Closed this issue · 2 comments

Fedora 4.17.19-100.fc27.x86_64
Firefox 61.0.2 (64-bit)
Markdown Viewer Webext 1.4.0, last updated 2018/09/06
local markdown files

An ordered list nested in another ordered list is flatten into entries of the outer list. An unordered list nested in an ordered list closes the ordered list, and creates an unordered list. At the end of the unordered list, what should be the next entry of the outer list becomes instead the first entry of a new ordered list.

# Nested Ordered Lists

1. First ordered list entry
  1. First nested ordered entry of first outer
  1. Second nested ordered entry of first outer
1. Second outer ordered entry

View selection source

<div class="markdownRoot"><h1 id="nested-ordered-lists">Nested Ordered Lists</h1>
<ol>
<li>First ordered list entry</li>
<li>First nested ordered entry of first outer</li>
<li>Second nested ordered entry of first outer</li>
<li>Second outer ordered entry</li>
</ol>
</div>
# Unordered List nested in Ordered List

1. First ordered outer list entry
  * First unordered nested of first outer ordered
  * Second unordered nested of first outer ordered
1. Second outer ordered entry
<div class="markdownRoot"><h1 id="unordered-list-nested-in-ordered-list">Unordered List nested in Ordered List</h1>
<ol>
<li>First ordered outer list entry</li>
</ol>
<ul>
<li>First unordered nested of first outer ordered</li>
<li>Second unordered nested of first outer ordered</li>
</ul>
<ol>
<li>Second outer ordered entry</li>
</ol>
</div>

Seems to be a nesting depth issue. You need to put the inner lists at least as deep as the content of the outer lists, so that's 3+ spaces, and your nested lists are at 2 spaces.

This plugin uses markdown-it to render its markdown, so I think that's an issue you should take up with them if you disagree with this convention.

Further testing, by putting files on github where their process will convert them to html confirms your information.

The issue is actually with a different app. It has a markdown preview, and that is formatting the failing (here) case as a proper nested list. It seems the previewer is more forgiving than markdown-it.

That said, I thought that the convention (rules) were that 2 spaces for indent was enough. Must be a carry over from most of my programming language conventions. When I did a bit of research, it seems it is actually supposed to be 4 spaces. commonmark nested lists

Reproduce failure here (2 space indent)

  1. First ordered list entry
  2. First nested ordered entry of first outer
  3. Second nested ordered entry of first outer
  4. Second outer ordered entry

And working with extra indent (3 spaces)

  1. First ordered list entry
    1. First nested ordered entry of first outer
    2. Second nested ordered entry of first outer
  2. Second outer ordered entry