パーサー 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 アプリケーションオブジェクト

config: Config

config オブジェクト

env: BuildEnvironment

environment オブジェクト