Skip highlight.js if not needed on the page
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
// Highlight.JS: https://highlightjs.org/
|
// Highlight.JS: https://highlightjs.org/
|
||||||
|
|
||||||
async function initializeHighlightJS() {
|
async function initializeHighlightJS() {
|
||||||
|
|
||||||
const languageRE = /\blanguage-([a-zA-Z0-9_\-]+)\b/gi;
|
const languageRE = /\blanguage-([a-zA-Z0-9_\-]+)\b/gi;
|
||||||
const noLanguageRE = /\bno-language\b/gi;
|
const noLanguageRE = /\bno-language\b/gi;
|
||||||
const languages = [
|
const languages = [
|
||||||
@@ -57,6 +58,12 @@ async function initializeHighlightJS() {
|
|||||||
"xml",
|
"xml",
|
||||||
"yaml",
|
"yaml",
|
||||||
];
|
];
|
||||||
|
const selector = "code.block[class*=\"language\"]";
|
||||||
|
|
||||||
|
if (document.querySelectorAll(selector).length == 0) {
|
||||||
|
console.log("highlight.JS: Skipping, as it is not needed here.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
console.log("highlight.JS: Loading...");
|
console.log("highlight.JS: Loading...");
|
||||||
let highlightJS = await import("./highlightjs/highlight.mjs");
|
let highlightJS = await import("./highlightjs/highlight.mjs");
|
||||||
@@ -85,10 +92,10 @@ async function initializeHighlightJS() {
|
|||||||
try {
|
try {
|
||||||
mod = await import(`./highlightjs/languages/${lang}.min.js`);
|
mod = await import(`./highlightjs/languages/${lang}.min.js`);
|
||||||
break;
|
break;
|
||||||
} catch(ex) {
|
} catch (ex) {
|
||||||
err = ex;
|
err = ex;
|
||||||
await new Promise((resolve, reject) => {
|
await new Promise((resolve, reject) => {
|
||||||
setTimeout(() => {resolve()}, 1000);
|
setTimeout(() => { resolve() }, 1000);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user