Defect #21181
closedMarkdown Formatter incorrectly parses lists
0%
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)
Output from Redmine's inbuilt Markup Parser
Files
Related issues
Updated by Marius BĂLTEANU over 6 years ago
- File output.png added
- File expected_m.png added
Updated by Marius BĂLTEANU over 6 years ago
- Status changed from New to Needs feedback
Updated by Marius BĂLTEANU over 6 years ago
- File expected_m.png 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.
Updated by Marius BĂLTEANU over 6 years ago
Marius BALTEANU wrote:
I'm going to report this issue to the redcarpet gem team because is not generated by Redmine.
Updated by Marius BĂLTEANU almost 3 years ago
- File parse_lists.png added
- Status changed from Confirmed to Closed
- Resolution set to Fixed
The current Markdown implementation based on RedCarpet is deprecated, it is going to be dropped in the future versions and it will be replaced by the CommonMark Markdown (Github Flavoured) formatter that is available in Redmine 5.0.0 (#32424).
To fix this issue, you should migrate to the new engine which correctly parses the lists:
Updated by Marius BĂLTEANU almost 3 years ago
- Related to Feature #32424: CommonMark Markdown Text Formatting added
Updated by Marius BĂLTEANU almost 3 years ago
- File parse_lists.png parse_lists.png added