在Sphinx中创建交叉引用另一个域的节点

时间:2016-06-06 04:19:58

标签: python-sphinx docutils

在自定义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

0 个答案:

没有答案