やりたかったこと
ターミナルに入力するコマンドをcode-blockで表記することが多いと思います。
OSによって入力するコマンドが異なるため、Windowのコマンドの場合は何色、Linuxのコマンドの場合は何色など、OSによって異なる書式を設定したcode-blockを書きたくなりました。
やったこと
Sphinxでは独自のCSSを埋め込めます。
conf.pyの修正
html_static_path (静的ファイルのpath)とhtml_css_files (cssファイルの相対path)を conf.py に追記します。 html_static_path のほうはデフォルトで記述されているかもしれません。今回はCSSファイルを css/custom.css としました。
html_static_path = ['_static']
html_css_files = ["css/custom.css"]
CSSファイルを作成
_staticディレクトリ配下にCSSファイルを作成します。今回はpowershellとbashのシンタックスハイライトの書式を変更します。今回は背景色を上書きしています。
.highlight-powershell pre {
background: #AFEEEE;
}
.highlight-bash pre {
background: #E9967A;
}
code-blockに言語名を指定する
あとは原稿(reStructuredText)の code-block ディレクティブに先程CSSのclassで定義した言語名を指定するだけです。せっかくなので :caption: オプションも追加してキャプションを表示させます。
Windows
-------
.. code-block:: powershell
:caption: Win
Get-Command
Linux
-----
.. code-block:: bash
:caption: Linux
ls
HTMLにビルドする
make html コマンドなどでHTML形式にビルドするとこのようになります。ぱっと見でどっちのOSのターミナルなのかわかりやすくなりました。
