// setup web worker to avoid causing issues for the rendering thread async function setup(){ // start fetching css sooner rather than latter const baseCssProm = fetch("https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/default.min.css").then(res=>res.text()); const lightCssProm = fetch("/static/css/light-code.css").then(res=>res.text()); const darkCssProm = fetch("/static/css/dark-code.css").then(res=>res.text()); const code = document.querySelectorAll("pre.sourceCode"); const worker = new Worker('/static/js/code_highlighting_worker.mjs'); worker.onmessage = (event) => { const [index, newTxt] = event.data; code[index].innerHTML = newTxt; } for(let i = 0;i{return await baseStylesheet.replace(await baseCssProm)})(), (async()=>{return await lightThemeSheet.replace(await lightCssProm)})(), (async()=>{return await darkThemeSheet.replace(await darkCssProm)})(), ]); document.adoptedStyleSheets.push(baseStylesheet); document.adoptedStyleSheets.push(lightThemeSheet); document.adoptedStyleSheets.push(darkThemeSheet); } addEventListener('load', setup); if(document.readyState == "complete") await setup();