4e17da0a创建于 2024年11月27日历史提交
<!--Do not edit this file-->
<!--Duplicate this file to any name you like, run `pnpm dev`, open http://localhost:9000/dev/name.html to view-->
<html>
  <head>
    <title>Mermaid development page</title>
    <style>
      .container {
        display: flex;
        flex-direction: row;
      }

      #code {
        max-width: 30vw;
        width: 30vw;
      }

      #dynamicDiagram {
        padding-left: 2em;
        flex: 1;
      }
    </style>
  </head>
  <body>
    <pre id="diagram" class="mermaid">
graph TB
      a --> b
      a --> c
      b --> d
      c --> d
    </pre>

    <hr />
    Type code to view diagram:
    <div class="container">
      <textarea name="code" id="code" cols="30" rows="10"></textarea>
      <div id="dynamicDiagram"></div>
    </div>
    <pre class="mermaid">info</pre>

    <script type="module">
      import mermaid from '/mermaid.esm.mjs';
      import layouts from '/mermaid-layout-elk.esm.mjs';
      mermaid.registerLayoutLoaders(layouts);
      async function render(str) {
        const { svg } = await mermaid.render('dynamic', str);
        document.getElementById('dynamicDiagram').innerHTML = svg;
      }
      const storeKey = window.location.pathname;
      const code = localStorage.getItem(storeKey);
      if (code) {
        document.getElementById('code').value = code;
        await render(code);
      }
      mermaid.initialize({
        startOnLoad: true,
        logLevel: 0,
      });
      document.getElementById('code').addEventListener('input', async (e) => {
        const value = e.target.value;
        localStorage.setItem(storeKey, value);
        await render(value);
      });
    </script>

    <script src="/dev/reload.js"></script>
  </body>
</html>