1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 21:07:35 +00:00

LibMarkdown: Implement "tightness" for lists

From the commonmark spec:
A list is loose if any of its constituent list items are separated by
blank lines, or if any of its constituent list items directly contain
two block-level elements with a blank line between them. Otherwise a
list is tight. (The difference in HTML output is that paragraphs in a
loose list are wrapped in <p> tags, while paragraphs in a tight list are
not.)
This commit is contained in:
Peter Elliott 2021-09-28 01:12:00 -06:00 committed by Ali Mohammad Pur
parent 5bb87c630c
commit 0a21c2bace
15 changed files with 75 additions and 28 deletions

View file

@ -9,12 +9,20 @@
namespace Markdown {
String Paragraph::render_to_html() const
String Paragraph::render_to_html(bool tight) const
{
StringBuilder builder;
builder.append("<p>");
if (!tight)
builder.append("<p>");
builder.append(m_text.render_to_html());
builder.append("</p>\n");
if (!tight)
builder.append("</p>");
builder.append('\n');
return builder.build();
}