diff --git a/packages/cli/configuration/fern/definition/docs.yml b/packages/cli/configuration/fern/definition/docs.yml index c7eb0802c8b..a47ef619709 100644 --- a/packages/cli/configuration/fern/definition/docs.yml +++ b/packages/cli/configuration/fern/definition/docs.yml @@ -119,6 +119,7 @@ types: VersionFileConfig: properties: + tabs: optional<map<TabId, TabConfig>> navigation: NavigationConfig NavigationConfig: diff --git a/packages/cli/configuration/src/docs-yml/ParsedDocsConfiguration.ts b/packages/cli/configuration/src/docs-yml/ParsedDocsConfiguration.ts index f1f3641a5c2..6f5156afa09 100644 --- a/packages/cli/configuration/src/docs-yml/ParsedDocsConfiguration.ts +++ b/packages/cli/configuration/src/docs-yml/ParsedDocsConfiguration.ts @@ -112,6 +112,7 @@ export interface VersionedDocsNavigation { } export interface VersionInfo { + tabs?: Record<RelativeFilePath, TabConfig>; navigation: UntabbedDocsNavigation | TabbedDocsNavigation; version: string; availability: VersionAvailability | undefined; diff --git a/packages/cli/configuration/src/docs-yml/parseDocsConfiguration.ts b/packages/cli/configuration/src/docs-yml/parseDocsConfiguration.ts index 5ab9787a234..438f57b455d 100644 --- a/packages/cli/configuration/src/docs-yml/parseDocsConfiguration.ts +++ b/packages/cli/configuration/src/docs-yml/parseDocsConfiguration.ts @@ -339,6 +339,7 @@ async function getNavigationConfiguration({ context }); versionedNavbars.push({ + tabs: result.tabs, version: version.displayName, navigation, availability: version.availability, diff --git a/packages/cli/configuration/src/docs-yml/schemas/sdk/api/resources/docs/types/VersionFileConfig.ts b/packages/cli/configuration/src/docs-yml/schemas/sdk/api/resources/docs/types/VersionFileConfig.ts index 7c15c4f10d3..b8622ddb7e2 100644 --- a/packages/cli/configuration/src/docs-yml/schemas/sdk/api/resources/docs/types/VersionFileConfig.ts +++ b/packages/cli/configuration/src/docs-yml/schemas/sdk/api/resources/docs/types/VersionFileConfig.ts @@ -5,5 +5,6 @@ import * as FernDocsConfig from "../../.."; export interface VersionFileConfig { + tabs?: Record<FernDocsConfig.TabId, FernDocsConfig.TabConfig>; navigation: FernDocsConfig.NavigationConfig; } diff --git a/packages/cli/configuration/src/docs-yml/schemas/sdk/serialization/resources/docs/types/VersionFileConfig.ts b/packages/cli/configuration/src/docs-yml/schemas/sdk/serialization/resources/docs/types/VersionFileConfig.ts index 7dbc91662a7..07dc8cef562 100644 --- a/packages/cli/configuration/src/docs-yml/schemas/sdk/serialization/resources/docs/types/VersionFileConfig.ts +++ b/packages/cli/configuration/src/docs-yml/schemas/sdk/serialization/resources/docs/types/VersionFileConfig.ts @@ -10,11 +10,18 @@ export const VersionFileConfig: core.serialization.ObjectSchema< serializers.VersionFileConfig.Raw, FernDocsConfig.VersionFileConfig > = core.serialization.object({ - navigation: core.serialization.lazy(async () => (await import("../../..")).NavigationConfig), + tabs: core.serialization + .record( + core.serialization.lazy(async () => (await import("../../..")).TabId), + core.serialization.lazyObject(async () => (await import("../../..")).TabConfig) + ) + .optional(), + navigation: core.serialization.lazy(async () => (await import("../../..")).NavigationConfig) }); export declare namespace VersionFileConfig { interface Raw { + tabs?: Record<serializers.TabId.Raw, serializers.TabConfig.Raw> | null; navigation: serializers.NavigationConfig.Raw; } } diff --git a/packages/cli/generation/remote-generation/remote-workspace-runner/src/publishDocs.ts b/packages/cli/generation/remote-generation/remote-workspace-runner/src/publishDocs.ts index 60a675ac130..88e46b7490f 100644 --- a/packages/cli/generation/remote-generation/remote-workspace-runner/src/publishDocs.ts +++ b/packages/cli/generation/remote-generation/remote-workspace-runner/src/publishDocs.ts @@ -448,6 +448,7 @@ async function convertNavigationConfig({ async (version): Promise<DocsV1Write.VersionedNavigationConfigData> => { const convertedNavigation = await convertUnversionedNavigationConfig({ navigationConfig: version.navigation, + tabs: version.tabs, parsedDocsConfig, organization, fernWorkspaces,