From 5a5f719f7e40f1efae2316e50ab4a207fe0c8057 Mon Sep 17 00:00:00 2001 From: tlylt Date: Sat, 10 Dec 2022 08:39:31 +0800 Subject: [PATCH 1/7] plugin script --- packages/core/src/plugins/mermaid.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 packages/core/src/plugins/mermaid.js diff --git a/packages/core/src/plugins/mermaid.js b/packages/core/src/plugins/mermaid.js new file mode 100644 index 0000000000..b9f4d465d4 --- /dev/null +++ b/packages/core/src/plugins/mermaid.js @@ -0,0 +1,20 @@ +const mermaidScript = ``; + +module.exports = { + tagConfig: { + mermaid: { + isSpecial: true, + }, + }, + getScripts: () => [mermaidScript], + processNode: (pluginContext, node) => { + if (node.name !== 'mermaid') { + return; + } + node.name = 'pre'; + node.attribs.class = 'mermaid'; + }, +}; From d62809783a7c0e03808dffbb4aa4a3d0f958e9a6 Mon Sep 17 00:00:00 2001 From: tlylt Date: Sat, 10 Dec 2022 12:01:02 +0800 Subject: [PATCH 2/7] Refactor script --- packages/core/src/plugins/mermaid.js | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/core/src/plugins/mermaid.js b/packages/core/src/plugins/mermaid.js index b9f4d465d4..2e3df9b0c7 100644 --- a/packages/core/src/plugins/mermaid.js +++ b/packages/core/src/plugins/mermaid.js @@ -1,7 +1,12 @@ -const mermaidScript = ``; +} module.exports = { tagConfig: { @@ -9,8 +14,8 @@ module.exports = { isSpecial: true, }, }, - getScripts: () => [mermaidScript], - processNode: (pluginContext, node) => { + getScripts: pluginContext => [genScript(pluginContext.address, pluginContext.config)], + processNode: (_, node) => { if (node.name !== 'mermaid') { return; } From 77899d99adfc80758864626a81552786341ae004 Mon Sep 17 00:00:00 2001 From: tlylt Date: Tue, 13 Dec 2022 10:19:40 +0800 Subject: [PATCH 3/7] change pre to div --- packages/core/src/plugins/mermaid.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/plugins/mermaid.js b/packages/core/src/plugins/mermaid.js index 2e3df9b0c7..207e9e2d0c 100644 --- a/packages/core/src/plugins/mermaid.js +++ b/packages/core/src/plugins/mermaid.js @@ -19,7 +19,7 @@ module.exports = { if (node.name !== 'mermaid') { return; } - node.name = 'pre'; + node.name = 'div'; node.attribs.class = 'mermaid'; }, }; From 7f516e2de5f94c269fce416021a32ee46ea652d0 Mon Sep 17 00:00:00 2001 From: tlylt Date: Tue, 13 Dec 2022 10:21:08 +0800 Subject: [PATCH 4/7] add unit test --- .../core/test/unit/plugins/mermaid.test.js | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 packages/core/test/unit/plugins/mermaid.test.js diff --git a/packages/core/test/unit/plugins/mermaid.test.js b/packages/core/test/unit/plugins/mermaid.test.js new file mode 100644 index 0000000000..6de56cb592 --- /dev/null +++ b/packages/core/test/unit/plugins/mermaid.test.js @@ -0,0 +1,62 @@ +const cheerio = require('cheerio'); +const mermaidPlugin = require('../../../src/plugins/mermaid'); + +/* +The plugin converts the following mermaid syntax: + +flowchart TD + A[Start] --> B{Is it?} + B -->|Yes| C[OK] + C --> D[Rethink] + D --> B + B ---->|No| E[End] + +to +
+flowchart TD + A[Start] --> B{Is it?} + B -->|Yes| C[OK] + C --> D[Rethink] + D --> B + B ---->|No| E[End] +
+which will be further converted to the actual diagram by the mermaid library. +*/ +test('processNode should work with flowchart', () => { + const raw = '' + + 'flowchart TD\n' + + ' A[Start] --> B{Is it?}\n' + + ' B -->|Yes| C[OK]\n' + + ' C --> D[Rethink]\n' + + ' D --> B\n' + + ' B ---->|No| E[End]\n' + + ''; + const expected = '
' + + 'flowchart TD\n' + + ' A[Start] --> B{Is it?}\n' + + ' B -->|Yes| C[OK]\n' + + ' C --> D[Rethink]\n' + + ' D --> B\n' + + ' B ---->|No| E[End]\n' + + '
'; + const [expectedNode] = cheerio.parseHTML(expected, true); + const [rawNode] = cheerio.parseHTML(raw, true); + mermaidPlugin.processNode({}, rawNode); + expect(rawNode.name).toEqual('div'); + expect(rawNode.attribs.class).toEqual('mermaid'); + expect(rawNode.children[0].data).toEqual(expectedNode.children[0].data); +}); + +test('getScripts should work with pluginContext', () => { + const pluginContext = { + address: 'https://unpkg.com/mermaid@8/dist/mermaid.esm.min.mjs', + config: '{"startOnLoad":false}', + }; + const expected = ``; + const scripts = mermaidPlugin.getScripts(pluginContext); + expect(scripts.length).toEqual(1); + expect(scripts[0]).toEqual(expected); +}); From 1d7485229eafe06e306421f3411ba05deba7971f Mon Sep 17 00:00:00 2001 From: tlylt Date: Tue, 13 Dec 2022 10:21:50 +0800 Subject: [PATCH 5/7] add docs --- docs/userGuide/plugins/mermaid.md | 94 +++++++++++++++++++++++++++++++ docs/userGuide/syntax/diagrams.md | 5 ++ docs/userGuide/usingPlugins.md | 1 + 3 files changed, 100 insertions(+) create mode 100644 docs/userGuide/plugins/mermaid.md diff --git a/docs/userGuide/plugins/mermaid.md b/docs/userGuide/plugins/mermaid.md new file mode 100644 index 0000000000..1f7d5a0099 --- /dev/null +++ b/docs/userGuide/plugins/mermaid.md @@ -0,0 +1,94 @@ +### Plugin: Mermaid + +This plugin allows you to utilize Mermaid by automatically importing the library and initializing the rendering of the diagrams. + +> Mermaid is a JavaScript based diagramming and charting tool that renders Markdown-inspired text definitions to create and modify diagrams dynamically. + + + +All supported diagrams and detailed configurations are available in [the mermaid official documentation](https://mermaid-js.github.io/mermaid/). + + + +To enable this plugin, add `mermaid` to your site's plugins. Optionally, you can specify alternative URL (e.g. to use another CDN or another version) or +any custom configurations in the plugin context. + +```js {heading="site.json"} +{ + ... + "plugins": [ + "mermaid" + ], + "pluginsContext" : { + "mermaid" : { // can be omitted if no changes to the following default settings are required + "address": "https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs", // replace with URL of your choice + "config": { + "startOnLoad": "true", // add or modify mermaid configurations + } + } + }, +} +``` + +{{ icon_example }} Pie Chart: + + +html + + +pie title Pets adopted by volunteers + "Dogs" : 386 + "Cats" : 85 + "Rats" : 15 + + + + +{{ icon_example }} Flowchart: + + +html + + +flowchart TD + A[Start] --> B{Is it?} + B -->|Yes| C[OK] + C --> D[Rethink] + D --> B + B ---->|No| E[End] + + + + +{{ icon_example }} User Journey Diagram: + + +html + + +journey + title My working day + section Go to work + Make tea: 5: Me + Go upstairs: 3: Me + Do work: 1: Me, Cat + + + + +{{ icon_example }} Gitgraph Diagram: + + +html + + +gitGraph + commit + branch develop + checkout develop + commit + checkout main + merge develop + + + diff --git a/docs/userGuide/syntax/diagrams.md b/docs/userGuide/syntax/diagrams.md index d36e8b713e..bd84e2c8ae 100644 --- a/docs/userGuide/syntax/diagrams.md +++ b/docs/userGuide/syntax/diagrams.md @@ -147,6 +147,11 @@ name | `string` | The name of the output file. src | `string` | The URL of the diagram if your diagram is in another `.puml` file.
The URL can be specified as absolute or relative references. More info in: _[Intra-Site Links]({{baseUrl}}/userGuide/formattingContents.html#intraSiteLinks)_ width | `string` | The width of the diagram in pixels.
If both width and height are specified, width takes priority over height. It is to maintain the diagram's aspect ratio. + + +It's also possible to utilize JavaScript diagram libraries such as [Mermaid](https://mermaid-js.github.io/mermaid/) via the [Mermaid plugin](../usingPlugins.html#plugin-mermaid). + +
``` diff --git a/docs/userGuide/usingPlugins.md b/docs/userGuide/usingPlugins.md index dc268b4f7a..789fdbe82b 100644 --- a/docs/userGuide/usingPlugins.md +++ b/docs/userGuide/usingPlugins.md @@ -63,6 +63,7 @@ MarkBind has a set of built-in plugins that can be used immediately without inst + ## Using External Plugins From ef12fb380ebbca60a3d7c43395775bbca0419992 Mon Sep 17 00:00:00 2001 From: tlylt Date: Tue, 13 Dec 2022 10:22:05 +0800 Subject: [PATCH 6/7] add funtional test --- docs/site.json | 3 +- .../test_site/expected/bugs/index.html | 4 + .../functional/test_site/expected/index.html | 4 + .../test_site/expected/siteData.json | 6 + .../test_site/expected/sub_site/index.html | 4 + .../sub_site/nested_sub_site/index.html | 4 + .../testNunjucksPathResolving.html | 4 + .../sub_site/testNunjucksPathResolving.html | 4 + .../expected/testAnchorGeneration.html | 4 + .../test_site/expected/testAnnotate.html | 4 + .../expected/testAntiFOUCStyles.html | 4 + .../test_site/expected/testCenterText.html | 4 + .../test_site/expected/testCodeBlocks.html | 4 + .../test_site/expected/testDates.html | 4 + .../expected/testEmptyFrontmatter.html | 4 + .../expected/testExternalScripts.html | 4 + .../functional/test_site/expected/testHr.html | 4 + .../test_site/expected/testImages.html | 4 + .../expected/testIncludeBoilerplate.html | 4 + .../expected/testIncludeMultipleModals.html | 4 + .../expected/testIncludePluginsRendered.html | 4 + .../test_site/expected/testLayouts.html | 4 + .../expected/testLayoutsOverride.html | 4 + .../test_site/expected/testLinks.html | 4 + .../test_site/expected/testMath.html | 4 + .../test_site/expected/testMermaid.html | 312 ++++++++++++++++++ .../expected/testMermaid.page-vue-render.js | 19 ++ .../test_site/expected/testModals.html | 4 + .../expected/testNunjucksPathResolving.html | 4 + .../test_site/expected/testPageNav.html | 4 + .../expected/testPanelMarkdownParsing.html | 4 + .../test_site/expected/testPlantUML.html | 4 + .../expected/testPopoverTrigger.html | 4 + .../test_site/expected/testPopovers.html | 4 + .../test_site/expected/testThumbnails.html | 4 + .../expected/testTooltipSpacing.html | 4 + .../test_site/expected/testTree.html | 4 + .../expected/testVariableContainsInclude.html | 4 + .../test_site/expected/test_md_fragment.html | 4 + .../cli/test/functional/test_site/site.json | 13 +- .../test/functional/test_site/testMermaid.md | 69 ++++ 41 files changed, 560 insertions(+), 2 deletions(-) create mode 100644 packages/cli/test/functional/test_site/expected/testMermaid.html create mode 100644 packages/cli/test/functional/test_site/expected/testMermaid.page-vue-render.js create mode 100644 packages/cli/test/functional/test_site/testMermaid.md diff --git a/docs/site.json b/docs/site.json index 57220942e7..320570f55b 100644 --- a/docs/site.json +++ b/docs/site.json @@ -23,7 +23,8 @@ ], "plugins" : [ "filterTags", - "mathDelimiters" + "mathDelimiters", + "mermaid" ], "pluginsContext" : { "filterTags" : { diff --git a/packages/cli/test/functional/test_site/expected/bugs/index.html b/packages/cli/test/functional/test_site/expected/bugs/index.html index b624d60088..33ab7a4c5a 100644 --- a/packages/cli/test/functional/test_site/expected/bugs/index.html +++ b/packages/cli/test/functional/test_site/expected/bugs/index.html @@ -247,5 +247,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/index.html b/packages/cli/test/functional/test_site/expected/index.html index 98e73cebe2..6779dfb294 100644 --- a/packages/cli/test/functional/test_site/expected/index.html +++ b/packages/cli/test/functional/test_site/expected/index.html @@ -820,5 +820,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/siteData.json b/packages/cli/test/functional/test_site/expected/siteData.json index 158ad39822..9ad6a3d107 100644 --- a/packages/cli/test/functional/test_site/expected/siteData.json +++ b/packages/cli/test/functional/test_site/expected/siteData.json @@ -334,6 +334,12 @@ "linkify": "Linkify" }, "headingKeywords": {} + }, + { + "src": "testMermaid.md", + "title": "Rendering of diagrams via mermaid-js", + "headings": {}, + "headingKeywords": {} } ] } diff --git a/packages/cli/test/functional/test_site/expected/sub_site/index.html b/packages/cli/test/functional/test_site/expected/sub_site/index.html index fb2b39c005..6778dfe376 100644 --- a/packages/cli/test/functional/test_site/expected/sub_site/index.html +++ b/packages/cli/test/functional/test_site/expected/sub_site/index.html @@ -255,5 +255,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/sub_site/nested_sub_site/index.html b/packages/cli/test/functional/test_site/expected/sub_site/nested_sub_site/index.html index 4c193b8b25..26acbaad18 100644 --- a/packages/cli/test/functional/test_site/expected/sub_site/nested_sub_site/index.html +++ b/packages/cli/test/functional/test_site/expected/sub_site/nested_sub_site/index.html @@ -246,5 +246,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/sub_site/nested_sub_site/testNunjucksPathResolving.html b/packages/cli/test/functional/test_site/expected/sub_site/nested_sub_site/testNunjucksPathResolving.html index 0c948c6338..f5c853884d 100644 --- a/packages/cli/test/functional/test_site/expected/sub_site/nested_sub_site/testNunjucksPathResolving.html +++ b/packages/cli/test/functional/test_site/expected/sub_site/nested_sub_site/testNunjucksPathResolving.html @@ -251,5 +251,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/sub_site/testNunjucksPathResolving.html b/packages/cli/test/functional/test_site/expected/sub_site/testNunjucksPathResolving.html index 0c948c6338..f5c853884d 100644 --- a/packages/cli/test/functional/test_site/expected/sub_site/testNunjucksPathResolving.html +++ b/packages/cli/test/functional/test_site/expected/sub_site/testNunjucksPathResolving.html @@ -251,5 +251,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testAnchorGeneration.html b/packages/cli/test/functional/test_site/expected/testAnchorGeneration.html index e8ae389f7d..c4f538cef4 100644 --- a/packages/cli/test/functional/test_site/expected/testAnchorGeneration.html +++ b/packages/cli/test/functional/test_site/expected/testAnchorGeneration.html @@ -313,5 +313,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testAnnotate.html b/packages/cli/test/functional/test_site/expected/testAnnotate.html index 4a0c392e61..d91b4c685a 100644 --- a/packages/cli/test/functional/test_site/expected/testAnnotate.html +++ b/packages/cli/test/functional/test_site/expected/testAnnotate.html @@ -300,5 +300,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testAntiFOUCStyles.html b/packages/cli/test/functional/test_site/expected/testAntiFOUCStyles.html index d8d3ed09b7..c649a61115 100644 --- a/packages/cli/test/functional/test_site/expected/testAntiFOUCStyles.html +++ b/packages/cli/test/functional/test_site/expected/testAntiFOUCStyles.html @@ -268,5 +268,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testCenterText.html b/packages/cli/test/functional/test_site/expected/testCenterText.html index 87d0509b94..9f0cbe85dc 100644 --- a/packages/cli/test/functional/test_site/expected/testCenterText.html +++ b/packages/cli/test/functional/test_site/expected/testCenterText.html @@ -244,5 +244,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testCodeBlocks.html b/packages/cli/test/functional/test_site/expected/testCodeBlocks.html index 7529a6a4a1..cf4abfbd8f 100644 --- a/packages/cli/test/functional/test_site/expected/testCodeBlocks.html +++ b/packages/cli/test/functional/test_site/expected/testCodeBlocks.html @@ -436,5 +436,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testDates.html b/packages/cli/test/functional/test_site/expected/testDates.html index c6cc8641e3..a8cbe2b7da 100644 --- a/packages/cli/test/functional/test_site/expected/testDates.html +++ b/packages/cli/test/functional/test_site/expected/testDates.html @@ -250,5 +250,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testEmptyFrontmatter.html b/packages/cli/test/functional/test_site/expected/testEmptyFrontmatter.html index def9d790df..1c6e18d3ca 100644 --- a/packages/cli/test/functional/test_site/expected/testEmptyFrontmatter.html +++ b/packages/cli/test/functional/test_site/expected/testEmptyFrontmatter.html @@ -251,5 +251,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testExternalScripts.html b/packages/cli/test/functional/test_site/expected/testExternalScripts.html index 53b246e87f..cd740489ff 100644 --- a/packages/cli/test/functional/test_site/expected/testExternalScripts.html +++ b/packages/cli/test/functional/test_site/expected/testExternalScripts.html @@ -255,5 +255,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testHr.html b/packages/cli/test/functional/test_site/expected/testHr.html index e86b77efa3..35e13a8ea6 100644 --- a/packages/cli/test/functional/test_site/expected/testHr.html +++ b/packages/cli/test/functional/test_site/expected/testHr.html @@ -253,5 +253,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testImages.html b/packages/cli/test/functional/test_site/expected/testImages.html index 6655443b72..dd97e5b35a 100644 --- a/packages/cli/test/functional/test_site/expected/testImages.html +++ b/packages/cli/test/functional/test_site/expected/testImages.html @@ -251,5 +251,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testIncludeBoilerplate.html b/packages/cli/test/functional/test_site/expected/testIncludeBoilerplate.html index 569847a7b0..46f5a81133 100644 --- a/packages/cli/test/functional/test_site/expected/testIncludeBoilerplate.html +++ b/packages/cli/test/functional/test_site/expected/testIncludeBoilerplate.html @@ -335,5 +335,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testIncludeMultipleModals.html b/packages/cli/test/functional/test_site/expected/testIncludeMultipleModals.html index aca6bac2da..89e8af9b5a 100644 --- a/packages/cli/test/functional/test_site/expected/testIncludeMultipleModals.html +++ b/packages/cli/test/functional/test_site/expected/testIncludeMultipleModals.html @@ -250,5 +250,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testIncludePluginsRendered.html b/packages/cli/test/functional/test_site/expected/testIncludePluginsRendered.html index a450362407..69b9a7d043 100644 --- a/packages/cli/test/functional/test_site/expected/testIncludePluginsRendered.html +++ b/packages/cli/test/functional/test_site/expected/testIncludePluginsRendered.html @@ -245,5 +245,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testLayouts.html b/packages/cli/test/functional/test_site/expected/testLayouts.html index 5e460f1507..735ce1fc14 100644 --- a/packages/cli/test/functional/test_site/expected/testLayouts.html +++ b/packages/cli/test/functional/test_site/expected/testLayouts.html @@ -251,5 +251,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testLayoutsOverride.html b/packages/cli/test/functional/test_site/expected/testLayoutsOverride.html index 55630e4247..65b2a7b82e 100644 --- a/packages/cli/test/functional/test_site/expected/testLayoutsOverride.html +++ b/packages/cli/test/functional/test_site/expected/testLayoutsOverride.html @@ -251,5 +251,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testLinks.html b/packages/cli/test/functional/test_site/expected/testLinks.html index 30525fc988..4426e92d50 100644 --- a/packages/cli/test/functional/test_site/expected/testLinks.html +++ b/packages/cli/test/functional/test_site/expected/testLinks.html @@ -254,5 +254,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testMath.html b/packages/cli/test/functional/test_site/expected/testMath.html index 9d2326c6de..d24d28f209 100644 --- a/packages/cli/test/functional/test_site/expected/testMath.html +++ b/packages/cli/test/functional/test_site/expected/testMath.html @@ -510,5 +510,9 @@

+import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testMermaid.html b/packages/cli/test/functional/test_site/expected/testMermaid.html new file mode 100644 index 0000000000..ed3c9d0f1a --- /dev/null +++ b/packages/cli/test/functional/test_site/expected/testMermaid.html @@ -0,0 +1,312 @@ + + + + + + + + + + + + + Rendering of diagrams via mermaid-js + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + +
  • Open Bugs
  • +
    +
    +
    + Test Jumbotron
    +
    +
    +
    +

    Relative Link Test This is a relative Intra-Site link in a layout (see link)

    +
    +
    + + + + +
    +

    Mermaid Test

    +
    + %%{init: { "theme": "neutral" } }%% + + graph TD; + A-->B; + A-->C; + B-->D; + C-->D; +
    +
    + graph TD; + A-->B; + A-->C; + B-->D; + C-->D; +
    +
    + sequenceDiagram + participant Alice + participant Bob + Alice->>John: Hello John, how are you? + loop Healthcheck + John->>John: Fight against hypochondria + end + Note right of John: Rational thoughts
    prevail! + John-->>Alice: Great! + John->>Bob: How about you? + Bob-->>John: Jolly good! +
    +
    + gantt + dateFormat YYYY-MM-DD + title Adding GANTT diagram to mermaid + section A section + Completed task :done, des1, 2014-01-06,2014-01-08 + Active task :active, des2, 2014-01-09, 3d + Future task : des3, after des2, 5d + Future task2 : des4, after des3, 5d + + section Critical tasks + Completed task in the critical line :crit, done, 2014-01-06,24h + Implement parser and jison :crit, done, after des1, 2d + Create tests for parser :crit, active, 3d + Future task in critical line :crit, 5d + Create tests for renderer :2d + Add to mermaid :1d + + section Documentation + Describe gantt syntax :active, a1, after des1, 3d + Add gantt diagram to demo page :after a1 , 20h + Add another diagram to demo page :doc1, after a1 , 48h + + section Last section + Describe gantt syntax :after doc1, 3d + Add gantt diagram to demo page : 20h + Add another diagram to demo page : 48h +
    +
    + pie title Pets adopted by volunteers + "Dogs" : 386 + "Cats" : 85 + "Rats" : 15 +
    + +
    + + + +
    +
    +
    +

    Heading in footer should not be indexed

    +
    + This is a dynamic height footer that supports markdown 😄! +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testMermaid.page-vue-render.js b/packages/cli/test/functional/test_site/expected/testMermaid.page-vue-render.js new file mode 100644 index 0000000000..d6081ad444 --- /dev/null +++ b/packages/cli/test/functional/test_site/expected/testMermaid.page-vue-render.js @@ -0,0 +1,19 @@ + + var pageVueRenderFn = function anonymous( +) { +with(this){return _c('div',{attrs:{"id":"app"}},[_c('div',[_c('header',[_c('navbar',{attrs:{"type":"dark","default-highlight-on":"sibling-or-child"},scopedSlots:_u([{key:"brand",fn:function(){return [_c('a',{staticClass:"navbar-brand",attrs:{"href":"/","title":"Home"}},[_v("MarkBind Test Site")])]},proxy:true}])},[_v(" "),_c('li',[_c('a',{staticClass:"nav-link",attrs:{"href":"/test_site/bugs/index.html"}},[_v("Open Bugs")])])]),_v(" "),_m(0)],1),_v(" "),_m(1)]),_v(" "),_c('div',{attrs:{"id":"flex-body"}},[_c('overlay-source',{attrs:{"id":"site-nav","tag-name":"nav","to":"site-nav"}},[_c('div',{staticClass:"site-nav-top"},[_c('div',{staticClass:"fw-bold mb-2",staticStyle:{"font-size":"1.25rem"}},[_c('div',[_c('h2',{attrs:{"id":"default-layout"}},[_c('span',{staticClass:"anchor",attrs:{"id":"default-layout"}}),_v("Default Layout"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#default-layout","onclick":"event.stopPropagation()"}})])])])]),_v(" "),_c('div',{staticClass:"nav-component slim-scroll"},[_c('div',[_c('site-nav',[_c('overlay-source',{staticClass:"site-nav-list site-nav-list-root",attrs:{"tag-name":"ul","to":"mb-site-nav"}},[_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/test_site/index.html"}},[_v("Home 🏠")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/test_site/bugs/index.html"}},[_v("Open Bugs 🐛")])])]),_v(" "),_c('li',{staticClass:"site-nav-custom-list-item site-nav-list-item-0"},[_c('h3',{attrs:{"id":"testing-site-nav"}},[_c('span',{staticClass:"anchor",attrs:{"id":"testing-site-nav"}}),_v("Testing Site-Nav"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#testing-site-nav","onclick":"event.stopPropagation()"}})])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('strong',[_v("Dropdown ")]),_v(" "),_c('span',{staticClass:"glyphicon glyphicon-search",attrs:{"aria-hidden":"true"}}),_v(" title ✏️ "),_v(" "),_c('i',{staticClass:"site-nav-dropdown-btn-icon site-nav-rotate-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list"},[_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.google.com/"}},[_v("Dropdown link one")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.google.com/"}},[_v("Html within site-nav "),_c('span',{staticStyle:{"color":"red"}},[_v("should")]),_v(" be displayed properly")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_v("Nested Dropdown title 📐\n\n"),_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-2",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.google.com/"}},[_c('strong',[_v("Nested")]),_v(" Dropdown link one")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-2",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.google.com/"}},[_c('strong',[_v("Nested")]),_v(" Dropdown link two")])])])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.google.com/"}},[_v("Dropdown link two")])])])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.google.com/"}},[_c('mark',[_v("Third Link")]),_v(" 📋")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_v("Filler text "),_c('a',{attrs:{"href":"https://www.youtube.com/"}},[_c('span',{staticClass:"glyphicon glyphicon-facetime-video",attrs:{"aria-hidden":"true"}}),_v(" Youtube 📺")]),_v(" filler text"),_v(" "),_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.youtube.com/watch?v=dQw4w9WgXcQ"}},[_v("The answer to everything in the universe")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('mark',[_v("Dropdown title")]),_v(" "),_c('span',{staticClass:"glyphicon glyphicon-comment",attrs:{"aria-hidden":"true"}}),_v(" ✏️ "),_v(" "),_c('i',{staticClass:"site-nav-dropdown-btn-icon site-nav-rotate-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list"},[_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-2",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.google.com/"}},[_c('strong',[_v("Nested")]),_v(" Dropdown link one")])])])])])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_v("Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown\n\n"),_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',{staticClass:"site-nav-custom-list-item site-nav-list-item-1"},[_v("Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text")]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_v("Nested Dropdown Title\n\n"),_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',{staticClass:"site-nav-custom-list-item site-nav-list-item-2"},[_v("Hello Doge Hello Doge 🐶")]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-2",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/test_site/index.html"}},[_c('strong',[_v("NESTED LINK")]),_v(" Home 🏠")])])]),_v(" "),_c('li',{staticClass:"site-nav-custom-list-item site-nav-list-item-2"},[_v("Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit")])])])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_v("Test line break in navigation layout\n\n"),_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',{staticClass:"site-nav-custom-list-item site-nav-list-item-1"},[_v("Nested line break text ✂️")]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/test_site/index.html"}},[_v("Nested line break href")]),_v(" "),_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',{staticClass:"site-nav-custom-list-item site-nav-list-item-2"},[_v("Nested Nested line break text ✂️")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_v("Nested line break dropdown menu\n\n"),_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',{staticClass:"site-nav-custom-list-item site-nav-list-item-2"},[_v("Line break item 2 📘")])])])])])])],1)],1)])]),_v(" "),_m(2),_v(" "),_c('overlay-source',{attrs:{"id":"page-nav","tag-name":"nav","to":"page-nav"}},[_c('div',{staticClass:"nav-component slim-scroll"})])],1),_v(" "),_m(3)])} +}; + var pageVueStaticRenderFns = [function anonymous( +) { +with(this){return _c('div',{staticClass:"bg-info display-4 text-center text-white"},[_c('br'),_v("\n Test Jumbotron"),_c('br'),_v(" "),_c('br')])} +},function anonymous( +) { +with(this){return _c('p',[_c('strong',[_v("Relative Link Test")]),_v(" This is a relative Intra-Site link in a layout (see "),_c('a',{attrs:{"href":"/test_site/index.html#heading-with-hidden-keyword"}},[_v("link")]),_v(")")])} +},function anonymous( +) { +with(this){return _c('div',{attrs:{"id":"content-wrapper"}},[_c('p',[_c('strong',[_v("Mermaid Test")])]),_v(" "),_c('div',{staticClass:"mermaid"},[_v("\n%%{init: { \"theme\": \"neutral\" } }%%\n\ngraph TD;\n A-->B;\n A-->C;\n B-->D;\n C-->D;\n")]),_v(" "),_c('div',{staticClass:"mermaid"},[_v("\ngraph TD;\n A-->B;\n A-->C;\n B-->D;\n C-->D;\n")]),_v(" "),_c('div',{staticClass:"mermaid"},[_v("\nsequenceDiagram\n participant Alice\n participant Bob\n Alice->>John: Hello John, how are you?\n loop Healthcheck\n John->>John: Fight against hypochondria\n end\n Note right of John: Rational thoughts "),_c('br'),_v("prevail!\n John-->>Alice: Great!\n John->>Bob: How about you?\n Bob-->>John: Jolly good!\n")]),_v(" "),_c('div',{staticClass:"mermaid"},[_v("\ngantt\ndateFormat YYYY-MM-DD\ntitle Adding GANTT diagram to mermaid\nsection A section\nCompleted task :done, des1, 2014-01-06,2014-01-08\nActive task :active, des2, 2014-01-09, 3d\nFuture task : des3, after des2, 5d\nFuture task2 : des4, after des3, 5d\n\nsection Critical tasks\nCompleted task in the critical line :crit, done, 2014-01-06,24h\nImplement parser and jison :crit, done, after des1, 2d\nCreate tests for parser :crit, active, 3d\nFuture task in critical line :crit, 5d\nCreate tests for renderer :2d\nAdd to mermaid :1d\n\nsection Documentation\nDescribe gantt syntax :active, a1, after des1, 3d\nAdd gantt diagram to demo page :after a1 , 20h\nAdd another diagram to demo page :doc1, after a1 , 48h\n\nsection Last section\nDescribe gantt syntax :after doc1, 3d\nAdd gantt diagram to demo page : 20h\nAdd another diagram to demo page : 48h\n")]),_v(" "),_c('div',{staticClass:"mermaid"},[_v("\npie title Pets adopted by volunteers\n \"Dogs\" : 386\n \"Cats\" : 85\n \"Rats\" : 15\n")]),_v(" "),_c('i',{staticClass:"fa fa-arrow-circle-up fa-lg d-print-none",attrs:{"id":"scroll-top-button","onclick":"handleScrollTop()","aria-hidden":"true"}})])} +},function anonymous( +) { +with(this){return _c('div',[_c('footer',[_c('h1',{attrs:{"id":"heading-in-footer-should-not-be-indexed"}},[_c('span',{staticClass:"anchor",attrs:{"id":"heading-in-footer-should-not-be-indexed"}}),_v("Heading in footer should not be indexed"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#heading-in-footer-should-not-be-indexed","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"text-center"},[_v("\n This is a dynamic height footer that supports markdown "),_c('span',[_v("😄")]),_v("!\n ")])])])} +}]; + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testModals.html b/packages/cli/test/functional/test_site/expected/testModals.html index d32e7a23b7..cf4f16a5f1 100644 --- a/packages/cli/test/functional/test_site/expected/testModals.html +++ b/packages/cli/test/functional/test_site/expected/testModals.html @@ -386,5 +386,9 @@

    +import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testNunjucksPathResolving.html b/packages/cli/test/functional/test_site/expected/testNunjucksPathResolving.html index 0c948c6338..f5c853884d 100644 --- a/packages/cli/test/functional/test_site/expected/testNunjucksPathResolving.html +++ b/packages/cli/test/functional/test_site/expected/testNunjucksPathResolving.html @@ -251,5 +251,9 @@

    +import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testPageNav.html b/packages/cli/test/functional/test_site/expected/testPageNav.html index 0fc384bc67..330d2994dd 100644 --- a/packages/cli/test/functional/test_site/expected/testPageNav.html +++ b/packages/cli/test/functional/test_site/expected/testPageNav.html @@ -259,5 +259,9 @@

    +import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testPanelMarkdownParsing.html b/packages/cli/test/functional/test_site/expected/testPanelMarkdownParsing.html index 6be480a460..d4d2994c77 100644 --- a/packages/cli/test/functional/test_site/expected/testPanelMarkdownParsing.html +++ b/packages/cli/test/functional/test_site/expected/testPanelMarkdownParsing.html @@ -301,5 +301,9 @@

    +import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testPlantUML.html b/packages/cli/test/functional/test_site/expected/testPlantUML.html index b1a5fc2a54..99909305c8 100644 --- a/packages/cli/test/functional/test_site/expected/testPlantUML.html +++ b/packages/cli/test/functional/test_site/expected/testPlantUML.html @@ -249,5 +249,9 @@

    +import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testPopoverTrigger.html b/packages/cli/test/functional/test_site/expected/testPopoverTrigger.html index fd992ce519..e4ba891f56 100644 --- a/packages/cli/test/functional/test_site/expected/testPopoverTrigger.html +++ b/packages/cli/test/functional/test_site/expected/testPopoverTrigger.html @@ -249,5 +249,9 @@

    +import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testPopovers.html b/packages/cli/test/functional/test_site/expected/testPopovers.html index 27087e9da6..fea05b69e4 100644 --- a/packages/cli/test/functional/test_site/expected/testPopovers.html +++ b/packages/cli/test/functional/test_site/expected/testPopovers.html @@ -334,5 +334,9 @@

    +import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testThumbnails.html b/packages/cli/test/functional/test_site/expected/testThumbnails.html index 0f622deb7b..60995f570b 100644 --- a/packages/cli/test/functional/test_site/expected/testThumbnails.html +++ b/packages/cli/test/functional/test_site/expected/testThumbnails.html @@ -341,5 +341,9 @@

    +import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testTooltipSpacing.html b/packages/cli/test/functional/test_site/expected/testTooltipSpacing.html index e12e771e01..8904c6d146 100644 --- a/packages/cli/test/functional/test_site/expected/testTooltipSpacing.html +++ b/packages/cli/test/functional/test_site/expected/testTooltipSpacing.html @@ -251,5 +251,9 @@

    +import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testTree.html b/packages/cli/test/functional/test_site/expected/testTree.html index 99c9948b3d..8fd39116e6 100644 --- a/packages/cli/test/functional/test_site/expected/testTree.html +++ b/packages/cli/test/functional/test_site/expected/testTree.html @@ -316,5 +316,9 @@

    +import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testVariableContainsInclude.html b/packages/cli/test/functional/test_site/expected/testVariableContainsInclude.html index e42ab9f487..6601580595 100644 --- a/packages/cli/test/functional/test_site/expected/testVariableContainsInclude.html +++ b/packages/cli/test/functional/test_site/expected/testVariableContainsInclude.html @@ -241,5 +241,9 @@

    +import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/test_md_fragment.html b/packages/cli/test/functional/test_site/expected/test_md_fragment.html index af5a3ca5b7..03d836c5e4 100644 --- a/packages/cli/test/functional/test_site/expected/test_md_fragment.html +++ b/packages/cli/test/functional/test_site/expected/test_md_fragment.html @@ -242,5 +242,9 @@

    +import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/site.json b/packages/cli/test/functional/test_site/site.json index ebb832eb34..fa2ae29c3c 100644 --- a/packages/cli/test/functional/test_site/site.json +++ b/packages/cli/test/functional/test_site/site.json @@ -134,6 +134,10 @@ { "src": "testImages.md", "title": "Rendering of images according to specified dimension and auto-linkify ability" + }, + { + "src": "testMermaid.md", + "title": "Rendering of diagrams via mermaid-js" } ], "pagesExclude": ["**/*-fragment.md"], @@ -159,7 +163,8 @@ "testMarkbindPlugin", "filterTags", "googleAnalytics", - "mathDelimiters" + "mathDelimiters", + "mermaid" ], "pluginsContext": { "testMarkbindPlugin": { @@ -178,6 +183,12 @@ }, "mathDelimiters": { "delimiters": ["beg_end"] + }, + "mermaid": { + "config": { + "startOnLoad": true, + "theme": "forest" + } } } } diff --git a/packages/cli/test/functional/test_site/testMermaid.md b/packages/cli/test/functional/test_site/testMermaid.md new file mode 100644 index 0000000000..a938c94cc3 --- /dev/null +++ b/packages/cli/test/functional/test_site/testMermaid.md @@ -0,0 +1,69 @@ +**Mermaid Test** + + +%%{init: { "theme": "neutral" } }%% + +graph TD; + A-->B; + A-->C; + B-->D; + C-->D; + + + +graph TD; + A-->B; + A-->C; + B-->D; + C-->D; + + + +sequenceDiagram + participant Alice + participant Bob + Alice->>John: Hello John, how are you? + loop Healthcheck + John->>John: Fight against hypochondria + end + Note right of John: Rational thoughts
    prevail! + John-->>Alice: Great! + John->>Bob: How about you? + Bob-->>John: Jolly good! +
    + + +gantt +dateFormat YYYY-MM-DD +title Adding GANTT diagram to mermaid +section A section +Completed task :done, des1, 2014-01-06,2014-01-08 +Active task :active, des2, 2014-01-09, 3d +Future task : des3, after des2, 5d +Future task2 : des4, after des3, 5d + +section Critical tasks +Completed task in the critical line :crit, done, 2014-01-06,24h +Implement parser and jison :crit, done, after des1, 2d +Create tests for parser :crit, active, 3d +Future task in critical line :crit, 5d +Create tests for renderer :2d +Add to mermaid :1d + +section Documentation +Describe gantt syntax :active, a1, after des1, 3d +Add gantt diagram to demo page :after a1 , 20h +Add another diagram to demo page :doc1, after a1 , 48h + +section Last section +Describe gantt syntax :after doc1, 3d +Add gantt diagram to demo page : 20h +Add another diagram to demo page : 48h + + + +pie title Pets adopted by volunteers + "Dogs" : 386 + "Cats" : 85 + "Rats" : 15 + \ No newline at end of file From fdb243ed8b646232354a6693d15476797ce8b507 Mon Sep 17 00:00:00 2001 From: tlylt Date: Fri, 23 Dec 2022 19:44:49 +0800 Subject: [PATCH 7/7] fix merge conflicts --- .../test/functional/test_site/expected/siteData.json | 10 +++++++--- .../test_site/expected/testPageNavTarget.html | 4 ++++ .../test_site/expected/testPageNavWithOnlyTitle.html | 4 ++++ .../testPageNavWithoutTitleAndNavHeadings.html | 4 ++++ 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/packages/cli/test/functional/test_site/expected/siteData.json b/packages/cli/test/functional/test_site/expected/siteData.json index 91adbf4345..3dd097f792 100644 --- a/packages/cli/test/functional/test_site/expected/siteData.json +++ b/packages/cli/test/functional/test_site/expected/siteData.json @@ -337,8 +337,6 @@ "headingKeywords": {} }, { - "src": "testMermaid.md", - "title": "Rendering of diagrams via mermaid-js", "src": "testPageNavTarget.md", "title": "Bootstrap scrollspy related classes should be applied only if there are navigable headings", "headings": {}, @@ -355,6 +353,12 @@ "title": "page nav with title added", "headings": {}, "headingKeywords": {} + }, + { + "src": "testMermaid.md", + "title": "Rendering of diagrams via mermaid-js", + "headings": {}, + "headingKeywords": {} } ] -} \ No newline at end of file +} diff --git a/packages/cli/test/functional/test_site/expected/testPageNavTarget.html b/packages/cli/test/functional/test_site/expected/testPageNavTarget.html index 3b992fe4c8..ec2f5a7ea0 100644 --- a/packages/cli/test/functional/test_site/expected/testPageNavTarget.html +++ b/packages/cli/test/functional/test_site/expected/testPageNavTarget.html @@ -247,5 +247,9 @@

    +import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testPageNavWithOnlyTitle.html b/packages/cli/test/functional/test_site/expected/testPageNavWithOnlyTitle.html index 377564beec..d9f0739518 100644 --- a/packages/cli/test/functional/test_site/expected/testPageNavWithOnlyTitle.html +++ b/packages/cli/test/functional/test_site/expected/testPageNavWithOnlyTitle.html @@ -247,5 +247,9 @@

    +import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testPageNavWithoutTitleAndNavHeadings.html b/packages/cli/test/functional/test_site/expected/testPageNavWithoutTitleAndNavHeadings.html index 2c6e17b12d..97960626c2 100644 --- a/packages/cli/test/functional/test_site/expected/testPageNavWithoutTitleAndNavHeadings.html +++ b/packages/cli/test/functional/test_site/expected/testPageNavWithoutTitleAndNavHeadings.html @@ -243,5 +243,9 @@

    +import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs'; +mermaid.initialize({"startOnLoad":true,"theme":"forest"}); + \ No newline at end of file