ビルダー¶
これらは Sphinx に組み込まれているビルダーです。より多くのビルダーは、拡張機能によって追加できます。
ビルダーを選択するには、sphinx-build の -M または -b コマンドラインオプションにビルダーの「名前」を指定する必要があります。
最も一般的なビルダーは次のとおりです。
- html
HTML ページをビルドします。これはデフォルトのビルダーです。
- dirhtml
HTML ページをビルドしますが、ドキュメントごとに 1 つのディレクトリを使用します。Web サーバーから提供する場合、よりきれいな URL(
.htmlなし)になります。- singlehtml
コンテンツ全体を含む単一の HTML をビルドします。
- htmlhelp、qthelp、devhelp、epub
これらの形式のいずれかでドキュメントコレクションを構築するための追加情報を含む HTML ファイルをビルドします。
- applehelp
Apple Help Book をビルドします。hiutil および codesign が必要です。これらはオープンソースではなく、現在は Mac OS X 10.6 以降でのみ利用可能です。
- latex
pdflatex を使用して PDF ドキュメントにコンパイルできる LaTeX ソースをビルドします。
- man
UNIX システム用の groff 形式のマニュアルページをビルドします。
- texinfo
makeinfo を使用して Info ファイルに処理できる Texinfo ファイルをビルドします。
- text
プレーンテキストファイルをビルドします。
- gettext
gettext スタイルのメッセージカタログ(
.potファイル)をビルドします。- doctest
doctest拡張機能が有効になっている場合、ドキュメント内のすべての doctest を実行します。- linkcheck
すべての外部リンクの整合性を確認します。
- xml
Docutils ネイティブの XML ファイルをビルドします。
- pseudoxml
中間ドキュメントツリーの内部構造を表示する、コンパクトできれいに印刷された「擬似 XML」ファイルをビルドします。
- class sphinx.builders.html.StandaloneHTMLBuilder[ソース]¶
これは標準の HTML ビルダーです。その出力は、HTML ファイル、スタイルシート、およびオプションで reStructuredText ソースを含むディレクトリです。このビルダーの出力をカスタマイズする設定値がいくつかあります。詳細については、HTML 出力オプションの章を参照してください。
- name = 'html'¶
ビルダーの名前。-b コマンドラインオプションで使用します。
- format = 'html'¶
ビルダーの出力形式。または、ドキュメント出力が生成されない場合は ''。
- class sphinx.builders.dirhtml.DirectoryHTMLBuilder[ソース]¶
これは、標準の HTML ビルダーのサブクラスです。その出力は、HTML ファイルを含むディレクトリです。各ファイルは
index.htmlと呼ばれ、ページ名のように名前が付けられたサブディレクトリに配置されます。たとえば、ドキュメントmarkup/rest.rstは出力ファイルmarkup/rest.htmlにはならず、markup/rest/index.htmlになります。ページ間のリンクを生成するとき、index.htmlは省略されるため、URL はmarkup/rest/のようになります。- name = 'dirhtml'¶
ビルダーの名前。-b コマンドラインオプションで使用します。
- format = 'html'¶
ビルダーの出力形式。または、ドキュメント出力が生成されない場合は ''。
- supported_image_types: list[str] = ['image/svg+xml', 'image/png', 'image/gif', 'image/jpeg']¶
ビルダーでサポートされている画像形式の MIME タイプのリスト。画像ファイルは、ここに表示される順序で検索されます。
バージョン 0.6 で追加されました。
- class sphinx.builders.singlehtml.SingleFileHTMLBuilder[ソース]¶
これは、プロジェクト全体を 1 つの出力ファイルに結合する HTML ビルダーです。(明らかにこれは小規模なプロジェクトでのみ機能します。)ファイルはルートドキュメントのように名前が付けられます。インデックスは生成されません。
- name = 'singlehtml'¶
ビルダーの名前。-b コマンドラインオプションで使用します。
- format = 'html'¶
ビルダーの出力形式。または、ドキュメント出力が生成されない場合は ''。
- supported_image_types: リスト[文字列] = ['image/svg+xml', 'image/png', 'image/gif', 'image/jpeg']¶
ビルダーでサポートされている画像形式の MIME タイプのリスト。画像ファイルは、ここに表示される順序で検索されます。
バージョン 1.0 で追加.
- class sphinxcontrib.htmlhelp.HTMLHelpBuilder[ソース]¶
このビルダーは、スタンドアロンの HTML ビルダーと同じ出力を生成しますが、Microsoft HTML Help Workshop でコンパイルして CHM ファイルにすることができる HTML ヘルプサポートファイルも生成します。
- name = 'htmlhelp'¶
ビルダーの名前。-b コマンドラインオプションで使用します。
- format = 'html'¶
ビルダーの出力形式。または、ドキュメント出力が生成されない場合は ''。
- class sphinxcontrib.qthelp.QtHelpBuilder[ソース]¶
このビルダーは、スタンドアロンの HTML ビルダーと同じ出力を生成しますが、Qt コレクションジェネレーターでコンパイルできる Qt ヘルプコレクションサポートファイルも生成します。
バージョン 2.0 で変更: sphinx.builders パッケージから sphinxcontrib.qthelp に移動しました。
- name = 'qthelp'¶
ビルダーの名前。-b コマンドラインオプションで使用します。
- format = 'html'¶
ビルダーの出力形式。または、ドキュメント出力が生成されない場合は ''。
- class sphinxcontrib.applehelp.AppleHelpBuilder[ソース]¶
このビルダーは、スタンドアロンの HTML ビルダーと同じ出力に基づいて Apple Help Book を生成します。
ソースディレクトリに
.lprojフォルダーが含まれている場合、選択された言語に対応するフォルダーの内容が生成された出力とマージされます。これらのフォルダーは、他のすべてのドキュメントタイプでは無視されます。有効なヘルプブックを生成するためには、このビルダーには、Mac OS X 10.6 以降でのみ利用可能なコマンドラインツール hiutil が必要です。
applehelp_disable_external_toolsをTrueに設定してインデックス作成手順を無効にすることができます。その場合、バンドル内のすべての.lprojフォルダーで hiutil が実行されるまで、出力は有効になりません。- name = 'applehelp'¶
ビルダーの名前。-b コマンドラインオプションで使用します。
- format = 'html'¶
ビルダーの出力形式。または、ドキュメント出力が生成されない場合は ''。
- supported_image_types: リスト[文字列] = ['image/png', 'image/gif', 'image/jpeg', 'image/tiff', 'image/jp2', 'image/svg+xml']¶
ビルダーでサポートされている画像形式の MIME タイプのリスト。画像ファイルは、ここに表示される順序で検索されます。
バージョン 1.3 で追加.
バージョン 2.0 で変更: sphinx.builders パッケージから sphinxcontrib.applehelp に移動しました。
- class sphinxcontrib.devhelp.DevhelpBuilder[ソース]¶
このビルダーは、スタンドアロンの HTML ビルダーと同じ出力を生成しますが、GNOME Devhelp リーダーで表示できる GNOME Devhelp サポートファイルも生成します。
- name = 'devhelp'¶
ビルダーの名前。-b コマンドラインオプションで使用します。
- format = 'html'¶
ビルダーの出力形式。または、ドキュメント出力が生成されない場合は ''。
- supported_image_types: リスト[文字列] = ['image/png', 'image/gif', 'image/jpeg']¶
ビルダーでサポートされている画像形式の MIME タイプのリスト。画像ファイルは、ここに表示される順序で検索されます。
バージョン 2.0 で変更: sphinx.builders パッケージから sphinxcontrib.devhelp に移動しました。
- class sphinx.builders.epub3.Epub3Builder[ソース]¶
このビルダーは、スタンドアロンの HTML ビルダーと同じ出力を生成しますが、電子書籍リーダー用の *epub* ファイルも生成します。詳細については、Epub の情報 を参照してください。epub 形式の定義については、https://idpf.org/epub または https://en.wikipedia.org/wiki/EPUB を参照してください。このビルダーは *EPUB 3* ファイルを作成します。
- name = 'epub'¶
ビルダーの名前。-b コマンドラインオプションで使用します。
- format = 'html'¶
ビルダーの出力形式。または、ドキュメント出力が生成されない場合は ''。
- supported_image_types: リスト[文字列] = ['image/svg+xml', 'image/png', 'image/gif', 'image/jpeg']¶
ビルダーでサポートされている画像形式の MIME タイプのリスト。画像ファイルは、ここに表示される順序で検索されます。
バージョン 1.4 で追加.
バージョン 1.5 で変更: Sphinx 1.5 以降、epub3 ビルダーがデフォルトの epub ビルダーとして使用されます。
- class sphinx.builders.latex.LaTeXBuilder[source]¶
このビルダーは、出力ディレクトリに LaTeX ソースファイルを生成します。実際の PDF ビルドは、この出力ディレクトリ内で行われ、2 段階でトリガーする必要があります。これは、そこで make all-pdf を使用して行うことができます。2 つのステップを 1 つにまとめるには、プロジェクトルートで
sphinx-build -M(つまり、-b latexpdfではなく-M latexpdf)または make latexpdf を使用します。利用可能なオプションについては、
latex_documentsおよびLaTeX 出力オプションの章を参照してください。PDF ビルドには、十分に完全な LaTeX インストールが必要です。テストは現在(5.3.0 以降)、Ubuntu 22.04LTS で行われており、その LaTeX ディストリビューションは 2022/02/04 現在、アップストリームの TeXLive 2021 に一致しますが、PDF ビルドは、はるかに古い LaTeX インストールでも正常に実行できます。
いずれにせよ、たとえば Ubuntu では、以下のパッケージがすべて存在する必要があります
texlive-latex-recommendedtexlive-fonts-recommendedtexlive-fonts-extra(fontawesome5に必要、下記の 7.4.0 の変更通知を参照)tex-gyre(latex_engineがデフォルトのままの場合)texlive-latex-extralatexmk
バージョン 4.0.0 で変更: TeX Gyre フォントが
'pdflatex'エンジン (デフォルト) に必要になりました。バージョン 7.4.0 で変更: LaTeX パッケージ
xcolorが必須になりました(いずれにしても Ubuntutexlive-latex-recommendedの一部です)。LaTeX パッケージfontawesome5が推奨されます。詳細については、‘sphinxsetup’iconpackageキーを参照してください。状況によっては、追加のパッケージが必要です
キリル文字の場合は
texlive-lang-cyrillic(および、デフォルトフォントを使用する場合はcm-super)ギリシャ文字の場合は
texlive-lang-greek(および、デフォルトフォントを使用する場合はcm-super)latex_engineが'xelatex'の場合はtexlive-xetexlatex_engineが'lualatex'の場合はtexlive-luatexlatex_engineが'xelatex'または'lualatex'の場合はfonts-freefont-otf
注記
1.6 以降、GNU/Linux および macOS では、
make latexpdfは必要な実行回数が自動的に実行されるように latexmk を使用します。Windows では、PDF ビルドは固定回数の LaTeX 実行 (3 回、次にmakeindex、次にさらに 2 回) を実行します。latexmkにオプションを渡すには、LATEXMKOPTSMakefile 変数を使用します。例:make latexpdf LATEXMKOPTS="-silent"コンソール出力を最小限に抑えます。
また、
latexmkがバージョン 4.52b 以上 (2017 年 1 月) の場合、多数のグラフィックスインクルードがある場合、LATEXMKOPTS="-xelatex"は XeLateX による PDF ビルドを高速化します。オプションを
(pdf|xe|lua)latexバイナリに直接渡すには、変数LATEXOPTSを使用します。例:make latexpdf LATEXOPTS="--halt-on-error"- name = 'latex'¶
ビルダーの名前。-b コマンドラインオプションで使用します。
- format = 'latex'¶
ビルダーの出力形式。または、ドキュメント出力が生成されない場合は ''。
直接 PDF ビルダーは、rinohtype によって提供されていることに注意してください。ビルダーの名前は rinoh です。詳細については、rinohtype マニュアルを参照してください。
- class sphinx.builders.text.TextBuilder[source]¶
このビルダーは、各 reStructuredText ファイルのテキストファイルを生成します。これは、reStructuredText ソースとほぼ同じですが、読みやすくするためにマークアップの多くが削除されています。
- name = 'text'¶
ビルダーの名前。-b コマンドラインオプションで使用します。
- format = 'text'¶
ビルダーの出力形式。または、ドキュメント出力が生成されない場合は ''。
バージョン 0.4 で追加。
- class sphinx.builders.manpage.ManualPageBuilder[source]¶
このビルダーは、groff 形式のマニュアルページを生成します。
man_pages設定値を使用して、どのマニュアルページにどのドキュメントを含めるかを指定する必要があります。- name = 'man'¶
ビルダーの名前。-b コマンドラインオプションで使用します。
- format = 'man'¶
ビルダーの出力形式。または、ドキュメント出力が生成されない場合は ''。
バージョン 1.0 で追加.
- class sphinx.builders.texinfo.TexinfoBuilder[source]¶
このビルダーは、makeinfo プログラムによって Info ファイルに処理できる Texinfo ファイルを生成します。
texinfo_documents設定値を使用して、どの Texinfo ファイルにどのドキュメントを含めるかを指定する必要があります。Info 形式は、GNU Emacs および端末ベースのプログラム info で使用されるオンラインヘルプシステムの基礎です。詳細については、Texinfo info を参照してください。Texinfo 形式は、GNU プロジェクトで使用される公式のドキュメントシステムです。Texinfo の詳細については、https://www.gnu.org/software/texinfo/ を参照してください。
- name = 'texinfo'¶
ビルダーの名前。-b コマンドラインオプションで使用します。
- format = 'texinfo'¶
ビルダーの出力形式。または、ドキュメント出力が生成されない場合は ''。
- supported_image_types: list[str] = ['image/png', 'image/jpeg', 'image/gif']¶
ビルダーでサポートされている画像形式の MIME タイプのリスト。画像ファイルは、ここに表示される順序で検索されます。
バージョン 1.1 で追加されました。
- class sphinxcontrib.serializinghtml.SerializingHTMLBuilder[ソース]¶
このビルダーは、生成されたHTMLドキュメントをダンプするために、PythonシリアライズAPI(
pickle、simplejson、phpserializeなど)を実装するモジュールを使用します。pickleビルダーは、このビルダーのサブクラスです。PHPシリアライズ形式にシリアライズするこのビルダーの具体的なサブクラスは、次のようになります。
import phpserialize class PHPSerializedBuilder(SerializingHTMLBuilder): name = 'phpserialized' implementation = phpserialize out_suffix = '.file.phpdump' globalcontext_filename = 'globalcontext.phpdump' searchindex_filename = 'searchindex.phpdump'
- implementation¶
pickleモジュールと同じ名前の関数に準拠するdump()、load()、dumps()、およびloads()関数を実装するモジュール。このインターフェースを実装することがわかっているモジュールは、simplejson、phpserialize、plistlibなどです。
- out_suffix¶
すべての通常ファイルのサフィックス。
- globalcontext_filename¶
「グローバルコンテキスト」を含むファイルの名前。これは、プロジェクトの名前など、いくつかの一般的な構成値を含むdictです。
- searchindex_filename¶
Sphinxが生成する検索インデックスのファイル名。
出力形式の詳細については、シリアライズビルダーの詳細を参照してください。
バージョン 0.5 で追加されました。
- class sphinxcontrib.serializinghtml.PickleHTMLBuilder[ソース]¶
このビルダーは、標準のHTMLテンプレートを使用しないWebアプリケーション(またはカスタムの後処理ツール)で使用するために、主にHTMLフラグメントとTOC情報を含むpickleファイルのディレクトリを生成します。
出力形式の詳細については、シリアライズビルダーの詳細を参照してください。
- name = 'pickle'¶
ビルダーの名前。-b コマンドラインオプションで使用します。
古い名前
webも引き続き機能します。
- format = 'html'¶
ビルダーの出力形式。または、ドキュメント出力が生成されない場合は ''。
- supported_image_types: list[str] = ['image/svg+xml', 'image/png', 'image/gif', 'image/jpeg']¶
ビルダーでサポートされている画像形式の MIME タイプのリスト。画像ファイルは、ここに表示される順序で検索されます。
ファイルサフィックスは
.fpickleです。グローバルコンテキストはglobalcontext.pickleと呼ばれ、検索インデックスはsearchindex.pickleと呼ばれます。
- class sphinxcontrib.serializinghtml.JSONHTMLBuilder[ソース]¶
このビルダーは、標準のHTMLテンプレートを使用しないWebアプリケーション(またはカスタムの後処理ツール)で使用するために、主にHTMLフラグメントとTOC情報を含むJSONファイルのディレクトリを生成します。
出力形式の詳細については、シリアライズビルダーの詳細を参照してください。
- name = 'json'¶
ビルダーの名前。-b コマンドラインオプションで使用します。
- format = 'html'¶
ビルダーの出力形式。または、ドキュメント出力が生成されない場合は ''。
- supported_image_types: list[str] = ['image/svg+xml', 'image/png', 'image/gif', 'image/jpeg']¶
ビルダーでサポートされている画像形式の MIME タイプのリスト。画像ファイルは、ここに表示される順序で検索されます。
ファイルサフィックスは
.fjsonです。グローバルコンテキストはglobalcontext.jsonと呼ばれ、検索インデックスはsearchindex.jsonと呼ばれます。バージョン 0.5 で追加されました。
- class sphinx.builders.gettext.MessageCatalogBuilder[ソース]¶
このビルダーは、gettextスタイルのメッセージカタログを生成します。各トップレベルのファイルまたはサブディレクトリは、単一の
.potカタログテンプレートを拡張します。詳細については、国際化のドキュメントを参照してください。
- name = 'gettext'¶
ビルダーの名前。-b コマンドラインオプションで使用します。
- format = ''¶
ビルダーの出力形式。または、ドキュメント出力が生成されない場合は ''。
バージョン 1.1 で追加されました。
- class sphinx.builders.changes.ChangesBuilder[ソース]¶
このビルダーは、現在の
versionに対する、すべてのversionadded、versionchanged、deprecated、およびversionremovedディレクティブのHTML概要を生成します。これは、例えば変更履歴ファイルを生成するのに役立ちます。- name = 'changes'¶
ビルダーの名前。-b コマンドラインオプションで使用します。
- format = ''¶
ビルダーの出力形式。または、ドキュメント出力が生成されない場合は ''。
- class sphinx.builders.dummy.DummyBuilder[ソース]¶
このビルダーは出力を生成しません。入力は解析され、一貫性がチェックされるだけです。これはリンティングの目的で役立ちます。
- name = 'dummy'¶
ビルダーの名前。-b コマンドラインオプションで使用します。
バージョン 1.4 で追加.
- class sphinx.builders.linkcheck.CheckExternalLinksBuilder[ソース]¶
このビルダーは、すべてのドキュメントで外部リンクをスキャンし、
requestsでそれらを開こうとし、壊れているものと標準出力および出力ディレクトリのoutput.txtにリダイレクトされたものの概要を書き込みます。- name = 'linkcheck'¶
ビルダーの名前。-b コマンドラインオプションで使用します。
- format = ''¶
ビルダーの出力形式。または、ドキュメント出力が生成されない場合は ''。
バージョン 1.5 で変更: Sphinx 1.5以降、linkcheck ビルダーは requests モジュールを使用します。
バージョン 3.4 で変更: linkcheck ビルダーは、サーバーがレート制限を適用すると、リンクを再試行します。
- class sphinx.builders.xml.XMLBuilder[ソース]¶
このビルダーは、DocutilsネイティブのXMLファイルを生成します。出力は、XSLTプロセッサなどの標準XMLツールを使用して、任意の最終形式に変換できます。
- name = 'xml'¶
ビルダーの名前。-b コマンドラインオプションで使用します。
- format = 'xml'¶
ビルダーの出力形式。または、ドキュメント出力が生成されない場合は ''。
バージョン 1.2 で追加。
- class sphinx.builders.xml.PseudoXMLBuilder[ソース]¶
このビルダーは、Sphinx/Docutilsの「リーダーからトランスフォームからライター」パイプラインをデバッグするために使用されます。インデント(終了タグなし)でネストを示す、コンパクトな整形された「疑似XML」ファイルを生成します。すべての要素の外部属性が出力され、残りの「保留中」要素の内部属性も出力されます。
- name = 'pseudoxml'¶
ビルダーの名前。-b コマンドラインオプションで使用します。
- format = 'pseudoxml'¶
ビルダーの出力形式。または、ドキュメント出力が生成されない場合は ''。
バージョン 1.2 で追加。
より多くのビルダーを提供する組み込みSphinx拡張機能は次のとおりです。
シリアライズビルダーの詳細¶
すべてのシリアライズビルダーは、ソースファイルごとに1つのファイルといくつかの特別なファイルを出力します。また、reStructuredTextソースファイルを出力ディレクトリの_sourcesディレクトリにコピーします。
PickleHTMLBuilderは、pickleシリアライズインターフェースを実装する組み込みのサブクラスです。
ソースファイルごとのファイルには、out_suffixの拡張子が付いており、ソースファイルと同様にディレクトリに配置されています。それらは、これらのキーを持つ辞書(または辞書のような構造)に非シリアライズされます
bodyHTMLトランスレータによってレンダリングされる、HTML「body」(つまり、ソースファイルのHTMLレンダリング)。
titleドキュメントのタイトル(HTML形式)(マークアップが含まれる場合があります)。
tocファイルの内容の目次で、HTMLの
<ul>としてレンダリングされます。display_toctocに複数のエントリが含まれている場合はTrueのブール値。current_page_name現在のファイルのドキュメント名。
parents、prev、nextTOCツリー内の関連する章に関する情報。各関係は、キー
link(関係のHREF)とtitle(HTMLとしての関連ドキュメントのタイトル)を持つ辞書です。parentsは関係のリストであり、prevとnextは単一の関係です。sourcename_sourcesの下のソースファイルの名前。
特別なファイルは、ルート出力ディレクトリにあります。それらは
SerializingHTMLBuilder.globalcontext_filenameこれらのキーを持つpickle化されたdict
project,copyright,release,version設定ファイルで指定された値と同じ値です。
stylelast_updated最終ビルドの日付です。
builder使用されたビルダーの名前です。pickle の場合は常に
'pickle'です。titlesすべてのドキュメントのタイトルを HTML 文字列として格納した辞書です。
SerializingHTMLBuilder.searchindex_filenameドキュメントの検索に使用できるインデックスです。次のエントリを含む、pickle 化されたリストです。
インデックス付けされたドキュメント名の一覧。
最初のリストと同じ順序で、ドキュメントのタイトルを HTML 文字列として格納したリスト。
単語の語幹 (英語のステマーで処理) を、最初のリストへのインデックスである整数のリストにマッピングする辞書。
environment.pickleビルド環境です。これは常に pickle ファイルであり、ビルダーとは独立しており、ビルダーが開始されたときに使用された環境のコピーです。
他の pickle ファイルとは異なり、この pickle ファイルはアンピクル化時に
sphinxパッケージが利用可能である必要があります。