重命名自动摘要目录树条目

Rename autosummary toctree entries

我决定使用 autosummary 来创建我的模块的文档。在 index.rst 中,我有 "imported" 所有我想要文档的相关模块和子模块。这些模块按预期进行了记录,但有一件事困扰着我。模块路径相当长,在文档旁边的 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我也愿意考虑改变[=13的方法=] 到其他系统,如果它完成了任务。


我还为名为 _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')

然后在index.rst中将module.long_sub.etc改为long_sub.etc。可以在根文件夹中插入目录(例如 D:/abs/path/to/module/long_sub)以缩短导入时间。