Діаграми пояснюють процеси, архітектуру й часові плани краще, ніж абзаци тексту. Але малювати їх у графічному редакторі означає експортувати зображення, зберігати їх поруч із документацією й перемальовувати все, щойно щось змінюється.
Mermaid розв’язує цю проблему: ви описуєте діаграму кількома рядками тексту просто в Markdown-файлі, а переглядач її малює. Діаграма живе в тому самому файлі, видна в diff і оновлюється так само легко, як речення. GitHub, GitLab, Obsidian, багато генераторів документації та Markdown Preview Editor відображають Mermaid без додаткових налаштувань.
Як додати діаграму Mermaid
Створіть блок коду й укажіть мову mermaid:
markdown```mermaid
flowchart LR
A[Написати] --> B[Перегляд]
B --> C{Готово?}
C -- так --> D[Експорт]
C -- ні --> A
```
Переглядач перетворить це на:
Перший рядок задає тип діаграми. Усе, що далі, описує вузли та зв’язки.
Блок-схеми
Блок-схеми — найпопулярніший тип діаграм. Напрямок указується після ключового слова: TD або TB (згори вниз), BT, LR (зліва направо) чи RL.
mermaidflowchart TD
start([Початок]) --> input[/Прочитати файл/]
input --> valid{Файл коректний?}
valid -- Так --> save[(Зберегти в базу даних)]
valid -- Ні --> error[Показати помилку]
error --> input
Дужки навколо підпису визначають форму вузла:
| Синтаксис | Форма |
|---|---|
A[Text] |
Прямокутник |
A(Text) |
Прямокутник із заокругленими кутами |
A([Text]) |
Стадіон (пігулка) |
A{Text} |
Ромб — для умов |
A[(Text)] |
Циліндр бази даних |
A((Text)) |
Коло |
A[/Text/] |
Паралелограм — для введення/виведення |
A{{Text}} |
Шестикутник |
Зв’язки: --> — стрілка, --- — лінія без стрілки, -.-> — пунктирна стрілка, ==> — жирна. Підпис додається через -- текст --> або -->|текст|.
Групуйте пов’язані вузли за допомогою subgraph:
mermaidflowchart LR
subgraph Browser
editor[Редактор] --> preview[Перегляд]
end
preview --> export[HTML / PDF]
Діаграми послідовностей
Діаграми послідовностей показують, як учасники обмінюються повідомленнями з часом, — ідеально для API, сценаріїв автентифікації й шляхів користувача.
mermaidsequenceDiagram
participant U as Користувач
participant A as Застосунок
participant S as Сервер
U->>A: Натискає «Увійти»
A->>S: POST /login
S-->>A: 200 OK + токен
A-->>U: Показує панель керування
Note over A,S: Токен діє 1 годину
->> — суцільна стрілка (запит), -->> — пунктирна (відповідь). Note over, Note left of і Note right of додають коментарі. Блоки loop, alt/else та opt показують повторення й розгалуження.
Діаграми Ганта
Діаграма Ганта перетворює список завдань на часову шкалу. Завдання може починатися з певної дати або after іншого завдання.
mermaidgantt
title Спринт документації
dateFormat YYYY-MM-DD
section Написання
План :done, a1, 2026-10-01, 2d
Перша чернетка :active, a2, after a1, 4d
section Рецензування
Рецензія колег : a3, after a2, 3d
Публікація :milestone, after a3, 0d
Діаграми станів
Діаграми станів описують, як щось переходить між станами, — замовлення, документ, компонент інтерфейсу.
mermaidstateDiagram-v2
[*] --> Draft
Draft --> Review : надіслати
Review --> Draft : потрібні зміни
Review --> Published : схвалити
Published --> [*]
Кругові діаграми
Для швидкої картини часток від цілого кругова діаграма потребує одного рядка на сектор:
mermaidpie title На що йде час роботи з документацією
"Написання" : 45
"Форматування" : 15
"Оновлення діаграм" : 40
Mermaid також підтримує діаграми класів, ER-діаграми, ментальні карти, часові шкали, Git-графи, квадрантні діаграми та інше. Синтаксис кожної описано на офіційному сайті Mermaid.
Поради для читабельних діаграм
- Не роздувайте. Діаграму з понад 15–20 вузлами важко читати. Розбийте її на кілька — по одній на ідею.
- Обирайте напрямок свідомо.
LRпасує процесам із кількома кроками;TD— ієрархіям і довгим потокам, особливо на вузьких екранах. - Короткі ID і зрозумілі підписи. Пишіть
auth[Перевірити сесію], а не використовуйте підпис як ID, — так зв’язки лишаються короткими. - Беріть у лапки підписи зі спецсимволами:
A["Ціна: $5 (з ПДВ)"]. - Додавайте коментарі з
%%на початку рядка. Під час малювання вони ігноруються. - Переглядайте під час набору. Пропущена стрілка чи дужка ламає всю діаграму, тож живий перегляд позбавляє багатьох здогадок. У Markdown Preview Editor діаграма перемальовується під час редагування, а кнопка Діаграма Mermaid на панелі «Розширений редактор» вставляє початковий шаблон.
Як ділитися документами з діаграмами
Коли ви експортуєте документ у HTML або PDF, діаграми вбудовуються як зображення, тож читачеві не потрібен Mermaid. Щоб додати формули поруч із діаграмами, прочитайте, як писати формули в Markdown, а для всього іншого — таблиць, списків завдань, попереджень — тримайте під рукою шпаргалку з Markdown.
Часті запитання
Чи підтримує GitHub діаграми Mermaid?
Так. GitHub відображає блоки коду Mermaid у Markdown-файлах, issues, pull requests і вікі. Також їх підтримують GitLab, Azure DevOps, Obsidian і багато генераторів документації.
Чому моя діаграма Mermaid не відображається?
Зазвичай через синтаксичну помилку: пропущену стрілку, незакриту дужку або спецсимвол у підписі, не взятому в лапки. Перевірте й перший рядок — він має задавати коректний тип діаграми, наприклад flowchart TD чи sequenceDiagram.
Чи можна змінити кольори діаграми Mermaid?
Mermaid підтримує теми та інструкції classDef/style для окремих вузлів. Підтримка власних стилів залежить від платформи, а деякі переглядачі обмежують її заради однаковості чи безпеки, тож дбайте, щоб діаграми були читабельними зі стандартною темою.
Чи можна експортувати діаграму Mermaid як зображення?
Markdown Preview Editor вбудовує діаграми як зображення, коли ви експортуєте документ у HTML, і вони потрапляють у PDF під час друку. Щоб отримати окремий PNG чи SVG, скористайтеся офіційним Mermaid Live Editor або Mermaid CLI — вони експортують окремі діаграми.