diff --git a/packages/logos-docusaurus-preset/src/index.ts b/packages/logos-docusaurus-preset/src/index.ts index 4be2826..6736ebf 100644 --- a/packages/logos-docusaurus-preset/src/index.ts +++ b/packages/logos-docusaurus-preset/src/index.ts @@ -8,6 +8,7 @@ import { themeConfigs } from './theme-config/index' import { PluginOptions, ThemeNames } from './types' import { createCommonDataDir, createTeamFile } from './utils/data.utils' import { findDocInstances, validateDocPluginOptions } from './utils/docs.utils' +import { defaultsDeep } from './utils/object.utils' const makeSearchPluginConfig = ( plugins: PluginConfig[], @@ -53,7 +54,10 @@ export default function logosPreset( siteConfigs[options.businessUnit], ) - context.siteConfig.themeConfig = themeConfigs[options.businessUnit] + context.siteConfig.themeConfig = defaultsDeep( + [{}, context.siteConfig.themeConfig, themeConfigs[options.businessUnit]], + false, + ) createCommonDataDir() createTeamFile(context, options) diff --git a/packages/logos-docusaurus-preset/src/theme-config/waku.ts b/packages/logos-docusaurus-preset/src/theme-config/waku.ts index d08204b..747b23e 100644 --- a/packages/logos-docusaurus-preset/src/theme-config/waku.ts +++ b/packages/logos-docusaurus-preset/src/theme-config/waku.ts @@ -9,16 +9,7 @@ export const wakuThemeConfig: typeof baseThemeConfig = { src: 'theme/image/logo.svg', height: 26, }, - items: [ - { - to: 'blog', - label: 'Blog', - }, - { - type: 'localeDropdown', - position: 'right', - }, - ], + items: [], }, metadata: [ { name: 'keywords', content: 'waku, web3' }, diff --git a/packages/logos-docusaurus-preset/src/types/themes.ts b/packages/logos-docusaurus-preset/src/types/themes.ts index e9a25b7..d7178d5 100644 --- a/packages/logos-docusaurus-preset/src/types/themes.ts +++ b/packages/logos-docusaurus-preset/src/types/themes.ts @@ -1,3 +1,9 @@ -export type ThemeConfig = {} +import { NavbarItem } from '@docusaurus/theme-common' + +export type ThemeConfig = { + navbar?: { + items?: NavbarItem[] + } +} export type { PluginOptions as DefaultThemeOptions } from '@acid-info/logos-docusaurus-theme/src' diff --git a/packages/logos-docusaurus-preset/src/utils/object.utils.ts b/packages/logos-docusaurus-preset/src/utils/object.utils.ts new file mode 100644 index 0000000..bdd0a2a --- /dev/null +++ b/packages/logos-docusaurus-preset/src/utils/object.utils.ts @@ -0,0 +1,15 @@ +import * as _ from 'lodash' + +export const defaultsDeep = (objects: any[], mergeArrays: boolean = false) => { + if (mergeArrays) return _.defaultsDeep(...(objects as [any, any])) + + let output = {} + + objects.reverse().forEach((item) => { + _.mergeWith(output, item, (objectValue, sourceValue) => { + return Array.isArray(sourceValue) ? sourceValue : undefined + }) + }) + + return output +}