diff --git a/docs/site.json b/docs/site.json
index a9058d8761..89193d5e29 100644
--- a/docs/site.json
+++ b/docs/site.json
@@ -26,7 +26,8 @@
"codeBlockWrapButtons",
"web3Form",
"codeBlockCopyButtons",
- "dataTable"
+ "dataTable",
+ "mermaid"
],
"pluginsContext" : {
"filterTags" : {
diff --git a/docs/userGuide/plugins/mermaid.md b/docs/userGuide/plugins/mermaid.md
new file mode 100644
index 0000000000..b9441572d3
--- /dev/null
+++ b/docs/userGuide/plugins/mermaid.md
@@ -0,0 +1,112 @@
+### Plugin: Mermaid
+
+
+
+This plugin allows you to utilize [Mermaid](https://mermaid-js.github.io/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 are available in [the Mermaid official documentation](https://mermaid-js.github.io/mermaid/).
+
+
+
+To enable this plugin, add `mermaid` to your site's plugins.
+
+```js {heading="site.json"}
+{
+ ...
+ "plugins": [
+ "mermaid"
+ ]
+}
+```
+
+
+
+By default, the plugin loads the Mermaid code from a CDN URL. However, you can optionally specify an alternative URL to load the Mermaid code from a different source.
+
+```js {heading="site.json"}
+{
+ ...
+ "plugins": [
+ "mermaid"
+ ],
+ "pluginsContext": {
+ "mermaid": {
+ "address": "https://unpkg.com/mermaid@10/dist/mermaid.esm.min.mjs" // replace with URL of your choice
+ }
+ }
+}
+```
+
+
+
+To create a Mermaid diagram, use the `
` tag and provide the diagram definition within the tag.
+
+{{ 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
+
+
+
+
+The plugin automatically converts the `` tags into appropriate `` elements with the necessary classes and attributes for rendering the diagrams using the Mermaid library.
+
diff --git a/docs/userGuide/syntax/diagrams.md b/docs/userGuide/syntax/diagrams.md
index 92d2c026d9..efa96c9ed2 100644
--- a/docs/userGuide/syntax/diagrams.md
+++ b/docs/userGuide/syntax/diagrams.md
@@ -1,5 +1,6 @@
## Diagrams
+### PlantUML Diagrams
You can use the [PlantUML](http://plantuml.com/) syntax to add diagrams.
@@ -159,3 +160,7 @@ bob -> bob ++ : self call
+
+### Mermaid Diagrams
+
+
diff --git a/docs/userGuide/usingPlugins.md b/docs/userGuide/usingPlugins.md
index bbbc59bcf8..9f7cc9fdd9 100644
--- a/docs/userGuide/usingPlugins.md
+++ b/docs/userGuide/usingPlugins.md
@@ -65,6 +65,7 @@ MarkBind has a set of built-in plugins that can be used immediately without inst
+
## Using External Plugins
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 057cc6dfb4..dfefc5fd9d 100644
--- a/packages/cli/test/functional/test_site/expected/bugs/index.html
+++ b/packages/cli/test/functional/test_site/expected/bugs/index.html
@@ -279,5 +279,18 @@