ひとりマーメイド19日目
マインドマップ
概要
マーメイドエンジニアのひろきです。こんにちは。
最近流行り(流行らせたい)のマーメイドについて理解を深めていこうと思います。
この記事ではマインドマップの記述について紹介します!
↓↓前回の記事はこちら
マーメイドで記述するマインドマップ
前回の記事では円グラフの記法について紹介しました。
今日はマインドマップを見ていきます。マインドマップはキーワードから連想される単語を放射状につなげていくダイアグラムです。
mindmap
top((diagram))
flowchart
element
node
edge
algorithm
sequenceDiagram
declaration
participant
actor
action
request
response
gitGraph
action
commit
id
label
merge
宣言と枝分かれ
マインドマップはmindmap
で宣言されます。
要素の関連はインデントを元に定義されます。マーメイドにおいてインデントが影響するダイアグラムはマインドマップが初めてです。
mindmap
top
idea1
idea2
idea3
同じインデントレベルに記述した要素が同一階層にレンダリングされます。
mindmap
top
idea1
idea1_1
idea1_1_1
idea1_1_2
idea1_2
idea2
idea2_1
idea2_2
idea3
idea3_1
idea3_2
idea3_3
idea3_4
インデントのレンダリング
マインドマップのノードは自分よりも先に上位のインデントレベルで定義されたノードのうち最も近いものを親と認識します。そのため、奇妙なインデントで記述しても補正してレンダリングされることがあります。
以下のように記述した場合を考えます。idea3
以降のインデントが気持ち悪いですね。
まずidea4
の親がidea3
であることは直感的に分かると思います。
ではidea5
はどうでしょうか。自分よりも先に上位のインデントレベルで定義されたノードのうち最も近いものを選ぶので、こちらもidea3
が親になります。
mindmap
idea0((idea0))
ieda1
idea2
idea3
idea4
idea5
続いて以下のように記述した場合を考えます。idea1
のインデントがおかしいですね。
ここでidea1
の親を探します。自分よりも先に上位のインデントレベルで定義されたノードのうち最も近いものを選びますが、idea1
より先に上位のインデントレベルで定義されたノードが存在しません。よってidea1
は親を持たないためSyntax errorを起こします。
mindmap
idea0((idea0))
ieda1
idea2
idea3
idea4
idea5
ノードの形
ノードの形を変更することができます。現在サポートされているノードは以下の7種類です。
mindmap
defolt
id[Square]
id(Rounded square)
id((Circle))
id))Bang((
id)Cloud(
id{{Hexagon}}
デフォルト
ここで定義されているのはノードIDであり、デフォルトではこれがそのままノード名前となってダイアグラム中に表示されます。
mindmap
idea
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F2293026%2Fce53e68c-c433-c93d-c4d6-461d01ba11cf.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=a0b482e1be2238e855b48f264e55eed8)
四角
ノードの形を変更する際はノードIDとノード名前をそれぞれ定義する必要があります。
ID[NAME]
mindmap
id[idea]
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F2293026%2F7470f360-a05a-dfa6-1107-bb4f0a089dbe.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=e1a91eda5317db09682f0d28c4f57f04)
スタジアム形
mindmap
id(idea)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F2293026%2Fcbd41a0d-1e96-3d21-516c-7134224a195d.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=4e68adad587e1c01dfa100827dd2e6c9)
円
mindmap
id((idea))
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F2293026%2F1000f43f-435d-ec81-fd01-0205721cae4e.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=ea7b3d1a61075aca1e03017ff6a29f68)
ギザギザ
mindmap
id))idea((
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F2293026%2Fee1400b9-b29b-a6c5-d4dd-fb4db702c8dd.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=b46cc9c7ed24c3138eb960ea08752e58)
もくもく
mindmap
id)idea(
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F2293026%2F18213684-3b8a-131d-3e02-acd06f25e505.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=54752b617905487b7c600bbc1b8c92e5)
ヘキサゴン
mindmap
id{{idea}}
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F2293026%2Ff3c33f66-e665-135d-a6c7-09c8a7f237df.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=7a4afdc4b966a3a0ac2e8df0b8b5b104)
ヘキサゴン
mindmap
id{{idea}}
アイコン
ノード中にアイコンを埋め込むことができます。
Material Design IconsとFont Awesome 4がサポートされています。
NODE
::icon(fa CLASS)
NODE
::icon(mdi CLASS)
mindmap
top
idea1
idea2
::icon(fa fa-car)
idea3
::icon(mdi mdi-skull-outline)
公式エディタではMDIが正しくレンダリングされないようです。
まとめ
マインドマップの記述について紹介しました!
↓↓直の記事はこちら!!
参考