Allow HTML comments containing "--" even though it is not allowed by the CommonMark specification because it is allowed by the HTML specification and it happens in real life (fixes #996).

This commit is contained in:
David Anson 2023-10-07 20:18:43 -07:00
parent d2faf40e6a
commit 6eca6f1c3d
5 changed files with 53 additions and 3 deletions

View file

@ -1217,8 +1217,16 @@ function isHtmlFlowComment(token) {
type = token.type;
if (type === "htmlFlow" && text.startsWith("<!--") && text.endsWith("-->")) {
var comment = text.slice(4, -3);
return !comment.startsWith(">") && !comment.startsWith("->") && !comment.endsWith("-") && !comment.includes("--");
return !comment.startsWith(">") && !comment.startsWith("->") && !comment.endsWith("-")
// The following condition from the CommonMark specification is commented
// to avoid parsing HTML comments that include "--" because that is NOT a
// condition of the HTML specification.
// https://spec.commonmark.org/0.30/#raw-html
// https://html.spec.whatwg.org/multipage/syntax.html#comments
// && !comment.includes("--")
;
}
return false;
}