Mermaid-syntaks jukselapp
Mermaid har en stor referanse og en liten delmengde som dekker nesten alt folk tegner. Denne siden er den delmengden: former, piler, gruppering, farger, og ett kopier-lim-inn-eksempel per diagramtype. Hvert kodeeksempel under gjengis som det er – lim det inn i editoren for å se det.
Det korteste diagrammet som virker
Et flytskjema trenger én deklarasjonslinje og én pil. TD betyr ovenfra og ned; bruk LR for venstre-til-høyre, som passer bedre for brede prosesser.
flowchart TD
A[Start] --> B{Ready?}
B -->|Yes| C[Ship it]
B -->|No| AA, B og C er node-IDer – interne navn, aldri tegnet. Teksten i klammer er etiketten, og klamme-stilen er det som velger formen.
Nodeformer
Formen velges av avgrensningsparet rundt etiketten. Dette er de verdt å huske:
| Syntaks | Form | Vanlig betydning |
|---|---|---|
A[Text] | Rektangel | Et steg eller en handling |
A(Text) | Avrundet | Et start- eller sluttpunkt |
A([Text]) | Pille | En terminator |
A[[Text]] | Subrutine | Et kall til en annen prosess |
A[(Text)] | Sylinder | En database eller lager |
A((Text)) | Sirkel | Et knutepunkt |
A{Text} | Diamant | En beslutning |
A{{Text}} | Sekskant | Et forberedelsessteg |
A[/Text/] | Parallellogram | Inndata eller utdata |
A[/Text\] | Trapes | En manuell operasjon |
Sett etiketten i anførselstegn når den inneholder klammer, kolon eller anførselstegn: A["Load (raw) data"]. Uten anførselstegn tolker parseren tegnsettingen din som syntaks.
Piler
| Syntaks | Resultat |
|---|---|
A --> B | Pil |
A --- B | Linje, ingen pilspiss |
A -.-> B | Stiplet pil |
A ==> B | Tykk pil |
A -->|label| B | Pil med etikett på |
A --> B --> C | Kjede, skrevet på én linje |
A --> B & C | Én kilde, to mål |
Pillengde har også betydning: --> er ett nivå, ---> skyver målet ett nivå lenger ned. Det er den enkleste layoutkontrollen mermaid gir deg.
Gruppering med undergrafer
En subgraph tegner en merket boks rundt noder. Undergrafer kan nestes, og piler kan krysse grensene deres fritt.
flowchart LR
subgraph api["API"]
H[Handler] --> S[(Postgres)]
end
subgraph worker["Worker"]
Q[Queue] --> W[Job]
end
H --> QFarge og styling
style fargelegger én node. classDef pluss class fargelegger et sett med dem, som er det du vil ha etter tre eller fire noder.
flowchart TD
A[OK] --> B[Failed]
style A fill:#16a34a,stroke:#333,color:#fff
classDef bad fill:#dc2626,stroke:#333,color:#fff
class B badFarger er en del av diagramkilden, så de overlever eksport og følger med filen. Ingenting her avhenger av en temainnstilling i verktøyet som gjengir det.
Ett eksempel per diagramtype
Sekvensdiagram
sequenceDiagram
participant User
participant API
participant DB
User->>API: request
API->>DB: query
DB-->>API: rows
API-->>User: responseKlassediagram
classDiagram
class Animal {
+String name
+move()
}
class Dog {
+bark()
}
Animal <|-- DogTilstandsdiagram
stateDiagram-v2
[*] --> Idle
Idle --> Running: start
Running --> Idle: stop
Running --> [*]: finishEntitetsrelasjonsdiagram
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE_ITEM : contains
CUSTOMER {
string name
string email
}Gantt-diagram
gantt
title Project
dateFormat YYYY-MM-DD
section Phase 1
Task 1 :a1, 2026-01-01, 5d
Task 2 :after a1, 5dHvor mermaid gjengis av seg selv
- GitHub — en avgrenset ```mermaid-blokk gjengis i issues, pull requests, kommentarer og README-filer.
- GitLab — samme avgrensede blokk, i issues, merge requests og wikien.
- Notion — en kodeblokk med språket satt til Mermaid gjengis ved siden av kilden.
- Obsidian — en avgrenset mermaid-blokk gjengis i forhåndsvisningsmodus.
- Dokumentasjonssider — Docusaurus, MkDocs Material og VitePress støtter alle mermaid-blokker.
Det er den egentlige grunnen til å holde diagrammer som mermaid i stedet for som bilder: diagrammet lever i samme tekstfil som det det beskriver, og en kodegjennomgang kan se hva som ble endret i det.
Prøv et hvilket som helst eksempel på denne siden
Lim det inn i kode-fanen, og det gjengis umiddelbart – eller bygg det samme diagrammet på lerretet og les syntaksen tilbake.
Ofte stilt
Hvordan legger jeg til et linjeskift inne i en node-etikett?
Bruk <br> inne i en etikett med anførselstegn: A["First line<br>Second line"]. Mermaid gjengir etiketten som HTML, så taggen fungerer selv om resten av syntaksen ikke er HTML.
Hvorfor ødelegger etiketten min diagrammet?
Nesten alltid en klamme, parentes, kolon eller anførselstegn uten anførselstegn rundt i etiketten. Pakk inn hele etiketten i doble anførselstegn, så slutter parseren å behandle tegnsettingen din som syntaks.
Kan jeg styre layouten?
Bare indirekte. Velg retning (TD, LR, BT, RL), bruk lengre piler (--->) for å skyve noder lenger fra hverandre, og grupper relaterte noder i undergrafer. Mermaid beregner resten – det finnes ingen koordinater.
Hvilken mermaid-versjon bruker denne editoren?
Mermaid 11, den nåværende hovedversjonen, så alt som er dokumentert for v10- og v11-syntaks gjengis her.