fix: use mermaid.render instead of init for WP-Markdown format

This commit is contained in:
2026-01-23 21:37:11 +08:00
parent 2383c9f09d
commit facbf1eae7

View File

@@ -281,7 +281,29 @@
mermaidDiv.innerHTML = ''; mermaidDiv.innerHTML = '';
mermaidDiv.textContent = code; // 使用 pre 标签包裹以保留换行符和空格
let pre = document.createElement('pre');
pre.textContent = code;
pre.style.display = 'none';
mermaidDiv.appendChild(pre);
// 同时设置为 data 属性
mermaidDiv.setAttribute('data-mermaid-code', code);
console.log('Code set to div, checking...');
console.log('div.textContent (first 100):', mermaidDiv.textContent.substring(0, 100));
console.log('div.textContent contains newline:', mermaidDiv.textContent.includes('\n'));
@@ -289,10 +311,24 @@
try { try {
mermaid.init(undefined, mermaidDiv); // 直接使用 mermaid.render 而不是 init
let id = 'mermaid-' + Date.now() + '-' + Math.random().toString(36).substr(2, 9);
mermaid.render(id, code).then(function(result) {
mermaidDiv.innerHTML = result.svg;
console.log('Mermaid diagram rendered successfully'); console.log('Mermaid diagram rendered successfully');
}).catch(function(e) {
console.error('Mermaid rendering error:', e);
console.error('Code that failed:', code.substring(0, 200));
});
} catch (e) { } catch (e) {
console.error('Mermaid rendering error:', e); console.error('Mermaid rendering error:', e);