Szybki start i karta cheat sheet dla diagramów Mermaid dla programistów

Diagramy jako kod, bez zbędnych komplikacji.

Page content

Mermaid to narzędzie do tworzenia diagramów oparte na tekście, przeznaczone dla osób, które wolą pisać diagramy niż przeciągać kwadraty po płótnie. Wykorzystuje składnię podobną do Markdownu do opisu schematów blokowych, diagramów sekwencji, diagramów klas, maszyn stanów, osi czasu, diagramów Gantta, diagramów relacji encji i wielu innych.

Dla technicznego bloga Mermaid jest bardzo dobrym domyślnym wyborem. Diagramy znajdują się obok artykułu, można je przeglądać w Git, a ich aktualizacja po zmianach w systemie jest łatwa. Statyczne diagramy obrazkowe wyglądają dobrze, dopóki nie nastąpi pierwsza zmiana architektury. Diagramy Mermaid nie są idealne, ale starzeją się znacznie lepiej.

Składnia schematu blokowego Mermaid po lewej stronie, wyrenderowany diagram po prawej

Ten przewodnik to praktyczny szybki start i karta ściągowa Mermaid dla programistów, autorów dokumentacji technicznej oraz właścicieli stron opartych na Hugo. Jest częścią centrum Narzędzia do dokumentacji w 2026 roku: Markdown, LaTeX, PDF i przepływy pracy drukowania.

Czym jest Mermaid?

Mermaid to składnia diagramów jako kodu. Piszesz mały blok tekstu, a Mermaid renderuje go jako diagram.

Podstawowy diagram Mermaid wygląda następująco:

ten kod:

```mermaid
flowchart TD
    A[Napisz Markdown] --> B[Dodaj blok Mermaid]
    B --> C[Renderuj stronę]
    C --> D[Opublikuj diagram]
```

Tworzy diagram:

flowchart TD A[Napisz Markdown] --> B[Dodaj blok Mermaid] B --> C[Renderuj stronę] C --> D[Opublikuj diagram]

Główna koncepcja jest prosta: źródłem diagramu jest zwykły tekst. Dzięki temu jest on przeszukiwalny, możliwy do przeglądu, przenośny i łatwy do utrzymania wraz z dokumentacją, którą objaśnia.

Dlaczego używać Mermaid w technicznym blogu?

Mermaid jest przydatny, gdy Twój artykuł wymaga czegoś więcej niż prozy, ale mniej niż pełnoprawnego narzędzia projektowego.

Używaj Mermaid, gdy chcesz wyjaśnić:

  • Przepływy żądań i odpowiedzi
  • Potoki wdrażania
  • Zależności usług
  • Przejścia stanów
  • Relacje w bazie danych
  • Ścieżki użytkowników
  • Kroki budowania
  • Logikę decyzyjną
  • Harmonogramy projektów

Nie używałbym Mermaidu do każdej grafiki. Zrzuty ekranu, odręczne szkice architektury i dopracowane diagramy marketingowe nadal mają swoje miejsce. Ale dla dokumentacji inżynierskiej Mermaid jest często najbardziej łatwym w utrzymaniu rozwiązaniem.

Szybki start z Mermaid

Podstawowe użycie w Markdown

W Markdownie użyj ogrodzonego bloku kodu z mermaid jako językiem:

```mermaid
flowchart LR
    A[Start] --> B[Proces]
    B --> C[Koniec]
```

Wiele platform rozumie ten format bezpośrednio. mermaid jest jednym z specjalnych identyfikatorów języków — obok diff, geojson i innych — które pewne renderery traktują jako typ bloku pierwszoklasowego, a nie tylko jako zwykłe kolorowanie składni. Aby poznać pełen przegląd składni bloków ogrodzonych i obsługiwanych identyfikatorów języków, zobacz Przewodnik po blokach kodu Markdown. W przypadku Hugo renderowanie zależy od motywu lub konfiguracji strony. O tym później.

Testuj diagramy przed publikacją

Najłatwiejszy przepływ pracy to:

  1. Napisz diagram w pliku Markdown.
  2. Wklej go do interaktywnego edytora Mermaid lub podglądu lokalnego.
  3. Napraw błędy składniowe.
  4. Zatwierdź źródło Markdown.
  5. Sprawdź ostatecznie wyrenderowaną stronę.

Unika to klasycznego problemu, w którym diagram działa w jednym rendererze, ale psuje się w innym ze względu na drobną szczegółowość składniową.

Składnia schematów blokowych

Schematy blokowe są najczęstszy typem diagramów Mermaid. Używaj ich do przepływów pracy, algorytmów, dróg decyzyjnych i kroków systemowych.

Podstawowy schemat blokowy

ten kod:

```mermaid
flowchart TD
    A[Użytkownik otwiera witrynę] --> B{Czy użytkownik jest zalogowany?}
    B -->|Tak| C[Pokaż panel]
    B -->|Nie| D[Pokaż stronę logowania]
```

Tworzy diagram:

flowchart TD A[Użytkownik otwiera witrynę] --> B{Czy użytkownik jest zalogowany?} B -->|Tak| C[Pokaż panel] B -->|Nie| D[Pokaż stronę logowania]

Kierunki schematów blokowych

Schematy blokowe Mermaid obsługują kilka kierunków:

TD - od góry do dołu
TB - od góry do dołu
BT - od dołu do góry
LR - od lewej do prawej
RL - od prawej do lewej

Przykład:

ten kod:

```mermaid
flowchart LR
    Przeglądarka --> CDN
    CDN --> SerwerWWW
    SerwerWWW --> BazaDanych
```

Tworzy diagram:

flowchart LR Przeglądarka --> CDN CDN --> SerwerWWW SerwerWWW --> BazaDanych

Dla artykułów blogowych LR (od lewej do prawej) jest często łatwiejszy do odczytu w diagramach architektury. Dla procesów krok po kroku TD (od góry do dołu) jest zwykle lepszy.

Popularne kształty węzłów

ten kod:

```mermaid
flowchart TD
    A[Prostokąt]
    B(Obramowany prostokąt)
    C{Decyzja}
    D((Kółko))
    E[(Baza danych)]
    F[[Podprocedura]]
```

Tworzy diagram:

flowchart TD A[Prostokąt] B(Obramowany prostokąt) C{Decyzja} D((Kółko)) E[(Baza danych)] F[[Podprocedura]]

Strzałki w schematach blokowych

ten kod:

```mermaid
flowchart LR
    A --> B
    B --- C
    C -.-> D
    D ==> E
    E -- Etykieta --> F
```

Tworzy diagram:

flowchart LR A --> B B --- C C -.-> D D ==> E E -- Etykieta --> F

Podgrafy

Używaj podgrafów do grupowania powiązanych części systemu.

ten kod:

```mermaid
flowchart LR
    subgraph Klient
        Przeglądarka
    end

    subgraph Backend
        API
        Worker
    end

    subgraph Przechowywanie
        DB[(PostgreSQL)]
        Cache[(Redis)]
    end

    Przeglądarka --> API
    API --> DB
    API --> Cache
    API --> Worker
```

Tworzy diagram:

flowchart LR subgraph Klient Przeglądarka end subgraph Backend API Worker end subgraph Przechowywanie DB[(PostgreSQL)] Cache[(Redis)] end Przeglądarka --> API API --> DB API --> Cache API --> Worker

Podgrafy są potężne, ale używaj ich ostrożnie. Diagram z sześcioma podgrafami i dwudziestoma strzałkami to zwykle sygnał, że artykuł potrzebuje dwóch mniejszych diagramów.

Składnia diagramów sekwencji

Diagramy sekwencji pokazują komunikację między aktorami lub usługami w czasie.

ten kod:

```mermaid
sequenceDiagram
    participant Użytkownik
    participant Aplikacja
    participant API
    participant DB

    Użytkownik->>Aplikacja: Kliknij logowanie
    Aplikacja->>API: POST /login
    API->>DB: Zweryfikuj dane uwierzytelniające
    DB-->>API: Rekord użytkownika
    API-->>Aplikacja: Token dostępu
    Aplikacja-->>Użytkownik: Pokaż panel
```

Tworzy diagram:

sequenceDiagram participant Użytkownik participant Aplikacja participant API participant DB Użytkownik->>Aplikacja: Kliknij logowanie Aplikacja->>API: POST /login API->>DB: Zweryfikuj dane uwierzytelniające DB-->>API: Rekord użytkownika API-->>Aplikacja: Token dostępu Aplikacja-->>Użytkownik: Pokaż panel

Popularne strzałki sekwencji

->      pełna linia bez strzałki
-->     linia przerywana bez strzałki
->>     pełna linia ze strzałką
-->>    linia przerywana ze strzałką
-x      pełna linia z krzyżykiem
--x     linia przerywana z krzyżykiem

Paski aktywacji

Paski aktywacji wyraźniej pokazują, kiedy uczestnik wykonuje pracę.

ten kod:

```mermaid
sequenceDiagram
    participant Klient
    participant Serwer

    Klient->>Serwer: Żądaj danych
    activate Serwer
    Serwer-->>Klient: Odpowiedź
    deactivate Serwer
```

Tworzy diagram:

sequenceDiagram participant Klient participant Serwer Klient->>Serwer: Żądaj danych activate Serwer Serwer-->>Klient: Odpowiedź deactivate Serwer

Alternatywy i warunki

ten kod:

```mermaid
sequenceDiagram
    participant Użytkownik
    participant API
    participant Płatność

    Użytkownik->>API: Prześlij zamówienie

    alt Płatność udana
        API->>Płatność: Obciąż kartę
        Płatność-->>API: Zatwierdzone
        API-->>Użytkownik: Zamówienie potwierdzone
    else Płatność nieudana
        Płatność-->>API: Odrzucone
        API-->>Użytkownik: Pokaż błąd
    end
```

Tworzy diagram:

sequenceDiagram participant Użytkownik participant API participant Płatność Użytkownik->>API: Prześlij zamówienie alt Płatność udana API->>Płatność: Obciąż kartę Płatność-->>API: Zatwierdzone API-->>Użytkownik: Zamówienie potwierdzone else Płatność nieudana Płatność-->>API: Odrzucone API-->>Użytkownik: Pokaż błąd end

Diagramy sekwencji są doskonałe dla artykułów o API. Pokazują nie tylko, jakie komponenty istnieją, ale też jak się ze sobą komunikują.

Składnia diagramów klas

Diagramy klas są przydatne dla modeli domenowych i relacji obiektowych.

ten kod:

```mermaid
classDiagram
    class User {
        +string id
        +string email
        +login()
        +logout()
    }

    class Order {
        +string id
        +float total
        +submit()
    }

    User "1" --> "*" Order
```

Tworzy diagram:

classDiagram class User { +string id +string email +login() +logout() } class Order { +string id +float total +submit() } User "1" --> "*" Order

Relacje klas

<|-- dziedziczenie
*-- kompozycja
o-- agregacja
--> asocjacja
-- link
..> zależność
..|> realizacja

Przykład:

ten kod:

```mermaid
classDiagram
    Zwierzę <|-- Pies
    Zwierzę <|-- Kot
    Użytkownik "1" --> "*" Zamówienie
    Zamówienie *-- PozycjaZamówienia
```

Tworzy diagram:

classDiagram Zwierzę <|-- Pies Zwierzę <|-- Kot Użytkownik "1" --> "*" Zamówienie Zamówienie *-- PozycjaZamówienia

Diagramy klas mogą szybko stać się chaotyczne. W poście blogowym wol preferuj mały fragment domeny niż pełny model aplikacji.

Składnia diagramów stanów

Diagramy stanów wyjaśniają, jak coś zmienia się w czasie.

ten kod:

```mermaid
stateDiagram-v2
    [*] --> Draft
    Draft --> Review: submit
    Review --> Published: approve
    Review --> Draft: request changes
    Published --> Archived: archive
    Archived --> [*]
```

Tworzy diagram:

stateDiagram-v2 [*] --> Draft Draft --> Review: submit Review --> Published: approve Review --> Draft: request changes Published --> Archived: archive Archived --> [*]

Używaj diagramów stanów do:

  • Cykli życia zamówień
  • Stanów wdrażania
  • Przepływów uwierzytelniania
  • Statusu zadań w tle
  • Przepływów publikacji treści

Diagramy stanów są niedoceniane. Często wyjaśniają logikę biznesową lepiej niż długi akapit.

Składnia diagramów relacji encji

Diagramy relacji encji są przydatne dla modeli baz danych.

ten kod:

```mermaid
erDiagram
    USER ||--o{ ORDER : places
    ORDER ||--|{ ORDER_ITEM : contains
    PRODUCT ||--o{ ORDER_ITEM : appears_in

    USER {
        string id
        string email
    }

    ORDER {
        string id
        datetime created_at
    }

    PRODUCT {
        string id
        string name
    }
```

Tworzy diagram:

erDiagram USER ||--o{ ORDER : places ORDER ||--|{ ORDER_ITEM : contains PRODUCT ||--o{ ORDER_ITEM : appears_in USER { string id string email } ORDER { string id datetime created_at } PRODUCT { string id string name }

Markery relacji ER

||  dokładnie jeden
o|  zero lub jeden
}|  jeden lub więcej
}o  zero lub więcej

Diagramy ER są najlepsze, gdy wyjaśniają relacje, a nie każdy kolumnę. Zachowaj szczegóły implementacyjne w migracjach lub dokumentacji schematu.

Składnia diagramów Gantta

Diagramy Gantta są przydatne do harmonogramów projektów.

ten kod:

```mermaid
gantt
    title Plan migracji dokumentacji
    dateFormat  YYYY-MM-DD

    section Planowanie
    Audyt aktualnej dokumentacji      :a1, 2026-06-01, 5d
    Zdefiniuj strukturę        :a2, after a1, 3d

    section Pisanie
    Przepisz przewodniki          :b1, after a2, 10d
    Przegląd i publikacja      :b2, after b1, 4d
```

Tworzy diagram:

gantt title Plan migracji dokumentacji dateFormat YYYY-MM-DD section Planowanie Audyt aktualnej dokumentacji :a1, 2026-06-01, 5d Zdefiniuj strukturę :a2, after a1, 3d section Pisanie Przepisz przewodniki :b1, after a2, 10d Przegląd i publikacja :b2, after b1, 4d

Diagramy Gantta są pomocne w wewnętrznych postach planistycznych, ale mogą szybko się starzeć. Używaj ich, gdy sam harmonogram jest punktem głównym.

Składnia osi czasu

Osie czasu są dobre do historii wydań, raportów incydentów i streszczeń projektów.

ten kod:

```mermaid
timeline
    title Evolucja API
    2024 : REST API uruchomione
    2025 : Dodano Webhooks
    2026 : Wprowadzono strumieniowanie zdarzeń
```

Tworzy diagram:

timeline title Evolucja API 2024 : REST API uruchomione 2025 : Dodano Webhooks 2026 : Wprowadzono strumieniowanie zdarzeń

Używaj osi czasu, gdy kolejność ma większe znaczenie niż zależności. Jeśli zależy Ci na sekwencji zdarzeń, a nie na tym, jak są one przyczynowo połączone, oś czasu utrzymuje fokus w odpowiednim miejscu i jest łatwa do szybkiego odczytania.

Składnia wykresów kołowych

Wykresy kołowe są obsługiwane, ale bądź ostrożny. Są łatwe do odczytania, gdy jest tylko kilka kategorii, a wartości są wyraźnie różne.

ten kod:

```mermaid
pie title Czas budowania według etapu
    "Instalacja zależności" : 35
    "Uruchomienie testów" : 45
    "Budowanie zasobów" : 20
```

Tworzy diagram:

pie title Czas budowania według etapu "Instalacja zależności" : 35 "Uruchomienie testów" : 45 "Budowanie zasobów" : 20

Rada od autora: jeśli wartości są zbliżone lub jest więcej niż pięć kategorii, użyj tabeli. Dobrze sformatowana tabela komunikuje dokładne liczby bardziej uczciwie niż wykres kołowy, gdzie wycinki wyglądają niemal identycznie.

Składnia grafów Git

Grafy Git mogą wyjaśniać strategie gałęzi i przepływy wydawnicze.

ten kod:

```mermaid
gitGraph
    commit
    branch feature
    checkout feature
    commit
    commit
    checkout main
    merge feature
    commit
```

Tworzy diagram:

gitGraph commit branch feature checkout feature commit commit checkout main merge feature commit

Jest to przydatne w artykułach o przepływach pracy Git, rozwoju opartym na gałęzi głównej, gałęziach wydawniczych i poprawkach awaryjnych. Jeśli potrzebujesz szybkiego odniesienia do poleceń dotyczących gałęzi, Ściągawka GIT obejmuje najczęstsze z nich wraz z przepływami pracy merge i rebase.

Ściągawka Mermaid

Typy diagramów

flowchart TD
sequenceDiagram
classDiagram
stateDiagram-v2
erDiagram
gantt
timeline
pie
gitGraph
mindmap
journey

Podstawy schematów blokowych

flowchart TD
A[Tekst] --> B[Tekst]
A -->|Etykieta| B
A -.-> B
A ==> B
A --- B

Kształty w schematach blokowych

A[Prostokąt]
A(Obramowany)
A{Decyzja}
A((Kółko))
A[(Baza danych)]
A[[Podprocedura]]
A>Flaga]

Podstawy diagramów sekwencji

sequenceDiagram
participant A
participant B
A->>B: Wiadomość
B-->>A: Odpowiedź
activate B
deactivate B

Bloki sekwencji

alt warunek
else inny warunek
end

opt opcjonalny krok
end

loop dla każdego elementu
end

par zadanie równoległe
and kolejne zadanie
end

Podstawy diagramów klas

classDiagram
class User
class Order
User --> Order
User "1" --> "*" Order

Podstawy diagramów stanów

stateDiagram-v2
[*] --> Idle
Idle --> Running
Running --> Done
Done --> [*]

Podstawy diagramów ER

erDiagram
USER ||--o{ ORDER : places
ORDER ||--|{ ORDER_ITEM : contains

Komentarze

Mermaid obsługuje komentarze z %%.

ten kod:

```mermaid
flowchart TD
    %% To jest komentarz
    A --> B
```

Tworzy diagram:

flowchart TD %% To jest komentarz A --> B

Używanie Mermaid w Hugo

Zawartość Hugo jest zwykle pisana w Markdownie, więc Mermaid naturalnie pasuje do technicznego bloga opartego na Hugo. Dokładna konfiguracja zależy od Twojego motywu i konfiguracji renderowania Markdown.

Wzór autorstwa jest nadal ten sam:

```mermaid
flowchart LR
    Markdown --> Hugo
    Hugo --> HTML
    HTML --> Przeglądarka
```

Jeśli Twój motyw Hugo już obsługuje Mermaid, może to się renderować bez dodatkowej pracy. Jeśli nie, zwykle potrzebujesz render hook, shortcode, partialu lub konfiguracji motywu, która ładuje Mermaid na stronach zawierających diagramy Mermaid.

Praktyczna konfiguracja Hugo powinna dążyć do tych zasad:

  • Trzymaj źródło Mermaid w zwykłych artykułach Markdown.
  • Ładuj Mermaid tylko na stronach, które go potrzebują.
  • Unikaj globalnego JavaScriptu, jeśli większość stron nie używa diagramów.
  • Testuj diagramy podczas podglądu lokalnego.
  • Zachowaj źródło diagramu czytelne w Git.

Dla technicznego bloga ogrodzone bloki kodu są zwykle lepsze niż niestandardowe shortcodes, ponieważ są bardziej przenośne. Jeśli później przeniesisz zawartość na GitHub, inny generator statycznych stron lub platformę dokumentacji, standardowe ogrodzone bloki Mermaid są łatwiejsze do ponownego wykorzystania.

Najlepsze praktyki Mermaid

Trzymaj diagramy małe

Diagram powinien wyjaśniać artykuł, a go nie zastępować. Jeśli czytelnicy muszą przybliżać obraz, diagram jest prawdopodobnie za duży.

Dobre diagramy zwykle mają:

  • Jedną ideę
  • Jasny kierunek
  • Krótkie etykiety
  • Mało przecinających się linii
  • Spójne nazewnictwo

Preferuj wiele małych diagramów

Zamiast jednego ogromnego diagramu systemu, użyj kilku skupionych diagramów:

  • Przepływ żądań
  • Topologia wdrażania
  • Model danych
  • Cykl życia stanu
  • Ścieżka awarii

Jest to lepsze dla czytelników i lepsze dla ekranów mobilnych.

Używaj stabilnych nazw

Używaj nazw pasujących do Twojego kodu, API lub dokumentacji. Nie nazywaj tego samego elementu API, Backend i Serwer w różnych diagramach, chyba że są to naprawdę różne koncepcje.

Oznaczaj ważne strzałki

Strzałki bez etykiet są w porządku dla prostych schematów blokowych. W diagramach systemowych etykiety często mają znaczenie.

ten kod:

```mermaid
flowchart LR
    Web -->|Żądanie HTTPS| API
    API -->|Zapytanie SQL| DB
    API -->|Publikuj zdarzenie| Kolejka
```

Tworzy diagram:

flowchart LR Web -->|Żądanie HTTPS| API API -->|Zapytanie SQL| DB API -->|Publikuj zdarzenie| Kolejka

Unikaj kunsztownej składni

Mermaid potrafi wiele rzeczy. Nie oznacza to, że każdy artykuł potrzebuje wszystkiego. Wol preferuj składnię, którą przyszły opiekun może zrozumieć szybko.

Cytuj etykiety, gdy to konieczne

Jeśli etykieta zawiera znaki, które mylą Mermaid, otocz ją cudzysłowem.

ten kod:

```mermaid
flowchart TD
    A["Użytkownik klika /checkout"] --> B["POST /api/orders"]
```

Tworzy diagram:

flowchart TD A["Użytkownik klika /checkout"] --> B["POST /api/orders"]

To mała nawyka, która zapobiega irytującym błędom renderowania.

Zastanów się nad trybem ciemnym

Wiele stron Hugo obsługuje tryb ciemny. Upewnij się, że motyw Mermaid lub CSS strony utrzymuje diagramy czytelne zarówno w wyglądzie jasnym, jak i ciemnym.

Częste błędy Mermaid

Błąd 1: Za dużo szczegółów

Złe diagramy Mermaid często próbują pokazać każdy przypadek krańcowy. Sprawia to, że są one technicznie kompletne, ale praktycznie nieczytelne. Rozwiązanie jest prawie zawsze takie samo: podziel diagram na dwa lub trzy mniejsze, z których każdy pokrywa jedną kwestię, aby czytelnicy mogli śledzić logikę bez konieczności śledzenia tuzina przecinających się strzałek.

Błąd 2: Długie etykiety

Długie etykiety tworzą szerokie pola i brzyde układy.

Zamiast tego kodu:

```mermaid
flowchart TD
    A[Użytkownik przesyła formularz rejestracyjny ze swoim adresem e-mail i hasłem]
```

Tworzy diagram:

flowchart TD A[Użytkownik przesyła formularz rejestracyjny ze swoim adresem e-mail i hasłem]

Wol preferuj ten kod:

```mermaid
flowchart TD
    A[Prześlij formularz rejestracyjny]
```

Tworzy diagram:

flowchart TD A[Prześlij formularz rejestracyjny]

Wyjaśnij szczegóły w akapicie poniżej diagramu.

Błąd 3: Niejasny kierunek

Wybierz kierunek i trzymaj się go. Większość diagramów procesowych powinna używać TD. Większość diagramów architektonicznych jest łatwiejsza z LR.

Błąd 4: Traktowanie Mermaid jako narzędzia projektowego

Mermaid to nie Figma. Nie jest przeznaczony do diagramów idealnie dokładnych pikselowo, a próba wymuszenia tej roli zakończy się tylko frustracją. Jego siłą jest łatwość utrzymania, a nie wizualna doskonałość — i ten kompromis jest intencjonalny.

Wskazówki SEO dla Mermaid w technicznych blogach

Diagramy Mermaid mogą czynić techniczne artykuły bardziej użytecznymi, ale wyszukiwarki nadal potrzebują tekstu. Nie polegaj tylko na diagramach.

Dla przyjaznych dla SEO artykułów z Mermaid:

  • Używaj opisowych nagłówków H2 i H3.
  • Wyjaśniaj każdy diagram w pobliskim tekście.
  • Dołączaj ważne słowa kluczowe w zwykłej prozie.
  • Zachowaj przykłady kodu gotowe do skopiowania.
  • Dodaj wyjaśnienie typu alt pod skomplikowanymi diagramami.
  • Używaj zwięzłego tytułu i opisu w front matter.
  • Unikaj ukrywania całego znaczenia wewnątrz wyrenderowanego SVG.

Diagram Mermaid powinien wspierać artykuł. Nie powinien być jedynym miejscem, gdzie istnieje ważna informacja.

Przykłady Mermaid do skopiowania

Przepływ żądań API

ten kod:

```mermaid
sequenceDiagram
    participant Klient
    participant API
    participant Auth
    participant DB

    Klient->>API: GET /account
    API->>Auth: Zweryfikuj token
    Auth-->>API: Token ważny
    API->>DB: Załaduj konto
    DB-->>API: Dane konta
    API-->>Klient: 200 OK
```

Tworzy diagram:

sequenceDiagram participant Klient participant API participant Auth participant DB Klient->>API: GET /account API->>Auth: Zweryfikuj token Auth-->>API: Token ważny API->>DB: Załaduj konto DB-->>API: Dane konta API-->>Klient: 200 OK

Potok CI

ten kod:

```mermaid
flowchart TD
    A[Push commit] --> B[Instaluj zależności]
    B --> C[Uruchom lint]
    C --> D[Uruchom testy]
    D --> E[Buduj stronę]
    E --> F[Wdrożenie]
```

Tworzy diagram:

flowchart TD A[Push commit] --> B[Instaluj zależności] B --> C[Uruchom lint] C --> D[Uruchom testy] D --> E[Buduj stronę] E --> F[Wdrożenie]

Ten wzór naturalnie mapuje się na rzeczywistą konfigurację CI. Aby poznać składnię krok po kroku przepływów pracy GitHub Actions, Ściągawka GitHub Actions jest przydatnym towarzyszem, gdy chcesz przekształcić powyższy diagram w działający potok.

Przepływ publikacji

ten kod:

```mermaid
stateDiagram-v2
    [*] --> Draft
    Draft --> Editing
    Editing --> Review
    Review --> Published
    Review --> Editing
    Published --> [*]
```

Tworzy diagram:

stateDiagram-v2 [*] --> Draft Draft --> Editing Editing --> Review Review --> Published Review --> Editing Published --> [*]

Prosty model danych

ten kod:

```mermaid
erDiagram
    AUTOR ||--o{ POST : writes
    POST ||--o{ KOMENTARZ : receives

    AUTOR {
        string id
        string name
    }

    POST {
        string id
        string title
        datetime published_at
    }

    KOMENTARZ {
        string id
        string body
    }
```

Tworzy diagram:

erDiagram AUTOR ||--o{ POST : writes POST ||--o{ KOMENTARZ : receives AUTOR { string id string name } POST { string id string title datetime published_at } KOMENTARZ { string id string body }

Kiedy nie używać Mermaid

Nie używaj Mermaid, gdy:

  • Diagram wymaga precyzyjnego układu wizualnego.
  • Design musi idealnie pasować do systemu marki.
  • Grafika jest głównie dekoracyjna.
  • Diagram ma za dużo węzłów, aby można go było czytać.
  • Zrzut ekranu wyjaśniłby pointę lepiej.
  • Zawartość rzadko się zmienia i potrzebuje więcej dopracowania niż łatwości utrzymania.

Mermaid jest doskonały do żywej dokumentacji technicznej. Jest mniej dobry do dzieł sztuki prezentacyjnej. Dla diagramów jakości dokumentu w kontekstach druku lub PDF, LaTeX oferuje pakiety takie jak TikZ i pgfplots, które dają Ci znacznie większą kontrolę nad układem — Ściągawka LaTeX obejmuje wstawianie diagramów wraz z resztą zestawu narzędzi LaTeX.

Podsumowanie

Mermaid to jedno z najlepszych narzędzi do technicznego blogowania, ponieważ szanuje sposób, w jaki programiści już pracują: pliki tekstowe, Markdown, Git, code review i powtarzalne budowania. Dla wszystkiego wokół diagramów — nagłówki, listy, tabele, bloki kodu — Ściągawka Markdown jest towarzyszącym przewodnikiem szybkiego odniesienia do trzymania obok tego przewodnika.

Najlepsze diagramy Mermaid nie są najbardziej skomplikowanymi. Są to diagramy, które czynią koncepcję oczywistą i pozostają łatwe do edycji sześć miesięcy później.

Używaj Mermaid do diagramów, które powinny żyć wraz z Twoją dokumentacją. Trzymaj je małe, trzymaj je czytelne i traktuj je jako część kodu źródłowego Twojego artykułu.

Subskrybuj

Otrzymuj nowe wpisy o systemach, infrastrukturze i inżynierii AI.