1

我有一个mod带有一些子模块的模块submod并用于.. automodule:: mod.submod为其生成文档。

模块中元素(函数、类等)的签名现在显示限定名称,例如mod.submod.my_function(*args, **kwargs).

相反,我希望 Sphinx 只显示函数的名称,即签名my_function(*args, **kwargs)

我有什么方法可以删除签名中的主要模块和子模块吗?

4

2 回答 2

2

是的,试试这个docs/mod/submod.rst

.. automodule:: mod.submod

    .. autofunction:: my_function

请参阅Pyramid 文档中的示例HTML 构建reST 源代码。

奖励:有关交叉引用语法,请参阅 Sphinx 文档:

如果您在内容前加上~,则链接文本将只是目标的最后一个组成部分。例如,:py:meth:~Queue.Queue.get将引用Queue.Queue.get但仅显示get为链接文本。

于 2019-04-19T09:05:29.613 回答
1

add_module_name省略函数、方法和变量前面的模块和包名称是通过在您的conf.py:

add_module_names = False

这并不明显,因为大量的autodoc 配置sphinx-napoleon 配置一起使您期望其他地方的配置。

于 2020-10-05T21:45:48.803 回答