2013-01-02 2 views
9

Mögliche Duplizieren:
Sphinx — combining automodule and autoclassPython: Sphinx: Wie automatisch alle Klassen, Methoden und Funktionen in einer Sphinx-Dokumentation enthält?

ich versuche, eine HTML-Dokumentation für ein Projekt zu erstellen mehrere tausend Klassen enthalten Sphinx verwenden und es ist Autodoc Plugin. sphinx-apidoc erstellt wunderbare rst-Dateien, aber fehlt eine automatische Erstellung von Autoklassen und automethods.

Gibt es einen Weg/Befehl/Dienstprogramm in Sphinx, alle Variablen, Funktionen, Klassen und Dekoratoren in der Dokumentation automatisch einzuschließen?

Einige Beispielcode einer ersten-Datei:

tagger Package 
================= 

:mod:`tagger` Package 
------------------------ 
.. automodule:: project.tagger 
    :members: 


:mod:`client` Module 
-------------------- 
.. automodule:: project.analyzers.tagger.client 
    :members: 
+0

Haben Sie überprüft bereits die [ 'autodoc' Erweiterung] (http://sphinx-doc.org/ext/autodoc.html#module-sphinx.ext.autodoc)? –

+0

die Autodoc Erweiterung im conf.py hinzugefügt: Erweiterungen = [ ‚sphinx.ext.autodoc‘, ‚sphinx.ext.viewcode‘] Sphinx erkennt alle Module aber nicht aufgeführt, die Klassen und Methoden. – Jon

+0

Entsprechend der obigen Autodoc-Erweiterung werden 'Member ohne Docstrings weggelassen, es sei denn, Sie geben die Undoc-Member-Flag-Option' – intotecho

Antwort

1

Es gibt Sphinx-Erweiterung, die Ihnen dabei helfen wird.

Erweiterung ist autodoc.

Wenn Sie die Klasse aufnehmen möchten, dann haben Sie

.. autoclass:: <ClassName> 

Slly für Verfahren zu schreiben.

+7

Ich benutze Autodoc. Dies bedeutet, dass ich mehr als tausend Mal ..autoclass hinzufügen oder ein Skript erstellen müsste. Gibt es keine automatische Erkennung? – Jon

+2

Sie können 'Automodule' verwenden Wenn Sie Mitglieder automatisch dokumentieren möchten, gibt es eine Mitgliederoption. Bitte überprüfen Sie den Link. Es gibt viele Optionen in der Autodoc-Erweiterung. – Nilesh