JSDoc vs JSON Schema for Humans
JSDoc
jsdoc.appJSON Schema for Humans
json-schema-for-humans.readthedocs.ioSide by side
| Figure | JSDoc | JSON Schema for Humans |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | — | Yes |
| API | Yes | — |
| Self-hosted | Yes | Yes |
| Plans published | 0 | 1 |
| Spec score · Documentation Generators | 7.2 (#27) | 8.6 (#3) |
| Installation | The project README says JSDoc supports stable Node.js versions 8.15.0 and later and can be installed globally or in a project’s `node_modules` folder. | The README gives `pip install json-schema-for-humans` as the installation command. |
| Integrations | The project README lists community templates, Grunt and Gulp plugins, a GitHub Action, and a GitBook integration. | A `techdocs` template is described as optimized for TechDocs and MkDocs Material. |
| License | The JSDoc generator is free software licensed under Apache License 2.0. | The project is licensed under Apache License 2.0. |
| Purpose | JSDoc is an API documentation generator for JavaScript that scans source code comments and generates an HTML documentation website. | The project generates static HTML or Markdown pages documenting JSON Schema. |
| Support | The project README directs users to the JSDoc Users mailing list and Stack Overflow questions tagged `jsdoc` for help. | The project README invites contributions and directs users to its contributing guide. |
| Templates | JSDoc uses a built-in default template and allows users to edit it or create a new template. | The README describes JavaScript-based, offline, flat HTML, and Markdown templates; it notes that flat and Markdown are works in progress. |
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`.