From 558ea9d45eece7c4b8dd3abad51dc433693ffcf2 Mon Sep 17 00:00:00 2001 From: Gerrit Riessen Date: Wed, 11 Jun 2025 10:17:18 +0200 Subject: [PATCH 1/2] Step 2 - using b64 data for mermaid content see https://discourse.nodered.org/t/node-red-mermaid-rendering-is-off-by-one/97546 for details --- .../@node-red/editor-client/src/js/ui/editors/mermaid.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/mermaid.js b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/mermaid.js index b4ae5d52d..6de2a1d1e 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/mermaid.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/mermaid.js @@ -44,7 +44,7 @@ RED.editor.mermaid = (function () { nodes.forEach(async node => { if (!node.getAttribute('mermaid-processed')) { - const mermaidContent = node.innerText + const mermaidContent = atob($(node).data('c64')) node.setAttribute('mermaid-processed', true) try { const { svg } = await mermaid.render('mermaid-render-'+Date.now()+'-'+(diagramIds++), mermaidContent); From 559be0b52b37eeb779a590cda4757dc692568ca1 Mon Sep 17 00:00:00 2001 From: Gerrit Riessen Date: Wed, 11 Jun 2025 10:20:50 +0200 Subject: [PATCH 2/2] Step 1 : include base64 code in pre for mermaid diagrams and also remove the "word-break: break-all" for mermaid diagrams. See https://discourse.nodered.org/t/node-red-mermaid-rendering-is-off-by-one/97546 for details --- .../node_modules/@node-red/editor-client/src/js/ui/utils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/utils.js b/packages/node_modules/@node-red/editor-client/src/js/ui/utils.js index 4529a6923..a25259b52 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/utils.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/utils.js @@ -101,7 +101,7 @@ RED.utils = (function() { renderer.code = function (code, lang) { if(lang === "mermaid") { - return `
${code}
`; + return `
${code}
`; } else { return "
" +code +"
"; }