diff --git a/demo/docusaurus.config.ts b/demo/docusaurus.config.ts index b17e46b06..95e7f3301 100644 --- a/demo/docusaurus.config.ts +++ b/demo/docusaurus.config.ts @@ -222,12 +222,16 @@ const config: Config = { version: "2.0.0", // Current version label: "v2.0.0", // Current version label baseUrl: "/petstore_versioned/swagger-petstore-yaml", // Leading slash is important + downloadUrl: + "https://raw.githubusercontent.com/PaloAltoNetworks/docusaurus-openapi-docs/main/demo/examples/petstore.yaml", versions: { "1.0.0": { specPath: "examples/petstore-1.0.0.yaml", outputDir: "docs/petstore_versioned/1.0.0", // No trailing slash label: "v1.0.0", baseUrl: "/petstore_versioned/1.0.0/swagger-petstore-yaml", // Leading slash is important + downloadUrl: + "https://redocly.com/_spec/docs/openapi/petstore.json", }, }, } satisfies OpenApiPlugin.Options, diff --git a/packages/docusaurus-plugin-openapi-docs/src/index.ts b/packages/docusaurus-plugin-openapi-docs/src/index.ts index 78898f460..4eff2238e 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/index.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/index.ts @@ -531,6 +531,7 @@ custom_edit_url: null version: version, label: metadata.label, baseUrl: metadata.baseUrl, + downloadUrl: metadata.downloadUrl, }); } @@ -685,6 +686,7 @@ custom_edit_url: null delete parentConfig.version; delete parentConfig.label; delete parentConfig.baseUrl; + delete parentConfig.downloadUrl; // TODO: handle when no versions are defined by version command is passed if (versionId === "all") { diff --git a/packages/docusaurus-plugin-openapi-docs/src/options.ts b/packages/docusaurus-plugin-openapi-docs/src/options.ts index f42a02b05..e3f11ddec 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/options.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/options.ts @@ -59,6 +59,7 @@ export const OptionsSchema = Joi.object({ outputDir: Joi.string().required(), label: Joi.string().required(), baseUrl: Joi.string().required(), + downloadUrl: Joi.string(), }) ), }) diff --git a/packages/docusaurus-plugin-openapi-docs/src/types.ts b/packages/docusaurus-plugin-openapi-docs/src/types.ts index 1a44d39c7..77023c89e 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/types.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/types.ts @@ -70,6 +70,7 @@ export interface APIVersionOptions { outputDir: string; label: string; baseUrl: string; + downloadUrl?: string; } export interface LoadedContent {