重命名自动汇总的toctree条目。

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

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

我们可以扩展 sys.path 来导入子模块,而不参考父模块。在 conf.py:

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

那就改吧 module.long_sub.etclong_sub.etcindex.rst. 我们可以在根目录下插入目录(例如 D:/abs/path/to/module/long_sub)以获得更短的导入时间。

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