Полное руководство по диаграммам 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

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 действительно бесплатный?
Да, полностью бесплатно. Вы можете создавать неограниченное число диаграмм, экспортировать в SVG/PNG, делиться по URL и пользоваться всеми функциями без регистрации и оплаты. Сервис поддерживается ненавязчивой рекламой.
Нужно ли что-то устанавливать?
Нет, ничего устанавливать не нужно. Это веб-инструмент, который полностью работает в браузере. Просто откройте сайт и начинайте создавать диаграммы на компьютере, планшете или телефоне.
Как сохранять диаграммы?
Сохранить можно несколькими способами: 1) экспорт в SVG или PNG, 2) ссылка URL (код диаграммы закодирован в URL), 3) копирование Mermaid-кода в свои файлы, 4) загрузка/скачивание файлов .mmd или .mermaid.
Можно ли использовать диаграммы в документации?
Да, конечно. Экспортируйте диаграммы как SVG (масштабируемый) или PNG и используйте их в документации, презентациях и на сайтах. Код Mermaid также можно встраивать в GitHub, GitLab, Notion и другие платформы.
В чем разница между SVG и PNG?
SVG — векторный формат: качество сохраняется при любом размере, поэтому он лучше для веба и документации. PNG — растровый формат, удобен для быстрого обмена, но теряет качество при масштабировании.
Почему диаграмма не рендерится?
Проверьте синтаксис Mermaid-кода. Частые причины: незакрытые кавычки, пропущенные двоеточия/точки с запятой, неверные ID узлов или неподдерживаемый синтаксис. Упростите диаграмму, чтобы найти проблемное место.
Можно ли работать совместно с другими?
Совместная работа в реальном времени не встроена, но диаграммы легко передавать по URL. Другие могут открыть, отредактировать и отправить свою версию обратно. Текстовый формат Mermaid также отлично подходит для Git.
Работает ли это офлайн?
Для первой загрузки нужен интернет. После загрузки базовое редактирование часто доступно офлайн. Некоторые функции, например экспорт, могут требовать подключения.
Как изучить синтаксис Mermaid?
Начните с нашего подробного руководства по Mermaid с примерами всех типов диаграмм. Для быстрого старта используйте шаблоны и дополнительно обращайтесь к официальной документации на mermaid.js.org.
Можно ли настроить внешний вид?
Да. Диаграммы следуют теме сайта: переключайтесь между светлой и тёмной кнопкой «Тема» в верхней панели, и диаграмма перерисуется в соответствующей теме Mermaid. Для расширенной настройки используйте директиву %%{init:...}%%, где задаются цвета, шрифты и другие визуальные свойства.
Какие типы диаграмм поддерживаются?
Редактор поддерживает основные типы диаграмм Mermaid: flowchart, sequence, class, state, ER, Gantt, pie chart, Git graph, user journey и другие.
Мои данные приватны?
Код ваших диаграмм не отправляется на наши серверы. Весь рендеринг выполняется в браузере. При публикации по URL код хранится в самой ссылке; мы не сохраняем и не отслеживаем содержимое диаграмм.
Почему стоит использовать текстовые диаграммы?
Текстовые диаграммы дают ряд преимуществ: контроль версий (идеально для Git), быстрые обновления, единый стиль, поиск по тексту, небольшой размер и возможность программной генерации. Их также проще ревьюить в pull request.
Можно ли встроить Mermaid на сайт?
Да. Подключите библиотеку Mermaid JavaScript на своём сайте и добавляйте блоки Mermaid-кода. Многие платформы уже поддерживают Mermaid нативно, включая GitHub, GitLab, Notion и Obsidian.
Какой максимальный размер диаграммы рекомендуется?
Жёсткого ограничения нет, но очень большие диаграммы (более ~100 узлов) могут рендериться медленнее в зависимости от устройства. Для сложных систем лучше разбивать на несколько меньших диаграмм.

Готовы создать свою первую диаграмму?

Попробуйте наш бесплатный онлайн‑просмотрщик Mermaid и начните создавать профессиональные диаграммы за считанные минуты.

Открыть Mermaid Viewer