Describe JSON document structures in sphinx
Project description
I was surprised that this didn’t already exist somewhere when I wanted to describe a JSON document outside of using sphinxcontrib-httpdomain to document one of my APIs. This extension simplifies describing structured JSON documents using a new Sphinx domain.
.. json:object:: Github User
What Github's API thinks a user looks like.
:property string login: the user's login
:property integer id: Github assigned unique user identifier
:property string avatar_url: url to user's selected avatar image
or the empty string
:property string gravatar_url: url to the user's gravatar image
or the empty string
This will format to something pretty and make references to :json:object:`Github User` work as expected. See the online examples for a better idea of what is possible.
Quick Start
Install sphinx and the sphinx-jsondomain package:
$ python3 -mvenv env $ env/bin/pip install -q sphinx sphinx-jsondomain
Set up the sphinx documentation root and build your documentation set:
$ env/bin/sphinx-quickstart -p my-project -r 0.0 -v 0.0.0 \ > -a 'Dave Shawley <daveshawley@gmail.com>' --quiet docs $ env/bin/sphinx-build -b html docs build/sphinx/html
Now, find the extensions definition in docs/conf.py and add sphinxjsondomain to the end. Add a json:object directive to docs/index.rst and run sphinx-build again to see the results.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for sphinx_jsondomain-0.0.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cdc03fa28dafc383d30451d724ea293dded4619d777acfa003b2a538bbf52f85 |
|
MD5 | 27a91f051f9a02fbb7c8872e7ae43c81 |
|
BLAKE2b-256 | b0d584dd6832ba3efd05abadffed03c703cf592366c89580a12af893a3cde056 |