Ответ 1
Я сам боролся с этим, когда нашел этот вопрос... Ответы дали не совсем то, что я хотел, поэтому я поклялся вернуться, когда понял.:)
Чтобы удалить "пакет" и "модуль" из автоматически сгенерированных заголовков и иметь документы, которые действительно автоматические, вам необходимо внести изменения в несколько мест, которые несут меня.
Сначала вам нужно обработать ваши параметры sphinx-apidoc
. Я использую:
sphinx-apidoc -fMeET ../yourpackage -o api
Предполагая, что вы запускаете это из каталога docs
, это будет источником yourpackage
для документации и поместить полученные файлы в docs/api
. Параметры, которые я использую здесь, будут перезаписывать существующие файлы, помещать документы модуля перед документами подмодуля, размещать документацию для каждого модуля на своей странице, воздерживаться от создания заголовков модулей/пакетов, если у ваших док-строк уже есть их, и он не будет создавать файл оглавления.
Это много вариантов для запоминания, поэтому я просто добавляю это в конец моего Makefile
:
buildapi:
sphinx-apidoc -fMeET ../yourpackage -o api
@echo "Auto-generation of API documentation finished. " \
"The generated files are in 'api/'"
С помощью этого места вы можете просто запустить make buildapi
для создания своих документов.
Затем создайте файл api.rst
в корне ваших документов со следующим содержимым:
API Documentation
=================
Information on specific functions, classes, and methods.
.. toctree::
:glob:
api/*
Это создаст оглавление со всем, что находится в папке api
.
К сожалению, sphinx-apidoc
все равно сгенерирует файл yourpackage.rst
с уродливым заголовком "yourpackage package", поэтому нам понадобится одна последняя часть конфигурации. В файле conf.py
найдите параметр exclude_patterns
и добавьте этот файл в список. Он должен выглядеть примерно так:
exclude_patterns = ['_build', 'api/yourpackage.rst']
Теперь ваша документация должна выглядеть так, как вы ее создали в модульных docstrings, и вам никогда не придется беспокоиться о том, что ваши документы Sphinx и ваша внутрикодовая документация не синхронизированы!