パーサー API¶
docutils のドキュメントには、パーサーは次のように記述されています。
パーサーは、入力ドキュメントを解析し、ノードツリー表現を作成します。
Sphinx では、パーサーモジュールは docutils と同じように動作します。パーサーは、アプリケーション API を使用して拡張機能によって Sphinx に登録されます。 Sphinx.add_source_suffix()
と Sphinx.add_source_parser()
。
ソースサフィックス は、ファイルサフィックスからファイルタイプへのマッピングです。 たとえば、.rst
ファイルは、'restructuredtext'
タイプにマッピングされます。 Sphinx は、登録されたリストからパーサーを探すためにファイルタイプを使用します。 検索時に、Sphinx は Parser.supported
属性を参照し、その属性にファイルタイプを含むパーサーを選択します。
ユーザーは、次の例のように source_suffix
を使用してソースサフィックスのマッピングをオーバーライドできます。
# a mapping from file suffix to file types
source_suffix = {
'.rst': 'restructuredtext',
'.md': 'markdown',
}
パーサーがサポートするファイルタイプを示す必要があります。 これにより、ユーザーは設定を適切に構成できます。
- class sphinx.parsers.Parser[ソース]¶
ソースパーサーの基本クラス。 追加のパーサーは、
docutils.parsers.Parser
の代わりにこのクラスを継承する必要があります。docutils.parsers.Parser
と比較して、このクラスは Sphinx API へのアクセス性を向上させます。サブクラスは、sphinx コアのランタイムオブジェクト (app、config、および env) にアクセスできます。
- set_application(app: Sphinx) None [ソース]¶
set_application は、app およびその他のインスタンス変数を設定するために Sphinx から呼び出されます。
- パラメータ:
app (sphinx.application.Sphinx) – Sphinx アプリケーションオブジェクト
- env: BuildEnvironment¶
environment オブジェクト