Documentation generator for Swagger API
Project description
Swagger API Docs Generator for Foliant
This preprocessor generates Markdown documentation from JSON generated by Swagger. It uses Jinja2 templating engine or widdershins for generating Markdown from JSON.
Installation
$ pip install foliantcontrib.swaggerdoc
Config
To enable the preprocessor, add pgsqldoc
to preprocessors
section in the project config:
preprocessors:
- swaggerdoc
The preprocessor has a number of options:
preprocessors:
- swaggerdoc:
json_url: http://localhost/swagger.json
json_path: swagger.json
additional_json_path: tags.json
mode: 'jinja'
template: swagger.j2
environment: env.yaml
json_url
: URL to JSON generated by Swagger. Has priority over loading json by path. If it is a list — preprocessor takes the first url which works.
json_path
: Local path to JSON generated by Swagger (relative to project dir).
If both url and path are specified — preprocessor first tries to fetch JSON from url, and then (if that fails) looks for the file on local path.
additional_json_path
: Only for jinja
mode. Local path to JSON with additional info (relative to project dir). It will be merged into swagger.json, not overriding existing fields.
mode
: Determines how the Swagger JSON would be converted to markdown. Should be one of: jinja
, widdershins
. Default: jinja
template
: Only for jinja
mode. Path to jinja-template for rendering the generated documentation. Path is relative to the project directory. If no template is specified preprocessor will use default template (and put it into project dir if it was missing). Default: swagger.j2
environment
: Only for widdershins
mode. Parameters for widdershins converter. You can either pass a string containing relative path to YAML or JSON file with all parameters (like in example above) or specify all parameters in YAML format under this key. More info on widdershins parameters.
Usage
Add a <<swaggerdoc></swaggerdoc>
tag at the position in the document where the generated documentation should be inserted:
# Introduction
This document contains the automatically generated documentation of our API.
<<swaggerdoc></swaggerdoc>
Each time the preprocessor encounters the tag <<swaggerdoc></swaggerdoc>
it inserts the whole generated documentation text instead of it. The path or url to swagger.json are taken from foliant.yml.
You can also specify some parameters (or all of them) in the tag options:
# Introduction
Introduction text for API documentation.
<swaggerdoc json_url="http://localhost/swagger.json"
mode="jinja"
template="swagger.j2">
</swaggerdoc>
<swaggerdoc json_url="http://localhost/swagger.json"
mode="widdershins"
environment="env.yml">
</swaggerdoc>
Tag parameters have the highest priority.
This way you can have documentation from several different JSON files in one foliant project (even in one md-file if you like it so).
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
File details
Details for the file foliantcontrib.swaggerdoc-1.1.1.tar.gz
.
File metadata
- Download URL: foliantcontrib.swaggerdoc-1.1.1.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.14.2 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.6.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eceb0112ca19fdbf5b6f9ff245f2ca36c9d7fea327ec86777b7b8a8e652b5cc5 |
|
MD5 | dfde455e32c8e643e33b1105bc73a886 |
|
BLAKE2b-256 | ed2395e0905a5e6a2831df11a20549e7cdded06b157b8fdab2f0e35c86697b73 |
File details
Details for the file foliantcontrib.swaggerdoc-1.1.1-py3-none-any.whl
.
File metadata
- Download URL: foliantcontrib.swaggerdoc-1.1.1-py3-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.14.2 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.6.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8cdc15252bd73dd7b5a245476e57762d1817815ba802af0ee8b0f75eab6a82b |
|
MD5 | 603d35c79cff08890c49b2ed6180fb6c |
|
BLAKE2b-256 | c73661b75862ba4a8dd74ce5a7e1bf9e5dac0fb4d802d17d1c93a79d48b731ef |