Custom directives in Sphinx
I'm currently documenting a rest API written in Python. All the project's documentation is created using Sphinx, for the REST API I would like to create some special directvies. For instance, let's say I have this resource defined:
@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
That's basically how the documentation currently looks, I would like to be able to create a directive for Sphinx that formats one or more of those :query_param ...: just like it does with regular :param:.
I tried searching google, but the only thing I can find is how to make roles, but they only work inline, not for blocks of data.
How should I go about making this?
Sphinx can be extended with custom directives via "Sphinx Extensions". That is, you will need to implement a Sphinx extension providing the query_param custom directive, and add this extension to your Sphinx project.
Sphinx documentation provides a tutorial on implementing extensions, in which they implement a custom directive indeed.