From a5521b5fb2165e9dce603e61b04b587327a0aad8 Mon Sep 17 00:00:00 2001 From: nanhaoluo <3075912108@qq.com> Date: Fri, 23 Jan 2026 19:02:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20Mermaid=20=E5=9B=BE?= =?UTF-8?q?=E8=A1=A8=E8=A7=A3=E6=9E=90=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 使用 innerHTML 替代 textContent 获取代码内容 - 添加 HTML 实体解码逻辑(< > & 等) - 确保保留代码块中的换行符 - 修复 'Parse error on line 1' 错误 --- footer.php | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/footer.php b/footer.php index 3f137cf..f53f141 100644 --- a/footer.php +++ b/footer.php @@ -171,7 +171,7 @@ mermaid.initialize({ - startOnLoad: true, + startOnLoad: false, theme: '', @@ -197,12 +197,32 @@ mermaidDiv.className = 'mermaid'; - mermaidDiv.textContent = element.textContent; + // 获取代码内容,保留换行符 + + let code = element.innerHTML; + + // 解码 HTML 实体(如 < > &) + + let textarea = document.createElement('textarea'); + + textarea.innerHTML = code; + + code = textarea.value; + + // 去除首尾空白,但保留内部换行 + + code = code.trim(); + + mermaidDiv.textContent = code; pre.parentNode.replaceChild(mermaidDiv, pre); }); + // 手动触发渲染 + + mermaid.run(); + });