nikkie-ftnextの日記

イベントレポートや読書メモを発信

sphinx-revealjs 製スライドに表示した Mermaid の図のスタイル調整

はじめに

七尾百合子さん、お誕生日 195日目 おめでとうございます! nikkieです。

半年前に書いた記事の宿題を1つ終わらせます

目次

sphinx-revealjs製スライドにMermaidによる図を表示する

今年2月に書いた記事

sphinxcontrib-mermaid を使って、このような sphinx-revealjs スライドを作りました。

以下の宿題を残していました。

  • スライドの背景色を黒から白に変えたのは、mermaidディレクティブで黒い線と文字で描画するために何も見えなくなる問題に対処して
    • mermaidディレクティブでスタイルを調整できるのかも(宿題)

こちらに取り組みます。

:config:で線の色を変えられる!

REAMDE の Directive options

:config:: JSON to pass through to the mermaid configuration

このように書きました1

.. mermaid:: ../pyconjp/logging-handler-flow.mmd
    :config: {"themeVariables": {"lineColor": "#fff"}}

Mermaid のドキュメントを見たところ、線の色は lineColor で指定していました。

{"theme": "base"}も指定するのかなと思ったのですが、base テーマのデフォルトのスタイルが当たったので lineColor だけの指定にしています。
https://mermaid.js.org/config/theming.html#available-themes

base - This is the only theme that can be modified. Use this theme as the base for customizations.

Mermaid の図のズームもできる!

再び sphinxcontrib-mermaid の README より

:zoom:: can be used to enable zooming the diagram.

実際の例
https://github.com/mgaitan/sphinxcontrib-mermaid/blob/1.0.0/docs/zoom.rst?plain=1#L4-L5

.. mermaid::
   :zoom:

これを設定したのがこちらです。
https://ftnext.github.io/2025-slides/pyconjp/stdlib-logging-kata.html#/11/5

Macトラックパッドのみでの確認ですが、ズームインしたりドラッグしたりができました!

終わりに

sphinxcontrib-mermaid の README から、Mermaid の図にスタイル指定する方法を知りました。

  • :config:themeVariablesを指定
    • lineColorで線の色を変えました
  • :zoom:

先日の PyCon JP 2025 の発表中、Mermaid で描いた Logging Flow の図が小さいなと痛感しました。
事前にできていればなおよかったのですが、公開しているスライドを今回小さく改善できました。