flexmark-java
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
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));
-
Input text used
<ul><li>**BulletPoint**[link](/url)</li></ul> <row gap="tiny"><table><tr><td>**Table** [link](/url) </td></tr> </table></row> -
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 |