mermaid.js 870 B

12345678910111213141516171819202122232425262728
  1. var mmd = (() => {
  2. var loaded = false
  3. var walk = (regex, string, result = [], match = regex.exec(string)) =>
  4. !match ? result : walk(regex, string, result.concat(match[1]))
  5. return {
  6. render: () => {
  7. if (loaded) {
  8. var definitions = walk(/<pre><code class="mermaid">([\s\S]+?)<\/code><\/pre>/gi, state.html)
  9. Array.from(document.querySelectorAll('pre code.mermaid')).forEach((diagram, index) => {
  10. diagram.removeAttribute('data-processed')
  11. diagram.innerHTML = definitions[index]
  12. })
  13. }
  14. mermaid.initialize({
  15. theme:
  16. state._themes[state.theme] === 'dark' ||
  17. (state._themes[state.theme] === 'auto' && window.matchMedia('(prefers-color-scheme: dark)').matches)
  18. ? 'dark' : 'default'
  19. })
  20. mermaid.init({}, 'code.mermaid')
  21. loaded = true
  22. }
  23. }
  24. })()