Как мне справедливо заметил один мой читатель — я упустил главное — упомянуть что такое этот «Obsidian».
Исправляюсь.
Как написано на сайте разработчика https://Obsidian.md — Бесплатное и гибкое приложение для ваших личных мыслей. А так как мы с вами тут заняты интеллектуальным трудом, то для всех нас.
Обсидиан это удобный текстовый редактор на максималках, который отлично встраивается в решение современных задач, где очень важно зафиксировать мысль, связи мысли и прочий контекст, в том числе для работы с агентами.
Для работы с LLM и агентами особенно удобно то, что Обсидиан сохраняет все материалы в файлах формата *.md, который отлично понимается всеми LLM и агентами.

Переносим работу по созданию аналитики для дальнейшей разработки в связку Obsidian + GIT, как я описывал в предыдущей статье — и мы практически готовы работать в новом фреймворке.

Но что делать, если для аналитики нужна диаграмма? Obsidian нативно поддерживает верстку mermaid диаграмм и это не сложно!

Дам короткую шпаргалку по диаграммам и один небольшой лайфхак.

1. Формы объектов

В flowchart формы задаются через символы в конце идентификатора узла (перед текстом):

СимволФормаКогда использовать
[Текст]ПрямоугольникОбычные действия, шаги
[[Текст]]Двойной прямоугольникГраница процесса, подпроцесс
((Текст))Круг (двойная рамка)Start / End события
{{Текст}}ПараллелограммДанные, ввод/вывод
{Текст}РомбУсловия, решения Yes/No
([Текст])ЦилиндрХранилища данных, базы

В коде выглядит так:


```mermaid
flowchart LR
    A["Обычный шаг"]
    B{"Условие?"}
    C[["Документ"]]

2. Если нужен BPMN

BPMN-диаграммы рисуются через flowchart с правильными формами:

Основные элементы BPMN

BPMN элементСинтаксис MermaidСтиль
Start EventStartNode("Начало"):::startКруг, зелёная обводка
End EventEndNode("Конец"):::endКруг, красная обводка
Task / Activity[Выполнить работу]:::taskПрямоугольник
Exclusive Gateway (XOR){Флаг?}:::gatewayРомб, жёлтый фон
Parallel Gateway (AND){+}:::gatewayРомб со знаком
Intermediate Event([Промежуток]):::boundaryДвойной круг, толстая рамка

💡 Важно: Для BPMN-событий (круги) используй кавычки в тексте вместо фигурных скобок (Text), так как Mermaid путает вложенные скобки. Фигура задаётся через ClassName("текст"):::style.

Пример BPMN диаграммы

Код:

```mermaid
flowchart TD
    %% Стили для BPMN элементов
    classDef start fill:#d1fae5,stroke:#10b981,stroke-width:2px;
    classDef task fill:#dbeafe,stroke:#3b82f6,stroke-width:2px;
    classDef gateway fill:#fef3c7,stroke:#f59e0b,stroke-width:2px;
    classDef finish fill:#fee2e2,stroke:#ef4444,stroke-width:2px;
    classDef boundary stroke-width:4px;

    StartNode("Начало"):::start
    Task1["Сбор требований"]:::task
    Gateway{"Бюджет > 100к?"}:::gateway
    Task2A["Full-stack разработка"]:::task
    Task2B["Только мобильное"]:::task
    EndNode("Конец"):::finish

    StartNode -- Task1 --> Gateway
    Gateway -.- Да -.-> Task2A --> EndNode
    Gateway -- Нет --> Task2B ==> EndNode

Пример:

flowchart TD
    %% Стили для BPMN элементов
    classDef start fill:#d1fae5,stroke:#10b981,stroke-width:2px;
    classDef task fill:#dbeafe,stroke:#3b82f6,stroke-width:2px;
    classDef gateway fill:#fef3c7,stroke:#f59e0b,stroke-width:2px;
    classDef finish fill:#fee2e2,stroke:#ef4444,stroke-width:2px;
    classDef boundary stroke-width:4px;

    StartNode("Начало"):::start
    Task1["Сбор требований"]:::task
    Gateway{"Бюджет > 100к?"}:::gateway
    Task2A["Full-stack разработка"]:::task
    Task2B["Только мобильное"]:::task
    EndNode("Конец"):::finish

    StartNode -- Task1 --> Gateway
    Gateway -.- Да -.-> Task2A --> EndNode
    Gateway -- Нет --> Task2B ==> EndNode

Правила оформления BPMN

  • Start/End events: используй Name("Текст"):::style — так Mermaid корректно рендерит круги, даже с русским текстом внутри
  • Gateway: {Текст}:::gateway — ромб, подписывай ? для вопросов
  • Стрелки: используй --> для sequence flow, -.- для message flow

3. Стрелки и связи

Типы стрелок

СинтаксисВидОписание
-->→Сплошная линия
-.-┄┄┄Пунктирная линия
-.->┅┅┅Толстая пунктирная
==>===Жирная сплошная
---───Просто линия (без стрелки)

4. Подгруппы

```mermaid
flowchart LR
    subgraph Phase1["Фаза 1"]
        A["Шаг 1"]
        B["Шаг 2"]
    end

    subgraph Phase2["Фаза 2"]
        C["Шаг 3"]
    end

    A --> B --> C

Визуал

flowchart LR
    subgraph Phase1["Фаза 1"]
        A["Шаг 1"]
        B["Шаг 2"]
    end

    subgraph Phase2["Фаза 2"]
        C["Шаг 3"]
    end

    A --> B --> C

Шпаргалка для базы,для углубленного изучения оставлю ссылку на документацию:
https://mermaid.ai/open-source/syntax/flowchart.html

Лайфхак

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

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

Что такое Obsidian для аналитиков?