Add an option to allow overriding the site config.

This commit is contained in:
Hossein Mehrabi
2022-12-07 13:40:10 +03:30
parent 55f4c7bab1
commit e3045feebb
4 changed files with 21 additions and 6 deletions
+15 -4
View File
@@ -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]],
@@ -32,6 +32,6 @@ export type PresetConfig = {
name: ThemeNames.Default
options?: DefaultThemeOptions
}
customSiteConfig?: boolean
docs?: Partial<DocPluginOptions>
}
@@ -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'
@@ -15,6 +15,7 @@ const schema = Joi.object<PluginOptions>({
})
.optional()
.default({}),
customSiteConfig: Joi.boolean().optional().default(false),
})
export const validateOptions = ({