flexmark-java icon indicating copy to clipboard operation
flexmark-java copied to clipboard

The parser fails to parse marks inside <ul><li> and <row><table><tr><td> if not preceeded by a blank line

Open PrometeusGod opened this issue 2 years ago • 0 comments

bug description With a hybrid HTML/MD input The parser fails to parse marks inside

<ul><li> 

and inside

<row><table><tr><td>

Where the bug is located:

  • [X] Parser

Sample code which exhibits the issue.

 Parser parser = Parser.builder().build();
        HtmlRenderer renderer = HtmlRenderer.builder().build();
        String output = """
                <ul><li>**BulletPoint**[link](/url)</li></ul>
                <row gap="tiny"><table><tr><td>**Table** [link](/url) </td></tr> </table></row>
                """;
        Node document = parser.parse(output);
        out.println(renderer.render(document));
  1. Input text used

                 <ul><li>**BulletPoint**[link](/url)</li></ul>
                 <row gap="tiny"><table><tr><td>**Table** [link](/url) </td></tr> </table></row>
    
  2. Options used to configure the parser, renderer, formatter, etc.

No options/default Parser parser = Parser.builder().build(); HtmlRenderer renderer = HtmlRenderer.builder().build();

Expected behavior

  • BulletPoint link
Table link

Resulting Output :

  • **BulletPoint**[link](/url)
**Table** [link](/url)

Note:

Having a blank line right before the mark makes it parsable but adds an unwanted paragraph around the line, which is a problem for multiple bulletpoints and inside tables

<ul><li>
             
**BulletPoint**[link](/url)</li></ul><row gap="tiny"><table><tr><td>**Table**[link](/url)</td></tr></table></row>

Resulting Output :

  • BulletPointlink

Tablelink

PrometeusGod avatar Oct 30 '23 21:10 PrometeusGod