diff --git a/theme/src/node/defaultOptions.ts b/theme/src/node/defaultOptions.ts index 3a813158..c08f5b61 100644 --- a/theme/src/node/defaultOptions.ts +++ b/theme/src/node/defaultOptions.ts @@ -52,16 +52,22 @@ export const fallbackLocaleOption: Partial = { interface PresetLocale { home: string blog: string + tag: string + archive: string } const presetLocales: Record = { 'zh-CN': { home: '首页', blog: '博客', + tag: '标签', + archive: '归档', }, 'en-US': { home: 'Home', blog: 'Blog', + tag: 'Tags', + archive: 'Archives', }, } @@ -131,6 +137,23 @@ export function mergeLocaleOptions(app: App, options: PlumeThemeLocaleOptions) { text: presetLocales[lang]?.blog || presetLocales[defaultLang].blog, icon: 'material-symbols:article-outline', }) + const avatar = resolveLocaleOptions(options, 'avatar') + if (!avatar) { + if (blog?.tags !== false || defaultBlog?.tags !== false) { + option.navbar.push({ + link: pathJoin(link, 'tags/'), + text: presetLocales[lang]?.tag || presetLocales[defaultLang].tag, + icon: 'tabler:tag', + }) + } + if (blog?.archives !== false || defaultBlog?.archives !== false) { + option.navbar.push({ + link: pathJoin(link, 'archives/'), + text: presetLocales[lang]?.archive || presetLocales[defaultLang].archive, + icon: 'ph:file-archive', + }) + } + } } }) diff --git a/theme/src/node/defineConfig.ts b/theme/src/node/defineConfig.ts index 3e45bb2f..5376b6b2 100644 --- a/theme/src/node/defineConfig.ts +++ b/theme/src/node/defineConfig.ts @@ -12,6 +12,13 @@ export function definePlumeNotesItemConfig(item: NotesItemOptions): NotesItemOpt return item } +export function defineNavbarConfig(navbar: NavItem[]): NavItem[] { + return navbar +} + +/** + * @deprecated move to `defineNavbarConfig` + */ export function defineNavbar(navbar: NavItem[]): NavItem[] { return navbar }