2016-11-29 7 views
0

Прямо сейчас у моих документов/источника есть index.rst, что в его догета импортирует другой файл под названием api.rst. Я этот файл api.rst Я хотел бы autodoc модуль python. Этот модуль является .py со многими функциями, не привязанными к какому-либо классу, но они организованы группами по их функциональности. Я мог бы написать файл api следующим образом:Readthedocs: Есть ли способ автономного использования одних и тех же функций модели в одном файле?

fbbotw api 
========== 

.. automodule:: fbbotw 
    :members: 

Однако он будет автоматически определять все функции без учета этих групп. Сейчас я пытаюсь сделать это с помощью .. autofunction:: директивы, как это:

fbbotw Functions reference 
========================== 

Graph API Functions 
------------------- 

.. autofunction:: fbbotw.get_user_information 


Send Api Functions 
------------------ 

Sender Actions 
~~~~~~~~~~~~~~ 

.. autofunction:: fbbotw.typing 

Content Types 
~~~~~~~~~~~~~ 

.. autofunction:: fbbotw.post_text_message 
.. autofunction:: fbbotw.post_audio_attachment 
.. autofunction:: fbbotw.post_file_attachment 
.. autofunction:: fbbotw.post_image_attachment 
.. autofunction:: fbbotw.post_video_attachment 

Quick Replies 
~~~~~~~~~~~~~ 

.. autofunction:: fbbotw.post_text_w_quickreplies 


Templates 
~~~~~~~~~ 

.. autofunction:: fbbotw.post_button_template 
.. autofunction:: fbbotw.post_generic_template 
.. autofunction:: fbbotw.post_list_template 
.. autofunction:: fbbotw.post_receipt_template 

Buttons 
~~~~~~~ 

.. autofunction:: fbbotw.post_call_button 


Thread Settings Functions 
------------------------- 

.. autofunction:: fbbotw.post_settings 
.. autofunction:: fbbotw.post_greeting_text 
.. autofunction:: fbbotw.post_start_button 
.. autofunction:: fbbotw.post_persistent_menu 
.. autofunction:: fbbotw.post_domain_whitelisting 
.. autofunction:: fbbotw.post_account_linking_url 

Она работает локально, но онлайн readthedocs только создает заголовки api.rst но .. autofunction:: ничего не делает. Есть ли другой способ сделать это или мне не хватает какой-либо конфигурации?

Другие вещи я пытался:

Для каждой группы в api.rst создать еще один файл и импортировать его toctree, и в этих групп файлы используют .. automodule: fbbotw :members: function1, function2... с указанием членов, которые я хочу AutoDoc в этом файле.

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

+1

Вы пытались использовать [sphinx-apidoc] (https://codeandchaos.wordpress.com/2012/07/30/sphinx-autodoc-tutorial-for-dummies/) (buttom of page) для автоматическая документация – Tobey

+0

Действительно ли автодоводы работают на readthedocs? –

+0

@Tobey. Большинство учебных пособий одинаковы для начинающих readthedocs, так что это то же самое, что и я. –

ответ

0

Sphinx имеет autodocs api для автоматического создания первых файлов для вашего пакета. Вы можете редактировать каждый первый после запуска autodocs и добавлять дополнительную информацию. Будьте осторожны при запуске autodocs, поскольку он может перезаписывать старые файлы.

0

Ответил в комментариях по @MikhailKorobov:

так что проблема не связана с autofunction против automodule, это autodocs, который не работает, не так ли? У них есть раздел FAQ для этой проблемы: http://read-the-docs.readthedocs.io/en/latest/faq.html#my-project-isn-t-building-with-autodoc

Там был ImportError на моем модуле так автодки не мог его установку. Проверка журнала построения readthedocs я мог видеть, что этот ImportError не был рассмотрен в моих тестах, а также среда для создания документов была различной. Работа в настоящее время: http://fbbotw.readthedocs.io/en/latest/