Defect #21181

Markdown Formatter incorrectly parses lists

Added by Sebastian Reuter over 3 years ago. Updated about 1 year ago.

Status:ConfirmedStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:Text formatting
Target version:-
Resolution: Affected version:3.1.1

Description

Originally I wanted to raise a bug about the markdown formatter wrongly interpreting a list sub item as code, because it ignored the double identation instead of single identation for code in lists.

But while building a proper example to reproduce the behavior easily I found that the whole list parsing (for both ordered and unordered lists) is borked.

While I would like to be able to provide exact directions to what exactly is wrong here, the more I played around with this, the more confused I got.

What I can tell for almost certain is that blank lines are at the core of this issue. Normally items should be wrapped in <p> tags when seperated by blank lines, but here (at least for unordered list items in ordered list items) instead the current ordered list is interpreted as ended and a new ordered list started.

I used the official syntax from https://daringfireball.net/projects/markdown/syntax#list as reference, which describes behavior conflicting with what Redmine produces currently.

Example Markup

1.  this is a list item with two child items.
    -  first child

    -  second child wrongly interpreted as code
1.   another item in the same list.
-  text wrongly interpreted as ordered list item

1. last item of the ordered list

Expected Output (taken form Marxico)

Expected Output (taken form Marxico)

Output from Redmine's inbuilt Markup Parser

Output from Redmines inbuilt Markup Parser

correct.JPG - Expected Output (taken form Marxico) (20.3 KB) Sebastian Reuter, 2015-11-08 21:36

wrong.JPG - Output from Redmines inbuilt Markup Parser (25 KB) Sebastian Reuter, 2015-11-08 21:36

expected_m.png (187 KB) Marius BALTEANU, 2018-03-31 11:41

History

#1 Updated by Martin von Wittich about 1 year ago

Still reproducible on 3.4.2.

#2 Updated by Marius BALTEANU about 1 year ago

  • File output.png added
  • File expected_m.png added

#3 Updated by Marius BALTEANU about 1 year ago

  • Status changed from New to Needs feedback

#4 Updated by Marius BALTEANU about 1 year ago

  • File deleted (output.png)

#5 Updated by Marius BALTEANU about 1 year ago

  • File deleted (expected_m.png)

#6 Updated by Marius BALTEANU about 1 year ago

  • File expected_m.png added
  • Status changed from Needs feedback to Confirmed

The real issue here is that the "- text wrongly interpreted as ordered list item" is interpreted as ordered list item instead of unordered. I'm going to report this issue to the redcarpet gem team because is not generated by Redmine.

Regarding the " - second child wrongly interpreted as code" it not quite an issue because of the blank line that precedes this line and the same behaviour is also on the marxico.

#7 Updated by Marius BALTEANU about 1 year ago

Marius BALTEANU wrote:

I'm going to report this issue to the redcarpet gem team because is not generated by Redmine.

https://github.com/vmg/redcarpet/issues/655

Also available in: Atom PDF