Google Analyticsのタグを追加してみる¶
ウェブサイトですので、Google Analyticsのタグを追加してみます。
SphinxのドキュメントではフッターにAnalyticsタグを追加していましたが、Google先生の指示はheadのところですので、それにならってheadに追加します。
テーマのテンプレートファイルを直接編集すると後でテーマの改訂があったときに修正が大変になりますので、テンプレートを拡張してみます。
head部分のテンプレートはlayout.htmlというファイルに書かれています。このファイルはテーマごとに作られていて、Pythonのsite-packageフォルダの下の各テーマのフォルダ(PC毎に異なります)にあります。
ただし、プロジェクトのルートディレクトリにある_templatesというフォルダにlayout.htmlというファイルを作ると、テーマのlayout.htmlではなくてプロジェクトのlayout.htmlが優先的に使われます。
ですから、プロジェクトのlayout.htmlを作って、プロジェクトのlayout.htmlからテーマのlayout.htmlを呼び出してさらに追記するようにすれば良いわけです。
_templatesフォルダにlayout.htmlというファイルを作って、その中に下記のように書きます。
{%- extends "!layout.html" %}
{%- block extrahead %}
{{ super() }}
<script>
<!-- ここにanalyticsタグ -->
</script>
{% endblock %}
1行目で、layout.htmlを拡張すると宣言します。 2行目が、extraheadというブロックの開始です。拡張元のlayout.htmlのextraheadというブロックを上書きするわけです。 3行目は、拡張元のブロックを読み込みます。 7行目で、extraheadというブロックを閉じます。
extraheadというのは、headを拡張するためのブロックです。
このようにしてからHTMLを出力すると、そのhead要素はこのようになります。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Welcome to trial’s documentation! — trial 0 ドキュメント</title>
<link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="index" title="索引" href="genindex.html" />
<link rel="search" title="検索" href="search.html" />
<link rel="next" title="はろーわーるど" href="doc.html" />
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
<script>
<!-- ここにanalyticsタグ -->
</script>
</head>