我决定使用autosummary
来创建我的模块的文档。在index.rst
中,我“导入了”所有我想记录文档的相关模块和子模块。这些模块已按预期进行了文档记录,但是有一件事困扰着我。模块路径相当长,在文档旁边的toctree中它们看起来是排斥的。
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
conf.py
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:
答案 0 :(得分:0)
一个人可以扩展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
)以缩短导入时间。