Skip to main content

Describe JSON document structures in sphinx

Project description

https://img.shields.io/pypi/v/sphinx-jsondomain.svg?maxAge=2592000 https://readthedocs.org/projects/sphinx-jsondomain/badge/?version=latest https://travis-ci.org/dave-shawley/sphinx-jsondomain.svg?branch=master

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sphinx-jsondomain-0.0.3.tar.gz (8.2 kB view hashes)

Uploaded Source

Built Distribution

sphinx_jsondomain-0.0.3-py2.py3-none-any.whl (9.9 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page