Course Database Refactor Implementation Plan
Course Database Refactor Implementation Plan
For Claude: REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.
Goal: 将数据库课程的六个子页面内容合并到 /course/database/,导航折叠,只在点击“数据库系统”时展开,旧子链接跳转不报 404。
Architecture: 采用单一 Markdown 页面承载全部数据库内容,使用显式锚点供侧边导航定位;侧边导航模板根据当前页面是否匹配父级链接决定是否展开子项;通过 redirect_from 汇总旧子路径,删除冗余子页面文件。
Tech Stack: Jekyll (Minimal Mistakes 主题), YAML 导航配置, Kramdown Markdown, Liquid 模板。
Task 1: 为主页面添加锚点并汇总内容
Files:
- Modify:
_pages/course-database.md
Steps:
- 在现有“数据库”主页面内为六个章节添加显式锚点(如
<a id="intro"></a>等),并按原顺序创建对应二级标题。 - 将
_pages/database-introduction.md等六个子页面的正文内容移动到主页面对应锚点下,保留数学公式/代码块格式。 - 为主页面添加
redirect_from,列出六个旧子路径,避免访问 404。
Task 2: 更新导航指向锚点
Files:
- Modify:
_data/navigation.yml
Steps:
- 将
course_nav下“数据库系统”子项的url改为主页面锚点(例如/course/database/#intro等)。 - 确保父级
url仍为/course/database/,顺序保持不变。
Task 3: 让侧边导航按需折叠
Files:
- Modify:
_includes/nav_list
Steps:
- 调整 Liquid 逻辑:仅当当前页面 URL 等于父级链接或以父级链接为前缀时,才渲染其子
ul;否则不输出子列表。 - 保持现有 active 样式逻辑,避免破坏其他栏目。
Task 4: 移除旧子页面文件
Files:
- Delete:
_pages/database-introduction.md,_pages/database-relational-model-sql.md,_pages/database-design-normalization.md,_pages/course-database-storage-indexing.md,_pages/course-database-query-optimization.md,_pages/course-database-transaction-concurrency.md
Steps:
- 删除上述六个子页面文件(它们内容已迁入主页面)。
Task 5: 自检
Files:
- N/A
Steps:
- 运行
bundle exec jekyll build(如环境可用)或至少使用bundle exec jekyll doctor检查配置。 - 手动打开生成的
/course/database/,验证右侧导航折叠/展开、锚点跳转与重定向。
