feat: 将导航配置合并到站点配置中

- 将导航配置从独立的 navigation.yml 合并到 site.yml 中
- 更新 generator.js 以优先使用 site.yml 中的导航配置
- 添加回退机制,当 site.yml 中无导航配置时仍支持独立的 navigation.yml
This commit is contained in:
coolzr
2025-10-23 02:01:46 +08:00
parent 75bc6c0e39
commit cceb83f9a5
3 changed files with 34 additions and 26 deletions

View File

@@ -233,13 +233,23 @@ function loadModularConfig(dirPath) {
if (siteConfig.fonts) config.fonts = siteConfig.fonts;
if (siteConfig.profile) config.profile = siteConfig.profile;
if (siteConfig.social) config.social = siteConfig.social;
// 优先使用site.yml中的navigation配置
if (siteConfig.navigation) {
config.navigation = siteConfig.navigation;
console.log('使用 site.yml 中的导航配置');
}
}
// 加载导航配置
const navConfigPath = path.join(dirPath, 'navigation.yml');
const navConfig = safeLoadYamlConfig(navConfigPath);
if (navConfig) {
config.navigation = navConfig;
// 如果site.yml中没有navigation配置则回退到独立的navigation.yml
if (!config.navigation || config.navigation.length === 0) {
const navConfigPath = path.join(dirPath, 'navigation.yml');
const navConfig = safeLoadYamlConfig(navConfigPath);
if (navConfig) {
config.navigation = navConfig;
console.log('site.yml 中未找到导航配置,使用独立的 navigation.yml 文件');
console.log('提示:建议将导航配置迁移到 site.yml 中,以便统一管理');
}
}
// 加载页面配置