在自定义Sphinx域中,我想创建对不同域中另一个节点的引用。例如:
i
我的.. py:class:: foo.bar
Lorem ipsum.
.. example:directive:: baz -> foo.bar
Sit amet, sit.
说我的"方法" example:directive::
返回baz
类型的东西,这是一个Python类。因此,我想将其与其他foo.bar
说明进行交叉引用。
py:class:: foo.bar
在我的自定义域中,我正在解析我的指令并构建元素,并且它很好,甚至在我的from sphinx.directives import ObjectDescription
class ExampleDescription(ObjectDescription):
def handle_signature(self, sig, signode):
# lots of parsing and node creation here
# parsed_annotation = "foo.bar"
signode += addnodes.desc_returns(parsed_annotation, parsed_annotation)
域内进行交叉引用也可以通过继承{{1} } 方法。我只是不确定如何以编程方式在我的example
方法中插入一个节点,该方法稍后会被解析为另一个域中的节点。我会以某种方式实例化sphinx.domains.Domain:resolve_xref
吗?
HTML中的预期结果如下:
handle_signature