テンプレート化する¶
Sphinx使用 Jinja そのHTMLテンプレートのテンプレートエンジン.Jinsaはテキストベースのエンジンで、Djangoテンプレートからインスピレーションを得ているので、Djangoを使ったことのある人は誰でも知っているはずです。それはまたそれを熟知しなければならない人たちに素晴らしい文書を提供する。
Sphinxのテンプレートを使ってHTMLを生成する必要がありますか?¶
违うよ。他にもいくつかの選択肢があります
作成することができます
TemplateBridge
選択されたテンプレートエンジンのサブクラスを呼び出し、template_bridge
対応する構成値。君ならできる write a custom builder これは
StandaloneHTMLBuilder
選択したテンプレートエンジンを呼び出します。ご利用いただけます
PickleHTMLBuilder
これは,ページ内容を含むPickleファイルを生成し,カスタムツールを用いて後処理したり,Webアプリケーションで使用したりする.
金佳/ライオンの顔像テンプレートプライマー¶
Sphinxにおけるデフォルトテンプレート言語はJJJAである.これはDjango/Smartyのインスピレーションで、理解しやすい。金家の最も重要な概念は template inheritance これは、変更を最小限に保ちながら、テンプレート内の特定のブロックしかカバーできないことを意味します。
文書の出力をカスタマイズするためには,すべてのテンプレート(レイアウトテンプレートとサブテンプレート)を上書きすることができ,Sphinx QuickStartが生成した構造のテンプレートディレクトリにオリジナルファイル名と同じファイルを追加する方法である.
Sphinxは、以下のフォルダでテンプレートを検索します。 templates_path
まず,そこで探しているテンプレートが見つからなければ,選択されたトピックのテンプレートに戻る.
テンプレートは含まれています 変数.変数 テンプレートを評価する際には,これらの値は値に置き換えられる. tags テンプレートの論理を制御し 積み木 これらはテンプレート継承に用いられる.
獅子面像 基本型. Themeは基本テンプレートにいくつかのブロックを提供し、それらはデータを充填する。彼らは位置しています themes/basic
Sphinxインストールディレクトリのサブディレクトリは、Sphinx引数が内蔵されているすべてのもので使用されます。同じ名前を持つテンプレート templates_path
選択されたトピックで提供されるテンプレートを上書きします。
例えば、関連するリンクを含むテンプレート領域に新しいリンクを追加するには、名前を追加するだけです。 layout.html
内容は以下のとおりである.
{% extends "!layout.html" %}
{% block rootrellink %}
<li><a href="https://project.invalid/">Project Homepage</a> »</li>
{{ super() }}
{% endblock %}
Sphinxは,被覆されたテンプレートの名前の前に感嘆符を付けることで,下位HTMLトピックからレイアウトテンプレートをロードする.
重要
あるブロックを書き換えると、呼び出します {{{{ super() }}}}
拡張テンプレート内にブロックの元のコンテンツの位置が提示されます。コンテンツを表示したくない限り。
内蔵テンプレートの使用¶
建築 基本型. Themeは、Sphinx引数を内蔵したすべてのテンプレートを提供します。これには以下の要素が含まれており、それらをカバーまたは使用することができます。
積み木¶
次のブロックは layout.html
テンプレート:
doctype
出力フォーマットのdoctype。デフォルトでは、これはXHTML 1.0変換であり、SphinxとDocutilsが生成した内容に最も近いので、HTML 5または異なるが互換性のあるXHTML doctypeに切り替えたい場合がない限り、変更しないことが望ましい。
linktags
このブロックはいくつ追加されましたか
<link>
テンプレートのヘッダ部分にタグを付加する.extrahead
デフォルトの場合、このブロックは空であり、追加のコンテンツを追加するために使用されてもよい
<head>
生成されたHTML文書のタグ.これはJavaScriptまたは追加のCSSファイルへの参照を追加する正しい位置である.relbar1
,relbar2
このブロックには 関係欄. .関連リンクのリスト(左側が親文書,右側がインデックス,モジュールなどへのリンク).
relbar1
文書の前に現れてrelbar2
書類の後に。デフォルトの場合、両方のブロックが充填されています。文書の前にrelbarのみを表示するには、書き換えることができます。 relbar2 以下のようになる.{% block relbar2 %}{% endblock %}
rootrellink
,relbaritems
Relbarの内部には3つの部分があります
rootrellink
文書内のリンクとカスタマイズrelbaritems
それがそうです。♪therootrellink
デフォルトの場合はマスター文書へのリスト項目を含むブロックであり,デフォルトの場合はrelbaritems
空いている塊です。欄に追加リンクを追加するために書き換えた場合は、リスト項であることを確認してくださいreldelim1
それがそうです。document
文書自体の内容。これはブロック“Body”を含み,各コンテンツは以下に示すサブテンプレートによって配置される.
page.html
それがそうです。注釈
内蔵されたJavaScript検索が結果ページ上にページプレビューを表示するためには,文書や本文内容が含まれているように包装すべきである.
role="main"
属性です。例えば:<div role="main"> {% block document %}{% endblock %} </div>
sidebar1
,sidebar2
可能なサイドバーの位置です
sidebar1
文書の前に表示され,デフォルトで空である.sidebar2
文書の後には,デフォルトのサイドバーが含まれる.サイドバーの位置を交換する場合は、このオプションを書き換えて呼び出してくださいsidebar
援助者::{% block sidebar1 %}{{ sidebar() }}{% endblock %} {% block sidebar2 %}{% endblock %}
()
sidebar2
サイドバーの位置はsphinxdoc.css
例えば、スタイル表。)sidebarlogo
サイドバー中のロゴ位置。サイドバーの上部にコンテンツを置きたい場合は、このオプションを上書きしてください。
footer
ページdivのブロック。その前または後にフッタやマークを自己定義する場合は、そのフッタやマークを書き直してください。
次の4つのブロックは only カスタムサイドバーリストが割り当てられていないページ使用 html_sidebars
値を配置する。これらの使用を推奨するのではなく、単独のサイドバーテンプレートをサポートすることは、以下のようにサイドバーテンプレートを含むことができる html_sidebars
それがそうです。
sidebartoc
サイドバーのリスト。
バージョン 1.0 で非推奨.
sidebarrel
サイドバーにおける関係リンク(前,次の文書).
バージョン 1.0 で非推奨.
sidebarsourcelink
サイドバーの“Show source”リンク(通常、この機能を有効にしている場合にのみ表示されます
html_show_sourcelink
)。バージョン 1.0 で非推奨.
sidebarsearch
サイドバーの検索ボックス。サイドバーの底に内容を置きたい場合は、このオプションを上書きしてください。
バージョン 1.0 で非推奨.
構成変数¶
テンプレートでは、レイアウトテンプレートを設定して使用するいくつかの変数を使用することができます {{% set %}}
マーク:
-
reldelim1
¶ 関連欄の左側の項目の区切り.このデフォルト値は
' »'
関連欄のいずれもこの変数の値で終了する.
-
reldelim2
¶ 関連欄の右側の項目の区切り.このデフォルト値は
' |'
それがそうです。相関欄では最後の項を除くすべての項がこの変数の値で終了する.
カバーの動作方式は以下のとおりである.
{% extends "!layout.html" %}
{% set reldelim1 = ' >' %}
-
script_files
¶ ここに他のスクリプトファイルを追加すると,以下のようになる.
{% set script_files = script_files + ["_static/myscript.js"] %}
バージョン 1.8.0 で非推奨: どうぞ
.Sphinx.add_js_file()
代わりに。
扶助器関数¶
Sphinxはテンプレートに様々なJJJA関数をブースタとして提供する.これらを使用して、リンクを生成したり、複数回使用された要素を出力したりすることができ
-
pathto
(document)¶ Sphinx文書への経路をURLとして返す.このオプションを使用して構築された文書を参照することができる.
-
pathto
(file, 1) 経路を戻します file これは,生成された出力に対するルートのファイル名である.このオプションを使用して、静的ファイルを参照することができます。
-
hasdoc
(document)¶ その名前を持つ文書が存在するかどうかをチェックする ドキュメント 存在しています
表示されたサイドバーに戻ります。
-
relbar
()¶ 提示された関係欄に戻ります。
-
warning
(message)¶ 警告メッセージを発する。
グローバル変数.¶
これらのグローバル変数は、各テンプレートにおいて利用可能であり、安全に使用することができる。もっと多くのことがありますが、ほとんどは細部事項を達成して、将来変更されるかもしれません。
-
builder
¶ 建築業者の名前(例えば
html
あるいは…。htmlhelp
)。
-
docstitle
¶ 文書のタイトル(値)
html_title
)は、“単一ファイル”ビルダが使用されない限り、設定されている場合にはNone
それがそうです。
-
embedded
¶ 生成されたHTMLが、HTMLヘルプまたはQtヘルプフォーマットのようなWebブラウザではなく、いくつかの処理ナビゲーションの閲覧アプリケーションに埋め込まれる場合、Trueとなる。この場合、サイドバーは含まれない。
-
favicon
¶ 静的パスにはHTMLにクリップ·ターゲット·パスが格納されているか,または
''
それがそうです。
-
file_suffix
¶ 建築業者の価値
out_suffix
属性,すなわち出力ファイルが取得するファイル拡張子である.標準的なHTML構築器では.html
それがそうです。
-
has_source
¶ RESTファイルソースがコピーされていればTrue(であれば
html_copy_source
はい。True
)。
-
last_updated
¶ 構築日。
-
logo
¶ 静的経路におけるHTMLロゴ画像の経路,または
''
それがそうです。
-
master_doc
¶ の価値
master_doc
使用することができますpathto()
それがそうです。
-
pagename
¶ 現在のファイルの“ページ名”、すなわち、ファイルがRESTソースから生成された場合、文書名、または出力ディレクトリに対する等価階層名である (
[directory/]filename_without_extension
)。
-
rellinks
¶ Relbarの左側に置くリンクリストは,“Next”と“Prev”のすぐ隣にある.これには、一般に、Pythonモジュールインデックスのような通常のインデックスおよび他のインデックスへのリンクが含まれています。自分であるコンテンツを追加する場合、タプルでなければなりません
(pagename, link title, accesskey, link text)
それがそうです。
-
shorttitle
¶ の価値
html_short_title
それがそうです。
-
show_source
¶ 以下の条件を満たせば真となる
html_show_sourcelink
はい。True
それがそうです。
-
sphinx_version
¶ 構築のためのSphinxバージョン。
-
style
¶ メインスタイル表の名称、主題または
html_style
それがそうです。
-
title
¶ 現在の文書のタイトルは
<title>
ラベル。
-
use_opensearch
¶ の価値
html_use_opensearch
それがそうです。
これらの値以外にも テーマ·オプション 利用可能(接頭辞は theme_
)と、ユーザが html_context
それがそうです。
ソースファイルから作成された文書(モジュールインデックスまたはHTML形式の文書のような自動生成されたファイルとは逆)には、以下の変数を使用することもできる。
-
body
¶ 1つの文字列は、トピックを適用する前にHTML生成器によって生成されたHTMLフォームに含まれるページ内容である。
-
display_toc
¶ ディレクトリに複数のエントリが含まれている場合、ブール値はTrueとなる。
-
meta
¶ 文書メタデータ(辞書)を参照されたい 文書範囲のメタデータ それがそうです。
ページを含むHTMLの文字列 meta ラベル。
-
next
¶ ナビゲーションの次の文書です。この変数はFalseであるか,または2つの属性を持つ. link そして title それがそうです。タイトルにはHTMLタグが含まれている.例えば、次のページへのリンクを生成するためには、以下のコード片を使用することができる。
{% if next %} <a href="{{ next.link|e }}">{{ next.title }}</a> {% endif %}
-
page_source_suffix
¶ 提示された文書の接尾辞なぜなら私たちは一連の
source_suffix
これは、元のソースファイルに正しくリンクすることを可能にします。
-
sourcename
¶ 現在の文書の複製元ファイルの名前。以下の場合にのみ空ではない
html_copy_source
値が.True
それがそうです。これは,自動生成されたファイルを作成するために空の値を持つ.
-
toc
¶ 現在のページのローカルディレクトリは,HTML項目記号リストとして提示される.
-
toctree
¶ 1つのCallableは,現在のページを含むグローバルディレクトリ木を生成し,HTML項目記号リストとして提示する.オプションのキーワードパラメータ:
collapse
Trueである場合、折り畳みは、現在のページの先祖のすべてのディレクトリエントリではない。
True
デフォルトの場合。maxdepth
木の最大深さ。とする.
-1
無限の深さを許すことができますデフォルトはtoctree命令で選択された最大深さである.titles_only
Trueであれば,トップ文書タイトルのみを木に入れる.
False
デフォルトの場合。includehidden
Trueである場合、ディレクトリツリーには隠れエントリも含まれる。
False
デフォルトの場合。