Переименовать Sphinx в автозвуковые записи - PullRequest
0 голосов
/ 05 февраля 2019

Я решил использовать 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

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:

1 Ответ

0 голосов
/ 22 февраля 2019

Можно расширить 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), чтобы импортировать еще короче.

...