https://github.com/cloud-annotations/docusaurus-openapi

πŸ¦• OpenAPI plugin for generating API reference docs in Docusaurus.

https://github.com/cloud-annotations/docusaurus-openapi

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • β—‹
    CITATION.cff file
  • βœ“
    codemeta.json file
    Found codemeta.json file
  • β—‹
    .zenodo.json file
  • β—‹
    DOI references
  • β—‹
    Academic publication links
  • βœ“
    Committers with academic emails
    1 of 23 committers (4.3%) from academic institutions
  • β—‹
    Institutional organization owner
  • β—‹
    JOSS paper metadata
  • β—‹
    Scientific vocabulary similarity
    Low similarity (12.5%) to scientific vocabulary

Keywords

api-documentation documentation-generator docusaurus hacktoberfest openapi openapi3 plugin react swagger

Keywords from Contributors

deep-neural-networks distribution sequences projection interactive serializer measurement cycles packaging charts
Last synced: 5 months ago · JSON representation

Repository

πŸ¦• OpenAPI plugin for generating API reference docs in Docusaurus.

Basic Info
Statistics
  • Stars: 531
  • Watchers: 8
  • Forks: 83
  • Open Issues: 51
  • Releases: 18
Topics
api-documentation documentation-generator docusaurus hacktoberfest openapi openapi3 plugin react swagger
Created over 5 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog Contributing License Code of conduct

README.md

Docusaurus OpenAPI

OpenAPI plugin for generating API reference docs in Docusaurus. [![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/cloud-annotations/docusaurus-plugin-openapi/blob/HEAD/LICENSE) [![npm latest package](https://img.shields.io/npm/v/docusaurus-preset-openapi/latest.svg)](https://www.npmjs.com/package/docusaurus-preset-openapi) [![npm downloads](https://img.shields.io/npm/dm/docusaurus-plugin-openapi.svg)](https://www.npmjs.com/package/docusaurus-preset-openapi) [![build](https://github.com/cloud-annotations/docusaurus-plugin-openapi/actions/workflows/validate.yaml/badge.svg)](https://github.com/cloud-annotations/docusaurus-plugin-openapi/actions/workflows/validate.yaml)
[![prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier) [![Cypress.io](https://img.shields.io/badge/tested%20with-Cypress-04C38E.svg)](https://www.cypress.io/) [![jest](https://jestjs.io/img/jest-badge.svg)](https://github.com/facebook/jest) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/cloud-annotations/docusaurus-plugin-openapi/blob/HEAD/CONTRIBUTING.md#pull-requests)

![](https://user-images.githubusercontent.com/4212769/85324376-b9e3d900-b497-11ea-9765-c42a8ad1ff61.png)

Quick Overview

sh npx create-docusaurus-openapi my-website cd my-website npm start

Coming from v0.1.0? See the migration guide.

(npx comes with npm 5.2+ and higher)

Then open http://localhost:3000/ to see your site.
When you’re ready to deploy to production, create a minified bundle with npm run build.

Creating a new Site

You’ll need to have Node 14.0.0 or later version on your local development machine (but it’s not required on the server). We recommend using the latest LTS version. You can use nvm (macOS/Linux) or nvm-windows to switch Node versions between different projects.

To create a new site, you may choose one of the following methods:

  • ### npx

sh npx create-docusaurus-openapi my-website

(npx is a package runner tool that comes with npm 5.2+ and higher)

  • ### npm

sh npm init docusaurus-openapi my-website

npm init <initializer> is available in npm 6+

  • ### yarn

sh yarn create docusaurus-openapi my-website

yarn create <starter-kit-package> is available in Yarn 0.25+

It will create a directory called my-website inside the current folder.
Inside that directory, it will generate the initial project structure and install the transitive dependencies:

my-website β”œβ”€β”€ blog β”‚ β”œβ”€β”€ 2019-05-28-hola.md β”‚ β”œβ”€β”€ 2019-05-29-hello-world.md β”‚ └── 2020-05-30-welcome.md β”œβ”€β”€ docs β”‚ β”œβ”€β”€ doc1.md β”‚ β”œβ”€β”€ doc2.md β”‚ β”œβ”€β”€ doc3.md β”‚ └── mdx.md β”œβ”€β”€ src β”‚ β”œβ”€β”€ css β”‚ β”‚ └── custom.css β”‚ └── pages β”‚ β”œβ”€β”€ styles.module.css β”‚ └── index.js β”œβ”€β”€ static β”‚ └── img β”œβ”€β”€ .gitignore β”œβ”€β”€ openapi.json β”œβ”€β”€ docusaurus.config.js β”œβ”€β”€ babel.config.js β”œβ”€β”€ package.json β”œβ”€β”€ sidebars.js └── README.md

  • /docusaurus.config.js - A config file containing the site configuration. This can be used to configure the OpenAPI preset
  • /openapi.json - The default OpenAPI definition that will be served (path can be configured in docusaurus.config.js).

For more info see project structure rundown.

Once the installation is done, you can open your project folder:

sh cd my-website

Inside the newly created project, you can run some built-in commands:

npm start or yarn start

Runs the site in development mode.
Open http://localhost:3000 to view it in the browser.

The page will automatically reload if you make changes to the code.

npm run build or yarn build

Builds the site for production to the build folder.

Docusaurus is a modern static website generator that will build the website into a directory of static contents, which can be copied to any static file hosting service like GitHub pages, Vercel or Netlify.

Add to an existing Site

  1. Install the dependency

sh npm install docusaurus-preset-openapi

  1. Edit your docusaurus.config.js file to use this preset js presets: [ [ "docusaurus-preset-openapi", /** @type {import('docusaurus-preset-openapi').Options} */ { api: { path: "<PATH_TO_YOUR_OPENAPI_DOCUMENT>", routeBasePath: "/api", }, docs: { sidebarPath: require.resolve("./sidebars.js"), routeBasePath: "/", }, theme: { customCss: require.resolve("./src/css/custom.css"), }, }, ], ];

Popular Alternatives

Docusaurus OpenAPI is great for:

  • Static generation All OpenAPI operations will be rendered as static pages at build time, giving many performance benefits.
  • Demo panel Allow users to try out your API with an interactive demo panel.
  • Native Docusaurus feel Built from scratch to work with Docusaurus.

Here are a few common cases where you might want to try something else:

  • If you need better support for more advanced OpenAPI features, check out Redocusaurus. Redocusaurus embeds the much more mature OpenAPI documentation generator, Redoc, into Docusaurus as a React component.

Contributing

We encourage you to contribute to Docusaurus OpenAPI! Please check out the Contributing to Docusaurus OpenAPI guide for guidelines about how to proceed.

License

Docusaurus OpenAPI is released under the MIT License.

Owner

  • Name: Cloud Annotations
  • Login: cloud-annotations
  • Kind: organization

A fast, easy and collaborative open source image annotation tool for teams and individuals.

GitHub Events

Total
  • Issues event: 3
  • Watch event: 30
  • Issue comment event: 13
  • Push event: 3
  • Pull request review comment event: 4
  • Pull request review event: 8
  • Pull request event: 9
  • Fork event: 3
  • Create event: 1
Last Year
  • Issues event: 3
  • Watch event: 30
  • Issue comment event: 13
  • Push event: 3
  • Pull request review comment event: 4
  • Pull request review event: 8
  • Pull request event: 9
  • Fork event: 3
  • Create event: 1

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 205
  • Total Committers: 23
  • Avg Commits per committer: 8.913
  • Development Distribution Score (DDS): 0.439
Past Year
  • Commits: 3
  • Committers: 3
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.667
Top Committers
Name Email Commits
Nick Bourdakos b****1@g****m 115
Andre-Philippe Paquet a****t@g****m 14
Daniel Di Sarli d****0@g****m 12
dependabot[bot] 4****] 12
chris48s c****s 9
Aditya Vaidyam a****m@b****u 9
yzhe819 6****9 6
andremartinssw 1****w 4
Sean Perkins s****n@i****o 4
Ben McCann 3****n 3
Baptiste Arnaud b****5@g****m 3
Sean Perkins s****s@c****m 2
Devon 8****e 2
Ankit Shubham a****7@g****m 1
Ben Lugavere b****e@g****m 1
Elmar Burke h****o@e****e 1
Joshua Chen s****3@g****m 1
Mateusz Wiktor 3****t 1
Mattias Buelens 6****s 1
Skosh r****1@g****m 1
Patricio Capanna p****a@z****r 1
Guille Vigil g****i@G****l 1
jNullj 1****j 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 70
  • Total pull requests: 87
  • Average time to close issues: 20 days
  • Average time to close pull requests: about 1 month
  • Total issue authors: 49
  • Total pull request authors: 22
  • Average comments per issue: 2.79
  • Average comments per pull request: 2.34
  • Merged pull requests: 60
  • Bot issues: 0
  • Bot pull requests: 6
Past Year
  • Issues: 2
  • Pull requests: 8
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 17 days
  • Issue authors: 1
  • Pull request authors: 3
  • Average comments per issue: 0.5
  • Average comments per pull request: 1.13
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • chris48s (6)
  • xgp (5)
  • yzhe819 (4)
  • Krismix1 (3)
  • jithinlalpr (3)
  • bourdakos1 (2)
  • sean-perkins (2)
  • skoshx (2)
  • Devon-White (2)
  • olufotebig (2)
  • D063520 (1)
  • searchableguy (1)
  • ochhii1337 (1)
  • zia-inceptus (1)
  • cdheytornobre (1)
Pull Request Authors
  • danieleds (13)
  • chris48s (12)
  • sean-perkins (12)
  • bourdakos1 (7)
  • yzhe819 (7)
  • benmccann (6)
  • dependabot[bot] (6)
  • andremartinssw (5)
  • Devon-White (5)
  • baptisteArno (4)
  • snissn (2)
  • MattiasBuelens (2)
  • mbtools (2)
  • techwritermat (1)
  • sserrata (1)
Top Labels
Issue Labels
feature (3) package: theme-openapi (3) package: plugin-openapi (2) bug (2)
Pull Request Labels
dependencies (6)

Dependencies

demo/package.json npm
  • @docusaurus/core 2.0.0-beta.21
  • @mdx-js/react ^1.6.21
  • @svgr/webpack ^5.5.0
  • clsx ^1.1.1
  • docusaurus-preset-openapi ^0.6.0
  • file-loader ^6.2.0
  • prism-react-renderer ^1.2.1
  • react ^17.0.1
  • react-dom ^17.0.1
  • url-loader ^4.1.1
package.json npm
  • @babel/cli ^7.16.0 development
  • @babel/core ^7.16.0 development
  • @babel/eslint-parser ^7.16.3 development
  • @babel/plugin-proposal-nullish-coalescing-operator ^7.16.0 development
  • @babel/plugin-proposal-optional-chaining ^7.16.0 development
  • @babel/plugin-transform-modules-commonjs ^7.16.0 development
  • @babel/preset-typescript ^7.16.0 development
  • @testing-library/cypress ^8.0.1 development
  • @types/jest ^27.0.2 development
  • @types/node ^17.0.2 development
  • @typescript-eslint/eslint-plugin ^4.0.0 development
  • @typescript-eslint/parser ^4.0.0 development
  • babel-eslint ^10.0.0 development
  • cross-env ^7.0.3 development
  • cypress ^8.7.0 development
  • eslint ^7.5.0 development
  • eslint-config-react-app ^6.0.0 development
  • eslint-plugin-cypress ^2.12.1 development
  • eslint-plugin-flowtype ^5.2.0 development
  • eslint-plugin-header ^3.1.1 development
  • eslint-plugin-import ^2.22.0 development
  • eslint-plugin-jest ^25.0.6 development
  • eslint-plugin-jest-dom ^3.9.2 development
  • eslint-plugin-jsx-a11y ^6.3.1 development
  • eslint-plugin-react ^7.20.3 development
  • eslint-plugin-react-hooks ^4.0.8 development
  • eslint-plugin-testing-library ^4.12.4 development
  • husky ^7.0.2 development
  • jest ^27.3.1 development
  • lerna ^4.0.0 development
  • lint-staged ^11.2.3 development
  • nodemon ^2.0.15 development
  • prettier ^2.4.1 development
  • semver ^7.3.5 development
  • start-server-and-test ^1.14.0 development
  • ts-jest ^27.0.6 development
  • ts-node ^10.4.0 development
  • typescript ^4.7.4 development
packages/create-docusaurus-openapi/package.json npm
  • @types/prompts ^2.0.9 development
  • @types/shelljs ^0.8.6 development
  • @types/supports-color ^8.1.1 development
  • @docusaurus/logger 2.0.0-beta.21
  • commander ^5.1.0
  • fs-extra ^10.0.0
  • lodash ^4.17.20
  • prompts ^2.4.1
  • semver ^7.3.4
  • shelljs ^0.8.4
  • supports-color ^8.1.1
  • tslib ^2.3.1
packages/docusaurus-plugin-openapi/package.json npm
  • @docusaurus/module-type-aliases ^2.0.0-beta.21 development
  • @docusaurus/types ^2.0.0-beta.21 development
  • @types/axios ^0.14.0 development
  • @types/fs-extra ^9.0.13 development
  • @types/js-yaml ^4.0.5 development
  • @types/json-schema ^7.0.9 development
  • @types/lodash ^4.14.176 development
  • @types/postman-collection ^3.5.3 development
  • utility-types ^3.10.0 development
  • @docusaurus/mdx-loader ^2.0.0-beta.21
  • @docusaurus/plugin-content-docs ^2.0.0-beta.21
  • @docusaurus/utils ^2.0.0-beta.21
  • @docusaurus/utils-validation ^2.0.0-beta.21
  • axios ^0.26.1
  • chalk ^4.1.2
  • clsx ^1.1.1
  • fs-extra ^9.0.1
  • js-yaml ^4.1.0
  • json-refs ^3.0.15
  • json-schema-resolve-allof ^1.5.0
  • lodash ^4.17.20
  • openapi-to-postmanv2 ^1.2.1
  • postman-collection ^4.1.0
  • remark-admonitions ^1.2.1
  • webpack ^5.73.0
packages/docusaurus-plugin-proxy/package.json npm
  • @docusaurus/types ^2.0.0-beta.21 development
  • @types/webpack-dev-server ^4.5.0 development
packages/docusaurus-preset-openapi/package.json npm
  • @docusaurus/types ^2.0.0-beta.21 development
  • @docusaurus/preset-classic ^2.0.0-beta.21
  • docusaurus-plugin-openapi ^0.6.0
  • docusaurus-plugin-proxy ^0.6.0
  • docusaurus-theme-openapi ^0.6.0
packages/docusaurus-theme-openapi/package.json npm
  • @docusaurus/module-type-aliases ^2.0.0-beta.21 development
  • @docusaurus/types ^2.0.0-beta.21 development
  • @types/concurrently ^6.3.0 development
  • @types/crypto-js ^4.1.0 development
  • @types/fs-extra ^9.0.13 development
  • @types/lodash ^4.14.176 development
  • @types/mdx-js__react ^1.5.4 development
  • @types/postman-collection ^3.5.3 development
  • @types/rtlcss ^3.1.1 development
  • concurrently ^5.2.0 development
  • @docusaurus/theme-common ^2.0.0-beta.21
  • @mdx-js/react ^1.6.21
  • @monaco-editor/react ^4.3.1
  • @reduxjs/toolkit ^1.7.1
  • buffer ^6.0.3
  • clsx ^1.1.1
  • crypto-js ^4.1.1
  • docusaurus-plugin-openapi ^0.6.0
  • immer ^9.0.7
  • lodash ^4.17.20
  • monaco-editor ^0.31.1
  • postman-code-generators ^1.0.0
  • postman-collection ^4.1.0
  • prism-react-renderer ^1.2.1
  • process ^0.11.10
  • react-magic-dropzone ^1.0.1
  • react-redux ^7.2.0
  • redux-devtools-extension ^2.13.8
  • webpack ^5.73.0
yarn.lock npm
  • 2079 dependencies
.github/workflows/pr-title-check.yaml actions
  • actions/checkout v2 composite
.github/workflows/release.yaml actions
  • actions/checkout v2 composite
  • actions/setup-node v2 composite
.github/workflows/validate.yaml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-node v2 composite