JSON Schema for Humans vs Widdershins
JSON Schema for Humans
json-schema-for-humans.readthedocs.ioWiddershins
github.comSide by side
| Figure | JSON Schema for Humans | Widdershins |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Documentation Generators | 8.6 (#3) | 7.1 (#28) |
| Input formats | The CLI accepts valid JSON Schema in JSON or YAML format, from a file, directory, glob pattern, or comma-separated list. | The project describes support for OpenAPI 3.x, OpenAPI 2.0, API Blueprint, AsyncAPI, and Semoasa inputs. |
| Install | The project documents installation with `pip install json-schema-for-humans`. | The project can be installed globally with npm install -g widdershins or installed by cloning the repository and running npm i. |
| Integrations | A `techdocs` template is described as optimized for TechDocs and MkDocs Material. | The README describes using Widdershins with Slate, ReSlate, Shins, and ReSpec renderers. |
| License | The project is licensed under Apache License 2.0. | The repository identifies its license as MIT. |
| Limits | The README lists property names and size, property dependencies, and media as currently unsupported. | Schema examples default to a maximum depth of 10, and referenced request body schemas are not expanded by default unless they have an inline schema. |
| Output formats | It supports HTML and Markdown output, with multiple built-in templates. | Widdershins can produce Markdown and can also output HTML directly or use ReSpec format. |
| Purpose | The project generates static HTML or Markdown pages documenting JSON Schema. | Widdershins converts OpenAPI, Swagger, AsyncAPI, and Semoasa definitions into Markdown compatible with Slate and ReSlate. |
| Templates | The README describes JavaScript-based, offline, flat HTML, and Markdown templates; it notes that flat and Markdown are works in progress. | Users can customize output by editing or overriding the included templates. |
Plans
In their own words
JSON Schema for Humans
JSON Schema for Humans generates static HTML or Markdown documentation from valid JSON Schema files. Inputs can be JSON or YAML, supplied to its command-line interface as a file, directory, glob pattern, or comma-separated list; Python methods are also available. Multiple templates produce different outputs. The default JavaScript template provides expandable sections, tabs for conditional subschemas, and anchor links. The js_offline template bundles CSS and JavaScript for offline viewing. Markdown output can be published without an HTTP server and is rendered by GitHub when browsing code. A techdocs template is described as optimized for TechDocs and MkDocs Material. References can point within a schema, to local files, or to URLs, including circular references, and the project lists JSON Schema Draft-07 support. Safe mode escapes HTML tags in descriptions by default, while configuration can allow HTML. Property names and size, property dependencies, and media are listed as unsupported. The Apache-2.0 licensed package documents installation with `pip install json-schema-for-humans`.
Widdershins
Widdershins has no write-up on Specifiction yet; its figures are above.