Kompletny przewodnik po diagramach Mermaid

Naucz się tworzyć profesjonalne diagramy przy użyciu prostej składni tekstowej

Reklama

Czym jest Mermaid?

Mermaid to narzędzie do tworzenia diagramów i wykresów oparte na JavaScript, które wykorzystuje tekstowe definicje inspirowane Markdownem do dynamicznego tworzenia i modyfikowania diagramów. To projekt open source pozwalający generować diagramy z prostych opisów tekstowych.

Zamiast korzystać ze złożonych narzędzi do rysowania, zapisujesz składnię przypominającą kod, która opisuje diagram, a Mermaid renderuje go jako diagram wizualny. To podejście sprawia, że diagramy można wersjonować, łatwo aktualizować i idealnie nadają się do dokumentacji.

Mermaid bezproblemowo integruje się z platformami dokumentacji, wiki oraz plikami Markdown, dlatego jest ulubionym narzędziem wśród programistów i autorów technicznych.

Dlaczego warto używać Mermaid?

  • Kontrola wersji: diagramy to pliki tekstowe, więc można je śledzić w Git razem z kodem
  • Szybkie aktualizacje: zmień kilka linii tekstu zamiast przerysowywać całe diagramy
  • Spójność: Mermaid automatycznie zajmuje się układem i stylem, zapewniając spójne diagramy
  • Brak narzędzi graficznych: nie potrzebujesz Visio, Lucidchart ani innych drogich narzędzi
  • Dokumentacja jako kod: trzymaj diagramy w tym samym repozytorium co dokumentację
  • Wieloplatformowość: działa w przeglądarkach i Node.js oraz integruje się z wieloma platformami
  • Darmowe i open source: brak kosztów licencji, aktywna społeczność
  • Wiele typów diagramów: obsługuje schematy blokowe, diagramy sekwencji, klas i inne
Reklama

Obsługiwane typy diagramów

Mermaid obsługuje szeroką gamę typów diagramów, aby sprostać różnym potrzebom dokumentacji:

Schemat blokowy

Wizualizuj przepływy pracy, procesy i drzewa decyzyjne za pomocą węzłów i krawędzi.

flowchart TD
    A[Start] --> B{Decision}
    B -->|Yes| C[Process]
    B -->|No| D[Alternative]
    C --> E[End]
    D --> E

Zastosowanie: Przepływy procesów, algorytmy, logika decyzyjna

Diagram sekwencji

Pokazuje interakcje między różnymi aktorami lub systemami w czasie.

sequenceDiagram
    participant User
    participant API
    participant DB
    User->>API: Request data
    API->>DB: Query
    DB-->>API: Results
    API-->>User: Response

Zastosowanie: Interakcje API, komunikacja systemów, przepływy użytkowników

Diagram klas

Modeluje systemy zorientowane obiektowo z klasami, atrybutami i relacjami.

classDiagram
    class Animal {
        +String name
        +int age
        +makeSound()
    }
    class Dog {
        +bark()
    }
    Animal <|-- Dog

Zastosowanie: Architektura oprogramowania, projekt OOP, schematy baz danych

Diagram stanów

Przedstawia stany i przejścia w systemie lub procesie.

stateDiagram-v2
    [*] --> Idle
    Idle --> Loading: Start
    Loading --> Success: Complete
    Loading --> Error: Fail
    Success --> [*]
    Error --> Idle: Retry

Zastosowanie: Maszyny stanów, zarządzanie cyklem życia, stany UI

Diagram ER

Modeluje struktury baz danych i relacje między encjami.

erDiagram
    CUSTOMER ||--o{ ORDER : places
    ORDER ||--|{ LINE_ITEM : contains
    CUSTOMER {
        int id
        string name
        string email
    }

Zastosowanie: Projektowanie baz danych, modelowanie danych, architektura systemu

Wykres Gantta

Planuj i wizualizuj harmonogramy projektów oraz osie czasu.

gantt
    title Project Timeline
    dateFormat YYYY-MM-DD
    section Phase 1
    Design :a1, 2024-01-01, 30d
    Development :a2, after a1, 45d

Zastosowanie: Planowanie projektów, harmonogramy sprintów, roadmapy

Wykres kołowy

Pokazuje proporcjonalne dane i wartości procentowe w formie wizualnej.

pie title Distribution
    "Category A" : 42
    "Category B" : 30
    "Category C" : 28

Zastosowanie: Wyniki ankiet, udział w rynku, alokacja zasobów

Graf Git

Wizualizuj strategie rozgałęzień Git i historię commitów.

gitGraph
    commit
    branch develop
    checkout develop
    commit
    checkout main
    merge develop

Zastosowanie: Dokumentacja workflow Git, strategie rozgałęzień

Reklama

Pierwsze kroki z Mermaid

1

Wybierz typ diagramu

Zacznij od decyzji, który typ diagramu najlepiej przedstawia to, co chcesz pokazać. Każdy typ zaczyna się od konkretnego słowa kluczowego, takiego jak 'flowchart', 'sequenceDiagram' czy 'classDiagram'.

2

Zapisz składnię tekstową

Użyj prostej składni Mermaid, aby opisać swój diagram. Składnia jest intuicyjna i czyta się niemal jak język naturalny. Na przykład 'A --> B' tworzy strzałkę z A do B.

3

Podgląd diagramu

Użyj naszego podglądu online lub dowolnego narzędzia zgodnego z Mermaid, aby zobaczyć diagram renderowany w czasie rzeczywistym. Wprowadzaj poprawki, aż będziesz zadowolony.

4

Eksportuj i udostępniaj

Eksportuj diagram jako SVG lub PNG do prezentacji albo udostępnij URL zespołowi. Możesz też osadzić Mermaid bezpośrednio w plikach Markdown.

Dobre praktyki

  • Skupiaj diagramy na jednym koncepcie lub przepływie pracy
  • Używaj znaczących etykiet opisujących rzeczywistą logikę biznesową
  • Dziel złożone diagramy na mniejsze, połączone ze sobą diagramy
  • Dodawaj komentarze z użyciem %%, aby wyjaśniać złożone sekcje
  • Stosuj spójne konwencje nazewnictwa w diagramach
  • Testuj diagramy w środowisku docelowym przed ich finalizacją
  • Dodawaj wskazówki kierunku (TD, LR), aby kontrolować układ, gdy to potrzebne
  • Używaj subgraphów do grupowania powiązanych węzłów w schematach blokowych
  • Używaj opcji stylu oszczędnie, aby zachować czytelność
  • Wersjonuj pliki źródłowe diagramów razem z kodem

Typowe zastosowania

Dokumentacja oprogramowania

Dokumentuj architekturę systemu, przepływy API i interakcje komponentów wraz z kodem.

Planowanie projektów

Twórz wykresy Gantta do planowania sprintów, harmonogramów projektów i alokacji zasobów.

Propozycje techniczne

Wizualizuj proponowane rozwiązania, projekty systemów i decyzje architektoniczne.

Ścieżki użytkownika

Mapuj przepływy użytkowników, doświadczenia klientów i wzorce interakcji.

Projektowanie baz danych

Modeluj relacje encji, struktury schematów i zależności danych.

Dokumentacja procesów

Dokumentuj procesy biznesowe, workflow i standardowe procedury operacyjne.

Materiały edukacyjne

Twórz czytelne, wersjonowane diagramy do tutoriali i kursów technicznych.

Dokumentacja API

Ilustruj przepływy żądanie/odpowiedź, sekwencje uwierzytelniania i interakcje endpointów.

Dodatkowe zasoby

Najczęściej zadawane pytania

Najczęstsze pytania dotyczące korzystania z Mermaid Viewer i tworzenia diagramów

Czy ten edytor Mermaid jest naprawdę darmowy?
Tak, całkowicie za darmo. Możesz tworzyć nieograniczoną liczbę diagramów, eksportować do SVG/PNG, udostępniać przez URL i korzystać ze wszystkich funkcji bez rejestracji i opłat. Narzędzie utrzymuje się z nienachalnych reklam.
Czy muszę coś instalować?
Nie musisz nic instalować. To narzędzie webowe działające w całości w przeglądarce. Wejdź na stronę i od razu twórz diagramy na komputerze, tablecie i telefonie.
Jak zapisywać diagramy?
Pracę możesz zapisać na kilka sposobów: 1) eksport do SVG lub PNG, 2) udostępnienie przez URL (kod jest zakodowany w adresie), 3) skopiowanie kodu Mermaid do własnych plików, 4) import/eksport plików .mmd lub .mermaid.
Czy mogę używać diagramów w dokumentacji?
Tak. Eksportuj diagramy jako SVG (skalowalne) lub PNG i używaj ich w dokumentacji, prezentacjach i na stronach WWW. Kod Mermaid możesz też osadzać bezpośrednio na platformach takich jak GitHub, GitLab czy Notion.
Jaka jest różnica między SVG a PNG?
SVG jest formatem wektorowym, więc zachowuje jakość w każdym rozmiarze i świetnie nadaje się do dokumentacji oraz webu. PNG jest rastrowy, wygodny do szybkiego udostępniania, ale traci jakość po skalowaniu.
Dlaczego diagram się nie renderuje?
Sprawdź błędy składni w kodzie Mermaid. Typowe problemy to niezamknięte cudzysłowy, brakujące dwukropki/średniki, błędne identyfikatory węzłów lub nieobsługiwana składnia. Uprość diagram, aby znaleźć źródło błędu.
Czy mogę współpracować z innymi?
Współpraca w czasie rzeczywistym nie jest wbudowana, ale możesz łatwo udostępniać diagramy przez URL. Inni mogą otworzyć, edytować i odesłać swoją wersję. Tekstowy format Mermaid dobrze współpracuje też z Git.
Czy to działa offline?
Pierwsze wczytanie wymaga internetu. Po załadowaniu podstawowa edycja często działa offline. Niektóre funkcje, np. eksport, mogą jednak wymagać połączenia.
Jak nauczyć się składni Mermaid?
Zacznij od naszego pełnego przewodnika Mermaid z przykładami wszystkich typów diagramów. Skorzystaj z panelu szablonów, a następnie uzupełnij wiedzę oficjalną dokumentacją na mermaid.js.org.
Czy mogę dostosować wygląd?
Tak. Diagramy podążają za motywem strony: przełączaj między jasnym a ciemnym przyciskiem Motyw na górnym pasku, a diagram zostanie ponownie wyrenderowany w pasującym motywie Mermaid. Bardziej zaawansowane dostosowanie wykonasz przez dyrektywę %%{init:...}%%, definiując kolory, czcionki i inne właściwości wizualne.
Jakie typy diagramów są wspierane?
Edytor obsługuje główne typy diagramów Mermaid: flowchart, sequence, class, state, ER, Gantt, pie chart, Git graph, user journey i inne.
Czy moje dane są prywatne?
Kod diagramu nie jest wysyłany na nasze serwery. Renderowanie odbywa się po stronie przeglądarki. Przy udostępnianiu przez URL kod znajduje się w samym adresie; nie przechowujemy ani nie śledzimy treści diagramów.
Dlaczego warto używać diagramów tekstowych?
Diagramy tekstowe dają wiele korzyści: kontrolę wersji (idealne z Git), szybkie aktualizacje, spójny styl, możliwość wyszukiwania, lekkość i automatyczne generowanie. Łatwiej je też recenzować w pull requestach.
Czy mogę osadzić Mermaid na stronie?
Tak. Dodaj bibliotekę JavaScript Mermaid do swojej strony i umieść bloki kodu Mermaid. Wiele platform ma już natywne wsparcie, m.in. GitHub, GitLab, Notion i Obsidian.
Jaki jest zalecany maksymalny rozmiar diagramu?
Nie ma twardego limitu, ale bardzo duże diagramy (powyżej ~100 węzłów) mogą renderować się wolniej zależnie od urządzenia. W złożonych systemach lepiej dzielić je na mniejsze, bardziej skupione diagramy.

Gotowy na stworzenie pierwszego diagramu?

Wypróbuj naszą darmową internetową przeglądarkę Mermaid i zacznij tworzyć profesjonalne diagramy w kilka minut.

Otwórz Mermaid Viewer