/* global NexT, CONFIG, mermaid */ document.addEventListener('page:loaded', () => { const mermaidElements = document.querySelectorAll('.mermaid'); if (mermaidElements.length) { NexT.utils.getScript(CONFIG.mermaid.js, { condition: window.mermaid }).then(() => { mermaidElements.forEach(element => { const newElement = document.createElement('div'); newElement.innerHTML = element.innerHTML; newElement.className = element.className; const parent = element.parentNode; // Fix issue #347 // Support mermaid inside backtick code block if (parent.matches('pre')) { parent.parentNode.replaceChild(newElement, parent); } else { parent.replaceChild(newElement, element); } }); mermaid.initialize({ theme : CONFIG.darkmode && window.matchMedia('(prefers-color-scheme: dark)').matches ? CONFIG.mermaid.theme.dark : CONFIG.mermaid.theme.light, logLevel : 4, flowchart: { curve: 'linear' }, gantt : { axisFormat: '%m/%d/%Y' }, sequence : { actorMargin: 50 } }); mermaid.run(); }); } });