3703 کلمه
19 minutes
Mermaid Example

Here are several examples of how to create diagrams and charts using Mermaid. These examples are based on the official documentation, where you can find more advanced details.

Flowchart#

Text

One

Two

Hard

Round

Decision

Result 1

Result 2

flowchart TD
A[Hard] -->|Text| B(Round)
B --> C{Decision}
C -->|One| D["`**Result 1**`"]
C -->|Two| E["`**Result 2**`"]

Source: https://mermaid.js.org/syntax/flowchart.html

Swimlane Diagram#

Engineering

Support

Customer

Request service

Receive update

Triage request

Send answer

Investigate issue

Prepare fix

Known issue

Needs code change

swimlane-beta LR
subgraph Customer
request[Request service]
receive[Receive update]
end
subgraph Support
triage[Triage request]
answer[Send answer]
end
subgraph Engineering
investigate[Investigate issue]
fix[Prepare fix]
end
request --> triage
triage -->|Known issue| answer
triage -->|Needs code change| investigate
investigate --> fix --> answer
answer --> receive

Source: https://mermaid.js.org/syntax/swimlanes.html

Sequence Diagram#

BobJohnAliceBobJohnAliceloop[HealthCheck]Rational thoughts!Hello John, how are you?Fight against hypochondriaGreat!How about you?Jolly good!
sequenceDiagram
Alice->>John: Hello John, how are you?
loop HealthCheck
John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts!
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!

Source: https://mermaid.js.org/syntax/sequenceDiagram.html

Class Diagram#

Cool

Where am I?

«Interface»

Class01

int chimp

int gorilla

size()

AveryLongClass

Class09

C2

C3

Class07

Object[] elementData

equals()

«service»

Class10

int id

size()

classDiagram
Class01 <|-- AveryLongClass : Cool
<<Interface>> Class01
Class09 --> C2 : Where am I?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
class Class10 {
<<service>>
int id
size()
}

Source: https://mermaid.js.org/syntax/classDiagram.html

State Diagram#

Still

Moving

Crash

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

Source: https://mermaid.js.org/syntax/stateDiagram.html

Entity Relationship Diagram#

allows

is

makes

CAR

string

registrationNumber

PK

string

make

string

model

string[]

parts

NAMED-DRIVER

string

carRegistrationNumber

PK,FK

string

driverLicence

PK,FK

PERSON

string

driversLicense

PK

The license #

string(99)

firstName

Only 99 characters are allowed

string

lastName

string

phone

UK

int

age

MANUFACTURER

erDiagram
CAR ||--o{ NAMED-DRIVER : allows
CAR {
string registrationNumber PK
string make
string model
string[] parts
}
PERSON ||--o{ NAMED-DRIVER : is
PERSON {
string driversLicense PK "The license #"
string(99) firstName "Only 99 characters are allowed"
string lastName
string phone UK
int age
}
NAMED-DRIVER {
string carRegistrationNumber PK, FK
string driverLicence PK, FK
}
"**MANUFACTURER**" only one to zero or more CAR : makes

Source: https://mermaid.js.org/syntax/entityRelationshipDiagram.html

User Journey Diagram#

CatMe
Go to work
Go to work
Me
Make tea
Make tea
Me
Go upstairs
Go upstairs
MeCat
Do work
Do work
Go home
Go home
Me
Go downstairs
Go downstairs
Me
Sit down
Sit down
My working day
journey
title My working day
section Go to work
Make tea : 5: Me
Go upstairs : 3: Me
Do work : 1: Me, Cat
section Go home
Go downstairs : 5: Me
Sit down : 3: Me

Source: https://mermaid.js.org/syntax/userJourney.html

Gantt Chart#

2014-01-072014-01-092014-01-112014-01-132014-01-152014-01-172014-01-192014-01-212014-01-232014-01-252014-01-27Completed task Completed task in the critical line Implement parser and jison Describe gantt syntax Active task Create tests for parser Add gantt diagram to demo page Add another diagram to demo page Future task Future task in critical line Describe gantt syntax Add gantt diagram to demo page Add another diagram to demo page Future task2 Create tests for renderer Functionality added A sectionCritical tasksDocumentationLast section Adding GANTT diagram functionality to mermaid
gantt
dateFormat YYYY-MM-DD
title Adding GANTT diagram functionality to mermaid
excludes weekends
%% (`excludes` accepts specific dates in YYYY-MM-DD format, days of the week ("sunday") or "weekends", but not the word "weekdays".)
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 :2014-01-06,24h
Implement parser and jison :after des1, 2d
Create tests for parser :crit, active, 3d
Future task in critical line :crit, 5d
Create tests for renderer :3d
Functionality added :milestone, isadded, 2014-01-25, 0d
section Documentation
Describe gantt syntax :active, a1, after des1, 3d
Add gantt diagram to demo page :after a1 , 20h
Add another diagram to demo page :doc1, after a1 , 48h
section Last section
Describe gantt syntax :after doc1, 3d
Add gantt diagram to demo page :20h
Add another diagram to demo page :48h

Source: https://mermaid.js.org/syntax/gantt.html

Bar chart#

NOTE

Bar chart using Gantt Chart documentation

051015202530354045505560657071 36 34 9 5 Issue19062Issue19401Issue193Issue7441Issue1300Git Issues - days since last update
gantt
title Git Issues - days since last update
dateFormat X
axisFormat %s
section Issue19062
71 : 0, 71
section Issue19401
36 : 0, 36
section Issue193
34 : 0, 34
section Issue7441
9 : 0, 9
section Issue1300
5 : 0, 5

Pie Chart#

40%46%9%5%Key elements in Product XCalcium [42.96]Potassium [50.05]Magnesium [10.01]Iron [5]
---
config:
pie:
textPosition: 0.5
donutHole: 0.2
highlightSlice: Potassium
themeVariables:
pieOuterStrokeWidth: "5px"
---
pie showData
title Key elements in Product X
"Calcium" : 42.96
"Potassium" : 50.05
"Magnesium" : 10.01
"Iron" : 5

Source: https://mermaid.js.org/syntax/pie.html

Quadrant Chart#

We should expandNeed to promoteRe-evaluateMay be improvedCampaign FCampaign ECampaign DCampaign CCampaign BCampaign ALow ReachHigh ReachLow EngagementHigh EngagementReach and engagement of campaigns
quadrantChart
title Reach and engagement of campaigns
x-axis Low Reach --> High Reach
y-axis Low Engagement --> High Engagement
quadrant-1 We should expand
quadrant-2 Need to promote
quadrant-3 Re-evaluate
quadrant-4 May be improved
Campaign A: [0.3, 0.6]
Campaign B: [0.45, 0.23]
Campaign C: [0.57, 0.69]
Campaign D: [0.78, 0.34]
Campaign E: [0.40, 0.34]
Campaign F: [0.35, 0.78]

Source: https://mermaid.js.org/syntax/quadrantChart.html

Requirement Diagram#

<<satisfies>>

<<traces>>

<<contains>>

<<contains>>

<<derives>>

<<refines>>

<<verifies>>

<<copies>>

<<Requirement>>

test_req

ID: 1

Text: the test text.

Risk: High

Verification: Test

<<Functional Requirement>>

test_req2

ID: 1.1

Text: the second test text.

Risk: Low

Verification: Inspection

<<Performance Requirement>>

test_req3

ID: 1.2

Text: the third test text.

Risk: Medium

Verification: Demonstration

<<Interface Requirement>>

test_req4

ID: 1.2.1

Text: the fourth test text.

Risk: Medium

Verification: Analysis

<<Physical Requirement>>

test_req5

ID: 1.2.2

Text: the fifth test text.

Risk: Medium

Verification: Analysis

<<Design Constraint>>

test_req6

ID: 1.2.3

Text: the sixth test text.

Risk: Medium

Verification: Analysis

<<Element>>

test_entity

Type: simulation

<<Element>>

test_entity2

Type: word doc

Doc Ref: reqs/test_entity

<<Element>>

test_entity3

Type: test suite

Doc Ref: github.com/all_the_tests

requirementDiagram
requirement test_req {
id: 1
text: the test text.
risk: high
verifymethod: test
}
functionalRequirement test_req2 {
id: 1.1
text: the second test text.
risk: low
verifymethod: inspection
}
performanceRequirement test_req3 {
id: 1.2
text: the third test text.
risk: medium
verifymethod: demonstration
}
interfaceRequirement test_req4 {
id: 1.2.1
text: the fourth test text.
risk: medium
verifymethod: analysis
}
physicalRequirement test_req5 {
id: 1.2.2
text: the fifth test text.
risk: medium
verifymethod: analysis
}
designConstraint test_req6 {
id: 1.2.3
text: the sixth test text.
risk: medium
verifymethod: analysis
}
element test_entity {
type: simulation
}
element test_entity2 {
type: word doc
docRef: reqs/test_entity
}
element test_entity3 {
type: "test suite"
docRef: github.com/all_the_tests
}
test_entity - satisfies -> test_req2
test_req - traces -> test_req2
test_req - contains -> test_req3
test_req3 - contains -> test_req4
test_req4 - derives -> test_req5
test_req5 - refines -> test_req6
test_entity3 - verifies -> test_req5
test_req <- copies - test_entity2

Source: https://mermaid.js.org/syntax/requirementDiagram.html

Git Graph#

maindevelop0-7be6a001-e678ad72-14393413-c412c755-51a37616-3f384e8
gitGraph
commit
commit
branch develop
checkout develop
commit
commit
checkout main
merge develop
commit
commit

Source: https://mermaid.js.org/syntax/gitgraph.html

C4 Diagram#

WARNING

C4 is on experimental

<<person>>Banking Customer AA customer of the bank, with personal bank accounts.<<person>>Banking Customer B<<external_person>>Banking Customer C<<system>>Internet Banking SystemAllows customers to view information about their bank accounts, and make payments.<<person>>Banking Customer DA customer of the bank, with personal bank accounts.<<external_system_db>>Mainframe Banking SystemStores all of the core banking information about customers, accounts, transactions, etc.<<external_system>>E-mail systemThe internal Microsoft Exchange e-mail system.<<system_db>>Banking System D DatabaseA system of the bank, with personal bank accounts.<<system>>Banking System A<<system>>Banking System BA system of the bank, with personal bank accounts.BankBoundary2[SYSTEM]<<system_queue>>Banking System F QueueA system of the bank, with personal bank accounts.<<external_system_queue>>Banking System G QueueA system of the bank, with personal bank accounts.BankBoundary3[boundary]BankBoundary[ENTERPRISE]UsesUsesSends e-mails[SMTP]Sends e-mails toSystem Context diagram for Internet Banking System
C4Context
title System Context diagram for Internet Banking System
Person(customerA, "Banking Customer A", "A customer of the bank, with personal bank accounts.")
Person(customerB, "Banking Customer B")
Person_Ext(customerC, "Banking Customer C")
System(SystemAA, "Internet Banking System", "Allows customers to view information about their bank accounts, and make payments.")
Person(customerD, "Banking Customer D", "A customer of the bank, <br/> with personal bank accounts.")
Enterprise_Boundary(b1, "BankBoundary") {
SystemDb_Ext(SystemE, "Mainframe Banking System", "Stores all of the core banking information about customers, accounts, transactions, etc.")
System_Boundary(b2, "BankBoundary2") {
System(SystemA, "Banking System A")
System(SystemB, "Banking System B", "A system of the bank, with personal bank accounts.")
}
System_Ext(SystemC, "E-mail system", "The internal Microsoft Exchange e-mail system.")
SystemDb(SystemD, "Banking System D Database", "A system of the bank, with personal bank accounts.")
Boundary(b3, "BankBoundary3", "boundary") {
SystemQueue(SystemF, "Banking System F Queue", "A system of the bank, with personal bank accounts.")
SystemQueue_Ext(SystemG, "Banking System G Queue", "A system of the bank, with personal bank accounts.")
}
}
BiRel(customerA, SystemAA, "Uses")
BiRel(SystemAA, SystemE, "Uses")
Rel(SystemAA, SystemC, "Sends e-mails", "SMTP")
Rel(SystemC, customerA, "Sends e-mails to")

Source: https://mermaid.js.org/syntax/c4.html

Mindmap#

WARNING

Mindmap is on experimental

mindmap

Origins

Long history

Popularisation

British popular psychology author Tony Buzan

Research

On effectiveness

and features

On Automatic creation

Uses

Creative techniques

Strategic planning

Argument mapping

Tools

Pen and paper

Mermaid

mindmap
root((mindmap))
Origins
Long history
::icon(fa fa-book)
Popularisation
{{British popular psychology author Tony Buzan}}
Research
On effectiveness<br/>and features
On Automatic creation
[Uses]
(Creative techniques)
(Strategic planning)
(Argument mapping)
Tools
)Pen and paper(
))Mermaid((

Source: https://mermaid.js.org/syntax/mindmap.html

Timeline Diagram#

WARNING

Timeline Diagram is on experimental

Stone Age7600 BCBritain's oldestknown house wasbuilt in Orkney,Scotland6000 BCSea levels rise andBritain becomes anisland.The people who livehere arehunter-gatherers.Bronze Age2300 BCPeople arrive fromEurope and settle inBritain.They bring farmingand metalworking.New styles of potteryand ways of buryingthe dead appear.2200 BCThe last majorbuilding works arecompleted atStonehenge.People now burytheir dead in stonecircles.The first metalobjects are made inBritain.Some othernice things happen.it is a good time tobe alive.England's History Timeline
timeline
title England's History Timeline
section Stone Age
7600 BC : Britain's oldest known house was built in Orkney, Scotland
6000 BC : Sea levels rise and Britain becomes an island.<br> The people who live here are hunter-gatherers.
section Bronze Age
2300 BC : People arrive from Europe and settle in Britain. <br>They bring farming and metalworking.
: New styles of pottery and ways of burying the dead appear.
2200 BC : The last major building works are completed at Stonehenge.<br> People now bury their dead in stone circles.
: The first metal objects are made in Britain.Some other nice things happen. it is a good time to be alive.

Source: https://mermaid.js.org/syntax/mindmap.html

ZenUML#

CAUTION

ZenUML is not supported by rehype-mermaid. Use Sequnce Diagram istead.

Source: https://mermaid.js.org/syntax/zenuml.html

Sankey Diagram#

CAUTION

Diagram dissapear on hover in Firefox

WARNING

Sankey Diagram is on experimental

Agricultural 'waste'Bio-conversionLiquidLossesSolidGasBiofuel importsBiomass importsCoal importsCoalCoal reservesDistrict heatingIndustryHeating and cooling - commercialHeating and cooling - homesElectricity gridOver generation / exportsH2 conversionRoad transportAgricultureRail transportLighting & appliances - commercialLighting & appliances - homesGas importsNgasGas reservesThermal generationGeothermalH2HydroInternational shippingDomestic aviationInternational aviationNational navigationMarine algaeNuclearOil importsOilOil reservesOther wastePumped heatSolar PVSolar ThermalSolarTidalUK land based bioenergyWaveWind
---
config:
sankey:
showValues: false
---
sankey
Agricultural 'waste',Bio-conversion,124.729
Bio-conversion,Liquid,0.597
Bio-conversion,Losses,26.862
Bio-conversion,Solid,280.322
Bio-conversion,Gas,81.144
Biofuel imports,Liquid,35
Biomass imports,Solid,35
Coal imports,Coal,11.606
Coal reserves,Coal,63.965
Coal,Solid,75.571
District heating,Industry,10.639
District heating,Heating and cooling - commercial,22.505
District heating,Heating and cooling - homes,46.184
Electricity grid,Over generation / exports,104.453
Electricity grid,Heating and cooling - homes,113.726
Electricity grid,H2 conversion,27.14
Electricity grid,Industry,342.165
Electricity grid,Road transport,37.797
Electricity grid,Agriculture,4.412
Electricity grid,Heating and cooling - commercial,40.858
Electricity grid,Losses,56.691
Electricity grid,Rail transport,7.863
Electricity grid,Lighting & appliances - commercial,90.008
Electricity grid,Lighting & appliances - homes,93.494
Gas imports,Ngas,40.719
Gas reserves,Ngas,82.233
Gas,Heating and cooling - commercial,0.129
Gas,Losses,1.401
Gas,Thermal generation,151.891
Gas,Agriculture,2.096
Gas,Industry,48.58
Geothermal,Electricity grid,7.013
H2 conversion,H2,20.897
H2 conversion,Losses,6.242
H2,Road transport,20.897
Hydro,Electricity grid,6.995
Liquid,Industry,121.066
Liquid,International shipping,128.69
Liquid,Road transport,135.835
Liquid,Domestic aviation,14.458
Liquid,International aviation,206.267
Liquid,Agriculture,3.64
Liquid,National navigation,33.218
Liquid,Rail transport,4.413
Marine algae,Bio-conversion,4.375
Ngas,Gas,122.952
Nuclear,Thermal generation,839.978
Oil imports,Oil,504.287
Oil reserves,Oil,107.703
Oil,Liquid,611.99
Other waste,Solid,56.587
Other waste,Bio-conversion,77.81
Pumped heat,Heating and cooling - homes,193.026
Pumped heat,Heating and cooling - commercial,70.672
Solar PV,Electricity grid,59.901
Solar Thermal,Heating and cooling - homes,19.263
Solar,Solar Thermal,19.263
Solar,Solar PV,59.901
Solid,Agriculture,0.882
Solid,Thermal generation,400.12
Solid,Industry,46.477
Thermal generation,Electricity grid,525.531
Thermal generation,Losses,787.129
Thermal generation,District heating,79.329
Tidal,Electricity grid,9.452
UK land based bioenergy,Bio-conversion,182.01
Wave,Electricity grid,19.013
Wind,Electricity grid,289.366

Source: https://mermaid.js.org/syntax/sankey.html

XY Chart#

Sales Revenue500060007500820095001050011000102009200850070006000janfebmaraprmayjunjulaugsepoctnovdec110001050010000950090008500800075007000650060005500500045004000Revenue (in $)
---
config:
xyChart:
width: 900
height: 600
showDataLabel: true
---
xychart
title "Sales Revenue"
x-axis [jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec]
y-axis "Revenue (in $)" 4000 --> 11000
bar [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000]
line [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000]

Line Chart#

CAUTION

Sometime Line Chart not rendering correctly in Firefox

Smallest AI models scoring above 60% on MMLUPaLMLLaMA-65BLlama 2 34BMistral 7BPhi-3-miniApr 2022Feb 2023Jul 2023Sep 2023Apr 2024Date600550500450400350300250200150100500Parameters (B)
xychart
title "Smallest AI models scoring above 60% on MMLU"
x-axis "Date" ["Apr 2022", "Feb 2023", "Jul 2023", "Sep 2023", "Apr 2024"]
y-axis "Parameters (B)" 0 --> 600
line [540 "PaLM", 65 "LLaMA-65B", 34 "Llama 2 34B", 7 "Mistral 7B", 3.8 "Phi-3-mini"]

Source: https://mermaid.js.org/syntax/xyChart.html

Block Diagram#

DB

   

A

A wide one in the middle

C

D

X

block
columns 1
db(("DB"))
blockArrowId6<["&nbsp;&nbsp;&nbsp;"]>(down)
block:ID
A
B["A wide one in the middle"]
C
end
space
D
ID-- "X" -->D
C --> D

Source: https://mermaid.js.org/syntax/block.html

Packet Diagram#

Source Port015Destination Port1631Sequence Number3263Acknowledgment Number6495Data Offset9699Reserved100105URG106ACK107PSH108RST109SYN110FIN111Window112127Checksum128143Urgent Pointer144159(Options and Padding)160191Data (variable length)192223Data (variable length)224255TCP Packet
---
title: "TCP Packet"
---
packet
0-15: "Source Port"
16-31: "Destination Port"
32-63: "Sequence Number"
64-95: "Acknowledgment Number"
96-99: "Data Offset"
100-105: "Reserved"
106: "URG"
107: "ACK"
108: "PSH"
109: "RST"
110: "SYN"
111: "FIN"
112-127: "Window"
128-143: "Checksum"
144-159: "Urgent Pointer"
160-191: "(Options and Padding)"
192-255: "Data (variable length)"

Source: https://mermaid.js.org/syntax/packet.html

Kanban Diagram#

Todo

In progress

Ready for deploy

Ready for test

Done

Can't reproduce

Create Documentation

Create Blog about the new diagram

Create renderer so that it works in all cases. We also add some extra text here for testing purposes. And some more just for the extra flare.

Design grammar

knsv

MC-2038

Create parsing tests

K.Sveidqvist

last item

knsv

define getData

MC-2036

Title of diagram is more than 100 chars when user duplicates diagram with 100 char

MC-2037

Update DB function

knsv

Weird flickering in Firefox

---
config:
kanban:
ticketBaseUrl: 'https://mermaidchart.atlassian.net/browse/#TICKET#'
---
kanban
Todo
[Create Documentation]
docs[Create Blog about the new diagram]
[In progress]
id6[Create renderer so that it works in all cases. We also add some extra text here for testing purposes. And some more just for the extra flare.]
id9[Ready for deploy]
id8[Design grammar]@{ assigned: 'knsv' }
id10[Ready for test]
id4[Create parsing tests]@{ ticket: MC-2038, assigned: 'K.Sveidqvist', priority: 'High' }
id66[last item]@{ priority: 'Very Low', assigned: 'knsv' }
id11[Done]
id5[define getData]
id2[Title of diagram is more than 100 chars when user duplicates diagram with 100 char]@{ ticket: MC-2036, priority: 'Very High'}
id3[Update DB function]@{ ticket: MC-2037, assigned: knsv, priority: 'High' }
id12[Can't reproduce]
id3[Weird flickering in Firefox]

Source: https://mermaid.js.org/syntax/kanban.html

Architecture Diagram#

DatabaseStorageStorageServerAPI
architecture-beta
group api(cloud)[API]
service db(database)[Database] in api
service disk1(disk)[Storage] in api
service disk2(disk)[Storage] in api
service server(server)[Server] in api
db:L -- R:server
disk1:T -- B:server
disk2:T -- B:db

Source: https://mermaid.js.org/syntax/architecture.html

Radar Diagram#

Food QualityServicePriceAmbianceRestaurant ARestaurant BRestaurant CRestaurant DRestaurant Comparison
radar-beta
title Restaurant Comparison
axis food["Food Quality"], service["Service"], price["Price"]
axis ambiance["Ambiance"]
curve a["Restaurant A"]{4, 3, 2, 4}
curve b["Restaurant B"]{3, 4, 3, 3}
curve c["Restaurant C"]{2, 3, 4, 2}
curve d["Restaurant D"]{2, 2, 4, 3}
graticule polygon
max 5

Source: https://mermaid.js.org/syntax/radar.html

Event Modeling Diagram#

UI/AutomationCommand/Read ModelEventsStream: ExternalStream: Cart
CartUI
AddItem
ItemAdded
InventoryChanged
InventoryProcessor
ChangeInventory
InventoryChanged
eventmodeling
tf 01 ui CartUI
tf 02 cmd AddItem
tf 03 evt ItemAdded
rf 04 evt External.InventoryChanged
tf 05 pcr InventoryProcessor
tf 06 cmd ChangeInventory
tf 07 evt Cart.InventoryChanged

Source: https://mermaid.js.org/syntax/eventmodeling.html

Treemap Diagram#

WARNING

Treemap Diagram is beta version

Budget$1,500,000Operations$1,000,000Marketing$500,000Salaries$700,000Equipment$200,000SuppliesAdvertising$400,000Events$100,000
---
config:
treemap:
valueFormat: '$0,0'
---
treemap-beta
"Budget"
"Operations"
"Salaries": 700000
"Equipment": 200000
"Supplies": 100000
"Marketing"
"Advertising": 400000
"Events": 100000

Source: https://mermaid.js.org/syntax/treemap.html

Venn Diagram#

WARNING

Venn Diagram is beta version

FrontendBackendSharedReactDesign SystemsAPIOpenAPI
venn-beta
set A["Frontend"]:20
text A1["React"]
text A2["Design Systems"]
set B["Backend"]:12
text B1["API"]
union A,B["Shared"]:3
text AB1["OpenAPI"]

Source: https://mermaid.js.org/syntax/venn.html

Ishikawa Diagram#

WARNING

Ishikawa Diagram is beta version

BlurryPhotoProcessBeautificationfilter appliedProtective filmnot removedShutter speedtoo slowOut of focusUserShaky handsEquipmentSENSORDirty sensorDamaged sensorLENSDirty lensDamaged lensInappropriatelensEnvironmentSubject movedtoo quicklyToo dark
ishikawa-beta
Blurry Photo
Process
Out of focus
Shutter speed too slow
Protective film not removed
Beautification filter applied
User
Shaky hands
Equipment
LENS
Inappropriate lens
Damaged lens
Dirty lens
SENSOR
Damaged sensor
Dirty sensor
Environment
Subject moved too quickly
Too dark

Source: https://mermaid.js.org/syntax/ishikawa.html

Wardley Maps#

Tea Shop Value ChainEvolutionVisibilityGenesisCustom BuiltProductCommodityBusinessCup of TeaTeaHot WaterKettlePowerStandardising power allows Kettles to evolve faster
wardley-beta
title Tea Shop Value Chain
anchor Business [0.95, 0.63]
component Cup of Tea [0.79, 0.61]
component Tea [0.63, 0.81]
component Hot Water [0.52, 0.80]
component Kettle [0.43, 0.35]
component Power [0.10, 0.70]
Business -> Cup of Tea
Cup of Tea -> Tea
Cup of Tea -> Hot Water
Hot Water -> Kettle
Kettle -> Power
evolve Kettle 0.62
evolve Power 0.89
note "Standardising power allows Kettles to evolve faster" [0.30, 0.49]

Source: https://mermaid.js.org/syntax/wardley.html

Cynefin Framework Diagram#

ComplexComplicatedChaoticClearConfusionProbe → Sense → RespondEmergent PracticesSense → Analyse → RespondGood PracticesAct → Sense → RespondNovel PracticesSense → Categorise → RespondBest PracticesDisorderMarket researchCompetitive analysisCrisis managementStandard pricingPattern identifiedBest practice codifiedComplacencyStabilizedStrategy Categorization
cynefin-beta
title Strategy Categorization
complex
"Market research"
complicated
"Competitive analysis"
clear
"Standard pricing"
chaotic
"Crisis management"
complex --> complicated : "Pattern identified"
complicated --> clear : "Best practice codified"
clear --> chaotic : "Complacency"
chaotic --> complex : "Stabilized"

Source: https://mermaid.js.org/syntax/cynefin.html

TreeView Diagram#

NOTE

Icons / logos not supported

/srcApp.tsxmain componentindex.tsentry point.envenvironment variablesDockerfilepackage.json
treeView-beta
├── src/
│ ├── App.tsx :::highlight ## main component
│ └── index.ts ## entry point
├── .env ## environment variables
├── Dockerfile
└── package.json

Source: https://mermaid.js.org/syntax/treeView.html

Mermaid Example
https://iyanarmanda.github.io/kukuru/fa/posts/mermaid/
نویسنده
Kukuru Misakino
زمان انتشار
2026-07-13