Diagrammes Mermaid
Créez des diagrammes directement dans votre documentation en utilisant les blocs de code mermaid. Les diagrammes sont rendus côté client avec Mermaid et s’adaptent automatiquement aux modes clair et sombre.
Utilisation de base
```mermaid
graph LR
A[Start] --> B{Decision}
B -->|Yes| C[Action]
B -->|No| D[End]
```
Rendu :
graph LR
A[Start] --> B{Decision}
B -->|Yes| C[Action]
B -->|No| D[End]Exemples
Diagramme de séquence
```mermaid
sequenceDiagram
participant Client
participant Server
participant Database
Client->>Server: HTTP Request
Server->>Database: Query
Database-->>Server: Result
Server-->>Client: JSON Response
```
sequenceDiagram participant Client participant Server participant Database Client->>Server: HTTP Request Server->>Database: Query Database-->>Server: Result Server-->>Client: JSON Response
Diagramme de classes
```mermaid
classDiagram
class Animal {
+String name
+int age
+makeSound()
}
class Dog {
+fetch()
}
class Cat {
+purr()
}
Animal <|-- Dog
Animal <|-- Cat
```
classDiagram
class Animal {
+String name
+int age
+makeSound()
}
class Dog {
+fetch()
}
class Cat {
+purr()
}
Animal <|-- Dog
Animal <|-- CatGraphe Git
```mermaid
gitGraph
commit
commit
branch feature
checkout feature
commit
commit
checkout main
merge feature
commit
```
gitGraph commit commit branch feature checkout feature commit commit checkout main merge feature commit
Mode sombre
Les diagrammes Mermaid basculent automatiquement entre les thèmes default et dark en fonction du mode de couleur actuel. Aucune configuration supplémentaire n’est nécessaire.
Fonctionnement
Le plugin remark remarkCodeBlocks intercepte les blocs de code avec mermaid comme langage avant que Shiki ne les traite. La définition du diagramme est transmise à un composant React MermaidBlock hydraté avec client:load. Au montage, il importe dynamiquement la bibliothèque Mermaid, effectue le rendu du diagramme en SVG et l’affiche. Un élément <pre> est affiché comme placeholder avant l’hydratation.
Mermaid prend en charge de nombreux types de diagrammes, notamment les organigrammes, les diagrammes de séquence, les diagrammes de classes, les diagrammes d’état, les diagrammes ER, les diagrammes de Gantt, et bien d’autres. Consultez la documentation Mermaid pour une référence complète.