diff options
| author | Nikita Shubin <nikita.shubin@maquefel.me> | 2026-06-14 15:31:07 +0300 |
|---|---|---|
| committer | Nikita Shubin <nikita.shubin@maquefel.me> | 2026-06-14 15:32:22 +0300 |
| commit | fee5b640450d2916f0043401ba324058a329e4b4 (patch) | |
| tree | 1ebbb25977233ea20ca2cabe39eb97cd8cd67ca6 | |
| parent | 51db6863ade96e4a6463b19fa466906eabfb07db (diff) | |
| download | landau.one-fee5b640450d2916f0043401ba324058a329e4b4.tar.gz landau.one-fee5b640450d2916f0043401ba324058a329e4b4.zip | |
mermaid: Add mermaid workaround
For upstream hugo the only possiblity for mermaid rendering is using
external js script.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
| -rw-r--r-- | layouts/partials/head-additions.html | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/layouts/partials/head-additions.html b/layouts/partials/head-additions.html new file mode 100644 index 0000000..0aa1935 --- /dev/null +++ b/layouts/partials/head-additions.html @@ -0,0 +1,26 @@ +<script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script> +<script> + document.addEventListener('DOMContentLoaded', function() { + // Look for mermaid code blocks + const mermaidBlocks = document.querySelectorAll('pre code.language-mermaid'); + if (mermaidBlocks.length > 0) { + mermaid.initialize({ + startOnLoad: false, + theme: 'default', + flowchart: { + useMaxWidth: true + } + }); + + mermaidBlocks.forEach((block, index) => { + const graphDefinition = block.textContent; + const div = document.createElement('div'); + div.className = 'mermaid'; + div.innerHTML = graphDefinition; + block.parentNode.parentNode.replaceChild(div, block.parentNode); + }); + + mermaid.init(); + } + }); +</script> |
