Руководство по синтаксису Mind Map в Mermaid.js

Что такое Mind Map?

A Mind Map — это иерархическая деревообразная визуализация, используемая для сбора, организации и структурирования сложных потоков информации, выдвинутых идей или проектных таксономий. В отличие от диаграмм, которые определяют линейные процедурные шаги, Mind Map отображают связи между центральной основной концепцией и ее различными подузлами, что делает их идеальными для планирования стратегических маршрутов, структурирования функций или управления знаниями.

С помощью Mermaid.js, вы определяете иерархическую структуру с помощью стандартной отступной нумерации Markdown. Двигатель автоматически обрабатывает позиционирование узлов, рассчитывает рост дерева и применяет различные формы узлов в зависимости от уровня иерархии, позволяя визуализировать сотни взаимосвязанных узлов без ручной настройки пикселей.

Руководство по основному синтаксису: элементы и конструкции

Создание действительной, пригодной для производства Mind Map в Mermaid требует освоения определения корневого узла, вложенности уровней по отступам и визуальных декоративных токенов.

1. Инициализация корневого узла Mind Map

Вы инициализируете холст Mind Map в первой строке, используя ключевое слово mindmapключевое слово. Структура строится путем определения корневого узла (центра вашей карты) и последующего вложения подузлов под него с использованием стандартных отступов по пробелам:

mindmap
  root((Центральная основная концепция))
    Узел первого уровня
      Подузел второго уровня

2. Управление геометрией узла

Как и в диаграммах, вы можете вводить визуальный контекст, заключая текст в определенные скобочные токены. Это настоятельно рекомендуется для различения между основными категориями, второстепенными задачами и выполнимыми действиями:

  • (Текст) — Округлый узел (по умолчанию).
  • ((Текст)) — Двойной округлый узел (обычно зарезервирован для корневого узла).
  • [Текст] — Квадратный узел.
  • )Текст( — Выпуклый/асимметричный узел.
  • {Текст} — Шестиугольный/скобочный узел.

3. Интеграция иконок и внешнего форматирования

Вы можете улучшить читаемость узлов, добавляя визуальные иконки непосредственно в строку текста с помощью ::icon(...) синтаксиса. Это позволяет быстро различать различные типы узлов (например, люди, программное обеспечение, оборудование или внешние API) при первом взгляде:

mindmap
  root((Архитектура системы))
    (Слой интерфейса)
    ::icon(fa fa-desktop)
      [Веб-приложение]
    (Слой данных)
    ::icon(fa fa-database)
      [Основная БД]

Рекомендации по созданию четких иерархических компоновок

  • Держите текст узлов кратким: Диаграммы-карты мыслей следует использовать для быстрого сканирования. Держите названия узлов не более чем из трех слов, чтобы текст не растягивал ветви дерева за пределы ширины экрана.
  • Используйте единые геометрические формы: Сохраняйте строгую логику форм для всего дерева (например, используйте квадратные узлы для компонентов кода, шестиугольные — для точек входа API, закругленные — для физической инфраструктуры). Такая последовательность значительно упрощает восприятие карты.
  • Ограничьте глубину вложенности: Пытайтесь не делать вложенность глубже четырех или пяти уровней. Если ветвь требует более глубокой вложенности, рассмотрите возможность выделения её в отдельную диаграмму-карту мыслей, чтобы размер общей области рисования оставался управляемым.

Примеры и шаблоны диаграмм-карт мыслей на основе Mermaid.js в реальных условиях

Пример 1: Классификация жизненного цикла разработки программного обеспечения (SDLC)

Этот функциональный чертеж организует стандартные фазы жизненного цикла разработки программного обеспечения в категоризированное дерево, используя иконки для визуального выделения характера каждой группы задач.

mindmap
  root((Фазы SDLC))
    (Планирование)
    ::icon(fa fa-tasks)
      [Требования]
      [Реализуемость]
    (Разработка)
    ::icon(fa fa-code)
      [Архитектура]
      [Реализация]
    (Качество)
    ::icon(fa fa-bug)
      [Юнит-тесты]
      [Интеграционные тесты]
    (Развертывание)
    ::icon(fa fa-cloud)
      [CI/CD-каналы]
      [Мониторинг]

Разбор синтаксиса: Используя узел root в центре и отступы для уровней, движок генерирует ветви симметрично. Синтаксис ::icon(fa fa-...) вставляет иконки, совместимые с FontAwesome, превращая абстрактные фазы в визуально отличимые, легко сканируемые узлы.

Пример 2: Разбиение функций корпоративного микросервиса

Этот продвинутый чертеж разбивает платформу электронной коммерции на технические наборы функций, используя геометрические формы для различения модулей инфраструктуры и интерфейсов, ориентированных на клиентов.

mindmap
  root((Платформа электронной коммерции))
    (Интерфейс пользователя)
      [Мобильное приложение]
      [Веб-панель управления]
    (Слой сервисов)
      [Auth API]
      [Order API]
    (Инфраструктура)
      ((Основной провайдер облачных услуг))
        [Кэш Redis]
        [Экземпляр PostgreSQL]

Разбор синтаксиса: На этой карте явно используются различные формы для обозначения логических компонентов системы. Четкая визуальная иерархия позволяет заинтересованным сторонам мгновенно различать высокий уровень сервисов и лежащие в основе данные.

Прокрутить вверх