ドメインAPI

class sphinx.domains.Domain(env: BuildEnvironment)[ソース]

ドメインは、性質が類似したオブジェクトのセットの“オブジェクト”記述命令であり、それらへの参照の対応する役割を作成する。たとえば,Pythonモジュール,クラス,関数など,テンプレート言語要素,Sphinxロールやコマンドなどである.

各ドメインは、既存のオブジェクトおよびそれらをどのように参照するかに関する情報を格納するための別個の記憶空間を有する。 self.data 辞書でなければなりませんこれはまた、ドメインとは無関係にオブジェクトを参照または検索することを可能にするSphinx部分にオブジェクト情報を統一的に公開するいくつかの関数を実現しなければならない。

について self.data :すべてのオブジェクトおよび交差参照情報がBuildEnvironmentインスタンスに格納されているため, domain.data オブジェクトも格納されています env.domaindata 暗箱操作 domain.name それがそうです。構築プロセスが開始される前に、各アクティブドメインはインスタンス化され、環境オブジェクトが与えられる。 domaindata DICTは存在しない,あるいはその“version”キーワードがドメインクラス“”に等しい辞書でなければならない.“ data_version 属性です。そうでなければ OSError 酸化された環境を廃棄することになります

add_object_type(name: str, objtype: sphinx.domains.ObjType)None[ソース]

オブジェクトタイプを追加します。

check_consistency()None[ソース]

一貫性チェックを実行する( 試験的に )。

clear_doc(docname: str)None[ソース]

ドメインに特定されたリスト中の文書の痕跡を削除する.

directive(name: str) → Callable[ソース]

登録された命令のフルネーム(‘domain:name’)を常に提供する命令アダプタクラスを返し、フォーマットは self.name それがそうです。

get_enumerable_node_type(node: docutils.nodes.Node)str[ソース]

列挙可能ノードのタイプを取得する(実験的).

get_full_qualified_name(node: docutils.nodes.Element)str[ソース]

与えられたノードの全制約名を返す.

get_objects() → Iterable[Tuple[str, str, str, str, str, int]][ソース]

反復可能な“オブジェクト記述”を返します。

オブジェクト記述は、6つの項目を含むタプルである:

name

名称を完全に限定する。

dispname

/リンクを検索する際に表示する名前.

type

対象タイプ、キーワード self.object_types それがそうです。

docname

その文書を見つけなければならない。

anchor

オブジェクトのアンカ名。

priority

対象がどれだけ“重要”であるか(検索結果中の位置を決定する).以下の選択肢の1つ:

1

デフォルト優先度(全文マッチングの前に置く).

0

オブジェクトは重要である(デフォルト優先度オブジェクトの前に置く).

2

対象は重要ではない(全文マッチングの後に置く).

-1

対象は検索に現れるべきではない.

get_type_name(type: sphinx.domains.ObjType, primary: bool = False)str[ソース]

ObjTypeのフルネームを返す.

merge_domaindata(docnames: List[str], otherdata: Dict)None[ソース]

以下の内容に関するデータを統合する 文書名. 異なるドメインからのデータリスト(並列構築におけるサブフローから).

process_doc(env: BuildEnvironment, docname: str, document: docutils.nodes.document)None[ソース]

環境で文書を読み取った後に処理を行う.

process_field_xref(pnode: sphinx.addnodes.pending_xref)None[ソース]

ドキュメントフィールドで作成された保留外部参照を処理する。たとえば,現在のスコープに関する情報を付加する.

resolve_any_xref(env: BuildEnvironment, fromdocname: str, builder: Builder, target: str, node: sphinx.addnodes.pending_xref, contnode: docutils.nodes.Element) → List[Tuple[str, docutils.nodes.Element]][ソース]

解析保留の_xref node 与えられた場合 目標 それがそうです。

“どんな”または似たような役割から引用することは、私たちがタイプを知らないということを意味する。そうでなければ、パラメータと resolve_xref() それがそうです。

この方法はタプルリストを返さなければならない(空である場合がある ('domain:role', newnode) どこですか 'domain:role' 同じ参照を作成することができるロールの名前、例えば 'py:func' それがそうです。 newnode 何だよ? resolve_xref() 戻ってきます。

バージョン 1.3 で追加.

resolve_xref(env: BuildEnvironment, fromdocname: str, builder: Builder, typ: str, target: str, node: sphinx.addnodes.pending_xref, contnode: docutils.nodes.Element) → docutils.nodes.Element[ソース]

解析保留の_xref node 与えられた場合 typ そして 目標 それがそうです。

この方法は、外部参照ノードを置換するために新しいノードを返すべきであり、ノードは含まれる。 連絡ノード. これは交差引用のタグ内容である.

解像度が見つからない場合には、いかなる解像度も返すことができず、その後、外部参照ノードは、外部参照ノードに提供される。 missing-reference イベントは、これが何の解決策も生じなければ、 連絡ノード. それがそうです。

この方法はまた向上させることができます sphinx.environment.NoUri 抑制しなければならない missing-reference 発している事件。

role(name: str) → Callable[[str, str, str, int, docutils.parsers.rst.states.Inliner, Dict[str, Any], List[str]], Tuple[List[docutils.nodes.Node], List[docutils.nodes.system_message]]][ソース]

ロールアダプタ関数を返し、この関数は、常に登録ロールのフルネーム(‘domain:name’)を第1のパラメータとする。

setup()None[ソース]

ドメインオブジェクトを設定します。

dangling_warnings = {}

ロール名->参照が不足している場合は、警告メッセージが表示されます。

data = None

データ値.

data_version = 0

データバージョンはフォーマットが self.data 変化

directives = {}

コマンド名->コマンドクラス

enumerable_nodes = {}

NODE_CLASS->(enum_node_type,title_getter)

indices = []

索引サブクラスリスト

initial_data = {}

新しい環境のデータ価値

label = ''

ドメインタグ:より長く、より記述的(メッセージのため)

name = ''

ドメイン名:短くなければならないが,唯一でなければならない

object_types = {}

タイプ(通常はコマンド)名->ObjTypeインスタンス

roles = {}

ロール名->呼び出し可能なロール

class sphinx.domains.ObjType(lname: str, *roles: Any, **attrs: Any)[ソース]

ObjTypeはドメインに記述可能なオブジェクトタイプの記述である.ドメインサブクラスのOBJECT_TYPE属性では、オブジェクトタイプ名がこのようなインスタンスにマッピングされる。

構造関数パラメータ:

  • Lname :タイプのローカル化された名前(ドメイン名を含まない)

  • 役柄 :このタイプのオブジェクトのすべてのロールを引用することができる

  • 属性 :Object Attributes--現在は“searchprio”しか知られておらず、全文検索インデックス中のオブジェクトの優先度を定義していますので、参照されたい Domain.get_objects() それがそうです。

class sphinx.domains.Index(domain: sphinx.domains.Domain)[ソース]

インデックスは、ドメイン固有のインデックスの記述である。ドメインにインデックスを追加するには、サブクラスIndexは3つの名前属性をカバーします:

  • name ファイル名を生成するための識別子である。これはインデックスのハイパーリンク先にも用いられる.したがって,ユーザは利用することができる. ref キャラクタとドメイン名と文字列を組み合わせた文字列 name 属性(例えば :ref:`py-modindex `)

  • localname 索引の節見出しです。

  • shortname インデックスの略称であり,HTML出力における関係欄に用いられる.関係欄のエントリを無効にするために空とすることができる。

1つの方法を提供しています generate() 方法です。そして,インデックスクラスをドメインに追加する indices リストです。拡張モジュールは、既存ドメインにインデックスを追加することを使用することができる add_index_to_domain() それがそうです。

バージョン 3.0 で変更: 索引ページは以下のようにドメイン名とインデックス名で参照することができる ref 役。

generate(docnames: Optional[Iterable[str]] = None) → Tuple[List[Tuple[str, List[sphinx.domains.IndexEntry]]], bool][ソース]

インデックスのエントリを取得する。

もし docnames これらの文書名を参照するエントリに制限する.

返り値は (content, collapse)

collapse

サブアイテムが折り畳みを開始すべきかどうかを決定するブール値である(折り畳みサブアイテムをサポートする出力フォーマットのため)。

content

一連 (letter, entries) メタグループ、その中で letter 決まった語を与える“見出し”です entries 通常は最初の文字で entries 単一のエントリのシーケンスです。すべての項目は1つのシーケンスです [name, subtype, docname, anchor, extra, qualifier, descr] それがそうです。このシーケンス中の項目は以下の意味を持つ:

name

表示するインデックス項目の名前

subtype

サブ項に関するタイプ.以下の選択肢の1つ:

0

通常の項目です

1

帯項目の項目。

2

サブエントリです。

docname

文書名. エントリが存在する位置。

anchor

内部エントリのアンカー docname

extra

エントリの追加情報。

qualifier

記述された限定子。

descr

項目の説明。

LaTeXのようないくつかの出力フォーマットは、限定子および説明を示さない。

Pythonドメイン

class sphinx.domains.python.PythonDomain(env: BuildEnvironment)[ソース]

Python言語ドメインです。

objects
modules
note_object(name: str, objtype: str, node_id: str, location: Optional[Any] = None)None[ソース]

交差参照するPythonオブジェクトに注意してください。

バージョン 2.1 で追加.

note_module(name: str, node_id: str, synopsis: str, platform: str, deprecated: bool)None[ソース]

交差参照可能なpythonモジュールに注意してください。

バージョン 2.1 で追加.