collab/mermaid/demos/dev/example.htmlblame
View source
6dd74de1<!--Do not edit this file-->
6dd74de2<!--Duplicate this file to any name you like, run `pnpm dev`, open http://localhost:9000/dev/name.html to view-->
6dd74de3<html>
6dd74de4 <head>
6dd74de5 <title>Mermaid development page</title>
6dd74de6 <style>
6dd74de7 .container {
6dd74de8 display: flex;
6dd74de9 flex-direction: row;
6dd74de10 }
6dd74de11
6dd74de12 #code {
6dd74de13 max-width: 30vw;
6dd74de14 width: 30vw;
6dd74de15 }
6dd74de16
6dd74de17 #dynamicDiagram {
6dd74de18 padding-left: 2em;
6dd74de19 flex: 1;
6dd74de20 }
6dd74de21 </style>
6dd74de22 </head>
6dd74de23 <body>
6dd74de24 <pre id="diagram" class="mermaid">
6dd74de25graph TB
6dd74de26 a --> b
6dd74de27 a --> c
6dd74de28 b --> d
6dd74de29 c --> d
6dd74de30 </pre>
6dd74de31
6dd74de32 <hr />
6dd74de33 Type code to view diagram:
6dd74de34 <div class="container">
6dd74de35 <textarea name="code" id="code" cols="30" rows="10"></textarea>
6dd74de36 <div id="dynamicDiagram"></div>
6dd74de37 </div>
6dd74de38 <pre class="mermaid">info</pre>
6dd74de39
6dd74de40 <script type="module">
6dd74de41 import mermaid from '/mermaid.esm.mjs';
6dd74de42 import layouts from '/mermaid-layout-elk.esm.mjs';
6dd74de43 mermaid.registerLayoutLoaders(layouts);
6dd74de44 async function render(str) {
6dd74de45 const { svg } = await mermaid.render('dynamic', str);
6dd74de46 document.getElementById('dynamicDiagram').innerHTML = svg;
6dd74de47 }
6dd74de48 const storeKey = window.location.pathname;
6dd74de49 const code = localStorage.getItem(storeKey);
6dd74de50 if (code) {
6dd74de51 document.getElementById('code').value = code;
6dd74de52 await render(code);
6dd74de53 }
6dd74de54 mermaid.initialize({
6dd74de55 startOnLoad: true,
6dd74de56 logLevel: 0,
6dd74de57 });
6dd74de58 document.getElementById('code').addEventListener('input', async (e) => {
6dd74de59 const value = e.target.value;
6dd74de60 localStorage.setItem(storeKey, value);
6dd74de61 await render(value);
6dd74de62 });
6dd74de63 </script>
6dd74de64
6dd74de65 <script src="/dev/reload.js"></script>
6dd74de66 </body>
6dd74de67</html>