Files
blog/.spec/specs/2026-11-03_blog-5j-content-refine/tasks.md
T
wait4xandGLM-5.3 a2b5755680 docs(content): story 字段/页面说明文案/隐藏语义同步到指南(5j T5)
- 管理台:开源页「叙述已合一」(推荐改 story 单字段,旧字段标 legacy)、
  新增「页面说明文案」一节(瞬间/书架标题下话语 + 三档样式 + 兜底行为)、
  置顶语义补「隐藏优先」与「多本置顶在书架的默认展开」
- 写作指南:新增「隐藏文章」一节(hidden: true / tags 两种写法、页面仍生成、
  与草稿的区别、隐藏与置顶同开以隐藏为准)

验证: pnpm astro build exit 0

Spec: 2026-11-03_blog-5j-content-refine (T5)

Co-authored-by: GLM-5.3
2026-11-04 22:16:22 +08:00

31 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Phase 5j:内容表达去重与页面文案可编辑 - 任务拆解
## 使用规则
- boundary/verify 齐备;verify 只读断言;车道工作树开发禁 git,收编由 orchestrator 统一提交
- 构建一律 `export PATH="$HOME/.local/node/bin:$PATH"`(Node 26)+ `pnpm astro build`
- E2E 口径:`pnpm astro build → cp -a dist /tmp/dist-e2e-5j → gz-server.py 18925 /tmp/dist-e2e-5j(第二参数才是目录)→ E2E_BASE=http://127.0.0.1:18925 node tests/e2e.mjs`(基线 55 项)
## 阶段一:实现
- [x] T1 开源页叙述合一(story 单字段富文本)
- claim: worker-one
- boundary: `content/site/opensource.yaml`(新增 `story`,保留 `blurb`/`blurb_after` 并标注 legacy)、`src/lib/site-content.ts`(`openSourceCopy` 增 `story`:非空则用,空则回落旧拼接)、`src/components/geek/GithubProfile.astro`(消费 story 的富文本渲染,链接用 markdown 内联 `[label](url)`)、`src/content.config.ts`(schema 加 story)、`public/admin/config.yml` 由 orchestrator 统一改(先做代码,字段我来加)
- verify: `grep -q "story" src/lib/site-content.ts && grep -q "story" src/content.config.ts && E2E_BASE=http://127.0.0.1:18925 node tests/e2e.mjs 2>&1 | grep -qE "汇总: [0-9]+/[0-9]+ PASS"`
- [x] T2 贡献数据去重与时效(删蛇 + 连续贡献本地计算)
- claim: worker-one
- boundary: `src/lib/heatmap.ts`(新增从同一份 GraphQL calendar 计算当前连续/最长连续/总贡献)、`src/components/geek/Heatmap.astro`(展示三个数 + 「数据更新于 <构建时间>」)、`src/components/geek/GithubProfile.astro`(删除贡献蛇块与 streak 卡引用)、`scripts/build-perf/fetch-readme-assets.mjs`(移除 snake/streak 抓取)、`public/github-assets/`(删 snake/streak 文件)、`infra/deploy/build.sh`(同步守卫)
- verify: `! test -f public/github-assets/snake.svg && grep -q "currentStreak\|longestStreak" src/lib/heatmap.ts && python3 -c "import pathlib;p=pathlib.Path('dist/opensource/index.html').read_text();assert 'snake' not in p and 'streak-' not in p"`
- [x] T3 页面文案可编辑(瞬间/书架标题下话语)
- claim: op-gitea
- boundary: `src/components/pages/MomentsPage.astro`(改用可配置 note,替换 i18n 硬编码)、`src/components/pages/BooksPage.astro`(同上,替换字面量 `L.note`)、`src/lib/site-content.ts`(新增 `pageNote(page, locale)` 访问器:文本 + 字号 + 颜色 token + 字体类)、`content/site/pages.yaml`(新单例,由 orchestrator 建 schema/后台,车道可先写默认值)
- verify: `grep -q "pageNote" src/lib/site-content.ts && grep -q "pages.yaml" src/content.config.ts && E2E_BASE=http://127.0.0.1:18925 node tests/e2e.mjs 2>&1 | grep -qE "汇总: [0-9]+/[0-9]+ PASS"`
- [x] T4 关于页形态探索 → **拆分为独立包** `2026-11-03_blog-5k-about-designs`(2026-11-04 重划:关于页是"整页 markdown 直编 vs 结构化方案"的内容决策,需要用户在预览页里选型,与本包"叙述合一/贡献数据/页面文案"的工程主线不同节奏;独立成包避免阻塞本包上线)
- [ ] T5 文档与后台 hint
- claim: orchestrator
- boundary: `docs/管理台.md`、`docs/写作指南.md`、`public/admin/config.yml`
- verify: `grep -q "story" docs/管理台.md && grep -q "pages.yaml\|页面文案" docs/管理台.md`