mirror of
https://github.com/DavidAnson/markdownlint.git
synced 2025-12-16 14:00:13 +01:00
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:
parent
d2faf40e6a
commit
6eca6f1c3d
5 changed files with 53 additions and 3 deletions
|
|
@ -1217,8 +1217,16 @@ function isHtmlFlowComment(token) {
|
||||||
type = token.type;
|
type = token.type;
|
||||||
if (type === "htmlFlow" && text.startsWith("<!--") && text.endsWith("-->")) {
|
if (type === "htmlFlow" && text.startsWith("<!--") && text.endsWith("-->")) {
|
||||||
var comment = text.slice(4, -3);
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -42,8 +42,13 @@ function isHtmlFlowComment(token) {
|
||||||
return (
|
return (
|
||||||
!comment.startsWith(">") &&
|
!comment.startsWith(">") &&
|
||||||
!comment.startsWith("->") &&
|
!comment.startsWith("->") &&
|
||||||
!comment.endsWith("-") &&
|
!comment.endsWith("-")
|
||||||
!comment.includes("--")
|
// 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;
|
return false;
|
||||||
|
|
|
||||||
14
test/front-matter-yaml-in-html-comment.md
Normal file
14
test/front-matter-yaml-in-html-comment.md
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
<!--
|
||||||
|
---
|
||||||
|
title: Front Matter YAML in HTML Comment
|
||||||
|
not-md035: |-
|
||||||
|
***
|
||||||
|
* * *
|
||||||
|
description: |-
|
||||||
|
This document has YAML front matter inside an HTML comment.
|
||||||
|
---
|
||||||
|
-->
|
||||||
|
|
||||||
|
# Front Matter YAML in HTML Comment
|
||||||
|
|
||||||
|
Text text text
|
||||||
|
|
@ -13866,6 +13866,29 @@ Generated by [AVA](https://avajs.dev).
|
||||||
`,
|
`,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
## front-matter-yaml-in-html-comment.md
|
||||||
|
|
||||||
|
> Snapshot 1
|
||||||
|
|
||||||
|
{
|
||||||
|
errors: [],
|
||||||
|
fixed: `<!--␊
|
||||||
|
---␊
|
||||||
|
title: Front Matter YAML in HTML Comment␊
|
||||||
|
not-md035: |-␊
|
||||||
|
***␊
|
||||||
|
* * *␊
|
||||||
|
description: |-␊
|
||||||
|
This document has YAML front matter inside an HTML comment.␊
|
||||||
|
---␊
|
||||||
|
-->␊
|
||||||
|
␊
|
||||||
|
# Front Matter YAML in HTML Comment␊
|
||||||
|
␊
|
||||||
|
Text text text␊
|
||||||
|
`,
|
||||||
|
}
|
||||||
|
|
||||||
## front-matter.md
|
## front-matter.md
|
||||||
|
|
||||||
> Snapshot 1
|
> Snapshot 1
|
||||||
|
|
|
||||||
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue