Files
zMainPage/docs/submodule-timeTableFix.md
zikai 4334dec00d docs: 精简 README,细节拆分到 docs/
README 仅保留概览/结构/基础设施/安装/开发命令;
架构、新增页签、子模块管理细节移至 docs/ 下三个 md:
- docs/architecture.md:模块注册/PageShell/KeepAlive/存活校验
- docs/add-module.md:新增页签步骤 + 元数据字段速查 + 常见变体
- docs/submodule-timeTableFix.md:submodule 升级/clone/移除/独立访问
2026-07-23 04:09:42 +00:00

2.4 KiB
Raw Blame History

子项目 timeTableFixgit submodule

timeTableFixICS 日程整理器)作为 git submodule 被 mainPage 引入,位于 third_party/timeTableFix,独立仓库为 https://git.zikai.wang/zikai/timeTableFix.git

集成方式

mainPage 侧的 src/modules/timetable/Timetable.vue 包装器 import 子模块的 src/App.vue 作为组件,套 PageShell 统一容器与标题,并持有 KeepAlive 匹配名 defineOptions({ name: 'timetable' })

  • 子模块 App.vue 保持纯净(不持 name、不依赖宿主可独立 npm run build / npm test / 部署。
  • 构建期集成(非 iframe共享 mainPage 的构建、依赖(ical.js)与 KeepAlive 缓存。
  • 子模块样式已隔离scoped + ttf- 前缀类名),全局重置仅在独立 app 的 main.js 加载,不污染宿主。

克隆(含子模块)

git clone --recursive https://git.zikai.wang/zikai/zMainPage.git mainPage

若已 clone 但未带子模块:

cd mainPage
git submodule update --init --recursive

升级子模块到最新版本

cd mainPage
git submodule update --remote third_party/timeTableFix      # 拉取最新
cd third_party/timeTableFix && git checkout master           # 固定到目标分支/commit
cd ../..
git add third_party/timeTableFix                             # 更新 gitlink 指针
git commit -m "chore: 升级 timeTableFix 子模块"
npm run build                                                # 重新构建 mainPage
git push                                                     # 推送 mainPagegitlink

推送顺序:先确保子模块的 commit 已推到 timeTableFix.git再推 mainPage 的 gitlink否则别人 clone mainPage 时拉不到子模块对应 commit。

移除子模块集成(仅移除 mainPage 页签,不影响 timeTableFix 本身)

cd mainPage
git submodule deinit -f third_party/timeTableFix
git rm third_party/timeTableFix
git commit -m "chore: 移除 timeTableFix 子模块集成"

同时删 src/modules/timetable/ 文件夹即移除页签。timeTableFix 独立仓库与部署不受影响。

独立访问

timeTableFix 独立 app 可经 Apache /ttf/ 反代单独访问(https://zikai.wang/ttf/),与 mainPage 组件集成互不冲突。反代配置:

ProxyPass        /ttf/ http://127.0.0.1:8888/
ProxyPassReverse /ttf/ http://127.0.0.1:8888/