Mermaid sintaksės trumpasis vadovas
Mermaid turi didelį žinyną ir nedidelį poaibį, kuris apima beveik viską, ką žmonės piešia. Šis puslapis ir yra tas poaibis: formos, rodyklės, grupavimas, spalvos ir po vieną nukopijuok-ir-įklijuok pavyzdį kiekvienam diagramos tipui. Kiekvienas žemiau esantis pavyzdys atvaizduojamas toks, koks yra — įklijuok jį į redaktorių, kad pamatytum.
Trumpiausia veikianti diagrama
Blokinei schemai reikia vienos deklaracijos eilutės ir vienos rodyklės. TD reiškia iš viršaus į apačią; naudok LR procesams iš kairės į dešinę, kai jie platesni.
flowchart TD
A[Start] --> B{Ready?}
B -->|Yes| C[Ship it]
B -->|No| AA, B ir C yra mazgų id — vidiniai vardai, kurie niekada nepiešiami. Tekstas skliaustuose yra etiketė, o skliaustų stilius parenka formą.
Mazgų formos
Forma parenkama pagal skliaustų porą aplink etiketę. Štai tos, kurias verta įsiminti:
| Sintaksė | Forma | Įprasta reikšmė |
|---|---|---|
A[Text] | Stačiakampis | Žingsnis arba veiksmas |
A(Text) | Suapvalintas | Pradžios arba pabaigos taškas |
A([Text]) | Piliulė | Terminatorius |
A[[Text]] | Subrutina | Iškvietimas į kitą procesą |
A[(Text)] | Cilindras | Duomenų bazė arba saugykla |
A((Text)) | Apskritimas | Sankirta |
A{Text} | Rombas | Sprendimas |
A{{Text}} | Šešiakampis | Paruošiamasis žingsnis |
A[/Text/] | Lygiagretainis | Įvestis arba išvestis |
A[/Text\] | Trapecija | Rankinė operacija |
Cituok etiketę, kai joje yra skliaustų, dvitaškių ar kabučių: A["Load (raw) data"]. Be kabučių analizatorius supranta skyrybos ženklus kaip sintaksę.
Rodyklės
| Sintaksė | Rezultatas |
|---|---|
A --> B | Rodyklė |
A --- B | Linija be antgalio |
A -.-> B | Punktyrinė rodyklė |
A ==> B | Stora rodyklė |
A -->|label| B | Rodyklė su etikete |
A --> B --> C | Grandinė, parašyta vienoje eilutėje |
A --> B & C | Vienas šaltinis, du taikiniai |
Rodyklės ilgis taip pat turi reikšmę: --> yra vienas lygis, ---> nustumia taikinį dar vienu lygiu žemiau. Tai paprasčiausias išdėstymo valdymo būdas, kurį duoda mermaid.
Grupavimas su potipėmis (subgraph)
subgraph nupiešia pažymėtą dėžę aplink mazgus. Potipės gali būti įdėtos viena į kitą, o rodyklės gali laisvai kirsti jų ribas.
flowchart LR
subgraph api["API"]
H[Handler] --> S[(Postgres)]
end
subgraph worker["Worker"]
Q[Queue] --> W[Job]
end
H --> QSpalva ir stilius
style nudažo vieną mazgą. classDef kartu su class nudažo jų rinkinį, o to ir reikia, kai mazgų daugiau nei trys ar keturi.
flowchart TD
A[OK] --> B[Failed]
style A fill:#16a34a,stroke:#333,color:#fff
classDef bad fill:#dc2626,stroke:#333,color:#fff
class B badSpalvos yra diagramos kodo dalis, tad jos išlieka po eksporto ir keliauja kartu su failu. Čia niekas nepriklauso nuo temos nustatymo įrankyje, kuris ją atvaizduoja.
Po vieną pavyzdį kiekvienam diagramos tipui
Sekos diagrama
sequenceDiagram
participant User
participant API
participant DB
User->>API: request
API->>DB: query
DB-->>API: rows
API-->>User: responseKlasių diagrama
classDiagram
class Animal {
+String name
+move()
}
class Dog {
+bark()
}
Animal <|-- DogBūsenų diagrama
stateDiagram-v2
[*] --> Idle
Idle --> Running: start
Running --> Idle: stop
Running --> [*]: finishEsybių ryšių diagrama
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE_ITEM : contains
CUSTOMER {
string name
string email
}Ganto diagrama
gantt
title Project
dateFormat YYYY-MM-DD
section Phase 1
Task 1 :a1, 2026-01-01, 5d
Task 2 :after a1, 5dKur mermaid atvaizduojamas savaime
- GitHub — apibrėžtas ```mermaid blokas atvaizduojamas issues, pull request'uose, komentaruose ir README failuose.
- GitLab — tas pats apibrėžtas blokas, issues, merge request'uose ir wiki.
- Notion — kodo blokas su kalba nustatyta į Mermaid atvaizduojamas šalia kodo.
- Obsidian — apibrėžtas mermaid blokas atvaizduojamas peržiūros režime.
- Docs svetainės — Docusaurus, MkDocs Material ir VitePress palaiko mermaid blokus.
Būtent dėl to verta laikyti diagramas kaip mermaid, o ne kaip paveikslėlius: diagrama gyvena tame pačiame tekstiniame faile kaip ir dalykas, kurį ji aprašo, o code review gali matyti, kas joje pasikeitė.
Išbandyk bet kurį šio puslapio pavyzdį
Įklijuok jį į kodo skirtuką ir jis akimirksniu atvaizduojamas — arba sukurk tą pačią diagramą darbalaukyje ir perskaityk sintaksę atgal.
Dažniausiai užduodami klausimai
Kaip pridėti eilutės lūžį mazgo etiketėje?
Naudok <br> cituotoje etiketėje: A["First line<br>Second line"]. Mermaid atvaizduoja etiketę kaip HTML, tad žymė veikia, nors likusi sintaksė nėra HTML.
Kodėl mano etiketė sugadina diagramą?
Beveik visada dėl necituoto skliausto, lenktinio skliausto, dvitaškio ar kabutės etiketėje. Apgaubk visą etiketę dvigubomis kabutėmis, ir analizatorius nustos suprasti tavo skyrybos ženklus kaip sintaksę.
Ar galiu valdyti išdėstymą?
Tik netiesiogiai. Pasirink kryptį (TD, LR, BT, RL), naudok ilgesnes rodykles (--->), kad išstumtum mazgus toliau vienas nuo kito, ir grupuok susijusius mazgus į potipes. Likusią dalį apskaičiuoja mermaid — jokių koordinačių nėra.
Kurią mermaid versiją naudoja šis redaktorius?
Mermaid 11, dabartinę pagrindinę versiją, tad viskas, kas dokumentuota v10 ir v11 sintaksei, čia atvaizduojama.