Skip to content

Commit 11d1cc7

Browse files
committed
Support HTML comments
1 parent 82d1545 commit 11d1cc7

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

src/index.mjs

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@ const CHILD_APPEND = 0;
2222
const MODE_SLASH = 0;
2323
const MODE_TEXT = 1;
2424
const MODE_WHITESPACE = 2;
25-
const MODE_TAGNAME = 3;
26-
const MODE_ATTRIBUTE = 4;
25+
const MODE_ATTRIBUTE = 3;
26+
const MODE_TAGNAME = 4;
27+
const MODE_COMMENT = 5;
2728

2829
const evaluate = (h, current, fields, args) => {
2930
for (let i = 1; i < current.length; i++) {
@@ -135,6 +136,16 @@ const build = function(statics) {
135136
buffer += char;
136137
}
137138
}
139+
else if (mode === MODE_COMMENT) {
140+
// Ignore everything until the last three characters are '-', '-' and '>'
141+
if (buffer === '--' && char === '>') {
142+
mode = MODE_TEXT;
143+
buffer = '';
144+
}
145+
else {
146+
buffer = char + buffer[0];
147+
}
148+
}
138149
else if (quote) {
139150
if (char === quote) {
140151
quote = '';
@@ -180,6 +191,11 @@ const build = function(statics) {
180191
else {
181192
buffer += char;
182193
}
194+
195+
if (mode === MODE_TAGNAME && buffer === '!--') {
196+
mode = MODE_COMMENT;
197+
current = current[0];
198+
}
183199
}
184200
}
185201
commit();

0 commit comments

Comments
 (0)