Skip to content

feat: 新增题目独立页与分类聚合页及构建校验闭环#23

Merged
can4hou6joeng4 merged 14 commits into
mainfrom
feat/seo-static-pages
Apr 16, 2026
Merged

feat: 新增题目独立页与分类聚合页及构建校验闭环#23
can4hou6joeng4 merged 14 commits into
mainfrom
feat/seo-static-pages

Conversation

@can4hou6joeng4
Copy link
Copy Markdown
Owner

摘要

  • 为 203 道题和 19 个分类各生成一个可被搜索引擎独立索引的静态 HTML 页面,打开长尾搜索流量通道
  • 新增 3 个零依赖 Node ESM 脚本:scripts/slug.mjsscripts/build-pages.mjsscripts/validate-pages.mjs
  • sitemap.xml 从 3 条扩到 225 条,覆盖首页、学习页、模拟面试页、19 个分类页和 203 个题目页
  • CI 追加「生成物与数据源同步」校验,提交前 hook 接入 slug 单元测试与页面校验,形成完整闭环
  • 复用现有 Neo-Brutalism 主题 token 补齐独立页样式(面包屑、难度徽章、答案区、相关题、主行动按钮),不引入新依赖

设计与计划

  • 设计文档:`docs/superpowers/specs/2026-04-17-seo-static-pages-design.md`
  • 实施计划:`docs/superpowers/plans/2026-04-17-seo-static-pages.md`

测试计划

  • 本地执行 `./scripts/check-full.sh` 全绿(含 validate-data、slug 单测、validate-pages、validate-site 四级校验)
  • `node scripts/build-pages.mjs` 跑完 `git diff --exit-code q/ c/ sitemap.xml` 返回干净状态
  • 本地 `python3 -m http.server 4173` 启站,浏览器访问任选题目页(如 `q/goroutine-gmp-g-m-p-q-q1rk0k.html`)与分类页(如 `c/go-core.html`),确认题目、答案、相关题、CTA 与样式渲染到位
  • GitHub Pages 部署后在 Google Search Console 重新提交 `sitemap.xml`(部署后独立执行,不在本 PR 范围)

兼容性

  • 不影响现有 SPA 交互:`index.html` / `study.html` / `mock.html` 和 `assets/app.js` 未改动
  • 学习进度与 localStorage 键完全保持兼容
  • 现有三条 sitemap URL 继续保留,仅新增 222 条

@can4hou6joeng4 can4hou6joeng4 merged commit 4f390e3 into main Apr 16, 2026
2 checks passed
@can4hou6joeng4 can4hou6joeng4 deleted the feat/seo-static-pages branch April 16, 2026 16:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant