Я сам боролся с этим, когда нашел этот вопрос ... Приведенные ответы не совсем соответствовали тому, что я хотел, поэтому я поклялся вернуться, когда я это выясню. :)
Чтобы удалить «пакет» и «модуль» из автоматически сгенерированных заголовков и иметь документы, которые являются действительно автоматическими, вам необходимо внести изменения в нескольких местах, так что несите меня.
Во-первых, вам нужно обработать ваши 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']
Теперь ваша документация должна выглядеть точно так, как вы ее разработали в строках документации модуля, и вам никогда не придется беспокоиться о том, что ваши документы Sphinx и документация в коде не будут синхронизированы!
person
Jen Garcia
schedule
07.02.2016