Mermaid

概要

Mermaidはテキストで作図するためのライブラリ。JavaScriptで実装されている。

Emacsorg-modeで実行できるようにしていて、これがめちゃ便利。Dockerで設定してるいるので、依存もない。

Memo

flowchart LR

A[Hard] -->|Text| B(Round)
B --> C{Decision}
C -->|One| D[Result 1]
C -->|Two| E[Result 2]

20230206221415-le58S6Wo0w.png

flowchart RL

  A[Hard] -->|Text| B(Round)
  B --> C{Decision}
  C -->|One| D[Result 1]
  C -->|Two| E[Result 2]

20230206221359-bzQPfJvXEu.png

sequenceDiagram
    Alice->>John: Hello John, how are you?
    John-->>Alice: Great!
    Alice-)John: See you later!

20230206221435-Xgfe0VbEjM.png

flowchart TB
  subgraph GHA
  a1(ビルド)
  end
  subgraph GHP
  p1(HTML)
  end
  subgraph GHCR
  cr1(image)
  end
  GHCR -- Image Pull --> GHP
  GHA -- Image Push --> GHCR

20230206221451-IwXDFrgfiw.png

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->>お客様: 受付完了連絡

20230206221505-u5MbB9yw6U.png

sequenceDiagram
autonumber
Client->>+Server: GET /issues
Server--)Server2: 非同期リクエスト
Server-->>-Client: response
loop
  Server2-->Server2: なにかしら
  Note right of Server2: 処理が完了しなくても<br/>10秒で強制終了する
end

20230206221517-zRUUkeqGql.png

erDiagram
users{
  int id
  string hello
}

articles{
  int id
  string content
}

users ||--o{ articles: ""

20230206221532-93SxrlWvaH.png

クラス図ではなぜか日本語が使えるので、ER図を書くときもこっちのほうがよい。

classDiagram
  class Customer{
      id int
  }

  Customer "1" --> "*" Ticket
  日本語が "1" --> "*" 使える

20230206220952-Wn8bXbkbzF.png

同じコードで別の形式にエクスポートする例。

<<japanese>>

Sorry, your browser does not support SVG.

Tasks

TODO mermaid-modeのdockerコマンドを直す

READMEにはdocker対応と書かれているのだが、関数がdockerへ対応したシェルコマンドになっていないので、PRを出せるとよさそう。ただnpmを使うのと両立させるいい方法が思いつかない。

Reference

Archives