From a396c61a0ad66d6e32bb59c23482987547199add Mon Sep 17 00:00:00 2001 From: Mimi <1119186082@qq.com> Date: Mon, 7 Mar 2022 12:25:08 +0800 Subject: [PATCH] Support mermaid inside backtick code block * See: https://github.com/next-theme/hexo-theme-next/issues/347 --- source/js/third-party/tags/mermaid.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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,