Полное руководство по диаграммам Mermaid.js
Научитесь создавать профессиональные диаграммы с помощью простого текстового синтаксиса
Что такое Mermaid.js?
Mermaid — это инструмент для построения диаграмм и графиков на основе JavaScript, который использует текстовые определения в стиле Markdown для динамического создания и изменения диаграмм. Это open-source проект, позволяющий генерировать диаграммы из простых текстовых описаний.
Вместо сложных инструментов рисования вы пишете кодоподобный синтаксис, описывающий диаграмму, и Mermaid рендерит её как визуальную диаграмму. Такой подход делает диаграммы версионируемыми, простыми в обновлении и идеальными для документации.
Mermaid легко интегрируется с платформами документации, вики и файлами Markdown, поэтому это любимый инструмент разработчиков и технических писателей.
Почему стоит использовать Mermaid.js?
- Контроль версий: диаграммы — это текстовые файлы, поэтому их можно отслеживать в Git вместе с кодом
- Быстрые обновления: измените несколько строк текста вместо перерисовки целых диаграмм
- Согласованность: Mermaid автоматически управляет раскладкой и стилями, обеспечивая единообразные диаграммы
- Не нужны инструменты дизайна: не требуется Visio, Lucidchart или другие дорогие инструменты
- Документация как код: храните диаграммы в том же репозитории, что и документацию
- Кроссплатформенность: работает в браузерах и Node.js и интегрируется со многими платформами
- Бесплатно и с открытым исходным кодом: без лицензионных затрат, активное сообщество
- Множество типов диаграмм: поддерживает блок-схемы, диаграммы последовательностей, диаграммы классов и др.
Поддерживаемые типы диаграмм
Mermaid поддерживает широкий набор типов диаграмм для различных задач документации:
Блок-схема
Визуализируйте рабочие процессы, процессы и деревья решений с помощью узлов и ребер.
flowchart TD
A[Start] --> B{Decision}
B -->|Yes| C[Process]
B -->|No| D[Alternative]
C --> E[End]
D --> EСценарий использования: Процессные потоки, алгоритмы, логика принятия решений
Диаграмма последовательностей
Показывает взаимодействия между разными участниками или системами во времени.
sequenceDiagram
participant User
participant API
participant DB
User->>API: Request data
API->>DB: Query
DB-->>API: Results
API-->>User: ResponseСценарий использования: Взаимодействия API, коммуникация систем, пользовательские потоки
Диаграмма классов
Моделируйте объектно-ориентированные системы с классами, атрибутами и отношениями.
classDiagram
class Animal {
+String name
+int age
+makeSound()
}
class Dog {
+bark()
}
Animal <|-- DogСценарий использования: Архитектура ПО, ООП-дизайн, схемы баз данных
Диаграмма состояний
Представляет состояния и переходы в системе или процессе.
stateDiagram-v2
[*] --> Idle
Idle --> Loading: Start
Loading --> Success: Complete
Loading --> Error: Fail
Success --> [*]
Error --> Idle: RetryСценарий использования: Машины состояний, управление жизненным циклом, состояния UI
ER-диаграмма
Моделирует структуры баз данных и связи между сущностями.
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE_ITEM : contains
CUSTOMER {
int id
string name
string email
}Сценарий использования: Проектирование БД, моделирование данных, архитектура системы
Диаграмма Ганта
Планируйте и визуализируйте расписания и временные линии проектов.
gantt
title Project Timeline
dateFormat YYYY-MM-DD
section Phase 1
Design :a1, 2024-01-01, 30d
Development :a2, after a1, 45dСценарий использования: Планирование проектов, таймлайны спринтов, дорожные карты
Круговая диаграмма
Показывает пропорциональные данные и проценты визуально.
pie title Distribution
"Category A" : 42
"Category B" : 30
"Category C" : 28Сценарий использования: Результаты опросов, доля рынка, распределение ресурсов
Граф Git
Визуализируйте стратегии ветвления Git и историю коммитов.
gitGraph
commit
branch develop
checkout develop
commit
checkout main
merge developСценарий использования: Документация Git workflow, стратегии ветвления
Начало работы с Mermaid
1. Выберите тип диаграммы
Начните с выбора типа диаграммы, который лучше всего отображает то, что вы хотите показать. Каждый тип начинается с определенного ключевого слова, например 'flowchart', 'sequenceDiagram' или 'classDiagram'.
2. Напишите текстовый синтаксис
Используйте простой синтаксис Mermaid для описания диаграммы. Синтаксис интуитивен и читается почти как естественный язык. Например, 'A --> B' создаёт стрелку от A к B.
3. Предпросмотр диаграммы
Используйте наш онлайн‑просмотрщик или любой инструмент, совместимый с Mermaid, чтобы увидеть диаграмму в реальном времени. При необходимости вносите изменения, пока не будете довольны.
4. Экспорт и совместное использование
Экспортируйте диаграмму в SVG или PNG для презентаций или поделитесь URL с командой. Mermaid также можно встраивать прямо в файлы Markdown.
Лучшие практики
- Сосредотачивайте диаграммы на одном концепте или рабочем процессе
- Используйте осмысленные метки, описывающие реальную бизнес-логику
- Разбивайте сложные диаграммы на более мелкие взаимосвязанные диаграммы
- Добавляйте комментарии с помощью %% для объяснения сложных разделов
- Используйте последовательные правила именования в диаграммах
- Тестируйте диаграммы в целевой среде перед финализацией
- При необходимости добавляйте подсказки направления (TD, LR) для управления компоновкой
- Используйте subgraph для группировки связанных узлов в блок-схемах
- Используйте параметры стиля умеренно, чтобы сохранить читаемость
- Храните исходники диаграмм под версионным контролем вместе с кодом
Типовые сценарии использования
Документация ПО
Документируйте архитектуру системы, API‑потоки и взаимодействия компонентов вместе с кодом.
Планирование проектов
Создавайте диаграммы Ганта для планирования спринтов, графиков проектов и распределения ресурсов.
Технические предложения
Визуализируйте предлагаемые решения, дизайн систем и архитектурные решения.
Пользовательские пути
Отображайте пользовательские потоки, клиентский опыт и шаблоны взаимодействия.
Проектирование баз данных
Моделируйте отношения сущностей, структуру схем и зависимости данных.
Документация процессов
Документируйте бизнес‑процессы, рабочие процессы и стандартные операционные процедуры.
Учебные материалы
Создавайте понятные, версионируемые диаграммы для уроков и технических курсов.
Документация API
Иллюстрируйте потоки запрос/ответ, последовательности аутентификации и взаимодействия эндпоинтов.
Дополнительные ресурсы
Часто задаваемые вопросы
Распространенные вопросы об использовании Mermaid Viewer и создании диаграмм
Готовы создать свою первую диаграмму?
Попробуйте наш бесплатный онлайн‑просмотрщик Mermaid и начните создавать профессиональные диаграммы за считанные минуты.
Открыть Mermaid Viewer