2016-07-09 32 views
1

我正在使用帶有numpydoc擴展名和自動摘要的sphinx。經過一番實驗後,我將下列選項添加到我的conf.py文件中。帶有toctree的自動摘要不爲方法創建文檔

autosummary_generate = True 
numpydoc_show_class_members = False 

這是給我像下面引用的每個類一個新的文件,同時也建立了所有的屬性和方法的總結表。

.. autosummary:: 
    :toctree: generated/ 
    :nosignatures: 

    MyClass 

問題是,雖然有文檔字符串的第一行的方法的摘要表,但方法的名稱不會鏈接到任何內容。如何獲取方法的文檔字符串以創建自己的文件(或者至少在與類相同的文件中生成文檔)?

+0

1)難道只是有沒有聯繫,或者是應該是鏈接目標文件丟失? 2)我希望看到'autosummary'指令中列出的**類**的彙總表,而不是方法的彙總表。我誤解了什麼嗎? – mzjn

+0

它正在爲MyClass生成一個文件,該文件中包含所有屬性和方法的autoclass指令,但這是它結束的地方。生成的HTML文件包含類文檔字符串和屬性和方法的彙總表,但沒有爲這些方法生成文檔。它似乎需要另一個:toctree:在該文件中生成完整的樹。 – kesmit

+0

在這個答案中看到我的評論來自2013年1月31日在20:01:http://stackoverflow.com/a/14621772/407651。它可能有幫助。 – mzjn

回答

0

首先,請確保在您的conf.py文件中,字符串的'sphinx.ext.autodoc'和'sphinx.ext.autosummary'位於擴展列表中。

其次,您可以手動進行與名mymodule.MyClass.rst該文件的生成/目錄下,它可以是這樣的內部:

mymodule.MyClass 
================ 

.. currentmodule:: mymodule 

.. autoclass:: MyClass 

,或者,如果你有很多的類,你可以使用sphinx-autogen自動化它。您可以從終端(與CD相同conf.py文件)作爲運行它:

獅身人面像,AUTOGEN * .rst