Fix small markdown spacing issue

Adds a listitem renderer overwrite to marked which
wraps everything that is inside a <li> which isn't only single <p> tag
into a <div class="list-content"> which we give a margin: 1rem 0;

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
This commit is contained in:
Sebastian Martinez
2023-04-03 14:30:58 +02:00
parent a168a4d126
commit a6bc6d3c27
2 changed files with 14 additions and 0 deletions
+3
View File
@@ -250,6 +250,9 @@
padding-left: 1.25rem;
margin-bottom: 1rem;
}
.markdown :global(.list-content) {
margin: 1rem 0;
}
.markdown :global(li > ul) {
margin-bottom: 0rem;
}
+11
View File
@@ -125,6 +125,17 @@ export const renderer = {
return `<h${level} id="${escapedText}">${text}</h${level}>`;
},
listitem(text: string) {
const hasLineBreaks = text.trim().indexOf("\n");
if (hasLineBreaks === -1) {
return `<li>${text}</li>`;
}
const [first, ...remaining] = text.trim().split("\n");
const liContent = `${first}<div class="list-content">${remaining.join(
"\n",
)}</div>`;
return `<li>${liContent}</li>`;
},
};
export const markdownExtensions = [