Схемы в базе знаний (mermaid)

Схемы в базе знаний (mermaid)

kb_mermaid.gif

Mermaid

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

Синтаксис компонентов

Для создания диаграммы Mermaid используется кодовый блок, начинающийся с ``` и содержащий указание mermaid.

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


```mermaid
graph LR
    A[Жёсткая граница] -->|Текст связи| B(Округлая граница)
    B --> C{Решение}
    C -->|Первый вариант| D[Результат 1]
    C -->|Второй вариант| E[Результат 2]
```

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

Директивы

Директивы Mermaid можно настроить, используя рекомендуемый синтаксис %%{init: { }}%% в качестве первой строки непосредственно внутри блока ```mermaid.

Из документации Mermaid:
Директивы предоставляют автору диаграммы возможность изменять внешний вид диаграммы перед визуализацией путем изменения применяемой конфигурации.
Следующий пример демонстрирует применение темы к диаграмме:

```mermaid
%%{init: { 'theme': 'forest' }}%%
graph LR
    A[Жёсткая граница] -->|Текст связи| B(Округлая граница)
    B --> C{Решение}
    C -->|Первый вариант| D[Результат 1]
    C -->|Второй вариант| E[Результат 2]
```

Пример зеленой темы для диаграммы Mermaid

Блок кода для Mermaid


Чтобы нарисовать блок кода mermaid вместо отображения содержимого, пожалуйста, используйте спецификатор синтаксиса блока mermaid-js.

```mermaid-js
%%{init: { 'theme': 'forest' }}%%
graph LR
    A[Hard edge] -->|Link text| B(Round edge)
    B --> C{Decision}
    C -->|One| D[Result one]
    C -->|Two| E[Result two]
```

Подсветка синтаксиса кода Mermaid на данный момент не поддерживается.

Блок кода для отображения кода диаграммы или схемы Mermaid

Типы диаграмм

Блок-схема

Более подробная информация приведена в документации Mermaid.

```mermaid
graph TD;
    A-->B;
    A-->C;
    B-->D;
    C-->D;
```

Пример блок-схемы (Flowchart)

Схема последовательности действий

Более подробная информация приведена в документации Mermaid.

```mermaid
sequenceDiagram
    participant Алиса
    participant Боб
    Алиса->>Джон: Привет, Джон, как дела?
    loop Проверка состояния здоровья
          Джон->>Джон: Борьба с ипохондрией
    end
    Note right of Джон: Рациональные мысли <br/>преобладают!
    Джон-->>Алиса: Отлично!
    Джон->>Боб: А как насчет тебя?
    Боб-->>Джон: Очень хорошо!
```

Пример диаграммы последовательности действий (Sequence)

Диаграмма Ганта

Более подробная информация приведена в документации Mermaid.

```mermaid
gantt
dateFormat  YYYY-MM-DD
title Добавление диаграммы ГАНТА в mermaid
excludes weekdays 2014-01-10

section Раздел A
Завершенная задача            :done,    des1, 2014-01-06,2014-01-08
Активная задача               :active,  des2, 2014-01-09, 3d
Будущая задача                :         des3, after des2, 5d
Будущая задача 2              :         des4, after des3, 5d
```

Пример диаграммы Ганта (Gantt)

Диаграмма классов

Более подробная информация приведена в документации Mermaid.

```mermaid
classDiagram
Class01 <|-- AveryLongClass : Cool
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 --> C2 : Where am i?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 <--> C2: Cool label
```
Пример диаграммы классов (Class)

Отношение между сущностями

Более подробная информация приведена в документации Mermaid.

```mermaid
erDiagram
    "ПОКУПАТЕЛЬ" ||--o{ "ЗАКАЗ" : "места"
    "ЗАКАЗ" ||--|{ "РЕКЛАМНАЯ КАМПАНИЯ" : "содержит"
    "ПОКУПАТЕЛЬ" }|..|{ "АДРЕС ДОСТАВКИ" : "использует"
```

Пример диаграммы связей сущностей (ER)

Пользовательские пути

Более подробная информация приведена в документации Mermaid.

```mermaid
journey
    title Мой рабочий день
    section Идти на работу
      Приготовить чай: 5: Я
      Идти наверх: 3: Я
      Работать: 1: Я, Кот
    section Пойти домой
      Идти вниз: 5: Я
      Присесть: 5: Я
```
Пример диаграммы пользовательских путей (User Journey)

Онлайн-конструктор

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

В самых простых случаях вам будет достаточно редактора.

Онлайн-конструктор Mermaid

Однако, если вам требуется более детальная настройка, вы можете перейти в расширенный режим Playground.

Запуск расширенного режима редактирования диаграмм и схем Mermaid

Расширенный режим редактирования диаграмм и схем Mermaid

После того как диаграмма или схема будут полностью созданы, вы можете скопировать и вставить полученный код в Markdown-редактор вашей базы знаний.

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

```mermaid
sequenceDiagram
    participant Алиса
    participant Боб
    Алиса->>Джон: Привет, Джон, как дела?
    loop Проверка состояния здоровья
          Джон->>Джон: Борьба с ипохондрией
    end
    Note right of Джон: Рациональные мысли <br/>преобладают!
    Джон-->>Алиса: Отлично!
    Джон->>Боб: А как насчет тебя?
    Боб-->>Джон: Очень хорошо!
```


ВАЖНО!!! Функционал доступен начиная с релиза 3.1.22.2

Логотип
 Доступ к базе знаний в "Личном кабинете" без авторизации | Описание курса | Синтаксис markdown