跳到主要内容

仓库结构

仓库是 Docusaurus 个人知识站点。本文件覆盖目录结构、构建命令、提交规范、静态资源原则。

目录结构

  • docs/:站点主体内容,按编号分组(01-health/02-capability/03-wealth/04-experience/),其中带 SKILL 徽标的文档是给 AI 协作助手使用的工作规则文件,统一放在 关于FEEI.CN/ 子目录中。
  • blog/:博客文章。
  • static/:静态资源根目录。站点图标、PDF、音乐、媒体、结构化数据按子目录分开。
  • static/data/:结构化数据目录,例如 static/data/reading/static/data/health/static/data/maps/static/data/account-assets/static/data/hk-ipo/static/data/llm-usage/
  • static/media/文章目录/:文档正文引用的大体积媒体资源,例如 static/media/annual-review-for-2025/;文档使用 /media/annual-review-for-2025/example.webp 这类路径引用,由 rsync 同步,不进入 Git。文章目录名应尽量全站唯一,避免使用泛泛的 assets/ 作为顶层目录。
  • src/theme/:Docusaurus 主题覆盖和 React 自定义组件。
  • plugins/:本地 Docusaurus 插件。
  • build/.docusaurus/:Docusaurus 生成产物。不要手动编辑——下次构建会被覆盖。

构建、检查与开发命令

  • npm run start:启动本地开发服务器。
  • npm run build:生成生产构建到 build/
  • npm run serve:本地预览构建产物。
  • npm run typecheck:执行 TypeScript 类型检查。
  • npm run clear:清理 Docusaurus 缓存,适用于路由或主题异常。
  • Node.js >=20,以 package.json 为准。

仅在 git push 前必须执行 build 验证:

npm run build 2>&1 | grep -E "WARNING|SUCCESS|ERROR"

输出必须是 [SUCCESS] 且无 [WARNING],否则不能推送。

静态资源与外部依赖

站点自身依赖的稳定资源优先放到 static/ 本地目录,用户内容和自动沉淀的数据可以保留原始外部 URL。

  • 新增站点图标/字体等基础资源 → 放到 static/media/ 下对应目录,组件用 /media/img/... 等相对路径引用。
  • 新增 JSON 等结构化数据 → 放到 static/data/ 下对应目录,组件用 /data/... 路径引用。
  • 新增文档正文图片/视频/音频等大体积媒体 → 可放到 static/media/文章目录/,文档用 /media/文章目录/文件名 引用;如果来源本身是可信外链,也可以保留外链。
  • 日记、Issue 沉淀、抓取类内容中的 GitHub attachment、CDN 图片等 → 默认保留原始 URL,除非明确要求本地化或长期可用性很重要。
  • 第三方 npm 包内置资源 → 通过 Docusaurus 标准 import 链入,不直接写绝对 URL。
  • 微信读书等抓取类资源(封面、JSON 元数据)→ 可继续使用本地 static/data/reading/books/<bookId>/... 路径,也可按数据源实际情况保留远程 URL。

提交与合并请求

提交信息使用中文,风格以简短祈使句为主,例如:添加站点图标重构健康文档并恢复更新时间优化财富框架。一次提交只聚焦一类改动。

不要在 commit 信息中添加 Co-Authored-By 行。

git push 前必须向用户确认,得到明确同意后才能执行。

PR 建议至少包含:

  • 本次改动摘要
  • 受影响的目录或页面
  • 可见界面改动的截图
  • npm run typechecknpm run build 通过说明