15 Commits
Author SHA1 Message Date
ricolalemon 84394f7a12 fix: 对齐生活自查年龄门槛并保留适用提醒 2026-10-21 01:14:30 -05:00
albert4719 8d4c6368aa 检索页加「最近更新」:tools/updates.mjs 从 git 历史逐条比对生成 updates.json,页头报最近 7 天新增和改过的条数,侧栏可筛新增、改过和 7 天、30 天内,卡片标日期;光改措辞不算改过;sync-stats 自动重算,CI 统计检查加 --check,离线版内联 2026-10-15 13:38:32 +08:00
albert4719 1941ffcfcb 加 Anki 牌组(issue #97):tools/anki/build.mjs 零依赖生成 .apkg,一条一张问答卡、按节分子牌组,guid 按节号条号固定,重新导入更新内容、保留复习记录;CI 随电子书一起生成并挂到 epub-latest,README 下载行和阅读指引加入口 2026-10-08 18:29:44 +08:00
Zhao ChenandClaude Opus 5.5 14bbb39fde 检索网页、离线版、PDF 也拆超长收益、备注和来源,四个出口同一套规则
上一个提交只改了 EPUB,网页、离线单文件、PDF 上同一条收益仍是一整块。这次四个出口都拆,
正文 md 仍不动(index.html 按行解析、sync-stats 按「- 来源:」行数链接都依赖一个字段一行)。

- tools/lib/split-items.mjs:导出 splitGain / splitSrc。来源栏改用 index.html 原有 splitSrc
  的规则(括号外的「;」一条一行),四个出口的来源拆法从此一致。
- index.html:在原有 splitSrc 旁边加同一份 splitGain,收益、备注拆开时渲染成一块一行的列表,
  两份规则用 // <split-rules> 标出来。离线单文件用的是同一个 index.html,自动跟上。
- tools/pdf/build.mjs:read 之后同样套 splitLongItems。
- tools/check-split.mjs:从 index.html 抽出 <split-rules> 那段,和 split-items.mjs 在全书
  2013 个收益/备注/来源字段上逐条比对;也查拆完能否逐字拼回原文、** 有没有被拆开。
  CI 新增「拆分规则一致性检查」job,和交叉引用检查一样不挡发布。
- 换话题规则排除「该 / 本 / 此 / 这 / 同 / 上述」开头:「该办法第五条」是接着上文讲的,不另起。
- CLAUDE.md 电子版那段记一笔:规则两份要同步。

验证:check-split 0 处问题(拆开 554 个字段);check-plain、check-refs --check、
sync-stats --check 全过;epubcheck 5.4.0 0 errors / 0 warnings;pandoc 3.11 + typst 0.15.1
出 PDF 正常;本地起服务器和 file:// 打开离线单文件,第 31 节第 1 条的收益都拆成 11 行,控制台无报错。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X6s254TjQjvF9YgR8uK1LE
2026-10-08 11:48:59 +08:00
albert4719 8b55409a45 加每周失效链接检查:tools/check-links.mjs(DOI 走 doi.org 登记处,分确定失效、没连上、加密握手不兼容三档,只报告不报错)和 links.yml 工作流;CLAUDE.md 记修法 2026-10-01 08:09:38 +08:00
albert4719 e91118de21 统计对齐全部改用 node:tools/sync-stats.mjs 接管数字回写、引用对照表、说人话检查和 og.png 截图,删掉 sync-stats.ps1;补上 README 和检索页页脚两处「N 个文件」;CI 加「统计数字检查」job 跑 --check 2026-09-29 17:16:23 +08:00
albert4719 ee59a86d56 检索页侧栏底部加「请作者喝杯咖啡」,点开弹出赞赏码;图挪到 ads/(Pages 不发布 .github/),离线单文件同步内联 2026-09-29 12:49:19 +08:00
albert4719 0d60dfc86d README 末尾加微信赞赏码,.github/FUNDING.yml 开启仓库页 Sponsor 按钮 2026-09-29 12:42:18 +08:00
albert4719 4058ce4e94 说人话检查挂进 CI 和 sync-stats.ps1,CLAUDE.md 写明规则 2026-09-28 16:27:50 +08:00
albert4719 24e3d67e4b 加 issue 表单:纠错与建议补充两类,关闭空白 issue 2026-09-27 20:41:31 +08:00
albert4719 e71bb603ba CI 加一个独立的交叉引用检查 job,不阻塞电子书发布 2026-09-21 19:15:58 +08:00
albert4719 ce378ca0f7 生成时间精确到分钟并统一按北京时间显示
一天里正文常改好几轮,Release 说明和三样产物都只写日期,分不出手里是哪一版。
四处人能看见的时间统一成「2026-09-19 13:05(北京时间)」:Release 说明、
PDF 扉页与版本说明、EPUB 版本说明、离线 HTML 页脚。commit 短号原样保留。
CI 跑在 UTC 上,工作流用 date -u -d '+8 hours' 换算,不依赖 runner 的时区库;
node 那三套共用 tools/lib/book.mjs 新增的 buildStamp(),按 Asia/Shanghai 格式化。
EPUB 的 dc:date 仍是纯日期(规范要求),完整时间本来就在 dcterms:modified 里。
顺带:tools/offline/build.mjs 自己又实现了一遍 ROOT/REPO/SITE/read/gitCommit,
改成从公共模块 import,删掉重复实现。
2026-09-19 13:08:52 +08:00
albert4719 c64ac9f8d2 工作流改成一次出 EPUB/PDF/离线 HTML 三样挂到同一 Release;README 加下载入口和「自己跑一份」 2026-09-19 09:41:13 +08:00
albert4719 c7c0896ccf 把 README 解析和文件清单抽到 tools/lib/book.mjs,EPUB 构建改用它(产物逐字节不变) 2026-09-19 09:41:13 +08:00
albert4719 9f841c57a0 加 EPUB 生成流程:tools/epub 脚本 + Actions 自动挂到 Release epub-latest,README 加下载入口(issue #12) 2026-09-18 17:30:05 +08:00