Как использовать Sphinx и autosummary для создания таблицы функций для каждого модуля Python - PullRequest
0 голосов
/ 31 марта 2020

У меня есть пакет Python, который состоит из нескольких модулей, которые, в свою очередь, содержат функции (... без классов). Я имел большой успех со Сфинксом и автодоком / Наполеоном. У меня есть отдельный .rst для каждого модуля и TO C, который позволяет мне быстро переходить к каждому модулю. Все хорошо.

Теперь для каждой страницы модуля я бы хотел иметь таблицу вверху (перед любой документацией по функциям), а таблица перечисляла бы функции модуля и их краткие описания. Я думаю, что autosummary предназначен для этого, но я не могу заставить это работать, независимо от того, где я положил .. autosummary: или в какой форме. Может ли автозвуковый гуру уточнить меня?

Я использую sphinx_rtd_theme.

В частности, вот мой index.rst:

*********************
My Programmers Manual
*********************

.. rubric:: Table of Contents

.. toctree::
   :maxdepth: 4

   Module1
   Module2
   Module3

Для каждого модуля у меня есть кое-что очень близкое к этому:

Module1 Section
===============

.. automodule:: mypackage.module1
    :members:
    :undoc-members:
    :show-inheritance:

Вот части моего config.py:

extensions = [
    'sphinx.ext.autodoc',
    'sphinx.ext.napoleon',
    'sphinx.ext.autosummary',
    'sphinx_autodoc_typehints',
    'sphinx_rtd_theme',
]
add_module_names = False
napoleon_use_param = True
autosummary_generate = True

Я пробовал все виды вещей, для различных статей и сообщений stackoverflow. Я не ухожу далеко.

Вопрос: Кажется, у меня должны быть директивы .. autosummary: либо в моем файле index.rst (вместо моего toctree?), Либо в моем файле module1.rst (какая директива и где?).

Мои пользователи хотели бы, чтобы я решил это! :) Спасибо!

...