 wait4xandGLM-5.3
|
9702c9faf4
|
feat(books): 书封接口——schema cover 字段+书架卡封面渲染
posts schema 加 cover?: image(image() 走 Astro 优化管线,仅阅读
轨消费);BooksPage 有封面渲染 96/192 两档 Image、无封面优雅回
退现有色脊卡设计(零破坏);目录 content/posts/assets/books/ 就位;
docs/写作指南.md 补用法节(路径/frontmatter 示例/尺寸建议)。
验证: pnpm astro build;E2E 34/34;现 5 本书全部回退色脊卡渲染
(封面貌 0,待用户加图)
Spec: none (书封接口预留,用户自行加图)
Co-authored-by: GLM-5.3
|
2026-11-02 09:12:34 +08:00 |
|
 wait4xandGLM-5.3
|
127f349fb2
|
feat(gallery): 灯箱 v2.1 十项全量——起飞开合/隐层/侧置 meta/HD
①FLIP 原位起飞/回落(克隆双态矩形插值,关闭回落取缩略图实时
矩形)②背景点击关(containRect 几何判定——img 盒铺满 figure 的
元素链判定失效坑)③chrome 双层淡入+i 键/zoom 自动隐(换片重置)
④相邻预载 ⑤双指缩放 ⑥换片侧向过渡 ⑦缩放指示+首开提示 ⑧竖
图侧置 meta ⑨>1.5x HD 原图交换+404 兜底 ⑩竖拖关闭。reduced-
motion 全豁免;钳制数学保留。
验收三连修:chrome-in 动画 both 填充锁死 opacity(animation:none
掐填充——动画填充压制普通声明的级联陷阱);× 钮独立于双层
chrome 补隐(全隐口径=只剩图,Esc/i 逃逸);视觉终审四问修复
后全过(起飞连贯/侧置成立/隐层纯净/亮暗同判)。
车道:op-artalk(专项逐项+E2E 34/34);收编验收+视觉终审双绿
验证: E2E 34/34;三态隐层 computed 实测(i 隐/复原/zoom 隐全
过);全隐残留零(×/caption/箭头);Esc 逃逸 ✓
Spec: none (灯箱 v2.1 定版,车道级交付)
Co-authored-by: GLM-5.3
|
2026-11-01 13:21:15 +08:00 |
|
 wait4xandGLM-5.3
|
44626f8edc
|
fix(lightbox): 回 1x 自动归中+平移四向钳制(用户实测 bug)
用户实测:缩放回 100% 图片不回中显示不全;另放大态可拖飞出舞台。
三修:zoomAt next<=1 归零 translate;applyZoom 平移钳制 |t|≤尺
寸差/2(放大态不变量=图盒覆盖舞台而非缩在视口内);滚轮下限
0.5x→1x(fit 即最小,0.5x 制造偏移态)。mockup 同步三修。
验证: 回 1x transform=none 实测;四角极限拖拽覆盖舞台不变量
全过;E2E 34/34
Spec: none (用户实测 bug 热修,线上 v2+mockup 双修)
Co-authored-by: GLM-5.3
|
2026-11-01 12:34:11 +08:00 |
|
 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
|
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
|
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
|
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
|
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
|
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
|
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
|
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 |
|