A CLI tool to transform Swagger/OpenAPI/AsyncAPI docs to beautiful HTML pages via Shins/Widdershins.
You can find an example generated page at http://tobilg.github.io/api2html/petstore/.
To install api2html globally, use
$ npm i api2html -gYou can also install it to use as devDependencies, and use it locally via a npm run task in your package.json:
$ npm i api2html --save-devUsage in package.json:
{
"scripts": {
"api-docs": "node_modules/.bin/api2html -o docs/api.html -l shell,javascript--nodejs docs/openapi/api.yml"
}
}$ api2html --help
Usage: api2html [options] <sourcePath>
Options:
-V, --version output the version number
-r, --resolve <source> resolve external dependencies, source should be a url or a path
-o, --out <outputPath> output path for the resulting HTML document
-t, --theme <themeName> theme to use (see https://highlightjs.org/static/demo/ for a list)
-c, --customLogo <logoPath> use custom logo at the respective path
-u, --customLogoUrl <logoURL> url for the custom logo to point to
-C, --customCss use custom css
-P, --customCssPath <cssPath> use custom css file
-i, --includes <includesList> comma-separated list of files to include
-l, --languages <languageList> comma-separated list of languages to use for the language tabs (out of shell, http, javascript, javascript--nodejs, ruby, python, java, go)
-N, --noCodeSamples omit all code samples (overrides --languages)
-s, --search enable search
-S, --summary use summary instead of operationId for TOC
-b, --omitBody Omit top-level fake body parameter object
-R, --raw Show raw schemas in samples, not example values
-h, --help output usage informationThis will render the api.yml file in the current directory as myapi.html file in the current directory.
$ api2html -o myapi.html myapi.ymlThis will render the api.yml file in the current directory as myapi.html file in the same directory, and use the custom logo mylogo.png.
$ api2html -o myapi.html -c mylogo.png myapi.ymlThis will render the api.yml file in the current directory as myapi.html file in the same directory, and use go and javascript examples.
$ api2html -o myapi.html -l go,javascript myapi.ymlThis will render the api.yml file in the current directory as myapi.html file in the same directory, and use go and javascript examples, as well as a different syntax higlighter from highlight.js.
$ api2html -o myapi.html -l go,javascript -t arta myapi.ymlIf you add refs to external files in your source file, you can enable them by using -r <source>. The following command will resolve all your relative imports from the current directory.
$ api2html -o myapi.html -r ./ myapi.yml