我有一个模块OutputBox
和一些子模块mod
,并使用submod
为其生成文档。
模块中元素(函数,类等)的签名现在看起来像.. automodule:: mod.submod
。
我希望Sphinx仅显示函数名称,即签名mod.submod.my_function(*args, **kwargs)
。
我可以在签名中删除前导模块和子模块吗?
答案 0 :(得分:1)
是的,请在docs/mod/submod.rst
中尝试:
.. automodule:: mod.submod
.. autofunction:: my_function
请参见金字塔文档中的示例HTML build和reST source。
奖金:请参见Cross-referencing syntax的Sphinx文档:
如果为内容加上
~
前缀,则链接文本将仅是目标的最后一个组成部分。例如,:py:meth:~Queue.Queue.get
将引用Queue.Queue.get
,但仅显示get
作为链接文本。
答案 1 :(得分:1)
通过在conf.py
中设置add_module_name
configuration,可以忽略函数,方法和变量之前的模块和软件包名称:
add_module_names = False
这并不明显,因为大量的autodoc configurations与sphinx-napoleon configurations一起使您期望在其他地方进行配置。