重命名Sphinx autosummary toctree条目

问题描述 投票:0回答:1

我决定使用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:
python documentation python-sphinx
1个回答
0
投票

可以将sys.path扩展为导入子模块而不引用父代。在conf.py

import sys
sys.path.insert(0, 'D:/abs/path/to/module')

然后在module.long_sub.etclong_sub.etc改为index.rst。可以在根文件夹(例如D:/abs/path/to/module/long_sub)中插入目录以进行更短的导入。

© www.soinside.com 2019 - 2024. All rights reserved.