From f9345b0f17677e12a543e168a375eaac794f006d Mon Sep 17 00:00:00 2001 From: tangly Date: Sat, 19 Nov 2022 12:18:45 +0800 Subject: [PATCH] 3.6.0 hotfix --- components/PrismMac.js | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/components/PrismMac.js b/components/PrismMac.js index e1d95285..8300f742 100644 --- a/components/PrismMac.js +++ b/components/PrismMac.js @@ -19,9 +19,9 @@ import { useRouter } from 'next/router' const PrismMac = () => { const router = useRouter() const { isDarkMode } = useGlobal() + React.useEffect(() => { renderPrismMac() - const codeToolBars = document?.getElementsByClassName('code-toolbar') // Add pre-mac element for Mac Style UI Array.from(codeToolBars).forEach(item => { @@ -38,6 +38,10 @@ const PrismMac = () => { router.events.off('routeChangeComplete', renderPrismMac) } }, [isDarkMode]) + + React.useEffect(() => { + mermaid.contentLoaded() + }) return <> } @@ -70,10 +74,15 @@ function renderPrismMac() { // 支持 Mermaid const mermaids = document.querySelectorAll('.notion-code .language-mermaid') for (const e of mermaids) { - const chart = e.innerText e.parentElement.parentElement.classList.remove('code-toolbar') - e.parentElement.parentElement.innerHTML = `
${chart}
` - mermaid.contentLoaded() + const chart = e.firstChild.textContent + if (e.firstElementChild) { + e.parentElement.parentElement.remove() + continue + } + if (chart) { + e.parentElement.parentElement.innerHTML = `
${chart}
` + } } }