我可以使用sphinx automodule但可以在签名中删除模块名称吗?

时间:2019-04-18 17:17:28

标签: documentation python-sphinx

我有一个模块OutputBox和一些子模块mod,并使用submod为其生成文档。

模块中元素(函数,类等)的签名现在看起来像.. automodule:: mod.submod

我希望Sphinx仅显示函数名称,即签名mod.submod.my_function(*args, **kwargs)

我可以在签名中删除前导模块和子模块吗?

2 个答案:

答案 0 :(得分:1)

是的,请在docs/mod/submod.rst中尝试:

.. automodule:: mod.submod

    .. autofunction:: my_function

请参见金字塔文档中的示例HTML buildreST 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 configurationssphinx-napoleon configurations一起使您期望在其他地方进行配置。