Cloudwiki/위키 문법 가이드/mermaid
` ```mermaid ` 코드펜스를 사용하면 **텍스트로 다이어그램**(플로우차트·시퀀스·간트·ER 등)을 작성할 수 있습니다. 외부 이미지 편집기 없이 본문 안에서 다이어그램을 작성·수정할 수 있어, 변경 이력(diff)과 검색이 그대로 적용됩니다.
상위 문서: [[Cloudwiki/위키 문법 가이드]]
---
## 기본 사용법
코드 블록의 언어로 `mermaid` 를 지정하면, 코드가 아닌 다이어그램으로 렌더링됩니다.
```mermaid
flowchart TD
A[시작] --> B
B -->|예| C[처리]
B -->|아니오| D[종료]
C --> D
```
위 다이어그램은 아래와 같이 작성합니다.
~~~
```mermaid
flowchart TD
A[시작] --> B
B -->|예| C[처리]
B -->|아니오| D[종료]
C --> D
```
~~~
> {mdi:information-outline} 코드펜스 내부의 내용은 위키 문법으로 해석되지 않으므로, Mermaid 문법의 `{}`·`|...|`·`==>` 같은 기호가 위키 확장 문법과 충돌하지 않습니다.
---
## 지원하는 다이어그램
Mermaid 가 지원하는 주요 다이어그램 종류입니다. 코드 첫 줄의 키워드로 종류를 지정합니다.
| 분류 | 키워드 |
| --- | --- |
| 흐름 / 관계 | `flowchart` · `sequenceDiagram` · `classDiagram` · `stateDiagram` · `erDiagram` |
| 일정 / 계획 | `gantt` · `timeline` · `journey` |
| 데이터 | `pie` · `quadrantChart` |
| 기타 | `gitGraph` · `mindmap` |
### 시퀀스 다이어그램
```mermaid
sequenceDiagram
participant U as 사용자
participant W as 위키
U->>W: 문서 요청
W-->>U: 렌더링된 문서
```
~~~
```mermaid
sequenceDiagram
participant U as 사용자
participant W as 위키
U->>W: 문서 요청
W-->>U: 렌더링된 문서
```
~~~
### 간트 차트
```mermaid
gantt
title 릴리즈 일정
dateFormat YYYY-MM-DD
section 개발
백엔드 구현 :a1, 2026-01-01, 7d
프론트엔드 구현 :after a1, 5d
```
~~~
```mermaid
gantt
title 릴리즈 일정
dateFormat YYYY-MM-DD
section 개발
백엔드 구현 :a1, 2026-01-01, 7d
프론트엔드 구현 :after a1, 5d
```
~~~
### 파이 차트
```mermaid
pie title 사용 언어 비율
"TypeScript" : 60
"CSS" : 25
"기타" : 15
```
~~~
```mermaid
pie title 사용 언어 비율
"TypeScript" : 60
"CSS" : 25
"기타" : 15
```
~~~
### ER 다이어그램
```mermaid
erDiagram
USER ||--o{ PAGE : writes
PAGE ||--o{ REVISION : has
```
~~~
```mermaid
erDiagram
USER ||--o{ PAGE : writes
PAGE ||--o{ REVISION : has
```
~~~
---
## 동작 특징
- **테마 자동 대응**: 라이트 / 다크 모드에 맞춰 다이어그램 색이 자동으로 전환됩니다. 테마를 바꾸면 즉시 다시 그려집니다.
- **지연 로드**: 다이어그램이 포함된 문서에서만 렌더링 라이브러리를 불러옵니다. 다이어그램이 없는 문서에는 추가 비용이 없습니다.
- **오류 표시**: 다이어그램 문법에 오류가 있어도 문서 전체가 깨지지 않고, 해당 위치에 오류 메시지 박스만 표시됩니다.
---
## 참고
더 많은 다이어그램 종류와 상세 문법은 [Mermaid 공식 문서](https://mermaid.js.org)를 참고하세요.