From bdfb07980a551d83890fabf1acec11403ca585e4 Mon Sep 17 00:00:00 2001 From: nanhaoluo <3075912108@qq.com> Date: Fri, 23 Jan 2026 19:12:00 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=20Mermaid=20=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=9D=97=E8=AF=86=E5=88=AB=E9=80=BB=E8=BE=91=20-=20?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=20textContent=20=E6=9B=BF=E4=BB=A3=20innerHT?= =?UTF-8?q?ML=20=E9=81=BF=E5=85=8D=20HTML=20=E6=A0=87=E7=AD=BE=E5=B9=B2?= =?UTF-8?q?=E6=89=B0=20-=20=E6=B7=BB=E5=8A=A0=20Mermaid=20=E5=85=B3?= =?UTF-8?q?=E9=94=AE=E5=AD=97=E9=AA=8C=E8=AF=81=EF=BC=8C=E5=8F=AA=E5=A4=84?= =?UTF-8?q?=E7=90=86=E6=9C=89=E6=95=88=E7=9A=84=E5=9B=BE=E8=A1=A8=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=20-=20=E6=B7=BB=E5=8A=A0=E9=87=8D=E5=A4=8D=E5=A4=84?= =?UTF-8?q?=E7=90=86=E6=A3=80=E6=B5=8B=EF=BC=8C=E9=98=B2=E6=AD=A2=E5=A4=9A?= =?UTF-8?q?=E6=AC=A1=E6=B8=B2=E6=9F=93=20-=20=E5=BB=B6=E8=BF=9F=E6=B8=B2?= =?UTF-8?q?=E6=9F=93=E7=A1=AE=E4=BF=9D=20DOM=20=E5=AE=8C=E5=85=A8=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=20-=20=E9=80=82=E9=85=8D=20WP-Markdown=20=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- footer.php | 92 +++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 66 insertions(+), 26 deletions(-) diff --git a/footer.php b/footer.php index c4fbd1c..f2ac2cb 100644 --- a/footer.php +++ b/footer.php @@ -191,45 +191,85 @@ document.querySelectorAll('pre code.language-mermaid, pre code.mermaid').forEach(function(element) { - let pre = element.parentElement; + // 检查是否已经处理过 - let mermaidDiv = document.createElement('div'); - - mermaidDiv.className = 'mermaid'; - - // 获取代码内容,保留换行符 - - let code = element.innerHTML; - - // 解码 HTML 实体(如 < > &) - - let textarea = document.createElement('textarea'); - - textarea.innerHTML = code; - - code = textarea.value; - - // 去除首尾空白,但保留内部换行 - - code = code.trim(); - - // 过滤掉包含 script 标签的内容(防止误识别) - - if (code.indexOf(' 0) { + + mermaidElements.forEach(function(el) { + + el.classList.add('mermaid-rendered'); + + }); + + mermaid.init(undefined, mermaidElements); + + } + + }, 100); });