- Notifications
You must be signed in to change notification settings - Fork38
Convert API Blueprint to Swagger 2.0 or OpenAPI 3.0.
License
kminami/apib2swagger
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
ConvertAPI Blueprint toSwagger 2.0 orOpenAPI 3.0.
Supported versions:
- API Blueprint 1A9
- Metadata section
- HOST -> .host, .basePath, .schemes
- VERSION -> .info.version
- Include directive
- Metadata section
- Swagger 2.0
- OpenAPI 3.0.3
- Node.js 18.x, 20.x or higher
$ npm install -g apib2swagger
Convert to Swagger specification.
$ apib2swagger -i api.md$ apib2swagger -i api.md -o swagger.json$ apib2swagger -i api.md --yaml -o swagger.yaml$ apib2swagger -i api.md --prefer-reference$ apib2swagger -i api.md --bearer-apikey$ apib2swagger -i api.md --open-api-3$ apib2swagger -i api.md --info-title"My API Document Title"$ apib2swagger -i api.md --prefer-file-ref
Without -i option it reads from STDIN, without -o option writes to STDOUT.
$ apib2swagger< api.md> swagger.json$ cat api.md| apib2swagger
Run http server with SwaggerUI.SwaggerUI will be automatically downloaded to current dir.
$ apib2swagger -i api.md -s$ apib2swagger -i api.md -s -p 3000# When using file references and running the SwaggerUI server, you can specify the source# directory with the -sd flag. It will check the input directory and execution directory# if -sd is not given.$ apib2swagger -i api.md -s --prefer-file-ref -sd~/project/src/
Use as a library.
varapib2swagger=require('apib2swagger'),apib='...',options={preferReference:true,// optional (Swagger 2.0 only).bearerAsApikey:false,// optional. swagger 2.0 is used by default.openApi3:true,// optional. title will be grabbed from blueprint if not specified.infoTitle:'My API Document Title',// optional (Open API 3 only).// will set a $ref to the given file path instead of including the file contents.preferFileRef:true};apib2swagger.convert(apib,options,function(error,result){if(!error)console.log(result.swagger);});
You can run apib2swagger vianpx
(without first needing to install it) like so:
cat api.md | npx apib2swagger > swagger.json
You can also run apib2swagger inside a docker container.
$ docker run -it --rm -v$(pwd):/docs ghcr.io/kminami/apib2swagger -i /docs/api.md -o /docs/swagger.json
Copyright (c) 2021 Keisuke Minami
MIT
About
Convert API Blueprint to Swagger 2.0 or OpenAPI 3.0.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Contributors11
Uh oh!
There was an error while loading.Please reload this page.