Converts a openapi-definition into a static html page
Maintainers / Contributors wanted
I'm sorry to say that I won't be able to develop new features for this project in the near future. But: I will probably be able to discuss and merge pull-requests, and to publish new versions.
Please understand that I'm not using
bootprint-openapi myself at the moment and all I'm doing (or not doing
at the moment) is for other people to fill their needs. I have a limited time each week to work on open-source
projects and I want to work on some other projects.
Here is my proposal
- If you want to start maintaining the module(s), please let me know and I'll give you push access.
- I will help you by giving pointers to code-lines that need to be changed for a given feature.
- I will try to publish new versions as fast as possible.
- I might also give you publishing-rights on npm, although that seems like a large step and I would have to be confident that you don't misuse it. Asking doesn't cost.
This package contains a template, partials and styles for bootprint to convert OpenAPI-Specifications into a static HTML-page.
This package was formerly known as
bootprint-swagger and has been renamed, because
Swagger-Specification has been renamed to OpenAPI-Specification
In order to use
bootprint-openapi from the command line
you have to install
npm install -g bootprintnpm install -g bootprint-openapi
Check this out: You can now try out the new bootprint-openapi playground. Just paste a OpenAPI-specification and make it readable.
bootprint openapi http://petstore.swagger.io/v2/swagger.json target
The directory "target" should now contain a file
main.css which contain a readable
form of the Swagger-Petstore-Example.
For details about command line parameters, please refer to the documentation of Bootprint
bootprint-openapi is just a template-module for
bootprint. That means, it contains
LessCss-file, Handlebars-partials and a
preprocessor that converts
an OpenAPI-Specification into the JSON actually needed by the templates.
Create a single file.
If you want to have a single HTML-file, not one HTML and one CSS, you can use substack's html-inline package to generate a self-cotnained file:
npm -g install html-inline html-inline target/index.html
// Load bootprint// Load bootprint-swagger// Customize configuration, override any options// Specify build source and target// Generate swagger-documentation into "target" directory
The API of
bootprint-openapi consists of Handlebars-partials that can be overridden and
LessCss-Definitions, that can be adapted.
About 26 Handlebars partials are used to render this openapi-html-page. The following documentation is not final yet and there are a lot of partials without real documentation, but you may already have a look at it: The partials documentation describes the partials in use and the order in which they are called. You can override these partials in a Bootprint configuration file.
Some of the example specs have been provided by contributors who opened issues on github,
those files are in the
- test/all-of/swagger.json msh321 (issue #35)
- test/missing-items/swagger.json yewton (issue #44)
- test/path-parameters/swagger.json asieira (issue #18)
- test/read-only-property/swagger.json asieira (issue #28)
For release notes, see CHANGELOG.md