Полное руководство по диаграммам Mermaid
Научитесь создавать профессиональные диаграммы с помощью простого текстового синтаксиса
Что такое Mermaid?
Mermaid — это инструмент для построения диаграмм и графиков на основе JavaScript, который использует текстовые определения в стиле Markdown для динамического создания и изменения диаграмм. Это open-source проект, позволяющий генерировать диаграммы из простых текстовых описаний.
Вместо сложных инструментов рисования вы пишете кодоподобный синтаксис, описывающий диаграмму, и Mermaid рендерит её как визуальную диаграмму. Такой подход делает диаграммы версионируемыми, простыми в обновлении и идеальными для документации.
Mermaid легко интегрируется с платформами документации, вики и файлами Markdown, поэтому это любимый инструмент разработчиков и технических писателей.
Почему стоит использовать Mermaid?
- Контроль версий: диаграммы — это текстовые файлы, поэтому их можно отслеживать в 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
Выберите тип диаграммы
Начните с выбора типа диаграммы, который лучше всего отображает то, что вы хотите показать. Каждый тип начинается с определенного ключевого слова, например 'flowchart', 'sequenceDiagram' или 'classDiagram'.
Напишите текстовый синтаксис
Используйте простой синтаксис Mermaid для описания диаграммы. Синтаксис интуитивен и читается почти как естественный язык. Например, 'A --> B' создаёт стрелку от A к B.
Предпросмотр диаграммы
Используйте наш онлайн‑просмотрщик или любой инструмент, совместимый с Mermaid, чтобы увидеть диаграмму в реальном времени. При необходимости вносите изменения, пока не будете довольны.
Экспорт и совместное использование
Экспортируйте диаграмму в SVG или PNG для презентаций или поделитесь URL с командой. Mermaid также можно встраивать прямо в файлы Markdown.
Лучшие практики
- Сосредотачивайте диаграммы на одном концепте или рабочем процессе
- Используйте осмысленные метки, описывающие реальную бизнес-логику
- Разбивайте сложные диаграммы на более мелкие взаимосвязанные диаграммы
- Добавляйте комментарии с помощью %% для объяснения сложных разделов
- Используйте последовательные правила именования в диаграммах
- Тестируйте диаграммы в целевой среде перед финализацией
- При необходимости добавляйте подсказки направления (TD, LR) для управления компоновкой
- Используйте subgraph для группировки связанных узлов в блок-схемах
- Используйте параметры стиля умеренно, чтобы сохранить читаемость
- Храните исходники диаграмм под версионным контролем вместе с кодом
Типовые сценарии использования
Документация ПО
Документируйте архитектуру системы, API‑потоки и взаимодействия компонентов вместе с кодом.
Планирование проектов
Создавайте диаграммы Ганта для планирования спринтов, графиков проектов и распределения ресурсов.
Технические предложения
Визуализируйте предлагаемые решения, дизайн систем и архитектурные решения.
Пользовательские пути
Отображайте пользовательские потоки, клиентский опыт и шаблоны взаимодействия.
Проектирование баз данных
Моделируйте отношения сущностей, структуру схем и зависимости данных.
Документация процессов
Документируйте бизнес‑процессы, рабочие процессы и стандартные операционные процедуры.
Учебные материалы
Создавайте понятные, версионируемые диаграммы для уроков и технических курсов.
Документация API
Иллюстрируйте потоки запрос/ответ, последовательности аутентификации и взаимодействия эндпоинтов.
Дополнительные ресурсы
Часто задаваемые вопросы
Распространенные вопросы об использовании Mermaid Viewer и создании диаграмм
Этот редактор Mermaid действительно бесплатный?
Нужно ли что-то устанавливать?
Как сохранять диаграммы?
Можно ли использовать диаграммы в документации?
В чем разница между SVG и PNG?
Почему диаграмма не рендерится?
Можно ли работать совместно с другими?
Работает ли это офлайн?
Как изучить синтаксис Mermaid?
Можно ли настроить внешний вид?
Какие типы диаграмм поддерживаются?
Мои данные приватны?
Почему стоит использовать текстовые диаграммы?
Можно ли встроить Mermaid на сайт?
Какой максимальный размер диаграммы рекомендуется?
Готовы создать свою первую диаграмму?
Попробуйте наш бесплатный онлайн‑просмотрщик Mermaid и начните создавать профессиональные диаграммы за считанные минуты.
Открыть Mermaid Viewer