Sphinxユーザー会のページではfooterにAnalyticsのタグを埋め込むようにしていますが、Googleのページではヘッダの最後(</head>の直前)にタグを埋め込むことを推奨しているようです。
そこで、ヘッダの最後にAnalyticsのタグを埋め込んでみます。
SphinxはJinja2というテンプレートエンジンを使ってHTMLを出力しています。
ヘッダ情報が入っているテンプレートファイルはlayout.htmlです。 このテンプレートは、元になっているテーマのlayout.htmlを継承するようになっています。例えば、defaultテーマのlayout.htmlはbasicテーマのlayout.htmlを継承しています。
そこで、イチからlayout.htmlを作るのではなく、元のテーマのlayout.htmlを継承して拡張するようにしたいと思います。
defaultテーマのlayout.htmlには、ヘッダの情報はありませんでした。 そこで、basicテーマのlayout.htmlを開いてみると、</head>の直前にextraheadという空のブロックがあるじゃないですか。
そこで、extraheadブロックにタグを埋め込みたいと思います。
ドキュメントルートフォルダの下の_templateフォルダに、layout.htmlというファイルを作って、下記のように記載します。
{%- extends "!layout.html" %}
{{ super() }}
{%- block extrahead %}
<script>
<!-- ここにanalyticsタグ -->
</script>
{% endblock %}
そしてHTMLに変換すると、ヘッダに_template/layout.htmlで追加した文言が追加されます。 defaultテーマで実行してみた結果から、ヘッダ部分だけ引用すると下記のようになります。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Welcome to test’s documentation! — test 0 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '0',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="test 0 documentation" href="#" />
<script>
<!-- ここにanalyticsタグ -->
</script>
</head>
ヘッダの最後にスクリプトタグが書かれてますね。