From cd779b21e5c6a12aa0aa8eb99aa0e07e5acf2e72 Mon Sep 17 00:00:00 2001 From: Sarah Edwards Date: Mon, 14 Feb 2022 09:06:40 -0800 Subject: [PATCH] Mermaid syntax support (#25150) --- .../help/writing/mermaid-flow-chart.png | Bin 0 -> 46593 bytes .../creating-and-highlighting-code-blocks.md | 7 ++++ .../creating-diagrams.md | 33 ++++++++++++++++++ .../working-with-advanced-formatting/index.md | 1 + data/features/mermaid.yml | 7 ++++ 5 files changed, 48 insertions(+) create mode 100644 assets/images/help/writing/mermaid-flow-chart.png create mode 100644 content/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams.md create mode 100644 data/features/mermaid.yml diff --git a/assets/images/help/writing/mermaid-flow-chart.png b/assets/images/help/writing/mermaid-flow-chart.png new file mode 100644 index 0000000000000000000000000000000000000000..900b3b6c390262ccb516cba611bac1e7f3089b53 GIT binary patch literal 46593 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

|9B{3gMCYY6C}8cMh$z6Urvo|LqoRILR)Oyp3V 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 literal 0 HcmV?d00001 diff --git a/content/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks.md b/content/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks.md index 46ca346425..b9f21c56e7 100644 --- a/content/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks.md +++ b/content/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks.md @@ -66,6 +66,13 @@ For example, to syntax highlight Ruby code: We use [Linguist](https://github.com/github/linguist) to perform language detection and to select [third-party grammars](https://github.com/github/linguist/blob/master/vendor/README.md) for syntax highlighting. You can find out which keywords are valid in [the languages YAML file](https://github.com/github/linguist/blob/master/lib/linguist/languages.yml). +{% if mermaid %} +## Creating diagrams + +You can use Mermaid syntax to add diagrams. For more information, see "[Creating diagrams](/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams)." + +{% endif %} + ## Further reading - [{% data variables.product.prodname_dotcom %} Flavored Markdown Spec](https://github.github.com/gfm/) diff --git a/content/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams.md b/content/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams.md new file mode 100644 index 0000000000..4f4f1a2e26 --- /dev/null +++ b/content/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams.md @@ -0,0 +1,33 @@ +--- +title: Creating diagrams +intro: Create diagrams to convey information through charts and graphs +versions: + feature: mermaid +shortTitle: Create diagrams +--- + +You can use Mermaid syntax to create diagrams. Mermaid is a Markdown-inspired tool that renders text into diagrams. For example, Mermaid can render flow charts, sequence diagrams, pie charts and more. For more information, see the [Mermaid documentation](https://mermaid-js.github.io/mermaid/#/). + +To create a Mermaid diagram, add Mermaid syntax inside a fenced code block with the `mermaid` language identifier. For more information about creating code blocks, see "[Creating and highlighting code blocks](/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks)." + +For example, you can create a flow chart: + +

+Here is a simple flow chart:
+
+```mermaid
+graph TD;
+    A-->B;
+    A-->C;
+    B-->D;
+    C-->D;
+```
+
+ +![Rendered Mermaid flow chart](/assets/images/help/writing/mermaid-flow-chart.png) + +{% note %} + +**Note:** You may observe errors if you run a third-party Mermaid plugin when using Mermaid syntax on {% data variables.product.company_short %}. + +{% endnote %} diff --git a/content/get-started/writing-on-github/working-with-advanced-formatting/index.md b/content/get-started/writing-on-github/working-with-advanced-formatting/index.md index 26651f391d..9e52880793 100644 --- a/content/get-started/writing-on-github/working-with-advanced-formatting/index.md +++ b/content/get-started/writing-on-github/working-with-advanced-formatting/index.md @@ -13,6 +13,7 @@ children: - /organizing-information-with-tables - /organizing-information-with-collapsed-sections - /creating-and-highlighting-code-blocks + - /creating-diagrams - /autolinked-references-and-urls - /attaching-files - /creating-a-permanent-link-to-a-code-snippet diff --git a/data/features/mermaid.yml b/data/features/mermaid.yml new file mode 100644 index 0000000000..7923730060 --- /dev/null +++ b/data/features/mermaid.yml @@ -0,0 +1,7 @@ +# Issue 5812 and 6172 +# Mermaid syntax support +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.5' + ghae: 'issue-6172'