diff --git a/README.md b/README.md index 8bc1a5f..641a3a5 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,20 @@
- MarksVault + MeNav

MeNav - 个人导航站

- 一个轻量级、高度可定制的个人导航网站生成器 + 一个轻量级、高度可定制的个人导航网站
- ⚡ 一键部署 自动化构建 轻松创建属于自己的导航主页 + ⚡ 一键部署 自动化构建

+ [![License](https://img.shields.io/badge/License-AGPL--3.0-blue.svg)](https://www.gnu.org/licenses/agpl-3.0.html) [![GitHub stars](https://img.shields.io/github/stars/rbetree/menav)](https://github.com/rbetree/menav/stargazers) [![GitHub forks](https://img.shields.io/github/forks/rbetree/menav)](https://github.com/rbetree/menav/network/members) -📋 一键部署的静态个人导航站 | ⚡ 自动化构建 | 🔖 支持书签导入 +📋 静态一键部署 | ⚡ 自动化构建 | 🔖 支持书签导入 > MeNav是一个轻量级、高度可定制的个人导航网站生成器,让您轻松创建属于自己的导航主页。无需数据库和后端服务,完全静态部署,支持一键Fork部署到GitHub Pages,还可以从浏览器书签一键导入网站。配合 [MarksVault](https://github.com/rbetree/MarksVault) 浏览器扩展,更支持书签自动同步和导航站自动更新。MeNav is a lightweight, highly customizable personal navigation website generator. One-click deployment to GitHub Pages, automated build, bookmark import support, and more. @@ -45,7 +46,7 @@ - [部署到GitHub Pages](#快速部署到github-pages) - [部署到自己的服务器](#部署到服务器) - [其他CI/CD服务部署](#其他cicd托管选项) -- [配置指南](#设置模块化配置文件) +- [配置指南](#设置配置文件) - [使用配置](#使用配置) - [配置详解](#配置详解) - [书签导入](#书签导入功能) @@ -60,15 +61,14 @@ - 🎨 简洁美观的界面设计 - 📱 响应式布局,支持移动端 -- 🔍 实时搜索功能 - 🌐 集成Google、Bing、百度等外部搜索引擎 - 🎯 分类展示网站链接 -- 👥 支持展示社交媒体链接 +- 👥 展示社交媒体链接 +- 🧩 模块化配置 - 📝 支持多个内容页面 - 📌 支持从浏览器导入书签 - 📚 支持2-4层级的多层级嵌套书签结构,更好地组织内容 - 🔄 与 [MarksVault](https://github.com/rbetree/MarksVault) 浏览器扩展集成,支持自动推送书签 -- 🧩 模块化配置 - 🔄 可部署到GitHub Pages或任何类似的CI/CD服务,及任何服务器 ## 近期更新 @@ -196,7 +196,7 @@ icons: - HTML5 + CSS3 - JavaScript (原生) - Handlebars 模板引擎 -- Font Awesome 图标 + Google Favicon API +- Google Favicon API + Font Awesome 图标 - GitHub Pages托管/其他各种CI/CD服务托管 ## 项目结构 @@ -205,7 +205,7 @@ icons: menav/ ├── assets/ # 静态资源文件 │ ├── style.css # 样式表 -│ └── favicon.ico # 网站图标 +│ └── menav.svg # 网站图标 ├── src/ # 源代码 │ ├── generator.js # 静态网站生成器 │ ├── bookmark-processor.js # 书签导入处理器 @@ -226,8 +226,7 @@ menav/ ├── bookmarks/ # 书签导入目录 ├── config/ # 模块化配置目录 │ ├── _default/ # 默认配置 -│ │ ├── site.yml # 网站基本配置 -│ │ ├── navigation.yml # 导航配置 +│ │ ├── site.yml # 网站基本配置(含导航配置) │ │ └── pages/ # 页面配置 │ │ ├── home.yml │ │ ├── projects.yml @@ -235,8 +234,7 @@ menav/ │ │ ├── friends.yml │ │ └── bookmarks.yml │ └── user/ # 用户自定义配置 -│ ├── site.yml # 用户网站配置 -│ ├── navigation.yml # 用户导航配置 +│ ├── site.yml # 用户网站配置(含导航配置) │ └── pages/ # 用户页面配置 ``` @@ -259,12 +257,8 @@ cd menav npm install ``` -3. 修改配置 - - 在`config/user/`目录下创建配置文件 - - 至少需要创建`site.yml`和`navigation.yml` - - 可以参考`config/_default/`目录结构和内容 - - 自定义站点标题、描述、导航链接和网站分类等 - +3. 完成配置(见[设置配置文件](##设置配置文件)) + 4. 导入书签(可选) - 将浏览器导出的HTML格式书签文件放入`bookmarks`目录 - 运行书签处理命令: @@ -274,19 +268,18 @@ npm install - 系统会自动将书签转换为配置文件保存到`config/user/pages/bookmarks.yml` - **注意**:`npm run dev`命令不会自动处理书签文件,必须先手动运行上述命令 -5. 本地预览 +5. 构建 ```bash # 启动开发服务器 npm run dev ``` -6. 构建静态网站 ```bash # 生成静态HTML文件 npm run build ``` -构建后的文件位于`dist`目录,可以部署到任何静态网站托管服务。 +构建后的文件位于`dist`目录 @@ -314,20 +307,19 @@ npm run build #### 第二步:自定义配置 -1. 创建个人配置文件: - - **重要:** 始终创建自己的用户配置文件,不要直接修改默认配置文件 - - 使用模块化配置(见[使用模块化配置](#使用模块化配置)) - - 提交您的配置文件到仓库 +创建个人配置文件: +- **重要:** 始终创建自己的用户配置文件,不要直接修改默认配置文件 +- 完成配置文件(见[设置配置文件](##设置配置文件)) +- 提交您的配置文件到仓库 -2. 等待自动部署: - - GitHub Actions会自动检测您的更改 - - 构建并部署您的网站 - - 部署完成后,您可以在 Settings -> Pages 中找到您的网站地址 - -> 重要提示: 请注意不要在配置文件中包含敏感信息,因为它将被提交到公开仓库。 +#### 第三步:等待自动部署 +- GitHub Actions会自动检测您的更改 +- 构建并部署您的网站 +- 部署完成后,您可以在 Settings -> Pages 中找到您的网站地址 **重要: Sync fork后需要手动触发工作流**: + - 当您使用GitHub界面上的"Sync fork"按钮同步本仓库的更新后 - GitHub Actions工作流不会自动运行 - 您需要手动触发构建流程: @@ -384,79 +376,67 @@ server { 除了GitHub Pages外,您还可以使用其他各种CI/CD服务部署MeNav: -1. **Vercel**: - - 在Vercel上导入您的GitHub仓库 - - 设置构建命令为`npm run build` - - 设置输出目录为`dist` +**如 Vercel / Netlify / Cloudflare Pages**: -2. **Netlify**: - - 连接您的GitHub仓库 - - 设置构建命令为`npm run build` - - 发布目录设置为`dist` +- 连接您的GitHub仓库 +- 设置构建命令为`npm run build` +- 设置输出目录为`dist` -3. **Cloudflare Pages**: - - 连接您的Git提供商 - - 设置构建命令为`npm run build` - - 构建输出目录设置为`dist` - -4. **GitLab Pages**: - - 创建`.gitlab-ci.yml`文件 - - 配置Pages部署流程 - - 指定构建输出目录 - -5. **Azure Static Web Apps**: - - 在Azure门户中创建新的静态Web应用 - - 关联您的代码库 - - 配置构建信息 +> **书签转换依赖 GitHub Actions** +> 如果需要使用书签自动推送功能,必须先在 GitHub 仓库中启用 GitHub Actions +> +> **部署流程**: +> ``` +> 1. 上传书签 → 2. GitHub Actions 处理 → 3. 使用处理完成的代码在 GitHub Pages 自动部署 +> ↓ +> 4. 其他 CI/CD 托管平台检测到变化 → 5. 使用处理完成的代码自动部署 +> ``` 无论选择哪种部署方式,请确保创建并使用您自己的配置文件,而不是直接修改默认配置。 -## 设置模块化配置文件 +## 设置配置文件 MeNav使用模块化配置方式,将配置分散到多个文件中,更易于管理和维护。 > **🔔 重要提示:** 请务必在`config/user/`目录下创建并使用您自己的配置文件,不要直接修改默认配置文件,以便后续更新项目时不会丢失您的个性化设置。 在加载配置时遵循以下优先级顺序: -1. `config/user/` (模块化用户配置)(优先级最高) -2. `config/_default/` (模块化默认配置) +1. `config/user/` (用户配置)(优先级最高) +2. `config/_default/` (默认配置) **注意:** 采用完全替换策略,而非合并。系统会选择存在的用户配置,完全忽略默认配置。 ### 使用配置 -模块化配置将配置分散到多个文件中,更易于管理和维护。 - * **创建配置目录**: - 在`config/user/`目录下创建您的自定义配置文件 - 可以参考项目结构中的`config/_default/`目录结构 - - 至少需要创建`site.yml`和`navigation.yml` + - 至少需要创建`site.yml` ### 配置详解
点击展开 -MeNav的配置系统分为三个主要部分,对应三种不同类型的配置文件: +MeNav的配置系统分为两个主要部分,对应两种不同类型的配置文件: -1. `site.yml` - 网站基本信息、字体、个人资料和社交媒体链接 -2. `navigation.yml` - 导航菜单配置 -3. `pages/` 目录 - 各页面的内容配置 +1. `site.yml` - 网站基本信息、字体、个人资料、社交媒体链接和导航菜单配置 +2. `pages/` 目录 - 各页面的内容配置 以下详细介绍每个配置文件的结构和用途。 ### 一、site.yml 配置文件 -site.yml文件包含网站的基本信息、字体设置、个人资料和社交媒体链接等全局配置,这些设置会影响整个网站的呈现。 +site.yml文件包含网站的基本信息、字体设置、个人资料、社交媒体链接和导航菜单等全局配置,这些设置会影响整个网站的呈现。 ```yaml # 网站基本信息 title: "我的导航站" # 网站标题,显示在浏览器标签和页面顶部 description: "个人网址导航" # 网站描述,用于SEO和分享卡片 author: "张三" # 作者姓名 -favicon: "favicon.ico" # 网站图标,支持ico、png等格式 +favicon: "menav.svg" # 网站图标,支持ico、png等格式 logo_text: "导航站" # 左上角显示的Logo文本 icons: @@ -508,6 +488,22 @@ social: - 启用 `mode=favicon` 时,页面会请求第三方服务以获取图片,可能将站点 `URL` 发送至该服务商(Google)。 +```yaml +# 导航配置 +navigation: + - name: "首页" # 菜单项名称 + icon: "fas fa-home" # 菜单项图标 + id: "home" # 页面标识符(必须唯一) + active: true # 是否默认激活(只能有一个为true) + - name: "项目" + icon: "fas fa-project-diagram" + id: "projects" + - name: "文章" + icon: "fas fa-book" + id: "articles" + # 更多导航项... +``` + > **📝 温馨提示**: > - 关于**字体设置**: > - **system**表示使用系统自带字体,无需额外加载,页面加载速度更快 @@ -515,38 +511,16 @@ social: > - 中文网站推荐使用"Noto Sans SC"、"Source Han Sans CN"等支持中文的字体 > - 设置字重时请确保所选字体支持该字重值,否则可能无法正确显示 > - 关于**个人资料**:profile.description支持较长文本,可以添加一些个性化的介绍或使用说明,让您的导航站更具特色 -> - 关于**社交媒体链接**:这些链接会显示在网站侧边栏的底部,方便访问者联系您 +> - 关于**社交媒体链接**:这些链接会显示在网站侧边栏的底部 +> - 关于**导航配置**: +> - 每个导航项的`id`必须唯一,并且有对应的页面配置文件(该id必须与`pages/`文件夹中的页面配置文件名一致) +> - 只能设置一个导航项的`active`为`true`,作为默认显示页面 +> - 图标使用Font Awesome 5图标库,格式为`前缀 fa-图标名` +> - 导航菜单的顺序与此配置中的顺序一致,可以通过调整项目顺序来更改导航顺序 -### 二、navigation.yml 配置文件 +### 二、pages目录 配置文件 -navigation.yml文件定义网站左侧的导航菜单,支持添加多个自定义页面: - -```yaml -# 导航菜单配置示例 -- name: "首页" # 菜单项名称 - icon: "fas fa-home" # 菜单项图标 - id: "home" # 页面标识符(必须唯一) - active: true # 是否默认激活(只能有一个为true) -- name: "项目" - icon: "fas fa-project-diagram" - id: "projects" - active: false -- name: "文章" - icon: "fas fa-book" - id: "articles" - active: false -# 更多导航项... -``` - -> **📝 温馨提示**: -> - 每个导航项的`id`必须唯一,并且有对应的页面配置文件(该id必须与`pages/`文件夹中的页面配置文件名一致) -> - 只能设置一个导航项的`active`为`true`,作为默认显示页面 -> - 图标使用Font Awesome 5图标库,格式为`前缀 fa-图标名` -> - 导航菜单的顺序与此配置文件中的顺序一致,可以通过调整项目顺序来更改导航顺序 - -### 三、pages目录 配置文件 - -pages目录包含每个页面的详细配置,每个文件对应一个页面。文件名必须与navigation.yml中的id一致。 +pages目录包含每个页面的详细配置,每个文件对应一个页面。文件名必须与 `site.yml` 中 `navigation` 配置的 `id` 一致。 例如,对于导航中的"home"页面,需要创建`config/user/pages/home.yml`: @@ -574,12 +548,14 @@ categories: 自定义页面配置示例(以"notes"为例): -1. 首先在navigation.yml中添加对应的导航项: +1. 首先在`site.yml`的`navigation`部分添加对应的导航项: ```yaml -- name: "笔记" - icon: "fas fa-sticky-note" - id: "notes" - active: false +# config/user/site.yml +navigation: + - name: "笔记" + icon: "fas fa-sticky-note" + id: "notes" + active: false ``` 2. 然后创建`config/user/pages/notes.yml`配置文件: @@ -689,33 +665,13 @@ categories: > - 不同页面可以特化用于不同用途,如"工作"、"学习"、"娱乐"等 > - 页面数量不限,但建议控制在合理范围内,避免导航过长 -### 四、Font Awesome图标指南 - -MeNav使用Font Awesome 5图标库,提供了丰富的图标选择: - -**常用图标前缀**: -- `fas` - Font Awesome Solid (实心风格,最常用) -- `far` - Font Awesome Regular (线框风格) -- `fab` - Font Awesome Brands (品牌图标,用于各类网站品牌) - -**如何选择合适的图标**: -1. 访问[Font Awesome官网](https://fontawesome.com/icons)搜索图标 -2. 复制图标名称,加上前缀使用 -3. 例如:`fas fa-book`、`fab fa-youtube`等 - -**网站图标匹配建议**: -- 对于知名网站和平台,优先使用`fab`前缀的品牌图标 -- 对于通用功能网站,选择能代表其功能的图标,如词典类用`fas fa-book` -- 对于工具类网站,可使用`fas fa-tools`或更具体的工具图标 - -### 五、配置文件结构示例 +### 三、配置文件结构示例 **完整配置结构**: ``` config/user/ -├── site.yml # 网站基本信息、字体、个人资料和社交媒体链接 -├── navigation.yml # 导航菜单配置 +├── site.yml # 网站基本信息、字体、个人资料、社交媒体链接和导航菜单配置 └── pages/ ├── home.yml # 首页配置 ├── projects.yml # 项目页配置 @@ -724,27 +680,6 @@ config/user/ └── notes.yml # 自定义笔记页配置 ``` -### 六、常见配置问题解决 - -1. **配置后不生效** - - 检查YAML格式是否正确,缩进是否一致 - - 确认修改的是用户配置文件(`config/user/`目录),而非默认配置文件 - - 运行`npm run dev`重新构建网站并查看 - -2. **图标不显示** - - 确认图标名称和前缀是否正确(如`fas fa-home`) - - 检查Font Awesome是否支持该图标(在官网搜索确认) - - 注意图标名称中的连字符,如`fa-user-circle`而非`fa-usercircle` - -3. **字体加载问题** - - 确认Google字体名称拼写正确 - - 使用system来源时,确保使用的是通用系统字体 - - 中文字体推荐使用Noto Sans SC、Source Han Sans等支持中文的Google字体 - -4. **配置文件优先级问题** - - 记住系统只会使用最高优先级的配置,不会合并不同配置 - - 检查您是否在多个地方定义了相同的配置,造成覆盖 - > **📝 首次设置建议**: > - 首先复制`config/_default/`目录中的文件到`config/user/`目录 > - 然后逐步修改各配置文件,保持目录结构一致 @@ -756,26 +691,20 @@ config/user/ MeNav支持从浏览器导入书签,快速批量添加网站链接,无需手动录入。 -> **🔔 重要提示**:系统只会处理位于文件夹内的书签,直接放在收藏夹根目录中的书签不会被导入。请确保您要导入的书签都放在文件夹中,每个文件夹将成为导航中的一个分类。 - -> **⚠️ 开发模式说明**:在本地开发中,`npm run dev` 命令**不会**自动处理书签文件。您必须先手动运行 `npm run import-bookmarks` 命令处理书签,然后再运行 `npm run dev` 或 `npm run build` 查看效果。这与 GitHub Actions 中的自动处理流程不同,请务必注意。 - ### MarksVault 浏览器扩展集成 [MarksVault](https://github.com/rbetree/MarksVault) 浏览器扩展提供与 MeNav 的无缝集成: - **一键推送书签**:通过扩展直接将书签推送到您的 MeNav 项目 - **自动化处理**:推送的书签文件会被自动处理并转换为配置 -- **GitHub同步**:无需手动导出导入,直接从浏览器到 GitHub 到网站 - -通过安装 MarksVault 扩展,您可以在日常使用浏览器过程中随时更新您的导航站,极大简化了书签管理流程。 +- **自动删除**:处理完成后,原始书签文件会被自动删除,以防止重复处理 ### 配置加载优先级 书签配置按以下优先级加载(从高到低): -1. `config/user/pages/bookmarks.yml` (模块化用户配置) -2. `config/_default/pages/bookmarks.yml` (模块化默认配置) +1. `config/user/pages/bookmarks.yml` (用户配置) +2. `config/_default/pages/bookmarks.yml` (默认配置) **注意:** 书签配置采用完全替换策略,系统只会使用找到的最高优先级配置。 @@ -792,25 +721,7 @@ MeNav支持从浏览器导入书签,快速批量添加网站链接,无需手
点击展开 -1. **从浏览器导出书签** - - **Chrome**: - - 打开Chrome菜单 (右上角三点图标) - - 选择"书签" > "书签管理器" - - 点击右上角三点图标,选择"导出书签" - - 保存HTML文件到本地 - - **Firefox**: - - 点击书签菜单按钮 - - 选择"管理书签" - - 在菜单栏选择"导入和备份" > "导出书签到HTML" - - 保存文件到本地 - - **Edge**: - - 打开菜单 (右上角三点图标) - - 选择"收藏夹" - - 点击"更多选项" > "导出收藏夹" - - 保存为HTML文件 +1. **从浏览器导出html书签** 2. **导入书签到MeNav** @@ -825,23 +736,19 @@ MeNav支持从浏览器导入书签,快速批量添加网站链接,无需手 - 运行`npm run import-bookmarks`命令处理书签文件 - 系统生成配置文件后即可使用`npm run dev`预览 -### 书签导入注意事项 +#### 根路径书签处理 + +如果HTML书签文件中存在`不在任何文件夹内`的根路径书签,系统会: +- 自动创建名为"根目录书签"的特殊分类 +- 该分类始终位于所有其他分类之前(第一位) +- 只有存在根路径书签时才会创建该分类 -- 仅支持标准HTML格式的书签文件(大多数浏览器导出格式) -- 每次只会处理目录中最新的一个书签文件 -- 文件夹结构会保留,但可能需要手动调整图标和描述 -- 处理完成后,原始书签文件会被自动删除,以防止重复处理
> 生成的配置可在`config/user/pages/bookmarks.yml`中查看和编辑 ## 常见问题 -
-模块化配置的优势是什么? -模块化配置将不同功能的配置分散到多个文件中,便于管理和维护。当网站内容较多时,分散的配置文件让您可以只关注需要修改的特定部分,避免配置文件变得臃肿难以编辑。 -
-
如何自定义Handlebars模板? MeNav现在使用Handlebars模板系统,您可以通过以下步骤自定义模板: @@ -857,34 +764,11 @@ MeNav现在使用Handlebars模板系统,您可以通过以下步骤自定义 修改模板后,需要重新构建项目以应用更改。
-
-如何更改网站的主题或样式? -目前MeNav采用统一的设计风格,您可以通过修改`config/user/site.yml`中的字体设置来调整网站外观。未来版本将考虑增加主题切换功能。 -
- -
-可以添加自定义JS脚本吗? -当前版本不直接支持添加自定义JS。如果您需要此功能,可以考虑Fork项目后修改`templates/index.html`模板文件,添加您的自定义脚本。 -
-
导入的书签没有正确显示图标怎么办? 默认启用 favicon 模式:页面会尝试从第三方服务获取站点 favicon;若 URL 不是 http/https、站点无 favicon 或网络受限,将自动回退为 Font Awesome 图标。 - -如果您希望完全关闭外部请求并手动控制图标: - -关闭 favicon 模式: - -```yaml -# config/user/site.yml -icons: - mode: manual # 全局不再请求 favicon,仅使用 Font Awesome 图标 -``` - -提示:更改配置后重新构建即可生效。
-
如何使用MarksVault扩展自动同步书签? MarksVault浏览器扩展与MeNav的集成相当简单: diff --git a/bookmarks/README.md b/bookmarks/README.md index 2e1ced3..a863b9d 100644 --- a/bookmarks/README.md +++ b/bookmarks/README.md @@ -62,6 +62,9 @@ MeNav 书签导入功能支持从以下浏览器导出的书签文件: - 文件编码:UTF-8 - 文件结构:包含 `
`、`
` 和 `` 标签的标准书签结构 - 文件大小:建议不超过 5MB(约数千个书签) +- 支持处理位于文件夹内的书签 +- 支持处理不在任何文件夹内的根路径书签(自动归入"根目录书签"分类) +- 空文件夹会被忽略 ## 文件处理机制 @@ -76,11 +79,18 @@ MeNav 书签导入功能支持从以下浏览器导出的书签文件: - 将书签文件夹转换为网站分类 - 提取链接URL、标题和添加日期 -3. **图标分配**: +3. **根路径书签处理**: + - **自动分类**:根路径书签会被自动归入名为"根目录书签"的特殊分类 + - **显示位置**:该分类始终位于所有其他分类之前(第一位) + - **图标标识**:使用星标图标(fas fa-star) + - **条件生成**:只有存在根路径书签时才会创建该分类 + - **自动映射**:根路径书签同样支持基于URL的自动图标映射功能 + +4. **图标分配**: - 根据URL自动匹配合适的 Font Awesome 图标 - 为每个链接和分类分配图标 -4. **配置生成**: +5. **配置生成**: - 创建符合 MeNav 配置格式的 YAML 文件 - 按层级组织分类和链接 - 应用自动生成的元数据 diff --git a/config/README.md b/config/README.md index fc08f18..ef8d8e8 100644 --- a/config/README.md +++ b/config/README.md @@ -7,7 +7,6 @@ - [配置加载机制](#配置加载机制) - [模块化配置文件](#模块化配置文件) - [网站基础配置](#网站基础配置) - - [导航配置](#导航配置) - [页面配置](#页面配置) - [配置优先级](#配置优先级) - [配置示例](#配置示例) @@ -24,8 +23,7 @@ ``` config/ ├── _default/ # 默认配置目录 -│ ├── site.yml # 默认网站基础配置 -│ ├── navigation.yml # 默认导航配置 +│ ├── site.yml # 默认网站基础配置(含导航配置) │ └── pages/ # 默认页面配置 │ ├── home.yml # 首页默认配置 │ ├── projects.yml @@ -33,8 +31,7 @@ config/ │ ├── friends.yml │ └── bookmarks.yml └── user/ # 用户配置目录(覆盖默认配置) - ├── site.yml # 用户自定义网站配置 - ├── navigation.yml # 用户自定义导航配置 + ├── site.yml # 用户自定义网站配置(含导航配置) └── pages/ # 用户自定义页面配置 ├── home.yml # 首页用户配置 └── ... @@ -62,15 +59,9 @@ MeNav 配置系统使用深度合并机制,按以下顺序加载和合并配 - 字体配置和主题设置 - 全局元数据和站点参数 - 个人资料和社交媒体链接 +- 导航菜单配置(侧边栏导航项、页面标题和图标、页面顺序和可见性) -### 导航配置 - -`navigation.yml` 定义网站的导航结构: - -- 侧边栏导航项 -- 页面标题和图标 -- 页面顺序和可见性 -- 外部链接配置 +> **注意**:从 v1.x 版本开始,导航配置已合并到 `site.yml` 文件中,不再使用独立的 `navigation.yml` 文件。如果您从旧版本迁移,请将原 `navigation.yml` 的内容移至 `site.yml` 的 `navigation` 字段下。 ### 页面配置 @@ -88,11 +79,9 @@ MeNav 配置系统使用深度合并机制,按以下顺序加载和合并配 配置项的优先级从高到低为: 1. 用户页面配置 (`user/pages/*.yml`) -2. 用户导航配置 (`user/navigation.yml`) -3. 用户网站配置 (`user/site.yml`) -4. 默认页面配置 (`_default/pages/*.yml`) -5. 默认导航配置 (`_default/navigation.yml`) -6. 默认网站配置 (`_default/site.yml`) +2. 用户网站配置 (`user/site.yml`) +3. 默认页面配置 (`_default/pages/*.yml`) +4. 默认网站配置 (`_default/site.yml`) ## 配置示例 @@ -128,6 +117,19 @@ social: - name: "Twitter" url: "https://twitter.com/username" icon: "fab fa-twitter" + +# 导航配置 +navigation: + - name: "首页" + icon: "fas fa-home" + id: "home" + active: true + - name: "项目" + icon: "fas fa-project-diagram" + id: "projects" + - name: "文章" + icon: "fas fa-book" + id: "articles" ``` ### 首页配置示例 (home.yml) diff --git a/templates/README.md b/templates/README.md index bd6ea8c..853a5a1 100644 --- a/templates/README.md +++ b/templates/README.md @@ -407,7 +407,7 @@ categories: ### 添加新页面 1. 在 `templates/pages/` 创建新的 `.hbs` 文件 -2. 在 `config/_default/navigation.yml` 添加页面配置 +2. 在 `config/_default/site.yml` 的 `navigation` 部分添加页面配置 3. 页面内容可引用现有组件或创建新组件 示例: