我决定使用 autosummary
来创建我的模块的文档。在 index.rst
我已经 "导入 "了所有相关的模块和子模块,我想在这些模块上编写文档。这些模块都按照预期进行了记录,但是有一件事让我很困扰。这些模块的路径相当长,而且在文档旁边的树上看起来很恶心。
index.rst
Documentation
*************
Documentation of things.
.. toctree::
.. autosummary::
:toctree: _autosummary
module
module.submodule
module.submodule.sub
module.long_submodule.sub_1
module.long_submodule.sub_2
module.long_submodule.sub_3
module.long_submodule.sub_4
有什么办法可以在导航栏中重新命名条目?
project = 'Name'
author = 'Me'
version = '0.7'
extensions = ['sphinx.ext.autodoc', 'sphinxcontrib.fulltoc', 'sphinx.ext.autosummary']
templates_path = ['_templates']
autosummary_generate = True
master_doc = 'index'
是否有办法重命名导航栏中的条目,最好是在 index.rst
? 我也愿意考虑把方法从? autosummary
到其他系统,如果这样就可以完成任务。
我还为这些模块使用了一个自定义模板,名为 _templates/autosummary/module.rst
. 其内容如下。
{{ fullname }}
{{ underline }}
.. automodule:: {{ fullname }}
:members:
:undoc-members:
:show-inheritance:
我们可以扩展 sys.path
来导入子模块,而不参考父模块。在 conf.py
:
import sys
sys.path.insert(0, 'D:/abs/path/to/module')
那就改吧 module.long_sub.etc
到 long_sub.etc
在 index.rst
. 我们可以在根目录下插入目录(例如 D:/abs/path/to/module/long_sub
)以获得更短的导入时间。