1

我在 Sphinx 中交叉引用函数时遇到了一些问题。只要我只有一个模块,像:func:`myfunc`这样的东西就可以正常工作,我可以点击链接来访问引用的函数。

然而,添加更多模块会破坏链接,我无法再单击它。解决这个问题的唯一方法是列出函数的完整名称::func:`mymodule.mysubmodule.MyClass.myfunc`。这有点烦人,特别是因为整个名称也显示在 html 页面中。

有没有办法至少在 html 文档中缩短链接的名称?即您只阅读 myfunc 而不是 mymodule.mysubmodule.MyClass.myfunc?

谢谢!

4

1 回答 1

3

有两件事可能会发现有用:

  • 如果您当前的模块(用 设置.. currentmodule::)与链接的模块一致,则不必明确指定它。您还可以从另一个文档字符串中引用其中一个类方法。从文档

通常,首先搜索这些角色中的名称而不进行任何进一步的限定,然后在前面加上当前模块名称,然后在前面加上当前模块和类名(如果有的话)。如果您在名称前加上一个点,则此顺序会颠倒。

  • 如果您在全名前加上~, like :func:`~mymodule.mysubmodule.MyClass.myfunc`,HTML 将只包含最后一部分。
于 2013-09-17T10:06:05.170 回答