diff --git a/source/js/third-party/tags/mermaid.js b/source/js/third-party/tags/mermaid.js index 3831995..9623dc5 100644 --- a/source/js/third-party/tags/mermaid.js +++ b/source/js/third-party/tags/mermaid.js @@ -10,7 +10,14 @@ document.addEventListener('page:loaded', () => { const newElement = document.createElement('div'); newElement.innerHTML = element.innerHTML; newElement.className = element.className; - element.parentNode.replaceChild(newElement, element); + 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,