ビルダー¶
これらは 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-recommended
texlive-fonts-recommended
texlive-fonts-extra
(fontawesome5
に必要、下記の 7.4.0 の変更通知を参照)tex-gyre
(latex_engine
がデフォルトのままの場合)texlive-latex-extra
latexmk
バージョン 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-xetex
latex_engine
が'lualatex'
の場合はtexlive-luatex
latex_engine
が'xelatex'
または'lualatex'
の場合はfonts-freefont-otf
注記
1.6 以降、GNU/Linux および macOS では、
make latexpdf
は必要な実行回数が自動的に実行されるように latexmk を使用します。Windows では、PDF ビルドは固定回数の LaTeX 実行 (3 回、次にmakeindex
、次にさらに 2 回) を実行します。latexmk
にオプションを渡すには、LATEXMKOPTS
Makefile 変数を使用します。例: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
の拡張子が付いており、ソースファイルと同様にディレクトリに配置されています。それらは、これらのキーを持つ辞書(または辞書のような構造)に非シリアライズされます
body
HTMLトランスレータによってレンダリングされる、HTML「body」(つまり、ソースファイルのHTMLレンダリング)。
title
ドキュメントのタイトル(HTML形式)(マークアップが含まれる場合があります)。
toc
ファイルの内容の目次で、HTMLの
<ul>
としてレンダリングされます。display_toc
toc
に複数のエントリが含まれている場合はTrue
のブール値。current_page_name
現在のファイルのドキュメント名。
parents
、prev
、next
TOCツリー内の関連する章に関する情報。各関係は、キー
link
(関係のHREF)とtitle
(HTMLとしての関連ドキュメントのタイトル)を持つ辞書です。parents
は関係のリストであり、prev
とnext
は単一の関係です。sourcename
_sources
の下のソースファイルの名前。
特別なファイルは、ルート出力ディレクトリにあります。それらは
SerializingHTMLBuilder.globalcontext_filename
これらのキーを持つpickle化されたdict
project
,copyright
,release
,version
設定ファイルで指定された値と同じ値です。
style
last_updated
最終ビルドの日付です。
builder
使用されたビルダーの名前です。pickle の場合は常に
'pickle'
です。titles
すべてのドキュメントのタイトルを HTML 文字列として格納した辞書です。
SerializingHTMLBuilder.searchindex_filename
ドキュメントの検索に使用できるインデックスです。次のエントリを含む、pickle 化されたリストです。
インデックス付けされたドキュメント名の一覧。
最初のリストと同じ順序で、ドキュメントのタイトルを HTML 文字列として格納したリスト。
単語の語幹 (英語のステマーで処理) を、最初のリストへのインデックスである整数のリストにマッピングする辞書。
environment.pickle
ビルド環境です。これは常に pickle ファイルであり、ビルダーとは独立しており、ビルダーが開始されたときに使用された環境のコピーです。
他の pickle ファイルとは異なり、この pickle ファイルはアンピクル化時に
sphinx
パッケージが利用可能である必要があります。