みやもとメモ

「Notion」「Google Apps Script」「ブログカスタマイズ」などについて書いていきます。

目次
目次

【Notion×Mermaid】状態遷移図のテーマをカスタマイズ(色指定)する

この記事をシェアする

今回はNotionで使えるMermaid記法に関して書いていきます。

以前、Mermaidで状態遷移図を書いてみた記事を投稿しました。

miya-moto-memo.hatenablog.com

更に、色テーマを全て試してみる記事も投稿しました。

miya-moto-memo.hatenablog.com

上記の色テーマでも充分ではあったのですが、どうやら色を指定できるようです。
ということで今回は、上記に続く流れで状態遷移図のテーマをカスタマイズ(色指定)してみます。

それでは本題へ。

前提情報

Mermaidとは?

まずはMermaidとは?に関して書いておきます。

Mermaidとは、フローチャート、シーケンス図、クラス図、ガントチャート、およびgitグラフを生成するためのマークダウン構文です。

出典:グラフを生成可能なマークダウン構文「Mermaid」がNotionで利用出来るようになりました #notion | DevelopersIO

詳しくは以下のリンクを見て頂ければと。
dev.classmethod.jp

状態遷移図とは?

状態遷移図とは?に関しても書いておきます。

「状態遷移」とは、ソフトウェアやシステムの状態がさまざまな条件やイベントによって変化することを指しますが、それらの変化を図形や矢印で表現したものが「状態遷移図(ステートマシン図)」です。システムやソフトウェアの仕様が文章で書かれている場合に、ビジュアルでより俯瞰的に仕様をとらえることができます。

出典:状態遷移図とは?書き方や状態遷移表との違いをわかりやすく解説|ソフトウェアテストのSHIFT

詳しくは以下のリンクを見て頂ければと。
service.shiftinc.jpcacoo.com

色の指定例

コード

%%{
  init: {
    'theme': 'base',
    'themeVariables': {
      'primaryColor': 'blue',
      'primaryTextColor': 'white',
      'textColor': 'red'
    }
  }
}%%
stateDiagram-v2
  待機中 --> 計測中:START・STOPボタン
  計測中 --> 一時停止中:START・STOPボタン
  一時停止中 --> 計測中:START・STOPボタン
  一時停止中 --> 待機中:RESETボタン

以下の部分で色を指定しています。

%%{
  init: {
    'theme': 'base',
    'themeVariables': {
      'primaryColor': 'blue',
      'primaryTextColor': 'white',
      'textColor': 'red'
    }
  }
}%%

「theme」には”base”を指定する必要があるみたいです。

「themeVariables」で各要素の色を指定していきます。

  • primaryColor:ノードの背景色
  • primaryTextColor:ノード内の文字色
  • titleColor:遷移コメントの色(矢印の色も?)

といった感じです。

他にも用意されている要素はありますが、上記あたりを指定すると状態遷移図の色合いがガラッと変わります。

状態遷移図

ということで、上記コードを適用した状態遷移図がこちらです。

状態遷移図

かなり派手な色合いですが、とりあえず見分けがつきやすいように目立つ色を指定しています。

いくつか試してみる

上記は派手な色合いなので、次はそれっぽい色合いをいくつか試してみます。

base

いくつか試してみる前に、まずはbaseテーマの状態遷移図を載せておきます。

base

※コピペ用にコードも貼っておきます

%%{init:{'theme':'base'}}%%
stateDiagram-v2
  待機中 --> 計測中:START・STOPボタン
  計測中 --> 一時停止中:START・STOPボタン
  一時停止中 --> 計測中:START・STOPボタン
  一時停止中 --> 待機中:RESETボタン

primaryColor(#C2D9F5)

ここから実際に、「primaryColor」を指定した状態遷移図をいくつか載せていきます。

primaryColor(#C2D9F5)

※コピペ用にコードも貼っておきます

%%{
  init: {
    'theme': 'base',
    'themeVariables': {
      'primaryColor': '#C2D9F5'
    }
  }
}%%
stateDiagram-v2
  待機中 --> 計測中:START・STOPボタン
  計測中 --> 一時停止中:START・STOPボタン
  一時停止中 --> 計測中:START・STOPボタン
  一時停止中 --> 待機中:RESETボタン

primaryColor(#B5EA7B)

primaryColor(#B5EA7B)

※コピペ用にコードも貼っておきます

%%{
  init: {
    'theme': 'base',
    'themeVariables': {
      'primaryColor': '#B5EA7B'
    }
  }
}%%
stateDiagram-v2
  待機中 --> 計測中:START・STOPボタン
  計測中 --> 一時停止中:START・STOPボタン
  一時停止中 --> 計測中:START・STOPボタン
  一時停止中 --> 待機中:RESETボタン

primaryColor(#FBD89F)

primaryColor(#FBD89F)

※コピペ用にコードも貼っておきます

%%{
  init: {
    'theme': 'base',
    'themeVariables': {
      'primaryColor': '#FBD89F'
    }
  }
}%%
stateDiagram-v2
  待機中 --> 計測中:START・STOPボタン
  計測中 --> 一時停止中:START・STOPボタン
  一時停止中 --> 計測中:START・STOPボタン
  一時停止中 --> 待機中:RESETボタン

primaryColor(#1B5DAA)× primaryTextColor(#FFF)

ここからは「primaryColor」に濃い目の色を指定していきます。
それに対応して「primaryTextColor」は白色を指定します。

primaryColor(#1B5DAA)× primaryTextColor(#FFF)

※コピペ用にコードも貼っておきます

%%{
  init: {
    'theme': 'base',
    'themeVariables': {
      'primaryColor': '#1B5DAA',
      'primaryTextColor': '#FFF',
      'textColor': '#000'
    }
  }
}%%
stateDiagram-v2
  待機中 --> 計測中:START・STOPボタン
  計測中 --> 一時停止中:START・STOPボタン
  一時停止中 --> 計測中:START・STOPボタン
  一時停止中 --> 待機中:RESETボタン

primaryColor(#538B16)× primaryTextColor(#FFF)

※遷移コメントの背景色を「secondaryColor」で調整しています

primaryColor(#538B16)× primaryTextColor(#FFF)

※コピペ用にコードも貼っておきます

%%{
  init: {
    'theme': 'base',
    'themeVariables': {
      'primaryColor': '#538B16',
      'primaryTextColor': '#FFF',
      'secondaryColor': '#FFF',
      'textColor': '#000'
    }
  }
}%%
stateDiagram-v2
  待機中 --> 計測中:START・STOPボタン
  計測中 --> 一時停止中:START・STOPボタン
  一時停止中 --> 計測中:START・STOPボタン
  一時停止中 --> 待機中:RESETボタン

primaryColor(#AF7108)× primaryTextColor(#FFF)

primaryColor(#AF7108)× primaryTextColor(#FFF)

※コピペ用にコードも貼っておきます

%%{
  init: {
    'theme': 'base',
    'themeVariables': {
      'primaryColor': '#AF7108',
      'primaryTextColor': '#FFF',
      'secondaryColor': '#FFF',
      'textColor': '#000'
    }
  }
}%%
stateDiagram-v2
  待機中 --> 計測中:START・STOPボタン
  計測中 --> 一時停止中:START・STOPボタン
  一時停止中 --> 計測中:START・STOPボタン
  一時停止中 --> 待機中:RESETボタン

参考リンク

以下のサイトを参考にさせて頂きました。ありがとうございます。

状態遷移図に関して
mermaid.js.org
色テーマに関して
mermaid.js.org
色選びに関して
copypalette.appcolorbase.app

おわりに

ということで、「【Notion×Mermaid】状態遷移図のテーマをカスタマイズ(色指定)する」に関してアレコレ書いてみました。

「primaryColor」を指定するだけで状態遷移図の色合いがガラッと変わりますね。
ここまで自由に色指定できると色選びに悩みますが、まぁこれは楽しい部分でもあるかなと。

この記事が参考になれば幸いです。

Notion×Mermaid 関連記事

Notion×Mermaidは他にも記事を書いています。
こちらも良ければぜひ。

Notion×Mermaid×状態遷移図 関連記事

TOPへ戻る 最新記事 HOMEへ