これはSphinxドキュメンテーションビルダーのドキュメントです。Sphinxは一連の reStructuredText (以下reST)のソースファイルを様々な出力形式に変換したり、クロスリファレンスやインデックスなどを自動生成するツールです。これは、もしreSTフォーマットのドキュメント群が含まれるディレクトリがあったとしたら、Sphinxはそこから非常によくまとまった配置のHTMLファイル群を生成することができるということを意味しています。サブディレクトリにソースが分かれていても問題はありません。また、結果のHTMLはブラウザで簡単に見たり、ナビゲーションもしっかりしたものになります。それだけではなく、同じソースファイルから、同様にLaTeXファイルも出力することができ、これをコンパイルすることでPDFバージョンのドキュメントも生成することができます。
このドキュメントでは、自動生成のAPIのドキュメントではなく、手で作成するドキュメンテーションにフォーカスします。そのようなドキュメントのサポートに関してはまだ限定的にはあります(手で作成するコンテンツも自由に追加できるようにする予定)が、もし純粋なAPIドキュメントが必要であれば、 Epydoc をご覧ください。こちらもreSTを解釈することができます。
このセクションでは、他のドキュメントシステムからreStructuredText/Sphinxへの移行を考えている人達へのヒントを集めています。
Sphinxの実行には Python 2.4 よりも新しいバージョンのPythonが必要です。もしもソースコードハイライトのサポートが必要であれば、 Pygments ライブラリも一緒にインストールする必要がありますが、 setuptoolsのeasy_installを使用すれば一緒にインストールできます。Sphinxが依存しているコンポーネントとしては、docutilsのバージョン 0.4、もしくはSVNリポジトリのTrunkのスナップショット(壊れていないものに限定)があります。
ドキュメント集のルートディレクトリは ソースディレクトリ と呼ばれます。通常、このディレクトリには、Sphinxのコンフィグファイルの conf.py が含まれますが、違うファイルにあってもかまいません。この場合は、 conf.py が含まれるディレクトリを コンフィギュレーションディレクトリ と呼びます。
バージョン 0.3 で追加: コンフィギュレーションディレクトリを他のディレクトリに設定できるようになりました。
Sphinxを使用するには、まずは sphinx-quickstart と呼ばれるスクリプトを実行して、いくつかの質問に答えて、ソースディレクトリと、デフォルトの conf.py のセットアップを行います。実行するには以下のようにします:
$ sphinx-quickstart
そして、質問に回答していきます。
ビルドは、 sphinx-build スクリプトを起動して行います。以下のように実行します。
$ sphinx-build -b latex sourcedir builddir
sourcedir には ソースディレクトリ が、 builddir にはビルドしたドキュメントを置きたいディレクトリ(存在しているディレクトリでなければいけません)を指定します。 -b オプションでビルダーを選択します。このサンプルではSphinxは LaTeXのファイルをビルドします。
The sphinx-build script has several more options:
sphinx-build スクリプトはこれ以外にもいくつかオプションを持っています:
-a
もしこのオプションが設定されると、すべての出力ファイルを書き出します。デフォルトでは新規に作成されたり、変更のあったソースファイルに関連する出力ファイルだけを出力します。このオプションはすべてのビルダーに適応するわけではありません。
-E
保存されている 環境 を使用しないで、完全に再構築する場合に利用します。環境にはクロスリファレンスの構造を保持しています。デフォルトでは新規に作成されたり、最後に実行してから変更のあったソースファイルだけを読み込んで、パースします。
タグ というタグを定義します。これは、タグが設定されているときにだけ内容を取り込むという、 only ディレクティブと関係があります。
バージョン 0.6 で追加.
ソースディレクトリ以下の conf.py ではなく、オプションで指定されたコンフィグレーションディレクトリ以下の設定ファイルを利用するようにします。ただし、さまざまな他のファイル、パスなど、設定値で与えられたものに関しては、コンフィグレーションディレクトリからの相対パスで探索されることになるため、その状況になってもファイルがきちんと読めるようにしておく必要があります。
バージョン 0.3 で追加.
コンフィグファイルを無視します。設定は -D オプションを使って指定します。
バージョン 0.5 で追加.
conf.py に書かれた設定値を上書きで設定します。値は文字列か辞書の値であるひつようがあります。後者の場合には設定名とキーは以下のように設定することができます: -D latex_elements.docclass=scartcl
バージョン 0.6 で変更: 値として辞書の値が使えるようになりました。
コマンドラインオプションでソースディレクトリ、ビルドディレクトリに追加して、1つ以上のファイル名を指定することもできます。Sphinxはこれらのファイルと、それに依存するファイル群だけを出力しようとします。