Mermaid入門

## はじめに
"Mermaid"ご存知でしょうか？
私は今年、上司に資料の添削頼んで、返ってきた資料に突然見知らぬ表現が書かれているのに遭遇して初めて知りました。
以下簡単に使い方や何が便利なのかについて書いていけたらと思います。

## Mermaidとは
### Mermaidって何
ホームページ

https://mermaid.js.org/

github

https://github.com/mermaid-js/mermaid

MermaidはJavascriptベースの図表作成ツールです。
図表はMakrdownライクな"Mermaid記法"を使ってテキストを書くことで作成することができます。
公式にチュートリアルやサンプルも豊富で、慣れさえすれば図形を直接並べていく作図ツールよりも速く綺麗な図を作れるようになるのではないかと思います。
Qiitaでもそのまま使えてとても便利です！

https://qiita.com/Qiita/items/c07f3262d8f3b25f06c9

### 何が便利なのか
便利だと感じるのは以下3点です。

#### 1. 見た目の細かい調整をせずに見やすい図を書くことができる
図形を並べて描いていく作図ツールでフローチャートなどかいていると、1つのパーツ動かしたとき他も全部動かさないといけなくなったり、矢印が思った感じで繋がってくれなくて調整に時間取られたりすることがあるのですが、Mermaidで書くとそれが一切必要ないというのが本当に気楽です。

#### 2. 図の再利用性が高い
同じような図を書く時に、以前書いたものをコピペしてきてすぐかけるので楽ちんです。
他の人が書いた図でも、jpegやpngになっているとそこから再編集は厳しいですが、Mermaid記法になっていれば再編集することができます。

#### 3. 差分を残すことができる
テキストベースなのでgitなどで差分を残しておくことができます。
やっぱ昨日のバージョンが良かったよ〜などという要求にも即座に対応することができます。

## Mermaid Live Editor　を使って書いてみる
### Mermaid Live Editor とは

https://mermaid.live/edit#pako:eNpVjstqw0AMRX9FaNVC_ANeFBq7zSbQQrPzeCFsOTOk80CWCcH2v3dcb1qthM654s7YxZ6xxOE73jtLonCpTYA8r01lxY3qaWyhKF6WEyv4GPixwPHpFGG0MSUXrs-7f9wkqObzpjGodeG27qj6zX8EXqBuzpQ0pvYvudzjAm-N-7T5_X9ihXPqvRmoHKjoSKAiafGAnsWT63P1eQsYVMueDZZ57UluBk1Ys0eTxq9H6LBUmfiAU-pJuXZ0FfL7cf0BtrdUXg

WEB上でMermaid記法で図を簡単に書けちゃうエディタです。
なんの設定もせずに書けますし、　図のテンプレートも入っているので入門にもってこいです。

### 使い方

![スクリーンショット 2023-12-10 21.35.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/594517/b7cadefc-e4d1-02fe-5230-6a46e56c0069.png)

上画像がMermaid Live Editorを開いた時に表示されるであろう画面です。
基本はページ左側にコードを入力し、右側の図が表示されている部分でリアルタイムプレビューしてくれる、というものなのですが、それ以外に書く時に使うであろう機能をいくつか紹介していきたいと思います。

#### 見た目の変更 "THEME"
![スクリーンショット 2023-12-10 21.35.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/594517/b3b057b1-c8ce-9eec-5806-e5f4b82ccc97.png)

エディタの見た目は書きやすさとやる気に直結すると思っているのですが、ありがたいことにMermaid Live Editorはテーマを選んでエディタの見た目を変更することができます。
ページ上部(画像赤枠の部分)の"THEME"プルダウンからテーマを選択変更可能です。
上の写真は開いた時デフォルトで設定されていたテーマ"DARK"なのですが、見た目が結構毒々しいですよね。

EMERALDや

![スクリーンショット 2023-12-10 14.59.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/594517/e9586c40-400b-5ab9-da4f-79d2fc8b3ece.png)

WIREFRAMEなんかが

![スクリーンショット 2023-12-10 14.58.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/594517/4aa4fd62-ce11-887a-d0da-54e1cf7c0b4d.png)

見やすくて良いのではないかと思います。

私はBUMBLEBEEが好きです。

![スクリーンショット 2023-12-10 15.13.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/594517/95c841de-8359-95e0-3f27-24680f316792.png)

#### Mermaid記法のサンプルを表示する "Sample Diagrams"

![スクリーンショット 2023-12-10 15.17.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/594517/b9216542-a741-a1a9-b594-4e972fa3fce5.png)

0から何か書くのはしんどいと思うのですが、そんな時に安心なコードサンプルを表示してくれる機能があります。
コード入力部分の下にある"Sample Diagrams"メニューを開いてみると、表示できるサンプル一覧が表示されます。

#### 図の書き出し、保存 "Actions"

![スクリーンショット 2023-12-10 21.58.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/594517/06de37fe-1f7d-a705-7d86-b4345a6bb8e5.png)

エディタで図を書いてみたら、図として保存したくなる時もあると思うのですが、"Actions" メニューから書き出し方法をいくつか選択できます。

+ メニュー１段め、"COPY IMAGE TO CLIPBOAD"ボタン
    これではクリップボードに図がコピーされている状態になるので、そのままパワポなどに貼り付けることができます。
    
    <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/594517/9dc06f5e-f910-9a1e-cc98-a025e9790bb0.png" width="350">


+ メニュー2段め、左から2つの"PNG","SVG"ボタン
    アイコンの通りなのですが、書いた画像をPNG,SVGでダウンロードできます。
    画像はブラウザなどに特に何かの設定をしていなければダウンロードフォルダに保存されます。


+ メニュー2段め、左から３・４番目の"PNG","SVG"ボタン
    ブラウザの新しいタブで画像が開きます。
    WEBページの画像右クリックした時に出てくる"新しいタブで画像を開く"にあたることがおきます。


+ メニュー2段め、一番右の"KROKI"ボタン
    Kroki.ioの埋め込みURLに変換してくれます。
    開いたタブのアドレスバーに埋め込みURL表示されるのでコピーして使います。
    Krokiに関しては私も最近知ったのですが、これまたとっても便利ですね。
    25日までに時間があったらこちらもまとめたい題材。
    以下参考リンク貼っておきます。
    
https://kroki.io/

https://qiita.com/tomo_makes/items/7c42a736b30554e15c35

また、ダウンロードなどする画像のサイズを指定したければ、PNG sizeでwidthやheightを指定しサイズ変更してダウンロードすることもできます。

## おわりに
慣れるともっと資料作成サクサク進みそうな気がしています。
積極的に使っていきたい！