Blog

Sphinx で GoogleCodePrettify をつかう

Python 製の documentation tool であるところの sphinx は非常に便利なのであって、オススメなのだけれど、これをカスタマイズする方法の情報はすくないので、普通に公式ドキュメントを読むのがはやく、読んだ結果のことをまとめておく。

テンプレートのカスタマイズはテンプレートエンジンの cascading 機構を利用していて、layout.html を継承した自分用の layout.html をつかって、いいかんじに上書きすることができる。

今回の場合だと source/_templates/layout.html を以下のようにした。

{% extends "!layout.html" %}

{% block extrahead %}
{{ super() }}
<link href="_static/google-code-prettify/prettify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="_static/google-code-prettify/prettify.js"></script>
<script type="text/javascript">
    $(function () {
        $('pre').addClass('prettyprint');
        prettyPrint();
    });
</script>
{% endblock %}

source/_static/ 以下のファイルが build/html/_static/ 以下に展開されるので、そこに google-code-prettify を展開しておけばいいだけなのでした。