Mermaid
概要
Mermaidはテキストで作図するためのライブラリ。JavaScriptで実装されている。
Emacsのorg-modeで実行できるようにしていて、これがめちゃ便利。Dockerで設定してるいるので、依存もない。
Memo
例
flowchart LR A[Hard] -->|Text| B(Round) B --> C{Decision} C -->|One| D[Result 1] C -->|Two| E[Result 2]
flowchart RL A[Hard] -->|Text| B(Round) B --> C{Decision} C -->|One| D[Result 1] C -->|Two| E[Result 2]
sequenceDiagram Alice->>John: Hello John, how are you? John-->>Alice: Great! Alice-)John: See you later!
flowchart TB subgraph GHA a1(ビルド) end subgraph GHP p1(HTML) end subgraph GHCR cr1(image) end GHCR -- Image Pull --> GHP GHA -- Image Push --> GHCR
sequenceDiagram autonumber actor お客様 participant form as 申し込みフォーム participant s3 as 申込書補保管S3 participant admin as 管理システム お客様->>form: サービス申し込み Note left of form: 申込書 form->>s3: 申込書保存 Note left of s3: 申込書 form->>お客様: 受付処理中連絡 s3->>s3: FSSによる申込書マルウェアチェック s3->>admin: 申込書マルウェアチェック完了通知 admin->>s3: 申込書取得リクエスト s3->>admin: 申込書取得レスポンス Note left of admin: 申込書 admin->>admin: 申込書バリデーションチェック admin->>admin: 申込情報登録 admin->>お客様: 受付完了連絡
sequenceDiagram autonumber Client->>+Server: GET /issues Server--)Server2: 非同期リクエスト Server-->>-Client: response loop Server2-->Server2: なにかしら Note right of Server2: 処理が完了しなくても<br/>10秒で強制終了する end
erDiagram users{ int id string hello } articles{ int id string content } users ||--o{ articles: ""
クラス図ではなぜか日本語が使えるので、ER図を書くときもこっちのほうがよい。
classDiagram class Customer{ id int } Customer "1" --> "*" Ticket 日本語が "1" --> "*" 使える
同じコードで別の形式にエクスポートする例。
<<japanese>>
Tasks
TODO mermaid-modeのdockerコマンドを直す
READMEにはdocker対応と書かれているのだが、関数がdockerへ対応したシェルコマンドになっていないので、PRを出せるとよさそう。ただnpmを使うのと両立させるいい方法が思いつかない。