Attualmente sto documentando un'API di riposo scritta in Python. Tutta la documentazione del progetto viene creata utilizzando Sphinx e per l'API REST vorrei creare alcune direttive speciali. Ad esempio, supponiamo di avere questa risorsa definita:Come creare direttive personalizzate in Sfinge
@resource("/user/<email>", method="GET")
def user_details (email):
""" Returns detailed information about a user account.
:resource GET: /user/<email>
:query_param a_param: Some kind of query param.
"""
# Do stuff and return user details
Questo è fondamentalmente come appare la documentazione attualmente. Mi piacerebbe essere in grado di creare una direttiva per Sphinx che formatta uno o più di quelli :query_param ...:
proprio come fa con il normale :param:
.
Ho trovato come creare ruoli, ma funzionano solo in linea, non per blocchi di dati.
Come devo fare questo?
Si consiglia di chiedere questo sul [Sfinge Google Group] (https://groups.google.com/forum/?fromgroups#!forum/sfinge-dev). Qualcuno potrebbe essere più capace di rispondere alla domanda. Fuori mano, non sono sicuro di come vengono trattati i blocchi di documentazione. Puoi certamente [creare estensioni in Sphinx/docutils] (http://sphinx.pocoo.org/extensions.html), ma non sono sicuro di come il parsing di docstring si inserisca nel modello di Sphinx/docutils. – jszakmeister
Probabilmente la risposta implica l'utilizzo di [GroupedField] (https://bitbucket.org/birkenfeld/sphinx/src/1f3a2749df39/sphinx/util/docfields.py#cl-74) nell'estensione. – jszakmeister