From f39381cb2b90730d2f5829e7fa3844f7565ce2dd Mon Sep 17 00:00:00 2001 From: Adam Christian Date: Wed, 20 Nov 2024 17:56:00 -0800 Subject: [PATCH] Adding a mermaid diagram docs page --- docs/usage/mermaid-diagrams.md | 27 +++++++++++++++++++++++++++ static/img/mermaid.png | Bin 0 -> 23043 bytes 2 files changed, 27 insertions(+) create mode 100644 docs/usage/mermaid-diagrams.md create mode 100644 static/img/mermaid.png diff --git a/docs/usage/mermaid-diagrams.md b/docs/usage/mermaid-diagrams.md new file mode 100644 index 00000000..b414b9fd --- /dev/null +++ b/docs/usage/mermaid-diagrams.md @@ -0,0 +1,27 @@ +--- +title: Render Mermaid Diagrams +--- + +# Rendering Mermaid Diagrams in your Notebooks + +If you want to render Mermaid diagrams in your Runme Notebooks it can actually be done pretty easily by installing an extension and using the right syntax. + +### Install the VS Code extension + +Either from [this link](https://marketplace.visualstudio.com/items?itemName=bierner.markdown-mermaid) or in the VS Code extension panel, search for "Markdown Preview Mermaid Support". + +### Put the following syntax in a Markdown block + +
+::: mermaid
+graph TD;
+A-->B;
+A-->C;
+B-->D;
+C-->D;
+:::
+
+ +### You should get a diagram rendering, like the following: + +![Mermaid example](/img/mermaid.png) diff --git a/static/img/mermaid.png b/static/img/mermaid.png new file mode 100644 index 0000000000000000000000000000000000000000..8a45ebf12bfe634ad34a49cd545d5062a04563ac GIT binary patch literal 23043 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