Шпаргла за mermaid синтаксу

Mermaid има велику референцу и мали подскуп који покрива скоро све што људи цртају. Ова страница је баш тај подскуп: облици, стрелице, груписање, боје и по један пример за копирање за сваки тип дијаграма. Сваки фрагмент испод се рендерује такав какав је — налепите га у едитор да видите.

Најкраћи дијаграм који ради

Flowchart-у треба једна линија декларације и једна стрелица. TD значи одозго надоле; за широке процесе боље одговара LR, слева удесно.

flowchart TD
  A[Start] --> B{Ready?}
  B -->|Yes| C[Ship it]
  B -->|No| A
Flowchart од три чвора, одозго надоле.

A, B и C су id-јеви чворова — интерна имена, никад исцртани. Текст у заградама је ознака, а стил заграда бира облик.

Облици чворова

Облик бира пар граничника око ознаке. Ево оних које вреди запамтити:

СинтаксаОбликУобичајено значење
A[Text]ПравоугаоникКорак или радња
A(Text)ЗаобљениПочетна или крајња тачка
A([Text])ПилулаТерминатор
A[[Text]]ПотпрограмПозив другог процеса
A[(Text)]ЦилиндарБаза података или складиште
A((Text))КругСпој
A{Text}РомбОдлука
A{{Text}}ШестоугаоПрипремни корак
A[/Text/]ПаралелограмУлаз или излаз
A[/Text\]ТрапезРучна операција

Стављајте ознаку под наводнике када садржи заграде, две тачке или наводнике: A["Load (raw) data"]. Без наводника парсер вашу интерпункцију тумачи као синтаксу.

Стрелице

СинтаксаРезултат
A --> BСтрелица
A --- BЛинија без врха
A -.-> BИспрекидана стрелица
A ==> BДебела стрелица
A -->|label| BСтрелица са ознаком
A --> B --> CЛанац у једној линији
A --> B & CЈедан извор, две мете

Дужина стрелице је такође битна: --> је један ниво, ---> гура мету за још један ниво даље. То је најједноставнија контрола распореда коју mermaid нуди.

Груписање подграфовима

subgraph исцртава означени оквир око чворова. Подграфови се могу угнеждивати, а стрелице слободно прелазе њихове границе.

flowchart LR
  subgraph api["API"]
    H[Handler] --> S[(Postgres)]
  end
  subgraph worker["Worker"]
    Q[Queue] --> W[Job]
  end
  H --> Q
Два сервиса, сваки са својим складиштем.

Боја и стилови

style боји један чвор. classDef заједно са class боји цео скуп чворова — то вам треба после трећег или четвртог чвора.

flowchart TD
  A[OK] --> B[Failed]
  style A fill:#16a34a,stroke:#333,color:#fff
  classDef bad fill:#dc2626,stroke:#333,color:#fff
  class B bad

Боје су део изворног кода дијаграма, па преживљавају извоз и путују заједно са фајлом. Ништа овде не зависи од подешавања теме у алату који то рендерује.

По један пример за сваки тип дијаграма

Sequence дијаграм

sequenceDiagram
  participant User
  participant API
  participant DB
  User->>API: request
  API->>DB: query
  DB-->>API: rows
  API-->>User: response

Дијаграм класа

classDiagram
  class Animal {
    +String name
    +move()
  }
  class Dog {
    +bark()
  }
  Animal <|-- Dog

Дијаграм стања

stateDiagram-v2
  [*] --> Idle
  Idle --> Running: start
  Running --> Idle: stop
  Running --> [*]: finish

Дијаграм веза између ентитета

erDiagram
  CUSTOMER ||--o{ ORDER : places
  ORDER ||--|{ LINE_ITEM : contains
  CUSTOMER {
    string name
    string email
  }

Gantt дијаграм

gantt
  title Project
  dateFormat YYYY-MM-DD
  section Phase 1
  Task 1 :a1, 2026-01-01, 5d
  Task 2 :after a1, 5d

Где се mermaid рендерује сам од себе

  • GitHub — блок ограђен са ```mermaid се рендерује у issue-има, pull request-овима, коментарима и README фајловима.
  • GitLab — исти такав блок, у issue-има, merge request-овима и wiki-ју.
  • Notion — блок кода са језиком постављеним на Mermaid се рендерује поред изворног кода.
  • Obsidian — блок ограђен као mermaid се рендерује у режиму прегледа.
  • Сајтови за документацију — Docusaurus, MkDocs Material и VitePress подржавају mermaid блокове.

То је прави разлог да дијаграме држите као mermaid, а не као слике: дијаграм живи у истом текстуалном фајлу као и оно што описује, а код-ревју види шта се у њему променило.

Испробајте било који фрагмент са ове странице

Налепите га у картицу кода и рендерује се тренутно — или изградите исти дијаграм на платну и прочитајте синтаксу у супротном смеру.

Честа питања

Како да направим прелом реда унутар ознаке чвора?

Користите <br> унутар ознаке под наводницима: A["First line<br>Second line"]. Mermaid рендерује ознаку као HTML, па тег ради иако остатак синтаксе није HTML.

Зашто моја ознака ломи дијаграм?

Скоро увек је крива заграда, двотачка или наводник унутар ознаке без наводника око ње. Ставите целу ознаку под двоструке наводнике и парсер ће престати да вашу интерпункцију тумачи као синтаксу.

Могу ли да контролишем распоред?

Само посредно. Изаберите смер (TD, LR, BT, RL), користите дуже стрелице (--->) да раздвојите чворове, и груписати повезане чворове у подграфове. Остало mermaid израчунава сам — овде нема координата.

Коју верзију mermaid-а користи овај едитор?

Mermaid 11, тренутну главну верзију, па се рендерује све што је документовано за синтаксу v10 и v11.

Још водича

  1. Извоз mermaid-а у PNG или SVG

    Четири начина да изведете mermaid дијаграм — PNG, SVG, .mmd изворни код и Markdown блок — и када је сваки од њих прави одговор.

  2. Mermaid sequence дијаграми

    Учесници, типови стрелица, траке активације, петље и alt блокови — цела синтакса sequence дијаграма са примерима спремним за покретање.

Отворите едитор. Бесплатно — без регистрације.

Празно платно, картица кода и сваки начин извоза — бесплатно, у прегледачу, одмах.