テンプレートエンジンを利用しています。Jinjaは、Djangoのテンプレートにインスパイアされた、テキストベースのテンプレートエンジンです。Djangoを触ったことがある人ならば、すぐに慣れるでしょう。Djangoテンプレート用に書かれた、既存のすばらしいドキュメントは、Jinjaを学ぼうとしている人にも役に立つということを意味しています。いくつか別の選択肢を選ぶことができます。好きなテンプレートエンジンを呼ぶようにします。使用して、自分でカスタムしたツールや、ウェブアプリケーション内などで後処理を行います。Jinja/Sphinxテンプレートの基礎¶Sphinxのデフォルトのテンプレート言語はJinjaです。これはDjango/Smartyにインスパイアされて作成されたもので、理解しやすくなっています。これは、テンプレートの特定のブロックのみをオーバーライドして、変更箇所を最小限にしたカスタマイズを可能にします。ドキュメントの出力をカスタマイズするには、Sphinxのquickstartコマンドが生成したテンプレートのディレクトリに、オリジナルファイル名と同じ名前のテンプレートを追加して、すべてのテンプレート(レイアウトのテンプレートと子供のテンプレート)をオーバーライドするという方法があります。設定されたフォルダのテンプレートを見に行きます。そこで見つからなければ、選択しているテーマのテンプレートを探しに行きます。3種類の要素を含みます。テーマでは2つのブロックを持つ基本となるテンプレートを提供しています。このブロックはデータで埋められます。サブディレクトリ内に置かれています。このテーマはすべてのSphinxの組み込みのテーマから使用されています。入っている同名のテンプレートは、選択されたテーマのテンプレートよりも優先的に使用されるので、既存のテーマのテンプレートをオーバーライドします。%}オーバーライドされるテンプレート名の前にエクスクラメーションマーク(!)を付けることで、SphinxはベースとなるHTMLテーマのテンプレートをロードします。テーマはすべての組み込みSphinxテーマの骨組みとなるテンプレートを提供しています。このうち、以下の要素オーバーライドしたり、使用したりできます。テンプレートの中には、次のようなブロックが定義されています。doctype出力フォーマットのドキュメントのタイプです。Transitionalになっています。5やその他のXHTMLと互換性のあるdoctype以外のタイプには変更しない方がいいでしょう。タグをいくつか追加するものです。extraheadこのブロックはデフォルトでは空です。タグに追加の情報を出力できます。JavaScriptや追加のCSSファイルへの参照を追加する場合にはこのブロックを使用します。リレーションバーは左側に親ドキュメントを、右側に索引、モジュール索引などを含みます。ドキュメントの後に表示されます。デフォルトではそれぞれのブロックの内容が表示されます。relbaritemsリレーションバーは3つのセクションで構成されています。マスタードキュメントへのリンクを含むリストアイテムを含みます。デフォルトでは空のブロックです。付けるようにしてください。documentドキュメントのコンテンツそのものです。sidebar2サイドバーが入る可能性のある場所を示すブロックです。ドキュメントの前にあり、デフォルトでは空です。ドキュメントの後ろにあり、デフォルトのサイドバーを含んでいます。いったスタイルシートから必要になります。sidebarlogoサイドバーの中にロゴを置くための位置を示すブロックです。サイドバーの最上段に何かコンテンツを置きたい場合には、このブロックをオーバーライドします。footerfooterのdivのために使われるブロックです。独自のfooterや、前後にマークアップを追加したい場合、これを上書きしてください。使って含められる、分割されたサイドバーテンプレートの中では撤廃されています。sidebartocサイドバー内部の目次です。非推奨.sidebarrelサイドバー内の関連リンク(前後のトピックへのリンク)です。有効になっている時にだけ表示されます。非推奨.sidebarsearchサイドバー内の検索ボックスです。いくつかのコンテンツをサイドバーの下部に追加したい場合には、このブロックをオーバーライドします。タグを利用して、テンプレートのレイアウトに使用される変数をセットできます。reldelim1¶リレーションバーの左側アイテムの区切り文字です。リレーションバーに含まれるアイテムはすべて、ここで指定した変数の値で区切られます。reldelim2¶リレーションバーの右側のアイテムの区切り文字になります。最後の要素を除くすべてのリレーションバーのアイテムは、ここで指定された変数の値で区切られます。instead.ヘルパー関数¶Sphinxはテンプレートで使用できるJinja関数をいくつか提供しています。これを使用すると、リンクを生成したり、構成要素を使用した出力を何度も行ったりできるようになります。pathto(document)¶SphinxドキュメントへのURLを返します。これは組み込みのドキュメントを参照する場合に使用します。対する、生成されたドキュメントのルートからの相対パスによるリンクを返します。静的なファイルを参照するのに使用します。指定された名前のドキュメントが存在するかどうかチェックします。sidebar()¶レンダリングされたサイドバーを返します。relbar()¶レンダリングリレーションバーを返します。message.グローバル変数¶これらのグローバル変数はすべてのテンプレートで利用可能で、安全に使用できる変数です。ここで説明されているよりも多くの変数がありますが、それらの変数は、実装に根ざした内部変数であったり、将来挙動が変更される予定のものになります。builder¶ビルダーの名前が格納されている変数です。