我有一个mod
带有一些子模块的模块submod
并用于.. automodule:: mod.submod
为其生成文档。
模块中元素(函数、类等)的签名现在显示限定名称,例如mod.submod.my_function(*args, **kwargs)
.
相反,我希望 Sphinx 只显示函数的名称,即签名my_function(*args, **kwargs)
。
我有什么方法可以删除签名中的主要模块和子模块吗?
我有一个mod
带有一些子模块的模块submod
并用于.. automodule:: mod.submod
为其生成文档。
模块中元素(函数、类等)的签名现在显示限定名称,例如mod.submod.my_function(*args, **kwargs)
.
相反,我希望 Sphinx 只显示函数的名称,即签名my_function(*args, **kwargs)
。
我有什么方法可以删除签名中的主要模块和子模块吗?
是的,试试这个docs/mod/submod.rst
:
.. automodule:: mod.submod
.. autofunction:: my_function
请参阅Pyramid 文档中的示例HTML 构建和reST 源代码。
奖励:有关交叉引用语法,请参阅 Sphinx 文档:
如果您在内容前加上
~
,则链接文本将只是目标的最后一个组成部分。例如,:py:meth:~Queue.Queue.get
将引用Queue.Queue.get
但仅显示get
为链接文本。
add_module_name
省略函数、方法和变量前面的模块和包名称是通过在您的conf.py
:
add_module_names = False
这并不明显,因为大量的autodoc 配置与sphinx-napoleon 配置一起使您期望其他地方的配置。