diff --git a/packages/logos-docusaurus-preset/src/index.ts b/packages/logos-docusaurus-preset/src/index.ts index 6736ebf..7c689b7 100644 --- a/packages/logos-docusaurus-preset/src/index.ts +++ b/packages/logos-docusaurus-preset/src/index.ts @@ -49,10 +49,21 @@ export default function logosPreset( path.join(__dirname, '../static', options.businessUnit), ) - context.siteConfig = _.merge( - context.siteConfig, - siteConfigs[options.businessUnit], - ) + if (!options.customSiteConfig) + context.siteConfig = _.merge( + context.siteConfig, + siteConfigs[options.businessUnit], + ) + else { + context.siteConfig.customFields = defaultsDeep( + [ + {}, + context.siteConfig.customFields, + siteConfigs[options.businessUnit].customFields ?? {}, + ], + false, + ) + } context.siteConfig.themeConfig = defaultsDeep( [{}, context.siteConfig.themeConfig, themeConfigs[options.businessUnit]], diff --git a/packages/logos-docusaurus-preset/src/types/preset.ts b/packages/logos-docusaurus-preset/src/types/preset.ts index 7664629..ccbee7c 100644 --- a/packages/logos-docusaurus-preset/src/types/preset.ts +++ b/packages/logos-docusaurus-preset/src/types/preset.ts @@ -32,6 +32,6 @@ export type PresetConfig = { name: ThemeNames.Default options?: DefaultThemeOptions } - + customSiteConfig?: boolean docs?: Partial } diff --git a/packages/logos-docusaurus-preset/src/types/themes.ts b/packages/logos-docusaurus-preset/src/types/themes.ts index 4c92ff2..3a5fab3 100644 --- a/packages/logos-docusaurus-preset/src/types/themes.ts +++ b/packages/logos-docusaurus-preset/src/types/themes.ts @@ -1,9 +1,12 @@ -import { NavbarItem } from '@docusaurus/theme-common' +import { NavbarItem, Footer } from '@docusaurus/theme-common' export type ThemeConfig = { navbar?: { items?: NavbarItem[] } + footer?: { + links?: Footer['links'] + } } export type { PluginOptions as DefaultThemeOptions } from '@acid-info/logos-docusaurus-theme' diff --git a/packages/logos-docusaurus-preset/src/validateOptions.ts b/packages/logos-docusaurus-preset/src/validateOptions.ts index addd34b..79d6513 100644 --- a/packages/logos-docusaurus-preset/src/validateOptions.ts +++ b/packages/logos-docusaurus-preset/src/validateOptions.ts @@ -15,6 +15,7 @@ const schema = Joi.object({ }) .optional() .default({}), + customSiteConfig: Joi.boolean().optional().default(false), }) export const validateOptions = ({