mirror of
https://github.com/wassname/template.git
synced 2026-07-05 18:49:22 +08:00
Fixin tree walker
This commit is contained in:
+21
-20
@@ -2,30 +2,12 @@ export default function(dom, data) {
|
||||
|
||||
var textNodes = dom.createTreeWalker(
|
||||
dom.body,
|
||||
NodeFilter.ALL_ELEMENTS,
|
||||
{
|
||||
acceptNode: function(node) {
|
||||
var isMath = (node.getAttribute && node.getAttribute("class")) ? node.getAttribute("class").includes("katex") || node.getAttribute("class").includes("MathJax") : false;
|
||||
return node.nodeName !== "SCRIPT" &&
|
||||
node.nodeName !== "STYLE" &&
|
||||
node.nodeName !== "CODE" &&
|
||||
node.nodeName !== "PRE" &&
|
||||
node.nodeName !== "SPAN" &&
|
||||
node.nodeName !== "DT-HEADER" &&
|
||||
node.nodeName !== "DT-BYLINE" &&
|
||||
node.nodeName !== "DT-MATH" &&
|
||||
node.nodeName !== "DT-CODE" &&
|
||||
node.nodeName !== "DT-BIBLIOGRAPHY" &&
|
||||
node.nodeName !== "DT-FOOTER" &&
|
||||
node.nodeType !== 8 && //comment nodes
|
||||
!isMath;
|
||||
}
|
||||
}
|
||||
dom.defaultView.NodeFilter.SHOW_TEXT
|
||||
);
|
||||
while (textNodes.nextNode()) {
|
||||
var n = textNodes.currentNode,
|
||||
text = n.nodeValue;
|
||||
if (n.nodeType === 3 && text) {
|
||||
if (text && acceptNode(n)) {
|
||||
text = quotes(text);
|
||||
text = punctuation(text);
|
||||
text = ligatures(text);
|
||||
@@ -34,6 +16,25 @@ export default function(dom, data) {
|
||||
}
|
||||
}
|
||||
|
||||
function acceptNode(node) {
|
||||
var parent = node.parentElement;
|
||||
var isMath = (parent && parent.getAttribute && parent.getAttribute("class")) ? parent.getAttribute("class").includes("katex") || parent.getAttribute("class").includes("MathJax") : false;
|
||||
return parent &&
|
||||
parent.nodeName !== "SCRIPT" &&
|
||||
parent.nodeName !== "STYLE" &&
|
||||
parent.nodeName !== "CODE" &&
|
||||
parent.nodeName !== "PRE" &&
|
||||
parent.nodeName !== "SPAN" &&
|
||||
parent.nodeName !== "DT-HEADER" &&
|
||||
parent.nodeName !== "DT-BYLINE" &&
|
||||
parent.nodeName !== "DT-MATH" &&
|
||||
parent.nodeName !== "DT-CODE" &&
|
||||
parent.nodeName !== "DT-BIBLIOGRAPHY" &&
|
||||
parent.nodeName !== "DT-FOOTER" &&
|
||||
parent.nodeType !== 8 && //comment nodes
|
||||
!isMath;
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* typeset - Typesetting for the web
|
||||
|
||||
Vendored
+21
-20
@@ -8328,30 +8328,12 @@ var typeset = function(dom, data) {
|
||||
|
||||
var textNodes = dom.createTreeWalker(
|
||||
dom.body,
|
||||
NodeFilter.ALL_ELEMENTS,
|
||||
{
|
||||
acceptNode: function(node) {
|
||||
var isMath = (node.getAttribute && node.getAttribute("class")) ? node.getAttribute("class").includes("katex") || node.getAttribute("class").includes("MathJax") : false;
|
||||
return node.nodeName !== "SCRIPT" &&
|
||||
node.nodeName !== "STYLE" &&
|
||||
node.nodeName !== "CODE" &&
|
||||
node.nodeName !== "PRE" &&
|
||||
node.nodeName !== "SPAN" &&
|
||||
node.nodeName !== "DT-HEADER" &&
|
||||
node.nodeName !== "DT-BYLINE" &&
|
||||
node.nodeName !== "DT-MATH" &&
|
||||
node.nodeName !== "DT-CODE" &&
|
||||
node.nodeName !== "DT-BIBLIOGRAPHY" &&
|
||||
node.nodeName !== "DT-FOOTER" &&
|
||||
node.nodeType !== 8 && //comment nodes
|
||||
!isMath;
|
||||
}
|
||||
}
|
||||
dom.defaultView.NodeFilter.SHOW_TEXT
|
||||
);
|
||||
while (textNodes.nextNode()) {
|
||||
var n = textNodes.currentNode,
|
||||
text = n.nodeValue;
|
||||
if (n.nodeType === 3 && text) {
|
||||
if (text && acceptNode(n)) {
|
||||
text = quotes(text);
|
||||
text = punctuation(text);
|
||||
text = ligatures(text);
|
||||
@@ -8360,6 +8342,25 @@ var typeset = function(dom, data) {
|
||||
}
|
||||
};
|
||||
|
||||
function acceptNode(node) {
|
||||
var parent = node.parentElement;
|
||||
var isMath = (parent && parent.getAttribute && parent.getAttribute("class")) ? parent.getAttribute("class").includes("katex") || parent.getAttribute("class").includes("MathJax") : false;
|
||||
return parent &&
|
||||
parent.nodeName !== "SCRIPT" &&
|
||||
parent.nodeName !== "STYLE" &&
|
||||
parent.nodeName !== "CODE" &&
|
||||
parent.nodeName !== "PRE" &&
|
||||
parent.nodeName !== "SPAN" &&
|
||||
parent.nodeName !== "DT-HEADER" &&
|
||||
parent.nodeName !== "DT-BYLINE" &&
|
||||
parent.nodeName !== "DT-MATH" &&
|
||||
parent.nodeName !== "DT-CODE" &&
|
||||
parent.nodeName !== "DT-BIBLIOGRAPHY" &&
|
||||
parent.nodeName !== "DT-FOOTER" &&
|
||||
parent.nodeType !== 8 && //comment nodes
|
||||
!isMath;
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* typeset - Typesetting for the web
|
||||
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user