私は現在、Pythonで書かれたrest APIを文書化しています。すべてのプロジェクトのドキュメントはSphinxを使用して作成され、REST APIのためにいくつかの特別なディレクティブを作成したいと考えています。たとえば、このリソースが定義されているとしましょう:スフィンクスでカスタムディレクティブを作成するには
@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
これは基本的にドキュメントの外観です。私は、スフィンクスの指示文を作成して、:query_param ...:
のうちの1つ以上を通常の:param:
のようにフォーマットすることができるようにしたいと考えています。
ロールの作成方法はわかりましたが、データのブロックではなく、インラインでしか動作しません。
どうすればいいですか?
あなたは[スフィンクスGoogleグループ]でこれをお聞きしたいことがあり(https://groups.google.com/forum/?fromgroups#!forum/sphinx-dev)を実行します。誰かが質問に答える能力があるかもしれません。オフラインでは、ドキュメンテーションブロックの扱いがわかりません。確かに[Sphinx/docutilsの拡張機能を作成する](http://sphinx.pocoo.org/extensions.html)ができますが、docstringの構文解析がどのようにSphinx/docutilsモデルに適合するかはわかりません。 – jszakmeister
あなたのエクステンションに[GroupedField](https://bitbucket.org/birkenfeld/sphinx/src/1f3a2749df39/sphinx/util/docfields.py#cl-74)を使用していると思われます。 – jszakmeister