关于 MeNav
MeNav 是一个用于生成个人导航站的项目:
- 构建期:使用 Node.js 作为静态站点生成器(SSG),把配置与内容渲染为
dist/。 - 运行时:输出一份轻量的浏览器 runtime,用于页面交互与增强。
这页用于放置项目的说明与使用要点(你也可以改成自己的“关于”页面)。
适合谁
- 想要一个可自托管、可版本管理的导航页/起始页
- 希望用 YAML + Markdown 管理站点结构与内容
- 更偏好“生成静态文件再部署”,而不是运行时依赖服务端
快速开始
npm install
npm run dev
npm run dev:本地开发(生成站点并启动本地服务)npm run build:生成生产构建(输出到dist/)
项目结构(常用)
src/generator/:构建期生成器(Node.js)src/runtime/:浏览器 runtime(最终会被打包到dist/script.js)templates/:Handlebars 模板config/:站点配置(YAML)content/:内容页(Markdown),例如本文件dist/:构建输出(可直接部署)dev/:网络缓存(gitignored)
配置说明(概念)
- MeNav 的站点配置以
config/下的 YAML 为主。 - 注意:如果存在
config/user/,它会完全替换config/_default/(不是 merge)。
内容页(Markdown)说明
- 内容页的 Markdown 会在构建期渲染为 HTML。
- 内容页通常用于:关于、帮助、使用说明、更新记录等。
安全与链接处理
MeNav 对链接会做安全处理(例如限制危险的 URL scheme),以降低把不安全链接渲染到页面上的风险。
如果你在导航数据或内容页里粘贴了外部链接,建议优先使用 https://。
部署
npm run build 后将生成的 dist/ 部署到任意静态站点托管即可(例如 Nginx、GitHub Pages、Cloudflare Pages 等)。
维护建议
- 把你的配置、内容页都纳入 git 版本管理
- 变更后跑一遍:
npm run check
(会依次执行语法检查、测试与构建)