0.6.5 • Published 1 year ago

@typebot.io/docusaurus-preset-openapi v0.6.5

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

OpenAPI plugin for generating API reference docs in Docusaurus v2.

npm.io

Installation

Install the preset in your docusaurus project by running:

// with npm
npm install docusaurus-preset-openapi

// with yarn
yarn add docusaurus-preset-openapi

Usage

  1. Add your OpenAPI definition to the root of your site dir as openapi.json (See Configuration options below).

  2. The OpenAPI preset can be used as a drop-in replacement for @docusaurus/preset-classic, replace it as follows:

    /* docusaurus.config.js */
    
    {
      presets: [
        [
          "docusaurus-preset-openapi",
          {
            // docs: { ... },
            // blogs: { ... },
            // theme: { ... },
          },
        ],
      ],
    }
  3. Add a link to the API section of your site by updating themeConfig.navbar.items:

    /* docusaurus.config.js */
    
    {
      themeConfig: {
        navbar: {
          items: [
            // ... other items
            { to: "/api", label: "API", position: "left" },
            // ... other items
          ],
        },
      },
    }

Configuration

The OpenAPI plugin can be configured with the following options:

NameTypeDefaultDescription
pathstring'openapi.json'Path to OpenAPI definition (json or yaml) on filesystem relative to site dir.
routeBasePathstring'api'URL route for the API section of your site. DO NOT include a trailing slash. Use / for shipping API without base path.
sidebarCollapsiblebooleantrueWhether sidebar categories are collapsible by default.
sidebarCollapsedbooleantrueWhether sidebar categories are collapsed by default.
apiLayoutComponentstring'@theme/ApiPage'Root Layout component of each API page.
apiItemComponentstring'@theme/ApiItem'Main API container, with demo panel, pagination, etc.
remarkPluginsany[][]Remark plugins passed to MDX.
rehypePluginsany[][]Rehype plugins passed to MDX.
beforeDefaultRemarkPluginsany[][]Custom Remark plugins passed to MDX before the default Docusaurus Remark plugins.
beforeDefaultRehypePluginsany[][]Custom Rehype plugins passed to MDX before the default Docusaurus Rehype plugins.

Example:

/* docusaurus.config.js */

{
  presets: [
    [
      "docusaurus-preset-openapi",
      {
        api: {
          path: "api/cars.yaml",
          routeBasePath: "cars",
          // ... other options
        }
      },
    ],
  ],
}