|
1 | 1 | <!-- mermaid-js loader -->
|
2 | 2 | <script type="text/javascript">
|
3 |
| - (function () { |
4 |
| - function updateMermaid(event) { |
5 |
| - if (event.source === window && event.data && event.data.direction === ModeToggle.ID) { |
6 |
| - const mode = event.data.message; |
7 |
| - |
8 |
| - if (typeof mermaid === 'undefined') { |
9 |
| - return; |
10 |
| - } |
11 |
| - |
12 |
| - let expectedTheme = mode === ModeToggle.DARK_MODE ? 'dark' : 'default'; |
13 |
| - let config = { theme: expectedTheme }; |
14 |
| - |
15 |
| - /* Re-render the SVG › <https://github.com/mermaid-js/mermaid/issues/311#issuecomment-332557344> */ |
16 |
| - $('.mermaid').each(function () { |
17 |
| - let svgCode = $(this).prev().children().html(); |
18 |
| - $(this).removeAttr('data-processed'); |
19 |
| - $(this).html(svgCode); |
20 |
| - }); |
21 |
| - |
22 |
| - mermaid.initialize(config); |
23 |
| - mermaid.init(undefined, '.mermaid'); |
| 3 | + function updateMermaid(event) { |
| 4 | + if (event.source === window && event.data && event.data.direction === ModeToggle.ID) { |
| 5 | + const mode = event.data.message; |
| 6 | + |
| 7 | + if (typeof mermaid === 'undefined') { |
| 8 | + return; |
24 | 9 | }
|
| 10 | + |
| 11 | + let expectedTheme = mode === ModeToggle.DARK_MODE ? 'dark' : 'default'; |
| 12 | + let config = { theme: expectedTheme }; |
| 13 | + |
| 14 | + /* Re-render the SVG › <https://github.com/mermaid-js/mermaid/issues/311#issuecomment-332557344> */ |
| 15 | + const mermaidList = document.getElementsByClassName('mermaid'); |
| 16 | + |
| 17 | + [...mermaidList].forEach((elem) => { |
| 18 | + const svgCode = elem.previousSibling.children.item(0).innerHTML; |
| 19 | + elem.innerHTML = svgCode; |
| 20 | + elem.removeAttribute('data-processed'); |
| 21 | + }); |
| 22 | + |
| 23 | + mermaid.initialize(config); |
| 24 | + mermaid.init(undefined, '.mermaid'); |
25 | 25 | }
|
| 26 | + } |
26 | 27 |
|
| 28 | + (function () { |
27 | 29 | let initTheme = 'default';
|
28 | 30 | const html = document.documentElement;
|
29 | 31 |
|
|
35 | 37 | }
|
36 | 38 |
|
37 | 39 | let mermaidConf = {
|
38 |
| - theme: initTheme /* <default|dark|forest|neutral> */ |
| 40 | + theme: initTheme /* <default | dark | forest | neutral> */ |
39 | 41 | };
|
40 | 42 |
|
41 | 43 | /* Create mermaid tag */
|
42 |
| - document.querySelectorAll('pre>code.language-mermaid').forEach((elem) => { |
| 44 | + const basicList = document.getElementsByClassName('language-mermaid'); |
| 45 | + [...basicList].forEach((elem) => { |
43 | 46 | const svgCode = elem.textContent;
|
44 | 47 | const backup = elem.parentElement;
|
45 | 48 | backup.classList.add('unloaded');
|
|
52 | 55 | });
|
53 | 56 |
|
54 | 57 | mermaid.initialize(mermaidConf);
|
55 |
| - |
56 | 58 | window.addEventListener('message', updateMermaid);
|
57 | 59 | })();
|
58 | 60 | </script>
|
0 commit comments