拡張機能

多くのプロジェクトではドキュメントに特別な機能が必要となるため、Sphinx ではビルドプロセスに「拡張機能」を追加できます。各拡張機能は、ドキュメント処理のほぼすべての側面を変更できます。

この章では、Sphinx にバンドルされている拡張機能について説明します。独自の拡張機能の作成に関する API ドキュメントについては、Sphinx API を参照してください。

組み込み拡張機能

これらの拡張機能は組み込まれており、extensions 構成値のそれぞれのエントリでアクティブ化できます。

サードパーティ製拡張機能

sphinx-contrib organization で、ユーザーによって提供されたいくつかの拡張機能を見つけることができます。この organization に拡張機能を含める場合は、github-administration プロジェクトで提供されている手順に従ってください。これはオプションであり、他の場所でホストされている拡張機能もいくつかあります。awesome-sphinxdoc および sphinx-extensions プロジェクトは両方とも、厳選された Sphinx パッケージのリストです。多くのパッケージは、Sphinx 拡張機能とテーマに対して、それぞれ Framework :: Sphinx :: Extension および Framework :: Sphinx :: Theme trove 分類子を使用しています。

独自の拡張機能の配置場所

プロジェクトにローカルな拡張機能は、プロジェクトのディレクトリ構造内に配置する必要があります。Python のモジュール検索パスである sys.path を、Sphinx がそれらを見つけられるように適切に設定します。たとえば、拡張機能 foo.py がプロジェクトルートの exts サブディレクトリにある場合は、conf.py に次のように記述します。

import sys, os

sys.path.append(os.path.abspath('exts'))

extensions = ['foo']

拡張機能を sys.path 上の他の場所 (例: site-packages ディレクトリ) にインストールすることもできます。