オブジェクト型の宣言¶
標準ドメインにない名前が必要な場合は、TOML でオブジェクト型を宣言します。Python 拡張を読み込まずに参照先、索引項目、ロールを作れます。宣言が表すのは構文であり、実行する動作ではありません。
参照先:add_crossref_type¶
[[crossref_types]]
directive = "setting"
role = "setting"
index = "pair: %s; setting"
.. setting:: DEBUG は setting-DEBUG という ID の参照先と索引項目を作り、:setting:`DEBUG` からリンクできます。Sphinx と同じです。index は Sphinx の indextemplate に相当し、最初のコロンの前に種類(single、pair、triple、see、seealso)、後に項目を書き、%s が名前を表します。
説明:add_object_type¶
[[object_types]]
directive = "django-admin"
role = "djadmin"
index = "pair: %s; django-admin command"
name = "first-word"
display = "django-admin %s"
program = true
.. django-admin:: migrate [app_label] は普通のオブジェクトと同様に、シグネチャ、本文、ID(django-admin-migrate)、索引項目でコマンドを記述します。Sphinx では parse_node 関数で解析できますが、通常の処理は次のフィールドで指定します。
name-
"whole"(既定)はシグネチャ全体を名前にします。"first-word"は最初の空白までを使います。例えばpdbのb(reak) [lineno]の名前はb(reak)です。 display-
シグネチャの表示形式で、
%sがその値です。既定では原文のままです。 program-
trueにすると、その名前が後続のオプションの所属するプログラムになります。.. program::と同じです。
ディレクティブの別名¶
拡張は Sphinx のディレクティブを別名で登録できます。
[directive_aliases]
django-admin-option = "option"
awaitablefunction = "py:function"
ドメインのない参照先は標準または既定ドメインのディレクティブです。py:function のような参照先はドメインを明示します。
移行¶
guidedog migrate は conf.py に列挙したプロジェクト内の拡張モジュールを探し、add_crossref_type、add_object_type、add_directive の呼び出しを実行せずに読み、表を書きます。宣言できない parse_node(name、display、program で対応させます)や Python 製のディレクティブ、ロール、イベント処理を報告します。