fix: use mermaid.render instead of init for WP-Markdown format
This commit is contained in:
40
footer.php
40
footer.php
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user