パーサー 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 オブジェクト