延拓.¶
多くの項目の文書には特殊な機能が必要であるため,Sphinxは構築過程に“拡張”を追加することを許可しており,各拡張ごとに文書処理のほぼすべての側面を修正することができる.
本章では,Sphinxと束ねた拡張について述べる.ご自身の拡張を作成するAPIドキュメントについては、ご参照ください Sphinxの開発拡張 それがそうです。
拡張モジュールを内蔵する¶
これらの拡張は内蔵されていて extensions
構成値:
sphinx.ext.autodoc
--文書文字列を含む文書sphinx.ext.autosectionlabel
--タイトルの参照節の使用が許可されていますsphinx.ext.autosummary
--自動文書要約の生成sphinx.ext.coverage
--文書カバー率統計情報の収集sphinx.ext.doctest
--文書内のテストコードセグメントsphinx.ext.duration
--Sphinx処理の継続時間の測定sphinx.ext.extlinks
--外部リンクのタグを短縮するsphinx.ext.githubpages
--GitHubページにHTML文書を投稿します。sphinx.ext.graphviz
--Graphvizグラフの追加sphinx.ext.ifconfig
--構成に応じてコンテンツが含まれています。sphinx.ext.imgconverter
--Imagemagickを使用した参照画像変換器sphinx.ext.inheritance_diagram
--継承マップも含まれていますsphinx.ext.intersphinx
--他のプロジェクト文書へのリンクsphinx.ext.linkcode
--ソースコードへの外部リンクの追加- SphinxにおけるHTML出力の数学的サポート
sphinx.ext.napoleon
--NumPyおよびGoogleスタイルをサポートする文書文字列sphinx.ext.todo
--処理待ち事項のサポートsphinx.ext.viewcode
--強調表示されたソースコードへのリンクの追加
第三者内線.¶
課題
GitHub組織を引用すべきです
ユーザーによって貢献された複数の拡張を見つけることができます Sphinx Contrib 貯蔵庫です。これは拡張を公開維持したい人に開放され、書き込み権限を要求する短いメッセージを送信すればよい。
他のところにもいくつかの拡張がある。♪the Sphinx extension survey そして awesome-sphinxdoc 包括的なリストが含まれています
他の人が有用だと思う拡張を作成した場合、またはSphinxに含まれるべきだと思う場合は、プロジェクトメーリングリストに手紙を書いてください。 (join here )。
内線はどこに置きますか。¶
プロジェクトのローカル拡張はプロジェクトのディレクトリ構造に置かれるべきである.Pythonのモジュール検索パスを設定し、 sys.path
ライオンの顔像を見つけることができます例えば内線があれば foo.py
はい。 exts
プロジェクトルートディレクトリのサブディレクトリ、入れます conf.py
**
import sys, os
sys.path.append(os.path.abspath('exts'))
extensions = ['foo']
拡張モジュールを上の他の位置にインストールすることもできます sys.path
例えば、 site-packages
カタログです。