Diagrams
See the Mermaid Documentation for more examples.
Graph
1```mermaid
2graph TD;
3 A-->B;
4 A-->C;
5 B-->D;
6 C-->D;
7```
graph TD; A-->B; A-->C; B-->D; C-->D;
State
1```mermaid
2---
3title: Simple sample
4---
5stateDiagram-v2
6 [*] --> Still
7 Still --> [*]
8
9 Still --> Moving
10 Moving --> Still
11 Moving --> Crash
12 Crash --> [*]
13```
--- title: Simple sample --- stateDiagram-v2 [*] --> Still Still --> [*] Still --> Moving Moving --> Still Moving --> Crash Crash --> [*]
FlowChart
1```mermaid
2flowchart LR
3 subgraph TOP
4 direction TB
5 subgraph B1
6 direction RL
7 i1 -->f1
8 end
9 subgraph B2
10 direction BT
11 i2 -->f2
12 end
13 end
14 A --> TOP --> B
15 B1 --> B2
16
17```
flowchart LR subgraph TOP direction TB subgraph B1 direction RL i1 -->f1 end subgraph B2 direction BT i2 -->f2 end end A --> TOP --> B B1 --> B2
Entity Relationship
1```mermaid
2---
3title: Order example
4---
5erDiagram
6 CUSTOMER ||--o{ ORDER : places
7 ORDER ||--|{ LINE-ITEM : contains
8 CUSTOMER }|..|{ DELIVERY-ADDRESS : uses
9
10```
--- title: Order example --- erDiagram CUSTOMER ||--o{ ORDER : places ORDER ||--|{ LINE-ITEM : contains CUSTOMER }|..|{ DELIVERY-ADDRESS : uses
Sequence
1```mermaid
2sequenceDiagram
3 participant A as Alice
4 participant J as John
5 A->>J: Hello John, how are you?
6 J->>A: Great!
7```
sequenceDiagram participant A as Alice participant J as John A->>J: Hello John, how are you? J->>A: Great!
Class
1```mermaid
2---
3title: Animal example
4---
5classDiagram
6 note "From Duck till Zebra"
7 Animal <|-- Duck
8 note for Duck "can fly\ncan swim\ncan dive\ncan help in debugging"
9 Animal <|-- Fish
10 Animal <|-- Zebra
11 Animal : +int age
12 Animal : +String gender
13 Animal: +isMammal()
14 Animal: +mate()
15 class Duck{
16 +String beakColor
17 +swim()
18 +quack()
19 }
20 class Fish{
21 -int sizeInFeet
22 -canEat()
23 }
24 class Zebra{
25 +bool is_wild
26 +run()
27 }
28```
--- title: Animal example --- classDiagram note "From Duck till Zebra" Animal <|-- Duck note for Duck "can fly\ncan swim\ncan dive\ncan help in debugging" Animal <|-- Fish Animal <|-- Zebra Animal : +int age Animal : +String gender Animal: +isMammal() Animal: +mate() class Duck{ +String beakColor +swim() +quack() } class Fish{ -int sizeInFeet -canEat() } class Zebra{ +bool is_wild +run() }