Compreso docstring in Sfinge Documentazione
-
27-10-2019 - |
Domanda
mi piacerebbe includere solo il docstring di una funzione specifica nella mia documentazione Sfinge. Tuttavia sembra che ci siano opzioni da mostrare solo questi dettagli senza classe associata e definizioni di funzioni che utilizzano http: / /sphinx.pocoo.org/ext/autodoc.html
Ho provato a creare una classe come indicato nel * solo * docstring in Sfinge non documentazione ma sono sicuro di come questo in sintonia con il template.
Ho anche provato il gestore eventi autodoc-processo-docstring senza fortuna.
Quindi, piuttosto che la mia documentazione visualizzazione (come è attualmente):
class module.MyClass(param)
This is the class doc string
my_method()
This is my method doc string
Voglio solo visualizzazione:
This is my method doc string
Il mio attuale modello in un file .txt è:
.. autoclass:: module.MyClass
:members: my_method
Soluzione
Dopo aver guardato attraverso la sorgente e la sperimentazione -. Qui è come farlo in Sphinx 1.1
Nel file conf.py creare una nuova sottoclasse MethodDocumenter. Qui è possibile impostare un nuovo "objtype", assicurarsi che il docstring non è rientrato, e rimuovere il titolo.
from sphinx.ext import autodoc
class SimpleDocumenter(autodoc.MethodDocumenter):
objtype = "simple"
#do not indent the content
content_indent = ""
#do not add a header to the docstring
def add_directive_header(self, sig):
pass
quindi assicurarsi che questo si aggiunge agli scrittori di documentazione disponibili con la seguente funzione (di nuovo in conf.py):
def setup(app):
app.add_autodocumenter(SimpleDocumenter)
Poi, quando si vuole solo visualizzare docstring di un metodo di utilizzare il seguente formato nel file .txt o .rst. Basta prefisso tua objname con l'auto.
.. autosimple:: mod.MyClass.my_method