diff --git a/tools/doc/html.js b/tools/doc/html.js index 243fbfea9de692..4613ab7ec5c59d 100644 --- a/tools/doc/html.js +++ b/tools/doc/html.js @@ -189,13 +189,10 @@ function preprocessElements({ filename }) { `No language set in ${filename}, ` + `line ${node.position.start.line}`); } - const language = (node.lang || '').split(' ')[0]; - const highlighted = getLanguage(language) ? - highlight(language, node.value).value : - node.value; - const highlightedHTML = + const highlighted = `` + - highlighted + + (getLanguage(node.lang || '') ? + highlight(node.lang, node.value) : node).value + ''; node.type = 'html'; @@ -207,41 +204,32 @@ function preprocessElements({ filename }) { console.warn( `Unknown JavaScript flavor in ${filename}` + `:${node.position.start.line}:${node.position.start.column}`); - node.value = `
${highlightedHTML}
`; + node.value = `
${highlighted}
`; node.meta = null; } else if (!isJSFlavorSnippet(previousNode) && - !isJSFlavorSnippet(nextNode)) { - console.warn( - `JavaScript flavored blocks should go in pairs in ${filename}` + - `:${node.position.start.line}:${node.position.start.column}`); - node.value = `
${highlightedHTML}
`; - node.meta = null; - } else if (!isJSFlavorSnippet(previousNode) && - isJSFlavorSnippet(nextNode)) { - node.value = highlightedHTML; - } else if (node.meta === previousNode.meta) { - console.warn( - 'Cannot bundle two JavaScript blocks of the same flavor in ' + - filename + - `:${node.position.start.line}:${node.position.start.column}`); - node.value = `
${highlightedHTML}
`; - node.meta = null; - previousNode.value = `
${previousNode.value}
`; - previousNode.meta = null; - } else { + isJSFlavorSnippet(nextNode) && + nextNode.meta !== node.meta) { + node.value = highlighted; + } else if (isJSFlavorSnippet(previousNode)) { node.value = '
' +
               '' +
               previousNode.value +
-              highlightedHTML +
+              highlighted +
               '
'; node.meta = null; previousNode.value = ''; previousNode.meta = null; + } else { + console.warn( + `Unused JavaScript flavored block in ${filename}` + + `:${node.position.start.line}:${node.position.start.column}`); + node.value = `
${highlighted}
`; + node.meta = null; } } else { - node.value = `
${highlightedHTML}
`; + node.value = `
${highlighted}
`; } } else if (node.type === 'html' && common.isYAMLBlock(node.value)) { node.value = parseYAML(node.value);