Builder を継承したクラスで、パースされたドキュメントを受け取り、それに対してアクションをします。通常、ビルダーは他の出力フォーマットへ、ドキュメントを変換しますが、壊れたリンクのチェックを行ったり、情報のカバレッジを計測したり、といった用途にも使用することができます。
Sphinxの内蔵のビルダーに関しては、 利用可能なビルダー のドキュメントを参照してください。
reSturcturedTextのマークアップの要素で、特別な意味を持つコンテンツのブロックを表現することができます。ディレクティブはDocutils由来のものだけでなく、Sphinx、カスタムの拡張機能によって定義されたものも使用できます。基本的なディレクティブの文法は次のようになります:
.. ディレクティブ名:: 引数 ...
:オプション: 値
ディレクティブのコンテンツ
reSTのソースファイルにはいくつかの拡張子を付けることができます。 .txt と付けるのが好きな人もいますし、 .rst を好む人もいます。Sphinxの中では source_suffix で拡張子を設定できます。また、OSによっては、パスの区切り文字が変わります。そのため、Sphinxではこれを抽象化して、 ドキュメント名 として、 ソースディレクトリ からの相対パスで、拡張子は省略し、区切り文字にスラッシュを利用するように変換されます。ドキュメントが来ることを期待する値、パラメータなどは、すべてこのようなドキュメント名が渡されるのを期待します。
ドキュメント名のサンプルとしては、 index, library/zipfile, reference/datamodel/types などがあります。前後のスラッシュは完全に省略されることに注意して下さい。
ドメインは、特定のプログラミング言語の要素などの オブジェクト の説明をしたり、リンクを張ったりするような、マークアップ(reSturucturedTextの ディレクティブ, ロール)を集めたものです。ドメインに属するディレクティブとロールの名前は、 py:function のように ドメイン:名前 となります。
ドメインを使用すると、ドキュメント内でC++とPythonの両方のクラスに言及したい場合などに、名前の衝突の問題を避けることができます。また、まったく新しい言語のドキュメント作成をサポートする拡張機能も作りやすくなります。ドメインに関する詳細な情報は、 Sphinxドメイン の章を参照してください。