 wait4xandGLM-5.3
|
8ec1712135
|
feat(5f): reader 模式+版式基底+首屏 tagline+图库质感(T4/T7/T8)
- T4 reader:html.reader 单 class(去装饰非去内容:隐辉光/图标
钮/pv 行,ICP 合规底线永留;正文字号+1px 行宽 56ch;入场动效
关);命令面板 reader 命令+r 键+localStorage;ThemeScript 预绘
防闪
- T7 基底:--flow-* 五流距变量双轨应用;暗色 hairline 降档;
页面标题 700→600(裁定 #6 减字重不减号);focus-visible ring
统一;列表行距 +2px;--paper/--radius-img/--ease-out 入库
- T8:首页 IdCard slot 落 tagline「写作者 · 读者 · 快门按压者,
拥抱开源。」;图库暗色 4% 轻衬底+圆角统一(裁定 #4 双模式分判)
验证: E2E 33/33;reader r 键触发+辉光 none+刷新保持实测;流距
computed 0.6em 实算;tagline 渲染实测
Spec: 2026-10-26_blog-5f
Co-authored-by: GLM-5.3
|
2026-11-01 09:09:27 +08:00 |
|
 wait4xandGLM-5.3
|
3a59edc79a
|
feat(nav): 书架进导航(车道 G)——图标钮出舱钉死右侧
- 评估实数:第 6 项增量 zh +34-44/en +49-51px,旧结构 en 达
102-125px 滚区且主题钮出首屏——收纳策略=搜索/语言/主题三钮
移出 nav 滚动区钉死 .nav-actions 常驻右侧,内滚只波及文本项,
任何宽度三功能钮可见(搜索是移动端主发现路径不可藏)
- nav 序:开源 · 文章 · 书架 · 图库 · 瞬间 · 关于(书架=阅读轨
延伸紧跟文章);ui.ts +nav_books/kbd_gs_books
- Keyboard g-chord 增 s 键(g s→书架,双轨前缀路由),帮助表
按既有 kbd_* 词条模式接入
- E2E en 导航断言扩为 ≥6 且含 /en/books/
- 已知余量:en 390-430 文本区滚 ~114px(词条已最短化,再省需砍
语义留观);zh 全宽段 1-16px 基本无感
车道:op-gitea(八格扫描+E2E 33/33);收编验收:序/双轨 href/
三宽度三功能钮可见性/g s 实跳全过
验证: pnpm astro build exit 0;本地 dist 六项 playwright 全过;
E2E 33/33(推送后 staging 复验)
Spec: none (导航扩容+出舱策略,车道级交付)
Co-authored-by: GLM-5.3
|
2026-10-25 22:47:17 +08:00 |
|
 wait4xandGLM-5.3
|
73c31ffb2a
|
feat(pwa): 瞬间页安装引导与启动快捷方式(车道 H)
- manifest shortcuts:瞬间直达(/moments/ + 复用 192 图标;lang
zh 单份中文)
- 安装 CTA:时间线后灰阶虚线小条+ghost 按钮;beforeinstallprompt
模块级立即绑定(跨软导航存活),三态=可装显示/已装
(display-mode:standalone 或 iOS standalone)永不显/不支持默认
hidden;prompt 后 accepted/appinstalled 清引用;文案组件内
locale 双份
- SW 复核零改动:PRECACHE 已含双轨瞬间、IMMUTABLE 覆盖
/_astro/ 瞬间图片管线、NEVER_CACHE 拦 pv 走 '–' 降级——三处
现成正确;离线实证:断网瞬间页 200+时间线完整+pv 降级;图片
0/0 为数据现状(3 条瞬间均无图),同管线文章页图片离线 1/1
等价实证成立
车道:op-artalk(自验 11/11);收编验收:CTA hidden 态+离线 200+
标题+manifest shortcuts 解析实测(首轮探针 context API 误用致假
FAIL,selector 复核全过)
验证: pnpm astro build exit 0;E2E 33/33;断网瞬间页 playwright
实测 200
Spec: none (PWA 增强:shortcuts+CTA+离线实证,车道级交付)
Co-authored-by: GLM-5.3
|
2026-10-25 22:45:18 +08:00 |
|
 wait4xandGLM-5.3
|
55cfc73cb7
|
feat(interact): 访问量小字+瞬间时间线动效(车道 F)
- pv:ArtalkComments/MomentsPage 组件级独立 POST /artalk/api/v2/
pages/pv(页面加载即计,不等懒加载;POST 天然绕 ESA 边缘缓存);
init 加 pvAdd:false 防双计(默认 true 此前评论加载一直在默默计
数——mian-sha pv=2 即此来源);双轨 pageKey 分开计数
- 瞬间动效:.tl-item IntersectionObserver 进入视口一次性渐显
(opacity 0+8px);降级链=data-mom-anim 前置标记——无 JS/
reduced-motion/无 IO 三情形标记缺席则初始隐藏不生效;软导航
astro:page-load 重注册
- Artalk 后台真根因修复(车道侧宿主件,非仓内):容器日志实锤
登录从未成功过(12+ 次 401/400,非会话丢失)——CLI 重置密码+
凭据入 INITIAL-CREDENTIALS.txt 0600+login_timeout 3d→30d+
容器重启;API 全链 200 实测
- 遗留(ESA 侧归 orchestrator):ESA 缓存 /artalk/api GET 响应
(stats Age 头实锤),需边缘规则绕缓存
车道:op-artalk(自验 8/8 含 route mock/reduced-motion/无 JS 三降
级);收编验收:pv 元素+动效标记+reduced-motion 豁免实测
验证: pnpm astro build exit 0;E2E 33/33;三降级链 playwright 实测
Spec: none (pv+动效,车道级交付)
Co-authored-by: GLM-5.3
|
2026-10-25 22:19:41 +08:00 |
|
 wait4xandGLM-5.3
|
d00ca7e447
|
fix(i18n): 语言轨导航修复+重排,热力图切 GitHub(车道 E)
- 真 bug(用户实测:切 en 后点板块回中文):Header nav href 硬编码
zh 路径,curLocale 只喂了词条——localeOf(Astro.url) 构建期自推断
+五项+品牌链接全轨化(brand 原指 / 同病同修),aria 同步
- 导航重排(用户拍板):开源 · 文章 · 图库 · 瞬间 · 关于;瞬间
新进导航;移动 320-430×双轨八格页面级溢出全 0(内滚阈值 350→450
+中段地板再收;en 390-430 尾部约 55px 靠内滚——'Open Source'→
'Projects' 改名可省 35px,留用户拍板)
- 热力图纯切 GitHub(用户拍板):GraphQL contributionsCollection
53 周窗口(上海日界);token=宿主 0600 github-token.txt,缺位→
WARN 降级样例数据(当前站点即样例);三级回落 token→样例→空网格
- E2E 新增 2 断言:en 页 nav 全 /en/ 前缀+brand 指 /en/(本 bug
的回归测试)
车道:op-gitea(自验 33/33);收编验收:en/zh 序实测+三宽度溢出 0+
E2E 33/33(本地 dist 口径——staging 未含未推代码为既定纪律)
验证: pnpm astro build 34 页 exit 0;node tests/e2e.mjs 33/33;
en/zh 导航序与 href 前缀 playwright 实测
Spec: none (Header 修复+重排+热力图换源,车道级交付)
Co-authored-by: GLM-5.3
|
2026-10-25 22:19:40 +08:00 |
|
 wait4xandGLM-5.3
|
363cc616f7
|
feat(motion): 动效层三件——背景辉光/入场/心跳,页脚撤双入口
- 背景鼠标辉光:ink 色 4% 径向渐变跟随(pointer:fine×非
reduced-motion 才有 JS,raf 节流 document 级监听 VT 存活)——
丙灰阶语言的"活背景",触屏/减动效自动隐藏
- 正文入场 rise-in 12px/0.4s(VT 换页自然重放)+ 列表行悬停
1px 微浮;全量 prefers-reduced-motion 豁免
- 首页"最近心跳":构建期拉 blog 仓最新 commit(gitea API 8s 超时
静默降级),脉冲点+相对时长——本站自己的脉搏
- 页脚撤「装备/制作」入口(页面保留,用户决策:只删入口)
- E2E 加固:g-chords 修好后 location.href 与 goto 竞态(en 页弦
导航迟到提交打断 goto)——中断重试模式
- 过程教训:str.replace 静默无操作再犯(锚点瞄错组件文件)——
脚本未进产物却报"全落地",replace 必须 assert 配对 grep 产物
验证: --mx 鼠标双跳 15.6% 实测跟随;E2E 31/31 PASS(竞态重试后
确定性);构建 34 页 exit 0
Spec: none (动效层+页脚撤口+测试加固,车道级交付)
Co-authored-by: GLM-5.3
|
2026-10-25 22:09:41 +08:00 |
|
 wait4xandGLM-5.3
|
71b8985c17
|
fix(keyboard): g g chord 不可达——路由判断先于武装分支
Phase 1 潜伏缺陷:g 键分支先于路由检查 return,第二击 g 永远
重新武装,routes['g'](gallery)全站不可达。修序即愈,g→g 自身
是合法 chord。en 轨随上一提交前缀化后同步受益。
验证: chord 矩阵 5 检(zh/en × g g/g h/g m 实跳目标全中);
E2E 31/31 PASS
Spec: none (keydown 分支修序,矩阵测试入档)
Co-authored-by: GLM-5.3
|
2026-10-25 21:18:58 +08:00 |
|
 wait4xandGLM-5.3
|
3e73fe957e
|
fix(i18n): g-chords 导航目标随轨前缀化——en 页 g h 跳 /en/
C 车道已知边界补刀:routes 表构建期按 locale 前缀化,en 页
g-chords 不再跳中文轨。
验证: playwright 双轨 g-chords 实跳(en g h→/en/、zh g g→
/gallery/);E2E 31/31 PASS
Spec: none (五路由前缀化一行模式,C 车道边界补刀)
Co-authored-by: GLM-5.3
|
2026-10-25 21:14:56 +08:00 |
|
 wait4xandGLM-5.3
|
0c569b0b31
|
feat(i18n): Keyboard 帮助表全量双语——构建期 localeOf 自推断
- 10 词条+标题+hint 全走 t(key, locale)(ui.ts 新增 kbd_* 11 键,
零文案字面量复制);en/terminal 车道的运行时 replaceChildren
补丁退役(构建期已渲染正确文案)
- hint 行精简:删过程性标注"Phase 4 上线 ~"(~ 并非实际绑定,
有误导),改 /terminal 彩蛋引导语
- 已知边界另车道:g-chords 路由表仍 zh 路径(en 页 g h 跳 / 而非
/en/)——routes 表 locale 化待办
车道:op-artalk(自验 7/7:zh/en 深层路由自感知/inField 旁路
(?正常入框不弹层)/blur 回归);收编验收 dialog 作用域复验全过
(首验 2 FAIL 均系验收方断言姿势:大小写+全 body 作用域,非车道
缺陷——验收先探实值再断言的教训第三次入档)
验证: pnpm astro build 34 页 exit 0;E2E 31/31 PASS;en 深层路由
/en/terminal/ 帮助表纯英文实测
Spec: none (组件双语化,车道级交付)
Co-authored-by: GLM-5.3
|
2026-10-25 21:12:48 +08:00 |
|
 wait4xandGLM-5.3
|
1fdd0cc162
|
perf(build): 按页字体 CSS 子集化 + gallery 响应式图片阶梯
- subset-font-css.mjs post-build:扫每页文本(含 attr)+ ui.ts 全
词条 + Latin/标点永保三防线,命中 unicode-range 才留 @font-face,
子集按内容哈希去重共享,孤儿原 CSS 清出——全站字体 CSS 6.7→2.6MB
(61%),mian-sha 声明 101→48/家族
- build.sh 挂载(存在性守卫:车道在途文件不断发布链——20:31 事故
纪律)
- GalleryPage srcset 阶梯 320/560/720→480/800/1200(首图
fetchpriority 维持)
- Lighthouse:mian-sha 61→78、gallery 74→79、en 70→83、terminal
74→88(A11y/BP/SEO 持平;unused-css 370→36KB)
- 过程坑:v1 重写 href 丢前导斜杠致嵌套页 404——v2 只换文件名
车道:op-gitea(A/B 渲染等价证明:serif 916 字 0-miss;分数复采
入 /tmp/e2e-shots/lighthouse-ap/);收编验收:serif 字形
fonts.check 实测 true、srcset 产出、E2E 31/31
验证: pnpm astro build + subset 跑通 35 页;E2E 31/31 PASS;
staging 部署后 stamp 复核
Spec: none (构建管线性能二连:post-build 子集化+图片阶梯)
Co-authored-by: GLM-5.3
|
2026-10-25 21:05:15 +08:00 |
|
 wait4xandGLM-5.3
|
aa050d8035
|
feat(pages): /stack 装备页 + /colophon 制作页(双语)与页脚入口
- colophon:五节灰阶数据表讲"这站怎么造的"(build/visual/写作流
/i18n/features,变字体提速等实数入表)
- stack:homelab/自托管/站点依赖/日常四节(版本号实读
package.json;硬件细节与 daily 清单 TODO(下轮) 待补)
- Footer 顺手修真缺陷:locale prop 机制存在但从未透传,en 全站
页脚实为 zh 文案——改 Astro.url.pathname 构建期自推断(localeOf
复用,显式 prop 优先),零 BaseLayout 改动
- 页脚「装备 · 制作」双入口(en 轨自动 /en/ 前缀)
车道:op-artalk(自验 15/15:双页双语桌面+390 溢出断言+Footer
双轨感知);收编验收 6 检全过
验证: pnpm astro build 34 页 exit 0;双页双语 390 视口无溢出;E2E
31/31 PASS
Spec: none (两静态页+Footer 修复,车道级交付)
Co-authored-by: GLM-5.3
|
2026-10-25 20:51:02 +08:00 |
|
 wait4xandGLM-5.3
|
b18d019a2e
|
feat(terminal): /en/terminal 双语薄壳——命令行为零分叉
- terminal.astro 抽 locale prop:frontmatter 静态文案 + script 层
zh/en 双 DICT(命令描述/ls 路由表/whoami/exit 目标),双轨共享
一份 chunk;路径守卫 Set{/terminal,/en/terminal}
- en/terminal.astro 四行薄壳 <TerminalPage locale="en" />
- Keyboard 帮助表 terminal 词条按 /en/ 前缀改写(其余表格文案
双语化留给独立车道,注释已标)
车道:op-artalk(自验 15/15);收编验收 build+双轨 playwright 过——
首验 FAIL 系验收方误用 textContent 吞了内联脚本中文注释,innerText
复核零中文,非车道缺陷
验证: pnpm astro build 30 页 exit 0(双产物);双轨 playwright 验收
(en 可见文案零中文/ls en 路由表/zh 回归/Keyboard 词条)全过
Spec: none (页型双语薄壳,车道级小活)
Co-authored-by: GLM-5.3
|
2026-10-25 20:24:13 +08:00 |
|
 wait4xandGLM-5.3
|
e57c853f20
|
fix(theme): 软导航主题回退——ThemeScript 补 data-astro-rerun
- 病根:ClientRouter 软导航换 html 属性把 data-theme 抹回无主题态,
而内联脚本默认仅首次执行(Astro 规矩:重跑须显式 data-astro-rerun)
——切换明暗后一切栏目即回系统默认(用户实测报告)
- 写入端审计:Header/Keyboard t/命令面板/终端四入口均写同一
localStorage key,无第二套实现,病灶唯一
- E2E 补软导航持久断言(原仅测 reload,漏了真实 bug 场景)
验证: node tests/e2e.mjs 31/31 PASS(软导航后=dark 断言新增)
Spec: none (线上热修:单属性缺陷 + 回归断言)
Co-authored-by: GLM-5.3
|
2026-10-25 20:15:06 +08:00 |
|
 wait4xandGLM-5.3
|
93992cb515
|
refactor(header): 断点阶梯升级为 clamp 流式自适应(用户设计诉求)
- 430/370 两档阶梯替换为 clamp() 连续收缩(字号/间距/图标钮随视口
线性插值)——任意宽度合身,不再逐档打补丁
- <350px 超窄兜底:导航内滚(scrollbar 隐藏)代替页面晃动——页面级
scrollWidth 恒等视口,任何机型不破版
- 设计哲学入档:布局层早已流式(auto-fill/容器查询),正文排版断点
是可读性台阶(有意),Header 是最后的固定像素残留——本次归流
验证: 密集扫描 44 检 × 11 宽度档(320-768)全过;E2E 30/30 PASS
Spec: 2026-10-25_add-blog-5c
Co-authored-by: GLM-5.3
|
2026-10-25 19:49:53 +08:00 |
|
 wait4xandGLM-5.3
|
2802278be6
|
fix(mobile): 移动端全站横向溢出修复——Header 三档断点与长词断行
- B1(移动审计 blocker):Header 7 项一行在 390px 溢出 51-88px(主题钮
被推出屏、整页可晃——用户实测报告的"布局存在问题"实锤)→ 430px
断点收紧(字号/边距/间隙/图标钮 32px)+ 370px 末档(en Open Source
长词)
- M1:.prose-tech 补 overflow-wrap:break-word(裸长 URL 曾撑破 88px,
只给了书评轨是漏)
- m1:ProjectWall 标题 i18n(en 页曾硬编码中文)+ locale prop
- m3:列表标题两行钳制(en 长标题截断丢信息);m4:页脚/pn/书架
触控目标 ≥24px
- 已知边界:320px 超窄屏 en 仍溢 23px(超出现实机型范围,记录不改)
验证: 移动溢出回归 390/360 × 12 页全过(scrollWidth 断言,曾全站
51-118px);E2E 30/30 PASS;技术文长 URL 页 +88→0
Spec: 2026-10-25_add-blog-5c
Co-authored-by: GLM-5.3
|
2026-10-25 19:46:06 +08:00 |
|
 wait4xandGLM-5.3
|
147f00fe1c
|
perf(fonts): 字体按轨瘦身与非阻塞加载——Perf 62→88(Lighthouse P0)
- BaseLayout:8 个字体包 CSS 改 ?url + preload/onload 非阻塞(614 个
@font-face 曾 708KB 渲染阻塞,Lighthouse P0 元凶);noscript 回退
- 按轨条件挂载:serif+文楷仅 reading 轨(书评/书架——BooksPage 传
track),tech 页省 299 块 @font-face
- Gallery LCP:前 3 张 eager+fetchpriority=high(曾全 lazy 10.3s)
- 对比度:PostList .track 与 .post-cat 提 --ink-2(A11y P1)
- favicon.svg 补缺(BP 扣分项)
- 教训:python replace 再犯静默失配(车道改过导入顺序)——已用 edit
工具精确替换 + assert 意识持续强化
验证: 本地 dist lighthouse 首页 Perf 62→88,render-blocking 无;
FCP 2.5s/LCP 3.2s;E2E 30/30 PASS(staging)
Spec: 2026-10-25_add-blog-5c
Co-authored-by: GLM-5.3
|
2026-10-25 19:32:53 +08:00 |
|
 wait4xandGLM-5.3
|
40346c3f21
|
fix(books): 泥潭策展语与回退契约实现;自托管仓星标语义
- BooksPage 实现 schema 注释承诺的 description 回退(正文首段去记号
取 60 字)——视觉复核抓到的"文档说了代码没做"缺口
- 泥潭补人工策展语(回退之上);自托管仓星标改 self-hosted 徽标
(gitea 无 star 真值,★0 语义突兀——视觉复核次要备注)
验证: build 28 页 exit 0;dist/books 含泥潭策展语;dist/opensource
self-hosted 徽标与 ★57 并存实测
Spec: 2026-10-25_add-terminal-books-admin
Co-authored-by: GLM-5.3
|
2026-10-25 13:46:56 +08:00 |
|
 wait4xandGLM-5.3
|
90574edce7
|
feat(pages): /books 书架与 /opensource 开源页——导航第四项(T2/T5)
- BooksPage:色脊排版卡(mood 竖脊+文楷书名+作者+三行截断策展语)
× 年份分组规整网格;zh/en 双路由;阅读轨标题旁「书架 →」入口
- /opensource:全量仓墙(ProjectWall 加 limit prop,首页精选 6 不变)
+ 热力图 + 本站开源叙事段;导航第四项「开源」(i18n nav_opensource)
- 五书 frontmatter 策展字段(含泥潭=刘楚昕)
验证: build 28 页 exit 0;books/opensource zh/en 五路由产物断言过;
五书卡与作者 grep 在案;E2E 30/30 PASS
Spec: 2026-10-25_add-terminal-books-admin
Co-authored-by: GLM-5.3
|
2026-10-25 13:46:56 +08:00 |
|
 wait4xandGLM-5.3
|
3bd8369eda
|
feat(books): 五书策展字段与泥潭作者;顺带入 T1 终端页文件
- schema 加 description/bookAuthor 可选;五书补字段(一句话策展评语
+ 原书作者;泥潭=刘楚昕 用户提供)
- 任务包入 T5 /opensource 独立页(用户追加需求,方案 A 复用扩展)
- 因 add -A 顺带包含 op-artalk 车道已自验 12/12 的 src/pages/terminal.astro
(T1 交付物,验收随后)
验证: grep bookAuthor content/posts/*.md 五篇命中;schema 可选字段
对既有构建零破坏
Spec: 2026-10-25_add-terminal-books-admin
Co-authored-by: GLM-5.3
|
2026-10-25 13:46:56 +08:00 |
|
 wait4xandGLM-5.3
|
76b6b6b022
|
fix(polish): 视觉终审两阻塞+两建议——胶囊真挂载与图注字面量化
- 灯箱:.lb-act class+图标真实挂载(T1 的 python replace 对 i18n 化后
文案静默失配成死代码——replace 无 assert 的教训);清 560px 媒体
查询内整段重复规则
- 样张图注:斜体行内裸 <video>/<audio> 字面量化(markdown 渲染成
真元素:黑盒+吞文字);指南加图注警示
- Artalk 建议项:输入框边界加深一档(--line 白底近不可见);暗色
发送按钮换深字(白字压浅底 2.4:1 低于 AA)
验证: build 23 页;样张页 video 元素 2→1(幽灵元素消失);
node tests/e2e.mjs 30/30 PASS;复验图 18/19 待视觉确认
Spec: 2026-10-25_add-media-and-polish
Co-authored-by: GLM-5.3
|
2026-10-25 12:20:42 +08:00 |
|
 wait4xandGLM-5.3
|
80ab3ee3f3
|
feat(atalk): 评论区美化——CSS 加载缺陷修复与 tokens 主题接管(T2)
- 缺陷修复(op-gitea 车道发现):Artalk JS 不自动注入样式,评论区自
上线起一直跑 UA 默认样式——mount() 补挂 dist/Artalk.css,onload 后
init(失败降级不阻塞评论可用)
- 主题接管:18 个 --at-color-* 变量全套映射站点 tokens(var() 引用,
明暗随 [data-theme] 自动翻转);init 锁 darkMode:false 防双暗叠加
- 气质层:8px 圆角/squircle 头像/时间戳与 UA 转 JetBrains Mono/
正文链接 underline 纪律/弹层选择器 body 前缀提特异性
验证: build 23 页 exit 0;--at-color-main:var(--accent) 入产物;
生产页注入同款 CSS 探针矩阵全中(亮 #3454d1/暗 #8ea2ff);
双态截图 /tmp/e2e-shots/at-polish-{light,dark}.png 待视觉终审
Spec: 2026-10-25_add-media-and-polish
Co-authored-by: GLM-5.3
|
2026-10-25 12:08:10 +08:00 |
|
 wait4xandGLM-5.3
|
71a799bd97
|
feat(media): hidden 标签过滤与指南 public/media 约定(T5 补)
- 首页/归档/RSS(zh+en)集合查询统一 draft+hidden 双过滤——样张
永久保留为可访问不列出的活样例(回归测试资产)
- 写作指南视音频段更正:raw HTML 相对路径不走资产管线(实测),
媒体放 public/media/{slug}/ 用绝对 /media/ 引用,与仓外 store
同命名空间
验证: pnpm astro build exit 0(hidden 过滤后样张退出列表与 RSS)
Spec: 2026-10-25_add-media-and-polish
Co-authored-by: GLM-5.3
|
2026-10-25 11:50:53 +08:00 |
|
 wait4xandGLM-5.3
|
19ffcf180b
|
feat(media): 灯箱动作胶囊化与正文三媒样式段(T1/T3)
- 原图/下载:裸链 → 与 lbnav 同语言的胶囊按钮(图标+文字+暗底描边)
- global.css 媒体段:正文 img 圆角限宽、*斜体独立段*图注约定、
video/audio 全宽样式(raw HTML 直书方案,指南随后)
验证: pnpm astro build 21 页 exit 0
Spec: 2026-10-25_add-media-and-polish
Co-authored-by: GLM-5.3
|
2026-10-25 11:45:06 +08:00 |
|
 wait4xandGLM-5.3
|
59b7baae51
|
chore(spec): 归档 fix-site-polish——四缺陷+双轨验证六任务收敛
Spec: 2026-10-25_fix-site-polish
Co-authored-by: GLM-5.3
|
2026-10-25 11:30:40 +08:00 |
|
 wait4xandGLM-5.3
|
86e8009f34
|
fix(polish): en 首页按 zh 全结构重写——PostList locale 化与版面平权
- PostList 组件加 locale prop(轨道标签走字典、en 链接 /en/ 前缀)
- en/index 镜像 zh 结构:名片区三图标(GitHub/RSS/邮箱)+ 文章列表
+ 最新影像(latest-head space-between + 4 列瓷砖网格,修复上轮
粘连与整宽竖排两处硬伤)+ 热力图 + 项目墙,区块顺序与 zh 一致
- 闭环截图:zh 滚动至热力图锚点(修复验证缺口)
验证: pnpm astro build 21 页 exit 0;node tests/e2e.mjs 30/30 PASS
Spec: 2026-10-25_fix-site-polish
Co-authored-by: GLM-5.3
|
2026-10-25 11:23:30 +08:00 |
|
 wait4xandGLM-5.3
|
ebafa415b2
|
fix(polish): 视觉复核三轮——热力图末列可见与 en 首页版面平权
- 热力图:桌面 10px 格+2px 缝收进版心(53 列 634px 无横滚——唯一有
数据的最新列曾被裁在滚出区呈空表);移动端锚定 scrollLeft 到最新列
- en 首页补 IdCard 名片区 + Latest photos 影像条(视觉复核版面平权建议)
- en/index 重复导入 getCollection 修复(构建炸点)
验证: pnpm astro build 21 页 exit 0;node tests/e2e.mjs 30/30 PASS
(新构建全链)
Spec: 2026-10-25_fix-site-polish
Co-authored-by: GLM-5.3
|
2026-10-25 11:12:04 +08:00 |
|
 wait4xandGLM-5.3
|
e21fac7e1d
|
fix(polish): 视觉复核二轮六项——网格单一高度源/导航i18n/热力图缓存等
- 图库:li 去 aspect-ratio(与行跨度双高度约束竞争=列洞根因面),
img 改 object-fit cover 填满;截图前整页滚动触发懒加载
- Header:导航标签按 locale 取字典(en 页曾是中文);图标钮暗色
提色去底块(视觉复核 02/12 的灰块)
- 热力图:构建期模块级缓存,zh/en 两页共享一次抓取(en 页曾空格)
- en 首页移除机器翻译横幅(文章级标注才是本意);面板居中;计数器
文字投影
- Artalk E2E 报 fetch 失败定性为测试环境跨域(127.0.0.1 页面拉
wait4x.online API),生产同源不受影响——上线后专项验证
验证: pnpm astro build 21 页 exit 0;node tests/e2e.mjs 30/30 PASS
(新构建全链重跑,含滚动后 21/21 图库断言)
Spec: 2026-10-25_fix-site-polish
Co-authored-by: GLM-5.3
|
2026-10-25 10:57:16 +08:00 |
|
 wait4xandGLM-5.3
|
7a2880b65d
|
fix(polish): 上线四缺陷修复——明暗委托/灯箱常开/评论站点名/书评宋体
- 明暗切换:document 级委托(软导航换 DOM 后元素级监听全丢);
E2E 再抓一坑:SVGElement 非 HTMLElement 实例,守卫用 Element 基类
- 图库:#lb 无条件 display:flex 覆盖 UA 隐藏 → 灯箱"永远打开"盖全页;
改 #lb:not([open]) 显式 none;时间戳标题清空;灯箱打磨(切换钮
实底阴影/n/21 计数器/空标题隐藏/原图链接暗底亮蓝)
- 评论:site 'wait4x'→'wait4x.online' 对齐 Artalk 服务端(404 根因)
- 书评字体:文楷→思源宋(@fontsource 预分片);文楷降级金句 --font-kai
- 数据:21 张照片组修正 street→landscape(迁移器收到内部组 id 的坑)
- 新增 tests/e2e.mjs:Playwright 30 项全功能 E2E
验证: node tests/e2e.mjs 30/30 PASS(含软导航后明暗切换回归项)
Spec: 2026-10-25_fix-site-polish
Co-authored-by: GLM-5.3
|
2026-10-25 10:46:03 +08:00 |
|
 wait4xandGLM-5.3
|
938558ad4c
|
feat(launch): 热力图与 webhook 发布闭环(T2/T3)
- T2 (op-artalk 车道):gitea heatmap 构建期拉取+fallback+空态三保险,
53×7 灰阶格复用 tokens(亮暗自动),日界锚定 Asia/Shanghai,零 JS,
zh/en 首页挂载;fallback 经死端点实测不破构建
- T3:webhook_receiver.py(HMAC 强制+main-only+构建锁)以 systemd
--user 常驻 13021;gitea hook 注册(events=push, branch=main)
- 三个深坑:gitea 容器回宿主须走桥网关 IP 而非 127.0.0.1;gitea 28
egress 拦私网须 ALLOWED_HOST_LIST(ALLOWLIST 是废弃名);systemd
用户服务缺用户 PATH 致 build 静默失败(stamp 不更新即症状)
验证: 测试投递 202→构建→staging 戳更新(09:48:37 实测);
dist 热力图 376 格真数据(9 次贡献)zh/en 双页
Spec: 2026-10-25_add-blog-launch
Co-authored-by: GLM-5.3
|
2026-10-25 09:49:19 +08:00 |
|
 wait4xandGLM-5.3
|
4aa79fca06
|
feat(i18n): UI 字典串接与三页薄化——/en/ 全站落成
- op-gitea 车道:ui.ts 扩 26 键(占位 {n}/{title}/{exif} 约定),五组件
locale prop 串接,zh 零回归(48 键/18 页实测)
- orchestrator 收尾:gallery/moments/about 三页 body 提取为
components/pages/*Page(zh/en 薄页双路由),/en/ 全家福 21 页
- 提取工程三坑入库:HTML 注释不可进 frontmatter 模块区;搬移脚本会吃
开栏 ---;单级页面搬二级目录后 import 全线差一层
验证: astro build 21 页 exit 0;/en/ 七类路由产物断言过;en 页
ICP 备案保留;zh 侧文案抽查不变
Spec: 2026-10-25_add-blog-i18n
Co-authored-by: GLM-5.3
|
2026-10-25 09:26:14 +08:00 |
|
 wait4xandGLM-5.3
|
c74815b516
|
feat(i18n): /en/ 双语骨架——路由/切换/hreflang/回退/AI 标注
- astro i18n(zh 默认无前缀,en /en/)+ locale.ts 路径工具
- Header 语言切换(同路径跨前缀跳转,预构建毫秒级)
- /en/index + /en/archives/{slug}(postsEn 优先,缺译回退 zh 正文
+ AiTranslatedBadge 虚线标注 TMT);en RSS(标题回退同策略)
- BaseLayout hreflang 双向 + x-default 指向 zh 源
- posts-en 集合(postsSchema.extend locked 润色锁)
- 坑:ts 端点文件误带 --- 开头会以 undefined:2:7 报 Unexpected token
验证: astro build 18 页 exit 0;/en/ 六文章路由+首页+rss 产物断言过;
zh 侧零回归(11 页不变);hreflang 抽查 dist/index.html
Spec: 2026-10-25_add-blog-i18n
Co-authored-by: GLM-5.3
|
2026-10-25 09:20:16 +08:00 |
|
 wait4xandGLM-5.3
|
4694428614
|
feat(search): 站内搜索/RSS/sitemap/Artalk 懒挂载
- astro-pagefind:构建期索引;SearchDialog 首开懒加载 + 200ms 防抖,
入口=Header 钮 + 键盘 /(P0 键位集补全)
- @astrojs/rss:posts 全量(draft 排除),双语分流留 Phase 3
- @astrojs/sitemap:sitemap-index 产出
- ArtalkComments:IntersectionObserver 进入视口才拉 Artalk.js,
pageKey=/archives/{slug}/(中英共键,评论不分裂)
验证: pnpm astro build exit 0;dist/pagefind 目录 + rss.xml +
sitemap-index.xml 三件断言过
Spec: 2026-10-24_add-blog-skeleton
Co-authored-by: GLM-5.3
|
2026-10-25 00:13:29 +08:00 |
|
 wait4xandGLM-5.3
|
945a9ee610
|
feat(pages): 五页型落地——首页/文章双模板/图库 masonry/瞬间/关于
- 首页:名片+身份陈述空槽+按年分组分轨列表(情绪色/mono标签)+影像格+项目墙
- 文章 /archives/{slug}(与 Halo 旧 URL 1:1):reading→衬线纸墨 / tech→
TOC 侧栏(≥1120 sticky)+2px 进度条+Artalk 容器占位
- 图库:grid masonry(构建期 aspect-ratio 零 JS)+原生 dialog lightbox
(←→/Esc+EXIF 底栏)+分组筛选
- 瞬间时间线 / 关于(三轨版图+构建说明)
- sharp ^0.35.5 入依赖(Astro 7 不内置,astro:assets 缩略图管线前提)
- 裸 blockquote 默认吃 A 墨线样式(markdown 原生输出无类名的缝隙)
- 车道 30min 超时,产物完整,主会话补 sharp+断言脚本递归修正后收编
验证: pnpm astro build exit 0(7 页);五路由产物断言过;
scripts/check-responsive.sh 11/11 ok(1120/820/760/560 全档)
Spec: 2026-10-24_add-blog-skeleton
Co-authored-by: GLM-5.3
|
2026-10-25 00:11:34 +08:00 |
|
 wait4xandGLM-5.3
|
725bfde21f
|
feat(geek): 极客层 P0 四件套——键盘/构建透明/页面转场/项目墙
- Keyboard:? 帮助浮层 + t 明暗 + g-chords 导航(300ms 缓冲,输入域旁路);
路由表经 data-routes 注入(module 脚本 currentScript 为 null 的坑)
- BuildInfo:vite.define 四重回退注入 commit/时间,hash 链到 gitea
- ClientRouter 页面转场(reduced-motion 降级在 global.css 总闸)
- ProjectWall:构建时双源拉取(gitea+github)置顶排序+缓存兜底,零运行时 JS
- Header 补主题可视切换钮:键盘 t 的触屏等价物(同 key 同逻辑)
验证: pnpm astro build exit 0;dist 标记 built from×2/kbd-help×4/
view-transition×2; astro check 未跑(无类型错误构建期可证伪面有限)
Spec: 2026-10-24_add-blog-skeleton
Co-authored-by: GLM-5.3
|
2026-10-24 23:13:23 +08:00 |
|
 wait4xandGLM-5.3
|
b50eddf2bb
|
feat(layout): 基础布局/导航/页脚/明暗不闪烁
- BaseLayout:字体三轨统持、viewport-fit=cover、theme-color 双套、skip-link
- Header:≤4 项导航纪律 + sticky 毛玻璃 + aria-current;搜索 icon 占位待 T8
- Footer:ICP 备案链接(法定保留)+ built-from 具名槽位待 T7
- ThemeScript:head 内联先于首帧,手选 > 系统偏好,防白闪
验证: pnpm astro build exit 0;dist/index.html 含 ICP 文案与跳到正文链
Spec: 2026-10-24_add-blog-skeleton
Co-authored-by: GLM-5.3
|
2026-10-24 23:09:45 +08:00 |
|