sphinx-json-schema-spec#

PyPI version Supported Python versions Build status

A Sphinx extension providing a role which allows linking to sections within the JSON Schema specifications.

It is intended for use by implementations of JSON Schema (in Python or otherwise) who may wish to interlink to the specification in their own documentation.

Usage#

The extension currently provides a single Sphinx role:

:kw:#

Link to the current JSON Schema specification’s definition of the keyword provided.

For instance, writing:

Reference resolution in JSON Schema is done using the :kw:`$ref` keyword.

will produce:

Reference resolution in JSON Schema is done using the $ref keyword.

In addition, the extension automatically populates the Sphinx glossary with terms from the JSON Schema Glossary, such that:

If a :term:`schema` has a :term:`meta-schema`, what do :term:`meta-schemas <meta-schema>` have?

will produce:

If a schema has a meta-schema, what do meta-schemas have?

Contributing#

What’s here, albeit crude, has been used in some form for a long while by jsonschema (the Python library), but the hope is it may be useful to alternate implementations or users in general. Help is very much welcome to improve it!

In particular, help adding support for other (historic or future) drafts, rather than just the single draft currently supported, would be great.