修改配置加载逻辑
配置加载优先级使用完全替换规则,而不是深度合并
This commit is contained in:
43
README.md
43
README.md
@@ -16,7 +16,7 @@
|
||||
- [快速部署到GitHub Pages](#快速部署到github-pages)
|
||||
- [部署到服务器](#部署到服务器)
|
||||
- [设置配置文件](#设置配置文件)
|
||||
- [使用单文件配置](#使用单文件配置)
|
||||
- [使用双文件配置](#使用双文件配置)
|
||||
- [使用模块化配置](#使用模块化配置)
|
||||
- [书签导入功能](#书签导入功能)
|
||||
- [贡献](#贡献)
|
||||
@@ -35,7 +35,7 @@
|
||||
- 👥 支持展示社交媒体链接
|
||||
- 📝 支持多个内容页面(首页、项目、文章、友链)
|
||||
- 📌 支持从浏览器导入书签
|
||||
- 🧩 模块化配置/单文件配置
|
||||
- 🧩 模块化配置/双文件配置
|
||||
- 🔄 可部署到GitHub Pages或任何服务器
|
||||
|
||||
## 近期更新
|
||||
@@ -146,7 +146,7 @@ npm install
|
||||
```
|
||||
|
||||
3. 修改配置
|
||||
- 可以选择使用单文件配置或模块化配置(见[设置配置文件](#设置配置文件))
|
||||
- 可以选择使用双文件配置或模块化配置(见[设置配置文件](#设置配置文件))
|
||||
- 自定义网站内容、导航链接、社交媒体链接等
|
||||
|
||||
4. 本地预览
|
||||
@@ -181,7 +181,7 @@ npm run dev
|
||||
#### 第二步:自定义配置
|
||||
|
||||
1. 创建个人配置文件:
|
||||
- 可以使用单文件配置或模块化配置
|
||||
- 可以使用双文件配置或模块化配置
|
||||
- 推荐使用模块化配置(见[使用模块化配置](#使用模块化配置))
|
||||
- 提交您的配置文件到仓库
|
||||
|
||||
@@ -239,22 +239,24 @@ server {
|
||||
|
||||
## 设置配置文件
|
||||
|
||||
MeNav支持两种配置方式:单文件配置和模块化配置(推荐)。
|
||||
MeNav支持两种配置方式:双文件配置和模块化配置(推荐)。
|
||||
|
||||
在加载配置时遵循以下优先级顺序:
|
||||
|
||||
1. `config/user/` (模块化用户配置)
|
||||
2. `config.user.yml`(单文件用户配置)
|
||||
1. `config/user/` (模块化用户配置)(优先级最高)
|
||||
2. `config.user.yml`和 `bookmarks.user.yml`(双文件用户配置)
|
||||
3. `config/_default/` (模块化默认配置)
|
||||
4. `config.yml`(单文件默认配置)
|
||||
4. `config.yml`和`bookmarks.yml`(双文件默认配置)(优先级最低)
|
||||
|
||||
### 使用单文件配置
|
||||
**注意:** 各优先级配置间采用完全替换策略,而非合并。系统会选择存在的最高优先级配置,完全忽略其他低优先级配置。这确保了模块化配置和双文件配置都能独立使用,避免混合配置带来的意外行为。
|
||||
|
||||
单文件配置是最简单的配置方式,适合小型网站和快速开始。
|
||||
### 使用双文件配置
|
||||
|
||||
双文件配置由 `config.yml`/`config.user.yml` 和 `bookmarks.yml`/`bookmarks.user.yml` 两个文件组成,适合小型网站和快速开始。
|
||||
|
||||
1. **创建配置文件**:
|
||||
- 复制 `config.yml` 为 `config.user.yml`
|
||||
- 编辑 `config.user.yml` 文件
|
||||
- 对于书签配置,请勿手动创建 `bookmarks.user.yml`,它应通过[书签导入功能](#书签导入功能)自动生成
|
||||
- 编辑 `config.user.yml` 添加您的配置
|
||||
|
||||
2. **配置文件结构**:
|
||||
```yaml
|
||||
@@ -376,6 +378,15 @@ config/
|
||||
|
||||
MeNav支持从浏览器导入书签,快速批量添加网站链接。
|
||||
|
||||
在加载配置时遵循以下优先级顺序:
|
||||
|
||||
1. `config/user/pages/bookmarks.yml` (模块化用户配置)
|
||||
2. `bookmarks.user.yml`(双文件用户配置的书签部分)
|
||||
3. `config/_default/pages/bookmarks.yml` (模块化默认配置)
|
||||
4. `bookmarks.yml`(双文件默认配置的书签部分)
|
||||
|
||||
**注意:** 与主配置一样,书签配置也采用完全替换策略,系统只会使用找到的最高优先级书签配置,完全忽略低优先级配置。
|
||||
|
||||
### 导入步骤
|
||||
|
||||
1. **从浏览器导出书签**
|
||||
@@ -392,9 +403,13 @@ MeNav支持从浏览器导入书签,快速批量添加网站链接。
|
||||
3. **书签处理结果**
|
||||
- 生成的书签配置会保存到 `bookmarks.user.yml`
|
||||
- 如果使用模块化配置,也会同时保存到 `config/user/pages/bookmarks.yml`
|
||||
- 书签会自动添加到导航菜单中
|
||||
- 自动开始构建
|
||||
|
||||
> 有关书签导入功能的更多信息,请参阅源代码中的相关注释。
|
||||
### 注意事项
|
||||
|
||||
- 仅支持标准HTML格式的书签文件
|
||||
- 每次只会处理目录中最新的一个书签文件
|
||||
- 处理完成后,书签文件会被自动清除,以防止重复处理
|
||||
|
||||
## 贡献
|
||||
|
||||
|
||||
Reference in New Issue
Block a user