Sphinx logo

目次

前のトピックへ

その他のマークアップ

次のトピックへ

ビルド設定ファイル

このページ

利用可能なビルダー

このドキュメントにあるのが組み込みのSphinxのビルダーです。 また、 拡張 の仕組みを使うと、ビルダーを追加することもできます。

sphinx-build の起動時には、コマンドラインオプション-bでビルダーの名前を指定しなければなりません。

class sphinx.builders.html.StandaloneHTMLBuilder

これは標準的なHTMLビルダーです。 このビルダーはディレクトリにHTMLファイルと、スタイルシート、追加のreSTソースを出力します。 このビルダーにはビルダーの出力を変更できる設定値をいくつか持っています。 詳しくは HTML出力のオプション をご覧ください。

このビルダーの名前は html です。

class sphinx.builders.html.DirectoryHTMLBuilder

このクラスは、標準のHTMLビルダーのサブクラスです。これはindex.html という名前のHTMLファイルと一緒にディレクトリを出力します。そのときに、そのページ名がディレクトリの名前になります。例えば、markup/rest.rstというファイルがあるとすると、 markup/rest.htmlというファイルが出力されるのではなく、markup/rest/index.htmlというファイルが出力されます。ページ間のリンクが生成される場合には、末尾のindex.htmlを省いて、 markup/rest/というようなURLが生成されます。

このビルダーの名前はdirhtmlになります。

バージョン 0.6 で追加.

class sphinx.builders.htmlhelp.HTMLHelpBuilder

このビルダーは標準のHTMLビルダーと同じものを出力しますが、MicrosoftのHTML Help Workshopで使用できる、HTMLヘルプのサポートファイルも生成します。これらの入力をHTML Help Workshop上でコンパイルすると、CHMファイルが生成されます。

このビルダーの名前はhtmlhelpになります。

class sphinx.builders.qthelp.QtHelpBuilder

このビルダーは標準のHTMLビルダーと同じものを出力しますが、Qt help collectionを使ってコンパイルするのに必要なサポートファイル群も一緒に出力します。

このビルダーの名前はqthelpになります。

class sphinx.builders.devhelp.DevhelpBuilder

このビルダーは標準のHTMLビルダーと同じものを出力しますが、 GNOME Devhelp を使ってコンパイルするのに必要なサポートファイル群も一緒に出力します。これらのファイルはGNOME Devhelp readerを使って見ることができます。

このビルダーの名前はdevhelpになります。

class sphinx.builders.latex.LaTeXBuilder

このビルダーは出力フォルダ内に、LaTeXのファイル群を生成します。どのドキュメントを含むかを、 latex_documents の設定値を使って設定します。このビルダーの出力をカスタマイズするための設定値はいくつかあります。詳しくは Options for LaTeX output の章を参照してください。

ノート

生成されるLaTeXファイルは、最低限のTeXディストリビューションいくつかのLaTeXパッケージを使用しています。例えば、TeXLiveでは以下のパッケージをインストールする必要があります。

  • latex-recommended
  • latex-extra
  • fonts-recommended

このビルダーの名前はlatexです。

class sphinx.builders.text.TextBuilder

このビルダーはそれぞれのreSTファイルからテキストファイルを生成します。多くのマークアップが読みやすさのために落とされていますが、ほぼソースのreSTと同じです。

このビルダーの名前はtextです。

バージョン 0.4 で追加.

class sphinx.builders.html.SerializingHTMLBuilder

このビルダーはPythonのシリアライズAPI(pickle, simplejson, phpserialize など)を利用して、実装されています。生成されたHTMLをダンプします。 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 (Python2.6では json), phpserialize, plistlib などがあります。
out_suffix
すべての通常のファイルに付くサフィックスです。
globalcontext_filename
“グローバルコンテキスト”を含むファイルのファイル名です。これは、プロジェクト名などの一般的な設定値を含む辞書です。
searchindex_filename
Sphinxが作成する、検索インデックスのファイル名です。

出力フォーマットの詳細については、 シリアライズを行うビルダーの詳細 を参照してください。

バージョン 0.5 で追加.

class sphinx.builders.html.PickleHTMLBuilder

このビルダーは、pickleでシリアライズしたほとんどのHTML片と、目次情報を含むディレクトリを作成します。このビルダーで生成した結果は、標準のHTMLテンプレートを使用しない、ウェブアプリケーションや、カスタムの後処理ツールで使用することができます。

出力フォーマットの詳細については、 シリアライズを行うビルダーの詳細 を参照してください。

このビルダーの名前は pickle です。以前の名前である web もまだ使用できます。

ファイルのサフィックスは .fpickle になります。グローバルコンテキストは globalcontext.pickle に、検索インデックスは searchindex.pickle になります。

class sphinx.builders.html.JSONHTMLBuilder

このビルダーは、jsonでシリアライズしたほとんどのHTML片と、目次情報を含むディレクトリを作成します。このビルダーで生成した結果は、標準のHTMLテンプレートを使用しない、ウェブアプリケーションや、カスタムの後処理ツールで使用することができます。

出力フォーマットの詳細については、 シリアライズを行うビルダーの詳細 を参照してください。

このビルダーの名前は json です。以前の名前である web もまだ使用できます。

ファイルのサフィックスは .fjson になります。グローバルコンテキストは globalcontext.json に、検索インデックスは searchindex.json になります。

バージョン 0.5 で追加.

class sphinx.builders.changes.ChangesBuilder

このビルダーは、現在の version の設定値と、 versionadded, versionchanged, deprecated の各ディレクティブの情報から、HTMLを生成します。このビルダーは、例えばChangeLogファイルを生成するのに便利です。

このビルダーの名前は changes です。

class sphinx.builders.linkcheck.CheckExternalLinksBuilder

このビルダーは、すべてのドキュメントの外部リンクをチェックして、 urllib2 を使用してきちんと開けるかどうか確認を行います。壊れたリンク、および、リダイレクトされるリンクの情報を、標準出力と、出力ディレクトリの output.txt というファイルに出力します。

このビルダーの名前は linkcheck です。

組み込みのSphinx拡張には、以下の追加のビルダーが含まれます:

シリアライズを行うビルダーの詳細

すべてのシリアライズを行うビルダーは、ソースファイル1つごとに対応するファイルと、いくつかの特殊なファイルを出力します。また、reST形式のソースファイルは、出力ディレクトリ内の _sources ディレクトリ内にコピーされます。

PickleHTMLBuilder クラスは組み込みのサブクラスで、pickleでシリアライズを行うインタフェースを実装しています。

ソースファイルごとに出力されるファイルは out_suffix で指定された拡張子を持ち、ソースファイルとおなじようなディレクトリ構成で書き出されます。これらのファイルは以下のようなキーを持つ辞書、あるいは辞書のようなオブジェクトとして復元することが可能です。

body
HTMLの本体が格納されています。HTMLトランスレータを利用してレンダリングされたものになります。
title
ドキュメントのタイトルです。HTMLのマークアップが含まれている可能性があります。
toc
ファイルの索引になります。HTMLの <ul> を使って表現されています。
display_toc
toc が一つ以上のエントリーを含む場合に True になる、ブール型の値になります。
current_page_name
現在のファイルのドキュメント名になります。
parents, prev, next
TOCツリー上で関連する章の情報です。関連は辞書として表現されます。 key(HREF情報)とtitle(関連ドキュメントのタイトル情報のHTML)が含まれます。 parentsの場合には、関連のリストが含まれますが、prevnextの場合には関連が一つだけ含まれます。
sourcename
_sources以下に置かれている、ソースファイルの名前になります。

出力ディレクトリのルートには、以下の特殊なファイルが配置されます:

SerializingHTMLBuilder.globalcontext_filename

pickleでシリアライズされた辞書です。以下のキーを持っています:

project, copyright, release, version
設定ファイルで指定された、同じ名前の設定の値が入ります。
style, use_modindex
html_style, html_use_modindex の値がそれぞれ入ります。
last_updated
最後にビルドした日時です。
builder
使用したビルダーの名前です。この場合はこれは常に'pickle'になります。
titles
すべてのドキュメントのHTML形式のタイトルを含む辞書です。
SerializingHTMLBuilder.searchindex_filename

ドキュメントの検索で使用されるインデックスになります。以下のエントリーを含む、pickleでシリアライズされたエントリーのリストになります。

  • インデックスが作成されたドキュメント名のリストです。
  • HTMLの文字列形式で作成された、タイトルのリストです。最初のリストと同じ順序になっています。
  • 単語から、数値のリストへの辞書です。この数値は最初のリストのインデックスになります。
environment.pickle

ビルド環境です。これは常にpickleでシリアライズされたファイルで、ビルダーとは独立しています。ビルダーが起動された地点で使用された、環境のコピーです。ドキュメント間の共有のメンバーです。

他のシリアライズされたファイルとは異なり、このファイルはSphinxのモジュールだけが中を読むことを想定しています。