我决定使用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.朋友
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
)中插入目录以进行更短的导入。