2.1.3 • Published 21 days ago

docusaurus-plugin-openapi-docs v2.1.3

Weekly downloads
-
License
MIT
Repository
github
Last release
21 days ago

OpenAPI plugin for generating API reference docs in Docusaurus v2.

Overview

The docusaurus-plugin-openapi-docs package extends the Docusaurus CLI with commands for generating MDX using the OpenAPI specification as the source. The resulting MDX is fully compatible with plugin-content-docs and can be used to render beautiful reference API docs by setting docItemComponent to @theme/ApiItem, a custom component included in the docusaurus-theme-openapi-docs theme.

Installation

Plugin:

yarn add docusaurus-plugin-openapi-docs

Theme:

yarn add docusaurus-theme-openapi-docs

Configuring docusaurus.config.js (Plugin and theme usage)

Here is an example of properly configuring your docusaurus.config.js file for docusaurus-plugin-openapi-docs and docusaurus-theme-openapi-docs usage.

// docusaurus.config.js

{
  presets: [
  [
    "classic",
    /** @type {import('@docusaurus/preset-classic').Options} */
    ({
      docs: {
        sidebarPath: require.resolve("./sidebars.js"),
        // Please change this to your repo.
        // Remove this to remove the "edit this page" links.
        editUrl:
          "https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/",
        docLayoutComponent: "@theme/DocPage",
        docItemComponent: "@theme/ApiItem" // Derived from docusaurus-theme-openapi-docs
      },
      blog: {
        showReadingTime: true,
        // Please change this to your repo.
        // Remove this to remove the "edit this page" links.
        editUrl:
          "https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/"
      },
      theme: {
        customCss: require.resolve("./src/css/custom.css")
      }
    })
  ]
],

  plugins: [
    [
      'docusaurus-plugin-openapi-docs',
      {
        id: "apiDocs",
        config: {
          petstore: { // Note: petstore key is treated as the <id> and can be used to specify an API doc instance when using CLI commands
            specPath: "examples/petstore.yaml", // Path to designated spec file
            outputDir: "api/petstore", // Output directory for generated .mdx docs
            sidebarOptions: {
              groupPathsBy: "tags",
            },
          },
          burgers: {
            specPath: "examples/food/burgers/openapi.yaml",
            outputDir: "api/food/burgers",
          }
        }
      },
    ]
  ],
  themes: ["docusaurus-theme-openapi-docs"] // Allows use of @theme/ApiItem and other components
}

Note: You may optionally configure a dedicated @docusaurus/plugin-content-docs instance for use with docusaurus-theme-openapi-docs by setting docItemComponent to @theme/ApiItem.

Plugin Configuration Options

docusaurus-plugin-openapi-docs can be configured with the following options:

NameTypeDefaultDescription
specPathstringnullDesignated path to the source of an OpenAPI specification file or directory of multiple OpenAPI specification files.
ouputDirstringnullDesired output path for generated MDX files.
templatestringnullOptional: Customize MDX content with a desired template.
sidebarOptionsobjectnullOptional: Set of options for sidebar configuration. See below for a list of supported options.

sidebarOptions can be configured with the following options:

NameTypeDefaultDescription
groupPathsBystringnullOrganize and group sidebar slice by specified option. Note: Currently, groupPathsBy only contains support for grouping by "tags".
sidebarCollapsiblebooleantrueWhether sidebar categories are collapsible by default.
sidebarCollapsedbooleantrueWhether sidebar categories are collapsed by default.
customPropsobjectnullAdditional props for customizing a sidebar item.

Note: You may optionally configure a sidebarOptions. In doing so, an individual sidebar.js slice with the configured options will be generated within the respective outputDir.

CLI Usage

Usage: docusaurus <command> [options]

Options:
  -V, --version                                            output the version number
  -h, --help                                               display help for command

Commands:
  build [options] [siteDir]                                Build website.
  swizzle [options] [themeName] [componentName] [siteDir]  Wraps or ejects the original theme files into website folder for customization.
  deploy [options] [siteDir]                               Deploy website to GitHub pages.
  start [options] [siteDir]                                Start the development server.
  serve [options] [siteDir]                                Serve website locally.
  clear [siteDir]                                          Remove build artifacts.
  write-translations [options] [siteDir]                   Extract required translations of your site.
  write-heading-ids [options] [siteDir] [files...]         Generate heading ids in Markdown content.
  docs:version <version>                                   Tag a new docs version
  gen-api-docs <id>                                        Generates API Docs mdx and sidebars.
  clean-api-docs <id>                                      Clears the Generated API Docs mdx and sidebars.
  docs:version:openapi <version>                           Tag a new docs version (openapi)

Generating OpenAPI Docs

To generate all OpenAPI docs, run the following command from the root directory of your project:

yarn docusaurus gen-api-docs all

This will generate API docs for all of the OpenAPI specification (OAS) files referenced in your docusaurus-plugin-openapi-docs config.

You may also generate OpenAPI docs for a single path or OAS by specifying the unique id:

yarn docusaurus gen-api-docs <id>

Example:

yarn docusaurus gen-api-docs burgers

The example above will only generate API docs relative to burgers.

Cleaning API Docs

To clean/remove all API Docs, run the following command from the root directory of your project:

yarn docusaurus clean-api-docs all

You may also remove a particular set of API docs by specifying the unique id of your desired spec instance.

yarn docusaurus clean-api-docs <id>

Example:

yarn docusaurus clean-api-docs burgers

The example above will remove all API docs relative to burgers.

Support

Please read SUPPORT.md for details on how to get support for this project.

0.0.0-718

21 days ago

0.0.0-beta.722

1 month ago

0.0.0-beta.721

1 month ago

0.0.0-716

1 month ago

0.0.0-715

1 month ago

0.0.0-beta.720

1 month ago

3.0.0-beta.10

1 month ago

3.0.0-beta.9

1 month ago

0.0.0-beta.719

1 month ago

0.0.0-714

1 month ago

0.0.0-713

1 month ago

2.1.3

1 month ago

0.0.0-710

1 month ago

0.0.0-712

1 month ago

0.0.0-711

1 month ago

0.0.0-709

1 month ago

0.0.0-708

1 month ago

3.0.0-beta.8

1 month ago

2.1.2

1 month ago

0.0.0-707

1 month ago

3.0.0-beta.7

1 month ago

2.1.1

1 month ago

0.0.0-705

1 month ago

0.0.0-706

1 month ago

0.0.0-704

1 month ago

0.0.0-701

2 months ago

0.0.0-700

2 months ago

0.0.0-703

2 months ago

0.0.0-702

2 months ago

3.0.0-beta.6

2 months ago

2.1.0

2 months ago

0.0.0-697

2 months ago

0.0.0-699

2 months ago

0.0.0-698

2 months ago

3.0.0-beta.5

4 months ago

2.0.4

4 months ago

0.0.0-695

4 months ago

2.0.3

4 months ago

0.0.0-692

4 months ago

0.0.0-691

4 months ago

0.0.0-690

4 months ago

3.0.0-beta.4

4 months ago

3.0.0-beta.3

5 months ago

2.0.2

5 months ago

0.0.0-689

5 months ago

3.0.0-beta.1

6 months ago

3.0.0-beta.2

5 months ago

0.0.0-615

10 months ago

0.0.0-617

7 months ago

0.0.0-616

10 months ago

0.0.0-619

7 months ago

0.0.0-618

7 months ago

0.0.0-beta.664

8 months ago

0.0.0-beta.663

8 months ago

0.0.0-beta.662

8 months ago

0.0.0-beta.661

8 months ago

0.0.0-beta.668

7 months ago

0.0.0-beta.667

7 months ago

0.0.0-beta.666

7 months ago

0.0.0-beta.665

8 months ago

0.0.0-beta.669

7 months ago

0.0.0-beta.691

5 months ago

0.0.0-beta.690

5 months ago

2.0.1

5 months ago

2.0.0

6 months ago

0.0.0-beta.671

7 months ago

0.0.0-beta.670

7 months ago

0.0.0-beta.675

6 months ago

0.0.0-beta.674

6 months ago

0.0.0-beta.673

7 months ago

0.0.0-beta.672

7 months ago

0.0.0-beta.677

6 months ago

0.0.0-beta.676

6 months ago

2.0.0-beta.5

6 months ago

2.0.0-beta.4

7 months ago

0.0.0-beta.685

6 months ago

0.0.0-beta.688

6 months ago

0.0.0-684

5 months ago

0.0.0-686

5 months ago

0.0.0-685

5 months ago

0.0.0-687

5 months ago

0.0.0-beta.660

12 months ago

0.0.0-613

12 months ago

0.0.0-beta.653

1 year ago

0.0.0-beta.652

1 year ago

0.0.0-beta.651

1 year ago

0.0.0-beta.657

12 months ago

0.0.0-beta.656

1 year ago

0.0.0-beta.655

1 year ago

0.0.0-beta.654

1 year ago

0.0.0-beta.659

12 months ago

0.0.0-beta.658

12 months ago

0.0.0-611

12 months ago

0.0.0-610

1 year ago

0.0.0-612

12 months ago

0.0.0-608

1 year ago

0.0.0-607

1 year ago

0.0.0-609

1 year ago

2.0.0-beta.3

12 months ago

1.7.3

12 months ago

1.7.2

1 year ago

1.7.1

1 year ago

0.0.0-602

1 year ago

0.0.0-beta.639

1 year ago

0.0.0-beta.642

1 year ago

0.0.0-beta.641

1 year ago

0.0.0-beta.640

1 year ago

0.0.0-beta.646

1 year ago

0.0.0-603

1 year ago

0.0.0-beta.645

1 year ago

0.0.0-beta.644

1 year ago

0.0.0-beta.643

1 year ago

0.0.0-beta.647

1 year ago

0.0.0-beta.617

1 year ago

0.0.0-beta.619

1 year ago

0.0.0-beta.620

1 year ago

0.0.0-beta.622

1 year ago

0.0.0-beta.621

1 year ago

0.0.0-beta.628

1 year ago

0.0.0-beta.627

1 year ago

0.0.0-beta.629

1 year ago

0.0.0-beta.631

1 year ago

0.0.0-600

1 year ago

0.0.0-beta.635

1 year ago

0.0.0-beta.634

1 year ago

0.0.0-beta.633

1 year ago

0.0.0-beta.632

1 year ago

0.0.0-beta.638

1 year ago

0.0.0-beta.637

1 year ago

0.0.0-beta.636

1 year ago

2.0.0-beta.2

1 year ago

2.0.0-beta.1

1 year ago

2.0.0-beta.0

1 year ago

0.0.0-588

1 year ago

0.0.0-596

1 year ago

0.0.0-598

1 year ago

0.0.0-599

1 year ago

0.0.0-beta.590

1 year ago

1.7.0

1 year ago

1.6.1

1 year ago

0.0.0-581

1 year ago

0.0.0-580

1 year ago

0.0.0-583

1 year ago

0.0.0-582

1 year ago

0.0.0-585

1 year ago

0.0.0-584

1 year ago

0.0.0-578

1 year ago

0.0.0-579

1 year ago

1.6.0

1 year ago

0.0.0-569

1 year ago

0.0.0-570

1 year ago

0.0.0-572

1 year ago

0.0.0-574

1 year ago

0.0.0-573

1 year ago

0.0.0-576

1 year ago

0.0.0-575

1 year ago

0.0.0-577

1 year ago

0.0.0-556

1 year ago

0.0.0-555

1 year ago

0.0.0-558

1 year ago

0.0.0-557

1 year ago

0.0.0-567

1 year ago

0.0.0-559

1 year ago

0.0.0-542

1 year ago

0.0.0-544

1 year ago

0.0.0-546

1 year ago

0.0.0-538

1 year ago

1.5.2

1 year ago

1.5.1

1 year ago

1.5.0

1 year ago

0.0.0-525

1 year ago

0.0.0-530

1 year ago

0.0.0-532

1 year ago

0.0.0-531

1 year ago

0.0.0-534

1 year ago

0.0.0-533

1 year ago

0.0.0-536

1 year ago

0.0.0-535

1 year ago

0.0.0-527

1 year ago

0.0.0-526

1 year ago

0.0.0-529

1 year ago

0.0.0-528

1 year ago

1.5.1-hotfix1

1 year ago

0.0.0-480

2 years ago

0.0.0-482

2 years ago

0.0.0-481

2 years ago

0.0.0-483

2 years ago

0.0.0-486

2 years ago

0.0.0-485

2 years ago

0.0.0-521

1 year ago

0.0.0-488

2 years ago

0.0.0-520

1 year ago

0.0.0-523

1 year ago

0.0.0-522

1 year ago

0.0.0-489

2 years ago

0.0.0-516

1 year ago

0.0.0-515

1 year ago

0.0.0-518

1 year ago

0.0.0-519

1 year ago

0.0.0-491

2 years ago

0.0.0-490

2 years ago

0.0.0-493

2 years ago

0.0.0-492

2 years ago

0.0.0-495

1 year ago

0.0.0-497

1 year ago

0.0.0-496

1 year ago

0.0.0-499

1 year ago

0.0.0-498

1 year ago

1.4.6

1 year ago

1.4.5

1 year ago

1.4.4

1 year ago

1.4.3

1 year ago

1.4.2

1 year ago

1.4.1

2 years ago

1.4.0

2 years ago

0.0.0-502

1 year ago

0.0.0-475

2 years ago

0.0.0-477

2 years ago

0.0.0-476

2 years ago

0.0.0-479

2 years ago

0.0.0-478

2 years ago

0.0.0-514

1 year ago

0.0.0-513

1 year ago

0.0.0-505

1 year ago

0.0.0-504

1 year ago

0.0.0-507

1 year ago

0.0.0-506

1 year ago

1.3.2

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.4.7

1 year ago

1.2.2

2 years ago

1.2.1

2 years ago

0.0.0-469

2 years ago

0.0.0-471

2 years ago

0.0.0-470

2 years ago

0.0.0-472

2 years ago

1.2.0

2 years ago

1.1.12

2 years ago

1.1.11

2 years ago

1.1.10

2 years ago

0.0.0-460

2 years ago

0.0.0-462

2 years ago

0.0.0-461

2 years ago

0.0.0-463

2 years ago

0.0.0-466

2 years ago

0.0.0-465

2 years ago

0.0.0-441

2 years ago

0.0.0-444

2 years ago

0.0.0-446

2 years ago

0.0.0-448

2 years ago

0.0.0-438

2 years ago

0.0.0-450

2 years ago

0.0.0-454

2 years ago

0.0.0-457

2 years ago

0.0.0-459

2 years ago

0.0.0-458

2 years ago

0.0.0-449

2 years ago

0.0.0-433

2 years ago

0.0.0-435

2 years ago

0.0.0-434

2 years ago

0.0.0-437

2 years ago

1.1.9

2 years ago

0.0.0-420

2 years ago

0.0.0-422

2 years ago

0.0.0-421

2 years ago

0.0.0-424

2 years ago

0.0.0-423

2 years ago

0.0.0-426

2 years ago

0.0.0-425

2 years ago

0.0.0-417

2 years ago

0.0.0-416

2 years ago

0.0.0-419

2 years ago

0.0.0-418

2 years ago

0.0.0-390

2 years ago

0.0.0-392

2 years ago

0.0.0-391

2 years ago

0.0.0-394

2 years ago

0.0.0-393

2 years ago

0.0.0-396

2 years ago

0.0.0-395

2 years ago

0.0.0-431

2 years ago

0.0.0-398

2 years ago

0.0.0-430

2 years ago

0.0.0-397

2 years ago

0.0.0-399

2 years ago

0.0.0-429

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.1.8

2 years ago

1.1.7

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

0.0.0-402

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

0.0.0-404

2 years ago

1.1.2

2 years ago

0.0.0-403

2 years ago

0.0.0-411

2 years ago

0.0.0-410

2 years ago

0.0.0-413

2 years ago

0.0.0-412

2 years ago

0.0.0-415

2 years ago

0.0.0-414

2 years ago

0.0.0-406

2 years ago

0.0.0-405

2 years ago

0.0.0-408

2 years ago

0.0.0-407

2 years ago

0.0.0-409

2 years ago

1.0.2

2 years ago

0.0.0-381

2 years ago

0.0.0-380

2 years ago

0.0.0-383

2 years ago

0.0.0-361

2 years ago

0.0.0-382

2 years ago

0.0.0-360

2 years ago

0.0.0-385

2 years ago

0.0.0-384

2 years ago

0.0.0-362

2 years ago

0.0.0-387

2 years ago

0.0.0-365

2 years ago

0.0.0-386

2 years ago

0.0.0-367

2 years ago

0.0.0-345

2 years ago

0.0.0-388

2 years ago

0.0.0-366

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

0.0.0-368

2 years ago

0.0.0-346

2 years ago

1.0.4

2 years ago

0.0.0-349

2 years ago

1.0.3

2 years ago

0.0.0-348

2 years ago

0.0.0-370

2 years ago

0.0.0-372

2 years ago

0.0.0-350

2 years ago

0.0.0-374

2 years ago

0.0.0-352

2 years ago

0.0.0-351

2 years ago

0.0.0-376

2 years ago

0.0.0-354

2 years ago

0.0.0-375

2 years ago

0.0.0-353

2 years ago

0.0.0-378

2 years ago

0.0.0-356

2 years ago

0.0.0-355

2 years ago

0.0.0-379

2 years ago

0.0.0-359

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago