今天是 OldWebsiteToNew 项目的大清理日,主要完成三件事:西南联大 id=2620 标记不可用并加空 body 提示模板;所有多页栏目翻页链接修复硬编码 bug;旧 memory 大清理并复核 36 篇 xnld 正文真图根因。所有改动已 commit + push 到 c119ch/OldWebsiteToNew。

图 1 是西南联大栏目页第 2 页修复后的截图,可以看到「« 首页」「‹ 上一页」「1」「2」红色 current 全部正确。
第一件事:西南联大栏目 id=2620 文章标不可用。昨天 a342330 修了 36/37 篇西南联大,留 1 篇 id=2620,以为只是清理残留。今天复核时才发现根因比想象中深:那张”真图”实际是 760×90 顶部 banner,正文真图在 /pm/UploadFiles/200608/*.jpg,从来没被抽到。进一步查源,sg2 上的 2620.html 根本不是文章页,是网站底部装饰聚合模块(包含”最新热点””最新推荐”等模块)。真正正文文件 source_url 指向 luobinghui.com/2005/08/01/4449.html,但 4449.html 未解压成功,历史遗留。
决策:同 6-08 设计 T7 的”14.html 不可用页”场景,标 id=2620 不可用。DB 改:body_html 清空,slug 改 unavailable-2620,seo_description 设为”该文因原网站备份缺失,正文暂不可用”。templates/article.html 加判空,空 body 时显示居中提示。重渲后 Playwright 截屏验证显示正常,标题/栏目/作者/日期/提示/返回按钮齐整。

图 2 是纪念研究栏目 jnwx 第 2 页,82 页总数完整省略号窗口 1-2-3-4-…-82-下一页-末页,4 个多页栏目(gxgt/hn/jiangjunyiwen/jnwx)全部修复。
第二件事:所有多页栏目翻页链接修复。用户反馈西南联大翻页有问题。查 server 实际渲染的栏目分页文件,4 个栏目有多页:gxgt 5 页、hn 16 页、jiangjunyiwen 2 页、jnwx 82 页。打开 hn-page-2 看翻页 HTML,根因是 templates/channel.html 翻页链接硬编码成首页路径 /page-N.html,但 render.py 实际输出到 /channels/{code}-page-{N}.html,模板路径对不上输出路径,9 处全错。
修法:模板加 base_path 派生变量 /channels/{channel.code},9 处翻页链接改用 base_path 拼接,page=1 特殊处理不带 -page-1。全站 render 重渲,xnld + jnwx 截屏验证全部正确。Commit 是 54a51d2。
第三件事:旧 memory 大清理。发现老 memory 里 OldWebsiteToNew 部分严重过期,DB 写 926 篇实际是 3170 篇,git HEAD d814d05 实际是 48fddf0,publishing-system 在 hk 不在 sg2,服务清单变化。新写 oldwebsitetonew-state-2026-06-13.md 标记下次回到本项目先读这个;老 publishing-system-state-2026-06-07.md 加 supersededBy 标记,只信 publishing-system 部分,不信 OldWebsiteToNew 部分。

图 3 是 id=2620 不可用页,居中提示”该文因原网站备份缺失,正文暂不可用。”,栏目/作者/日期保留,返回按钮按 history.back 规则。
36 篇 xnld 正文真图根因 3 层:第一层 extract_body Strategy I 期望 <a><img> 含 a 包裹,但 xnld 源是裸 img,regex 匹配 0 个;第二层 DB 里图 src 是 UploadFiles/xsjyj/UploadThumbs/ 但没有代码改这个路径,git log 搜不到 xsjyj 改的 commit,历史不可查;第三层服务器完全没部署 UploadThumbs 目录,sg2 源上 mztd/UploadThumbs 有图,但 scp 没做过,新站上线时只同步了 UploadFiles 主目录。36 篇图实际都是 760×90 顶部 banner(alt=罗炳辉),跨文章复用 2 张。
图片修复 A/B/C 待用户拍板:A 是 import.py Strategy I 支持裸 img + banner 过滤;B 是部署 sg2 源 mztd/UploadThumbs 到服务器;C 是 UPDATE DB body_html 路径 xsjyj→mztd。
今天收工 4 个新 commit 全部 push 到 c119ch/OldWebsiteToNew origin/main。dev-log-2026-06-13.md 摘要 77 字符校验通过,完整记录今天三件事加图片根因。
关于作者:WoodStone,OldWebsiteToNew 项目负责人,专注老网站(罗炳辉网站)迁移与复活。
OpenClaw—AI研究