parse non-top-level <script> and <style> tags as one piece of Text

pull/1086/head
Conduitry 8 years ago
parent 8c8f9703a0
commit 41744e25fc

@ -213,6 +213,7 @@ export default function tag(parser: Parser) {
parser.eat('>', true);
if (selfClosing) {
// don't push self-closing elements onto the stack
element.end = parser.index;
} else if (name === 'textarea') {
// special case
@ -223,8 +224,14 @@ export default function tag(parser: Parser) {
);
parser.read(/<\/textarea>/);
element.end = parser.index;
} else if (name === 'script' || name === 'style') {
// special case
const start = parser.index;
const data = parser.readUntil(new RegExp(`</${name}>`));
const end = parser.index;
element.children.push({ start, end, type: 'Text', data });
parser.eat(`</${name}>`, true);
} else {
// don't push self-closing elements onto the stack
parser.stack.push(element);
}
}

Loading…
Cancel
Save