Практикум
Схема из текста: Mermaid с нуля
Опишем схему несколькими строками текста — и получим на доске настоящие блоки, связи и группы. Mermaid учить не нужно: девять коротких уроков с примерами, которые можно скопировать, готовые рецепты, частые ошибки и дорога обратно — из доски в текст для README.
На этой странице
- Что это и зачем
- Где вставить схему
- Уроки по шагам
- Урок 1. Первая схема
- Урок 2. Имя блока и надпись
- Урок 3. Направление
- Урок 4. Формы блоков
- Урок 5. Стрелки и подписи
- Урок 6. Цепочки и несколько связей сразу
- Урок 7. Группы
- Урок 8. Кавычки, переносы строк и знаки
- Урок 9. Комментарии
- Готовые рецепты
- Процесс с развилкой
- Набросок архитектуры
- Путь пользователя
- Обратно в текст: «Скопировать как Mermaid»
- Что не поддерживается и пределы
- Частые ошибки и как их исправить
- Советы
- Вопросы и ответы
Что это и зачем#
Mermaid — способ нарисовать схему текстом. Вместо того чтобы таскать мышью прямоугольники и стрелки, вы пишете A --> B — «из A стрелка в B». Строка — одна связь или один блок. Схему из десяти шагов так можно набросать за минуту.
Такой текст программисты хранят рядом с кодом: GitHub и GitLab рисуют его прямо в README, Notion и Obsidian — в заметках, в Confluence — через расширения. Нейросети тоже часто отвечают схемой Mermaid. Но текст неудобно двигать, обсуждать и показывать на встрече.
NodePanel превращает такой текст в живую доску: каждый блок становится фигурой или карточкой, стрелки — связями, группы — рамками. Дальше это обычная доска: двигайте, перекрашивайте, комментируйте, показывайте команде. А когда схема готова — копируйте её обратно в текст и вставляйте в документацию.
Удобно, когда
- схема уже есть текстом — в README, вики или ответе нейросети;
- шагов много, а связи простые: процесс, путь пользователя, зависимости;
- схему нужно держать в репозитории рядом с кодом и иногда обновлять.
Проще мышью, когда
- нужны стикеры, фото, таблицы — их на доске добавить быстрее;
- важна точная раскладка — после вставки блоки всё равно можно сдвинуть руками;
- это не блок-схема, а другая диаграмма Mermaid (последовательность, таблицы базы, диаграмма Ганта).
Где вставить схему#
Откройте доску и окно вставки
Меню доски — три точки в шапке → «Вставить Mermaid…». Если текст уже скопирован, ещё проще: щёлкните по пустому месту холста и нажмите CtrlV (на Mac — ⌘V). Когда первая строка текста —
flowchartилиgraph(пустые строки и комментарии перед ней не мешают), окно откроется само, уже с этим текстом.Напишите или вставьте схему
Поле «Текст Mermaid» — моноширинное, стрелки в нём выглядят как набраны. Пока поле пустое, над ним есть кнопка «Вставить пример»: она подставит небольшую схему с развилкой и группой — с неё удобно начать.
Посмотрите, что получится
Справа сразу видно, сколько будет блоков, связей и групп (для примера из окна — 6 блоков · 6 связей · 1 группа), и направление: «Сверху вниз» или «Слева направо». Всё в порядке — «Всё понятно — можно вставлять». Если строку не удалось понять, ниже появится замечание с её номером: «Строка 4: Не понял стрелку» и сам кусок текста. Такая строка пропускается, остальное вставится.
Нажмите «Вставить»
Или CtrlEnter прямо в поле. Схема ляжет в центр экрана уже разложенной по направлению из текста и будет выделена — её можно сразу перетащить целиком. Появится уведомление — для примера из окна «Вставлено: 6 блоков и 6 связей».
Передумали — одна отмена
Вся вставка — одно действие: CtrlZ убирает её целиком, вместе со связями и группами.
Уроки по шагам#
Каждый пример ниже можно скопировать кнопкой «Скопировать», вставить в окно и посмотреть, что получится. Под примером — что покажет окно, под некоторыми — как схема ляжет на доску. Отступы в начале строк не обязательны, они только для красоты.
Урок 1. Первая схема#
Схема всегда начинается со строки flowchart и направления. Дальше — связи: A --> B значит «блок A, стрелка, блок B». Блоков заранее объявлять не нужно: они появляются, как только их упомянули.
На доске появятся два синих прямоугольника с надписями «A» и «B» и стрелка между ними. Если в тексте у блока нет названия, надписью становится его имя.
Урок 2. Имя блока и надпись#
У блока два текста: имя — короткое слово, по которому на блок ссылаются другие строки, и надпись в скобках — то, что видно на доске. idea[Идея] — блок с именем idea и надписью «Идея». Надпись пишут один раз, при первом упоминании, а дальше — только имя.
- Имя — буквы, цифры и
_; дефис внутри тоже можно:user-service. Пробелов в имени быть не может — для пробелов есть надпись. - Одно имя — один блок. Упомянули
checkв пяти строках — на доске всё равно один блок «Проверка». - Если надпись указать ещё раз, блок получит последнюю — так легко случайно переименовать блок.
Урок 3. Направление#
Слово после flowchart — куда идёт схема: TD или TB — сверху вниз, LR — слева направо, BT — снизу вверх, RL — справа налево. Раскладку по направлению NodePanel делает сам: координаты в тексте не нужны.
Урок 4. Формы блоков#
Форму задают скобки вокруг надписи. На доске они становятся фигурами — каждая своего цвета, чтобы схема сразу читалась.
db.Цвет и форму после вставки можно поменять как у любого блока — в панели свойств.
Урок 5. Стрелки и подписи#
Вид стрелки — это вид связи на доске. Подпись к связи пишут двумя способами: -->|текст| или -- текст --> — результат одинаковый.
Наконечника-крестика (--x) на доске нет — он станет обычной стрелкой, окно об этом предупредит. Связь блока с самим собой (a --> a) пропускается.
Урок 6. Цепочки и несколько связей сразу#
В одной строке можно продолжать цепочку: a --> b --> c — это две связи. А знак & соединяет сразу несколько блоков: a & b --> c — две связи в c, a --> b & c — две связи из a.
Урок 7. Группы#
Группа — рамка с названием вокруг нескольких блоков. Её открывают строкой subgraph имя [Название] и закрывают строкой end. Всё, что упомянуто между ними, попадает в рамку.
- Блок попадает в первую группу, внутри которой его упомянули. Поэтому удобно сначала описать группы с их блоками, а связи между группами — в конце, как в примере.
- Название можно написать и без имени:
subgraph Команда продаж— тогда это и имя, и название. - Связь можно провести к группе целиком, если группа описана выше:
user --> back— стрелка придёт в рамку «Бэкенд». endпишется строчными буквами и с новой строки. Забылиendв конце — окно закроет группу само и предупредит.
Группу внутри группы Mermaid позволяет, а доска — нет: внутренняя станет отдельной рамкой поверх внешней, а окно предупредит об этом один раз.
cluster.Урок 8. Кавычки, переносы строк и знаки#
Надпись заканчивается на первой закрывающей скобке своего вида. Если в тексте есть такая же скобка, точка с запятой или вертикальная черта — возьмите надпись в двойные кавычки. Внутри кавычек можно всё, кроме самих кавычек. <br> внутри надписи блока — перенос строки.
А вот что будет без кавычек: надпись оборвётся на первой ), и остаток строки окно не поймёт.
).- Кавычку внутри надписи пишут кодом
#quot;, решётку —#35;. - В подписях связей и названиях групп
<br>становится пробелом — там текст в одну строку. - HTML в надписях не выполняется: кроме
<br>, любые теги остаются обычным текстом.
Готовые рецепты#
Три схемы из жизни. Скопируйте, замените надписи на свои — и через минуту у вас готовая доска для обсуждения.
Процесс с развилкой#
Согласование заявки: проверка, вопрос «Одобрено?» с ветками «Да» и «Нет», возврат на доработку пунктиром.
Как довести такую схему до блок-схемы с дорожками по ролям — в руководстве «Процесс согласования».
Набросок архитектуры#
Сервисы по зонам: клиенты, бэкенд, данные. Компоненты — карточками [[ ]], хранилища — эллипсами (( )), протоколы — подписями связей, фоновые события — пунктиром.
Дальше — иконки и метки на карточках, анимация потоков и режим «Фокус»: см. «Архитектура сервиса». А если архитектура нужна по настоящему коду — попробуйте карту кода.
Путь пользователя#
Экраны интернет-магазина от каталога до оплаты, с развилкой «Вошёл в аккаунт?». Первая строка — цепочка из урока 6. Такую схему удобно обсуждать с дизайнером и аналитиком: где человек может уйти.
Схема получится длинной лентой слева направо. Если экранов много, поменяйте LR на TD — или после вставки нажмите «Разложить схему автоматически» и сдвиньте ветки руками.
Обратно в текст: «Скопировать как Mermaid»#
Схему, собранную или поправленную на доске, можно забрать текстом — например, чтобы положить в README.
Выберите, что копировать
Ничего не выделено — скопируется вся доска. Выделены блоки — только они (вместе с содержимым выделенных групп) и связи между ними.
Скопируйте
Меню доски (три точки) → «Скопировать как Mermaid». Если выделено несколько блоков, та же кнопка «Как Mermaid» есть в панели свойств справа. Появится уведомление, например «Скопировано как Mermaid: 4 блока».
Вставьте куда нужно
В README на GitHub или GitLab текст оборачивают в блок кода с пометкой
mermaid— как в примере ниже, и сайт нарисует схему сам. Или вставьте его обратно на доску — получится та же схема.
n1, n2… по порядку чтения доски, надписи — всегда в кавычках.- Направление (
LR,TD…) NodePanel подбирает по тому, куда в среднем идут связи на доске. - Цвета, размеры, иконки, статусы, чек-листы и комментарии в текст не попадают — у Mermaid для них нет места.
- Знаки, которые сломали бы текст, — кавычки,
#,<,>,|,%— пишутся кодами вроде#quot;. При вставке обратно они снова станут знаками. - Копировать может каждый, кто видит доску, — и «Только просмотр», и гость по публичной ссылке.
Что не поддерживается и пределы#
- Только блок-схемы —
flowchartиgraph. Другие диаграммы Mermaid (sequenceDiagram,erDiagram,classDiagram,ganttи остальные) окно не вставляет и честно об этом пишет. - Оформление пропускается:
classDef,class,style,linkStyleи:::— цвета на доске свои, окно один раз предупредит. После вставки перекрасьте блоки в панели свойств. clickне переносится никогда: ни ссылки, ни вызовы из схемы на доску не попадают — это защита от чужих ссылок в скопированном тексте. Ссылку на карточку можно добавить руками.- Новые формы через
@{ shape: … }пока не поддерживаются — такой блок станет прямоугольником. - Формы, которых нет на доске, — цилиндр, шестиугольник, параллелограмм, флажок — становятся прямоугольниками, крестик на конце связи — стрелкой.
- Группа в группе становится отдельной рамкой поверх внешней.
- Пределы за одну вставку: до 500 блоков вместе с группами, до 1 000 связей, текст до 200 000 знаков, вложенность групп — до 10 уровней. Больше — окно скажет, что схема слишком большая: вставьте её частями.
- Длинные надписи обрезаются: у блока и группы — до 200 знаков, у связи — до 120, имя блока — не длиннее 200 знаков. Об обрезке окно предупредит.
Частые ошибки и как их исправить#
Окно не молчит: у каждого замечания есть номер строки и кусок текста, на котором разбор споткнулся. Строка с ошибкой пропускается, остальные вставятся. Вот что чаще всего идёт не так.
Предупреждения (жёлтые) — не ошибки: схема вставится, просто что-то будет не так, как в Mermaid. Например, для style и click окно скажет одно и то же:
style.Советы#
- Начните с примера. Пустое окно → «Вставить пример» → поменяйте надписи на свои. Так быстрее, чем с нуля.
- Имена — короткие и латиницей:
start,check,pay. NodePanel понимает и русские имена, но латиница надёжнее, если тот же текст потом пойдёт в GitHub или другой редактор. - Надпись — один раз, при первом упоминании блока, дальше — только имя. Так меньше опечаток и случайных переименований.
- Одна строка — одна мысль. Развилку и её ветки — отдельными строками: замечание окна сразу укажет, где ошибка.
- Схему из нейросети проверяйте в окне. Справа видно, сколько получится блоков и всё ли понятно, — до того, как схема попадёт на доску.
- После вставки это обычная доска. Двигайте блоки, меняйте цвета и формы, добавляйте стикеры и фото, нажмите «Разложить схему автоматически», если блоков стало больше. Текст Mermaid при этом не меняется — когда нужно, скопируйте доску заново.
Статьи блога по теме#
Вопросы и ответы#
Нужно ли знать Mermaid, чтобы вставить схему на доску?
Нет. Достаточно первой строки flowchart LR и строк вида a --> b. Девяти коротких уроков в этом руководстве хватает, чтобы писать процессы, архитектуру и пути пользователя. А если текст уже есть, например в README или в ответе нейросети, его можно просто вставить.
Сохраняется ли связь между текстом и доской?
Нет. Вставка создаёт обычные блоки и связи, дальше доска живёт своей жизнью. Чтобы обновить текст в документации, скопируйте доску снова через «Скопировать как Mermaid».
Почему после вставки блоки стоят не так, как в GitHub?
Mermaid не хранит координаты: каждая программа раскладывает схему сама. NodePanel раскладывает её по направлению из первой строки, а дальше блоки можно сдвинуть руками или разложить автоматически.
Не нашли ответ? Напишите нам из приложения: пункт «Помощь» в боковой панели есть на каждом экране после входа. Ответ придёт на почту вашего аккаунта.
Урок 9. Комментарии#
Всё после
%%до конца строки — комментарий: на доску он не попадает. Удобно оставлять себе пометки или временно «выключать» строку.