Metadata-Version: 2.1
Name: jsonschema2rst
Version: 0.0.9
Summary: Parser for yaml/json schemas to rst
Home-page: https://github.com/inspirehep/jsonschema2rst
Author: CERN
Author-email: admin@inspirehep.net
License: GPLv2
Keywords: jsonschema yaml rst parser documentation
License-File: AUTHORS
Requires-Dist: pyyaml
Requires-Dist: autosemver
Requires-Dist: isort
Requires-Dist: pytest
Requires-Dist: coverage>=4.0
Requires-Dist: isort>=4.2.2
Requires-Dist: pytest-cache>=1.0
Requires-Dist: pytest-cov>=1.8.0
Requires-Dist: pytest-pep8>=1.0.6
Requires-Dist: pytest>=3.0.3
Requires-Dist: mock>=2.0.0

jsonschema2rst
++++++++++++++

This project aims to parse *JSON schemas* or *YAML* schemas in order to create
RestructuredText documentation.
Using a tool like Sphinx, it is possible to create high readable documentation
from the files generated, which are RST formatted text.

The outcome RST can be customized by defining a blacklist in csv and using a
custom CSS file. that will inherit the Sphinx one. For the latter, an
example is provided.


Usage
-----
To create **RST** files from **JSON schemas** (or **YAML**) run the command:

.. code-block:: bash

    jsonschema2rst input_folder output_folder

This command will take all JSON or YAML files in this path, sub-folders
included, and wll create a new directory - removing it if already exists -
where all parsed RST file will be placed.


Example
-------
Let's assume you run the following command:

.. code-block:: bash

    jsonschema2rst json_folder rst_output_folder

and also let's assume the folder ``json_folder`` contains the file
``url.json``, which contains the following schema:


.. code-block::

    {
        "title": "URL of related document",
        "properties": {
            "description": {
                "type": "string"
            },
            "value": {
                "format": "url",
                "type": "string"
            }
        },
        "type": "object"
    }


As result, *jsonschema2rst* will create a file called ``url.rst`` in
the ``rst_output_folder`` that will contain the following rst code:

.. code-block:: bash

    .. contents:: Table of Contents
    .. section-numbering::
    .. container:: section-title
     url.json

    .. container:: title

     URL of related document

    **type** : ``object``

    **Properties:** description_, value_


    .. description:

    description
    +++++++++++

    **type** : ``string``


    .. value:

    value
    +++++


    **type** : ``string``

    **format** : ``url``



Extra
-----
In case you want to generate HTML documentation using a tool like *Sphinx*, we
suggest you to try the `custom.css` file in the `contribution` folder to make
your schemas documentation looking better. What you need is just replace the 
default css used by Sphinx in the *conf.py* file with the one proposed, then 
enjoy!
