fix: 对齐配置策略并加固书签导入
1) src/bookmark-processor.js:加固书签导入 - config/user/ 不存在时先从 config/_default/ 初始化一套完整用户配置(符合“完全替换”策略) - 优先更新 config/user/site.yml 的 navigation,确保包含 id: bookmarks;失败再兼容旧 navigation.yml - 无 .html 书签文件时由报错改为警告并跳过,不阻塞流程 - 导航更新日志按结果输出,不再无条件“已更新” 2) config/README.md:修正文档 - 明确配置加载为“完全替换、不合并” - 补充首次使用建议:复制 config/_default/ 到 config/user/ 3) package.json:许可证对齐 - license 从 MIT 改为 AGPL-3.0-only(与 LICENSE/README 对齐) 4) .gitignore:忽略工具目录 - 新增忽略 .serena/
This commit is contained in:
@@ -39,14 +39,12 @@ config/
|
||||
|
||||
## 配置加载机制
|
||||
|
||||
MeNav 配置系统使用深度合并机制,按以下顺序加载和合并配置:
|
||||
MeNav 配置系统采用“完全替换”策略(不合并),按以下优先级选择**唯一**的一套配置目录:
|
||||
|
||||
1. 加载 `_default` 目录中的所有配置(基础层)
|
||||
2. 加载 `user` 目录中的配置(如果存在,覆盖同名配置项)
|
||||
3. 深度合并所有配置,确保用户配置优先级高于默认配置
|
||||
4. 应用最终合并后的配置生成网站
|
||||
1. 若存在 `config/user/`,则只加载该目录下的配置,并**完全忽略** `config/_default/`
|
||||
2. 否则加载 `config/_default/` 作为默认配置
|
||||
|
||||
这种机制使用户只需配置想要自定义的部分,其余部分由默认配置提供。
|
||||
也就是说:`config/user/` 一旦存在,就需要包含一套完整的配置(例如 `site.yml` 与必要的 `pages/*.yml`),系统不会把缺失部分从默认配置补齐。
|
||||
|
||||
## 模块化配置文件
|
||||
|
||||
@@ -170,10 +168,10 @@ categories:
|
||||
|
||||
3. **配置管理**:
|
||||
- 利用模块化结构分类管理配置
|
||||
- 只覆盖需要自定义的配置项
|
||||
- 首次使用建议先完整复制 `config/_default/` 到 `config/user/`,再按需修改
|
||||
- 定期备份您的用户配置
|
||||
|
||||
4. **配置验证**:
|
||||
- 修改配置后先在本地构建测试
|
||||
- 使用 `npm run dev` 预览更改效果
|
||||
- 确保 YAML 语法正确无误
|
||||
- 确保 YAML 语法正确无误
|
||||
|
||||
Reference in New Issue
Block a user