📖 读书笔记生成器
> 一句话:给书名,还你一篇能直接发出去的读书笔记 HTML。
触发场景
- 「写《XX》的读书笔记」「《XX》读书笔记 HTML」「生成《XX》笔记分享页」
- 「把《XX》做成公众号排版笔记」「一键出《XX》笔记」
- 用户给了书稿/章节文本 → 走有书稿模式;只说书名 → 走无书稿模式。
工作流(5 步)
第 0 步 · 定模式与书型(一句话,别追问)
| 用户给 | 模式 | 数据来源 |
|---|---|---|
| 只说书名 | A · 无书稿 | AI 知识生成;必须加「非逐页精读」note |
| 给了 txt/md/书稿 | B · 有书稿 | 读文件后按原文提炼,可引章节 |
书型判定(1 秒):方法论/社科/文学/哲学/传记 → 见 references/book-type-guide.md。
第 1 步 · 生成笔记 JSON
- 按
references/notes-skeleton.md的 8 段骨架与块类型,产出结构化 JSON(就是内容本体)。 - 写作纪律先读
references/writing-rules.md;可直接套用references/prompt-library.md的提示词。 - 关键:「一、书籍信息」不写进 sections——渲染器用 book 元数据自动生成头卡,sections 从「二」起自动编号。
第 2 步 · 生成封面(可选但推荐)
python scripts/make_hero.py --title 非暴力沟通 --author 马歇尔·卢森堡 \
--theme gilt -o hero.jpg
(标题烧录到主题渐变图上;公众号版必须用图烧字,不能靠 CSS 叠字。)
第 3 步 · 渲染 HTML
# 精美网页分享版(默认)
python scripts/render_notes.py notes.json -o 《书名》-读书笔记.html \
--mode web --theme gilt --hero hero.jpg
# 公众号后台粘贴版(同一份 JSON 再渲一次)
python scripts/render_notes.py notes.json -o 《书名》-读书笔记-公众号版.html \
--mode gzh --theme gilt --hero hero.jpg
- 主题可选:gilt(默认)/ techblue / redwhite / finance / paper,色板见
references/theme-palettes.md。 - 用户说「公众号/后台/复制」→ 至少给 gzh 版;否则默认 web。
第 4 步 · 自校验(不绿不出货)
python scripts/validate_html.py 《书名》-读书笔记.html --mode web --labels 7 --title 书名
python scripts/validate_html.py 《书名》-读书笔记-公众号版.html --mode gzh --labels 7 --title 书名
- gzh 硬规则:script/style/flex/grid/fixed/外链 全 0;「一、书籍信息」+ 二~八 标签全命中。
- FAIL 就回到脚本修,不许带病交付。
第 5 步 · 交付
- present_files 打开预览;给用户复制/分享指引(gzh 全选粘贴后台;web 整页转发)。
- 建议交付
《书名》-读书笔记.md留底(可选)。
产出物清单
| 文件 | 必须/可选 |
|---|---|
《书名》-读书笔记.html(web 或 gzh 依用户) |
必须 |
《书名》-读书笔记-公众号版.html |
用户要发公众号时另出 |
《书名》-读书笔记.md |
可选留底 |
| 封面 hero.jpg | 内嵌,不单独交付 |
| 校验报告 | 交付时文字附上 |
快速示例(无书稿 → 交付)
- 用户:「写《思考,快与慢》读书笔记,公众号版」
- 定书型:方法论 → 三 compare(系统1/系统2)必出、四 认知偏误卡全上。
- 生成 notes.json → make_hero → render
--mode gzh --theme gilt→ validate 全绿。 - 交付 gzh HTML,提示可直接粘贴公众号后台。
自检清单(交付前过一遍)
- [ ] 书名在文中 ≥2 次且零错别字
- [ ] 无书稿模式已加「非逐页精读」note
- [ ] 金句引用无编造(拿不准标「大意」)
- [ ] validate_html 全绿(gzh:script/style/flex/grid/fixed/外链=0)
- [ ] 封面已内嵌(data-uri),文件可单开
- [ ] sections 段数合理,无空块
参考文件
references/notes-skeleton.md—— 8 段骨架 + JSON 块类型 + 写作规范references/book-type-guide.md—— 5 类书判定与骨架侧重references/theme-palettes.md—— 5 套主题色板references/writing-rules.md—— 内容写作纪律references/prompt-library.md—— 分模式提示词 + 运行时操作手册examples/nvc-notes.json—— 《非暴力沟通》样例笔记(可直接渲,用于演示/回测)
脚本
scripts/render_notes.py—— 笔记 JSON → 单文件 HTML(web/gzh 双模式)scripts/make_hero.py—— 封面图生成(PIL,书名烧录)scripts/validate_html.py—— 自校验(WeChat 安全 + 标签 + 书名一致性)
与 book-knowledge-graph 的关系
这是它的轻量改造版:保留拆书方法论与 RIA,去掉知识图谱/Obsidian/Anki 系统,
把终点从「个人知识库」改成「一份能直接转发的精美 HTML」。