Artikel Galerie Kontakt

Mermaid Example Diagrams

Subtitle
11.01.2022

Mermaid is a library helping you to generate diagrams from text, in a similar manner as Markdown.

If you use Hugo, insert your mermaid code in the mermaid shortcode and that’s it.

Flowchart example

{{<mermaid align="left">}}
graph LR;
	A[Hard edge] -->|Link text| B(Round edge)
	B --> C{Decision}
	C -->|One| D[Result one]
	C -->|Two| E[Result two]
{{< /mermaid >}}

renders as

graph LR; A[Hard edge] -->|Link text| B(Round edge) B --> C{Decision} C -->|One| D[Result one] C -->|Two| E[Result two]

Sequence example

{{<mermaid>}}
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 <br/>prevail...
    John-->Alice: Great!
    John->Bob: How about you?
    Bob-->John: Jolly good!
{{< /mermaid >}}

renders as

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 Example

{{<mermaid>}}
gantt
        dateFormat  YYYY-MM-DD
        title Adding GANTT diagram functionality 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
{{< /mermaid >}}

renders as

gantt dateFormat YYYY-MM-DD title Adding GANTT diagram functionality 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

Class example

{{< mermaid >}}
    classDiagram
          Class01 <|-- AveryLongClass : Cool
          Class03 *-- Class04
          Class05 o-- Class06
          Class07 .. Class08
          Class09 --> C2 : Where am i?
          Class09 --* C3
          Class09 --|> Class07
          Class07 : equals()
          Class07 : Object[] elementData
          Class01 : size()
          Class01 : int chimp
          Class01 : int gorilla
          Class08 <--> C2: Cool label
{{< /mermaid >}}

renders as

classDiagram Class01 <|-- AveryLongClass : Cool Class03 _-- Class04 Class05 o-- Class06 Class07 .. Class08 Class09 --> C2 : Where am i? Class09 --_ C3 Class09 --|> Class07 Class07 : equals() Class07 : Object[] elementData Class01 : size() Class01 : int chimp Class01 : int gorilla Class08 <--> C2: Cool label

State Example

    {{< mermaid >}}
    stateDiagram
    [*] --> Still
    Still --> [*]

        Still --> Moving
        Moving --> Still
        Moving --> Crash
        Crash --> [*]

    {{< /mermaid >}}

renders as

stateDiagram [*] --> Still Still --> [*] Still --> Moving Moving --> Still Moving --> Crash Crash --> [*]

Pie Example

    {{<mermaid>}}
    pie title Pets adopted by volunteers
        "Dogs" : 386
        "Cats" : 85
        "Rats" : 15
    {{</mermaid>}}

renders as

pie title Pets adopted by volunteers "Dogs" : 386 "Cats" : 85 "Rats" : 15

Git example

    {{< mermaid >}}

        gitGraph:
                options
                {
                    "nodeSpacing": 150,
                    "nodeRadius": 10
                }
                end
                commit
                branch newbranch
                checkout newbranch
                commit
                commit
                checkout master
                commit
                commit
                merge newbranch
    {{< /mermaid >}}

renders as

gitGraph: options { "nodeSpacing": 150, "nodeRadius": 10 } end commit branch newbranch checkout newbranch commit commit checkout master commit commit merge newbranch
stateDiagram-v2 [*] --> First state First { [*] --> Second state Second { [*] --> second second --> Third state Third { [*] --> third third --> [*] } } }

mermaid-doku

<< Upgrade Samsung S4 auf Android 11
Katex Examples >>