Sphinxでcssをちょっといじりたい

「テーマを作れ」と言われてめんどくさいなぁと放置していたのだがテーマの変更 :: Sphinx-users.jpから始まる5ページくらいを読んだら簡単に作れた。というわけでやった内容を公開しておく。

|-- conf.py
|-- index.rst
`-- mytheme
    |-- static
    |   |-- default.css
    |   `-- main.css
    `-- theme.conf

theme.conf

[theme]
inherit = basic
stylesheet = main.css
pygments_style = sphinx

main.css

これが自分で書いたcss。「どれが節でどれが項かわかりにくい!」とか「節の手前で改ページしたい」ってニーズに答えるためにちょこっと書いた。

@import url('default.css');

h2:before {
  content: "[節]";
  page-break-before: always;
}
h3:before {
  content: "[項]";
}
h4:before {
  content: "[小項]";
}

default.cssはデフォルトのテーマで作った時に使われているcssをそのままstaticフォルダにコピーしておいた。

conf.py

後はconf.pyの設定を書き換えて使うテーマを変更するだけ。

html_theme = 'mytheme'
html_theme_path = ['.']

これで問題なくいけました。めでたしめでたし。