fix: prevent malformed docs accordions

This commit is contained in:
Peter Steinberger
2026-04-24 18:41:30 +01:00
parent 1cfebfe0e1
commit 80608ae26c
2 changed files with 91 additions and 82 deletions

View File

@@ -20,27 +20,17 @@ function visitAccordionIndentation(raw, onMisindentedClose) {
if (openAccordion) {
accordionStack.push({
indent: openAccordion[1].length,
hasOutdentedListItem: false,
});
continue;
}
const listItem = line.match(/^(\s*)[-*+]\s+/u);
if (listItem) {
for (const accordion of accordionStack) {
if (listItem[1].length < accordion.indent) {
accordion.hasOutdentedListItem = true;
}
}
}
const closeAccordion = line.match(/^(\s*)<\/Accordion>/u);
if (!closeAccordion) {
continue;
}
const opening = accordionStack.pop();
if (opening && opening.hasOutdentedListItem && closeAccordion[1].length > opening.indent) {
if (opening && closeAccordion[1].length > opening.indent) {
onMisindentedClose({ closeAccordion, index, line, lines, opening });
}
}