Fix rendering of alerts in markdown when not breaking (#21856)

This commit is contained in:
Joakim Sørensen
2024-09-02 17:21:58 +02:00
committed by GitHub
parent d8013a4db9
commit 5613df1d01
3 changed files with 115 additions and 1 deletions

View File

@@ -96,7 +96,25 @@ class HaMarkdownElement extends ReactiveElement {
haAlertNode.append(
...Array.from(node.childNodes)
.map((child) => Array.from(child.childNodes))
.map((child) => {
const arr = Array.from(child.childNodes);
if (!this.breaks && arr.length) {
// When we are not breaking, the first line of the blockquote is not considered,
// so we need to adjust the first child text content
const firstChild = arr[0];
if (
firstChild.nodeType === Node.TEXT_NODE &&
firstChild.textContent === gitHubAlertMatch.input &&
firstChild.textContent?.includes("\n")
) {
firstChild.textContent = firstChild.textContent
.split("\n")
.slice(1)
.join("\n");
}
}
return arr;
})
.reduce((acc, val) => acc.concat(val), [])
.filter(
(childNode) =>