Skip to content

List Items are rendered incorrectly if followed by a table without a blank line in between #1236

@jbridgy

Description

@jbridgy

The Previewer of MM v3.9.12.3 does not render list items correctly if they are followed by a table without a separating blank line.

  1. If the item text preceding the table is a single line then MM does not render it at all.
  2. If the item spans more than one line then the table is rendered as normal text, not as table.

I think case 1 is a bug because it swallows information and looks fine at first sight.
Case 2 is not nice, but makes sense. It is immediately noticeable that the simplified parser treats the table as normal text.

Interestingly it does not matter whether 'Toggle Soft Returns as Hard Returns' is enabled or not (UseSoftlineBreakAsHardlineBreak in MarkdownMonster.json).

Example as Markdown Text

### Example

#### Standard Item List
* Table 1

    | Header 1       | Header 2       |
    |----------------|----------------|
    | Row 1 Column 1 | Row 1 Column 2 |

* Table 2
    | Header 1       | Header 2       |
    |----------------|----------------|
    | Row 1 Column 1 | Row 1 Column 2 |

* Table 3
  Lorem ipsum ...
  Lorem ipsum ...
    | Header 1       | Header 2       |
    |----------------|----------------|
    | Row 1 Column 1 | Row 1 Column 2 |

#### Numbered Item List
1. Table 1

    | Header 1       | Header 2       |
    |----------------|----------------|
    | Row 1 Column 1 | Row 1 Column 2 |

2. Table 2
    | Header 1       | Header 2       |
    |----------------|----------------|
    | Row 1 Column 1 | Row 1 Column 2 |

3. Table 3
   Lorem ipsum ...
   Lorem ipsum ...
    | Header 1       | Header 2       |
    |----------------|----------------|
    | Row 1 Column 1 | Row 1 Column 2 |

As you can see below, this example is rendered correctly by GitHub, but not by MM.

Example rendered by GitHub

Standard Item List

  • Table 1

    Header 1 Header 2
    Row 1 Column 1 Row 1 Column 2
  • Table 2

    Header 1 Header 2
    Row 1 Column 1 Row 1 Column 2
  • Table 3
    Lorem ipsum ...
    Lorem ipsum ...

    Header 1 Header 2
    Row 1 Column 1 Row 1 Column 2

Numbered Item List

  1. Table 1

    Header 1 Header 2
    Row 1 Column 1 Row 1 Column 2
  2. Table 2

    Header 1 Header 2
    Row 1 Column 1 Row 1 Column 2
  3. Table 3
    Lorem ipsum ...
    Lorem ipsum ...

    Header 1 Header 2
    Row 1 Column 1 Row 1 Column 2

Example rendered by MM Previewer (with 'Soft Returns as Hard Returns' enabled)

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions