bookmarks 目录是 MeNav 项目中用于存放浏览器导出的书签文件的专用目录。该目录与书签导入功能直接关联,用于自动将浏览器书签转换为 MeNav 配置文件,从而快速生成个人导航站点。
书签导入功能允许用户:
这一功能极大简化了网站内容的初始设置过程,特别适合需要迁移大量书签的用户。
书签页配置同样遵循项目的“完全替换”策略:系统只会选择一套配置目录加载,不会把 user 与 _default 混合合并。
config/user/:书签页配置应位于 config/user/pages/bookmarks.yml(通常由导入脚本生成)config/_default/pages/bookmarks.yml(默认示例)提示:一旦创建
config/user/,config/_default/会被完全忽略,因此不要指望从默认配置“兜底补齐缺失项”。
MarksVault 浏览器扩展可与 MeNav 集成,实现书签自动同步:
bookmarks/ 目录完整的书签导入流程如下:
bookmarks 目录npm run import-bookmarks
config/user/ 不存在,导入脚本会先从 config/_default/ 初始化一份用户配置(因为配置采用“完全替换”策略,需要完整配置才能正常生成站点)。
(可选)若希望生成结果保持确定性(便于版本管理,减少时间戳导致的无意义 diff):
MENAV_BOOKMARKS_DETERMINISTIC=1 npm run import-bookmarks
config/user/pages/bookmarks.ymlnpm run build
重要说明:在本地开发中,
npm run dev命令不会自动处理书签文件。您必须先手动运行npm run import-bookmarks命令处理书签,然后再运行npm run dev查看效果。这与 GitHub Actions 中的自动处理流程不同,请务必注意。
默认情况下,导入脚本会在生成的 bookmarks.yml 顶部写入时间戳注释,导致每次导入都会产生 diff。
若你希望生成结果尽量稳定(只有书签内容变化才产生 diff),可使用环境变量开启确定性输出:
MENAV_BOOKMARKS_DETERMINISTIC=1 npm run import-bookmarks
MeNav 书签导入功能支持从以下浏览器导出的书签文件:
导入的书签文件需满足以下要求:
<DL>、<DT> 和 <A> 标签的标准书签结构书签处理器 (src/bookmark-processor.js) 对书签文件进行以下处理:
icons.mode: favicon 时,页面通常会优先显示站点 favicon;配置里的 icon 主要用于回退显示或在 icons.mode: manual 时使用(详见 config/README.md)将书签放入此目录后,您可以立即利用 MeNav 的书签处理功能,快速将书签转化为个性化导航站点。