Sphinx logo

Table Of Contents

Previous topic

Sphinxドメイン

Next topic

ビルド設定ファイル

This Page

利用可能なビルダー

このドキュメントにあるのが組み込みの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になります。

New in version 0.6.

class sphinx.builders.html.SingleFileHTMLBuilder

これは、プロジェクト全体のファイルを結合して、1ファイルにして出力するHTMLビルダーです。 (これは小さなプロジェクトでうまく動作します。) このファイルは、マスタードキュメントに似た名前になります。 また、索引は生成されません。

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

New in version 1.0.

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.epub.EpubBuilder

このビルダーはstandaloneのHTMLビルダーと同じものを出力しますが、電子ブックリーダーのための、 epub ファイルも一緒に生成します。詳しくは Epub情報 を参照してください。epubフォーマットの定義については http://www.idpf.org/specs.htm もしくは http://en.wikipedia.org/wiki/EPUB を参照してください。

電子ブックリーダーによっては、参照のリンクターゲットが表示されない場合があります。そのため、必要に応じて、このビルダーはリンクの後ろにターゲットを追加します。URLの表示は、 link-target クラスをCSSのルールに追加することで、カスタマイズすることができます。

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

class sphinx.builders.latex.LaTeXBuilder

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

Note

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

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

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

rst2pdf のバージョン 0.12以降を使うと、ReportLabを使用して、PDFを直接出力するビルダーが利用できます。これを使用するためには、 extensions'rst2pdf.pdfbuilder' を追加して、ビルダー名 pdf を指定してビルドします。詳しくは、 rst2pdfのマニュアル を参照してください。

class sphinx.builders.text.TextBuilder

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

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

New in version 0.4.

class sphinx.builders.manpage.ManualPageBuilder

このビルダーは、groffフォーマットのmanページを作成します。manページに含めるドキュメントは、 man_pages 設定値を使って指定します。

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

Note

このビルダーを実行するには、docutilsのmanページライターが必要になるため、 docutils 0.6以降が必要となります。

New in version 1.0.

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が作成する、検索インデックスのファイル名です。

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

New in version 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 です。

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

New in version 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
html_style
last_updated
最後にビルドした日時です。
builder
使用したビルダーの名前です。この場合はこれは常に'pickle'になります。
titles
すべてのドキュメントのHTML形式のタイトルを含む辞書です。
SerializingHTMLBuilder.searchindex_filename

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

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

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

Todo

共通メンバーのドキュメントを書く

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