From 23b79a2473674e75608736e2cac491b163a49c35 Mon Sep 17 00:00:00 2001 From: wait4xx Date: Mon, 2 Nov 2026 19:18:03 +0800 Subject: [PATCH] =?UTF-8?q?chore(spec):=20blog-5g=20=E5=85=A8=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=8B=BE=E9=80=89=EF=BC=88T4=20=E6=8E=AA=E8=BE=9E?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Spec: 2026-11-02_blog-5g-pages Co-authored-by: GLM-5.3 --- .spec/specs/2026-11-02_blog-5g-pages/spec.md | 28 +++++++++---------- .spec/specs/2026-11-02_blog-5g-pages/tasks.md | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.spec/specs/2026-11-02_blog-5g-pages/spec.md b/.spec/specs/2026-11-02_blog-5g-pages/spec.md index 174548b..e96b227 100644 --- a/.spec/specs/2026-11-02_blog-5g-pages/spec.md +++ b/.spec/specs/2026-11-02_blog-5g-pages/spec.md @@ -34,13 +34,13 @@ ## 3. 功能范围 ### 3.1 核心功能(MVP) -- [ ] T1 blocks 骨架:schema(discriminatedUnion)+ page-blocks.ts + BlockRenderer + prose/tracks/divider 三块 + 后台 types 声明 -- [ ] T2 块型扩充:cards/timeline/quote/figure/linklist/cta + 图标键白名单 + 图片 image() 管线 -- [ ] T3 样式即数据:theme.yaml + theme.ts + BaseLayout 内联变量 + 对比度闸门脚本 -- [ ] T4 首页细化与去重:抽 HomePage.astro 消 zh/en 双份 + 字段细化(projectsLimit/announcement 等) -- [ ] T5 开源页收尾:README 缓存策略/超时/回落矩阵 + fallback JSON 回填 + include 未命中 WARN -- [ ] T6 文档与 hint:docs/管理台.md(块编辑用法)+ 写作指南扩充 + admin 全字段中文 hint -- [ ] T7 字体子集化工具:按页用字裁剪艺术字体为小切片 + build.sh 守卫挂载 + 实测对比 +- [x] T1 blocks 骨架:schema(discriminatedUnion)+ page-blocks.ts + BlockRenderer + prose/tracks/divider 三块 + 后台 types 声明 +- [x] T2 块型扩充:cards/timeline/quote/figure/linklist/cta + 图标键白名单 + 图片 image() 管线 +- [x] T3 样式即数据:theme.yaml + theme.ts + BaseLayout 内联变量 + 对比度闸门脚本 +- [x] T4 首页细化与去重:抽 HomePage.astro 消 zh/en 双份 + 字段细化(projectsLimit/announcement 等) +- [x] T5 开源页收尾:README 缓存策略/超时/回落矩阵 + fallback JSON 回填 + include 未命中 WARN +- [x] T6 文档与 hint:docs/管理台.md(块编辑用法)+ 写作指南扩充 + admin 全字段中文 hint +- [x] T7 字体子集化工具:按页用字裁剪艺术字体为小切片 + build.sh 守卫挂载 + 实测对比 ### 3.2 扩展功能 - 无 @@ -69,13 +69,13 @@ - 升级触发:若 theme 变量波及全局排版(字体字号全站变化)或 blocks 改动触及首页/文章页结构,升级为全站视觉复核与 E2E 全量并记录理由 ## 6. 成功标准与验证方式 -- [ ] 关于页整页由 yaml blocks 驱动,增删排序生效 -> verify: task_0001 -- [ ] 九类块全部可渲染且旧内容零回归(三级回落) -> verify: task_0002 -- [ ] theme.yaml 改值 → 产物 CSS 变量变化,对比度闸门拦截不达标 -> verify: task_0003 -- [ ] 首页 zh/en 由同一组件渲染且字段可配 -> verify: task_0004 -- [ ] 开源页 README 失败矩阵与 fallback 告警可用 -> verify: task_0005 -- [ ] 后台文档与 hint 完整 -> verify: task_0006 -- [ ] 字体子集化工具把指定字体单页增量压到 ≤150KB -> verify: task_0007 +- [x] 关于页整页由 yaml blocks 驱动,增删排序生效 -> verify: task_0001 +- [x] 九类块全部可渲染且旧内容零回归(三级回落) -> verify: task_0002 +- [x] theme.yaml 改值 → 产物 CSS 变量变化,对比度闸门拦截不达标 -> verify: task_0003 +- [x] 首页 zh/en 由同一组件渲染且字段可配 -> verify: task_0004 +- [x] 开源页 README 失败矩阵与 fallback 告警可用 -> verify: task_0005 +- [x] 后台文档与 hint 完整 -> verify: task_0006 +- [x] 字体子集化工具把指定字体单页增量压到 ≤150KB -> verify: task_0007 ## 7. 风险与约束 - 灰阶体系与双语红线不变;彩色仅正文强调 diff --git a/.spec/specs/2026-11-02_blog-5g-pages/tasks.md b/.spec/specs/2026-11-02_blog-5g-pages/tasks.md index b95fb70..8920c00 100644 --- a/.spec/specs/2026-11-02_blog-5g-pages/tasks.md +++ b/.spec/specs/2026-11-02_blog-5g-pages/tasks.md @@ -21,7 +21,7 @@ - boundary: 新增 content/site/theme.yaml(12 个白名单旋钮:prose-size/measure/radius/accent/leading 等)、新增 src/lib/theme.ts(getTheme + themeVarsCss 生成 :root:root{…})、BaseLayout.astro head 内联 theme 变量(构建期静态)、新增 scripts/build-perf/contrast-check.mjs(断言 theme 结果下正文对比度 ≥4.5)、public/admin/config.yml 加 theme 单例、build.sh 守卫挂载 - verify: `E2E_BASE=http://127.0.0.1:18924 node tests/e2e.mjs 2>&1 | grep -q "37/37 PASS" && test -f content/site/theme.yaml && node scripts/build-perf/contrast-check.mjs dist` -- [ ] T4 首页细化与去重 +- [x] T4 首页细化与去重 - claim: op-artalk - boundary: 新增 src/components/pages/HomePage.astro(承接现 index.astro 区块逻辑,locale prop)、src/pages/{index,en/index}.astro 改为薄壳、home.yaml 增 projectsLimit / announcement(markdown)/ postsTracks(轨开关细分),site-content 访问器同步 - verify: `E2E_BASE=http://127.0.0.1:18924 node tests/e2e.mjs 2>&1 | grep -q "37/37 PASS" && test -f src/components/pages/HomePage.astro && grep -q "HomePage" src/pages/en/index.astro`