说到这个,我最近在折腾一个挺有意思的项目:把微信读书的笔记整理成可复用的知识资产。
不是简单导出一堆文字,而是想让它能自动变成 PPT、嵌入文章页,甚至支持亮暗主题切换。
给知识库搬一次家
以前脚本散落在各个地方,主页面、同步脚本、幻灯片生成器……全靠记忆在哪找。
后来干脆统一挪到一个叫 jianfei-weread 的目录里,省心多了。
迁移步骤其实很简单:
- 先列清楚所有文件和它们之间的依赖关系
- 物理移动文件,旧目录清空
- 把硬编码路径改成相对路径——这样哪怕整个项目换个位置,也不会报错
- 停掉老服务,从新目录启动,确认
/accounts接口还能用 - 最后跑一遍生成流程,看是不是一切正常
"相对定位优于绝对路径,自包含优于分散部署。"
这句教训真不是白说的。集中管理之后,一个文件夹就是一个完整的知识单元,再也不用猜“这个项目到底包含啥”。
笔记渲染:从列表到卡片式呈现
原来笔记是纯时间线展示,划线和想法混在一起,看着乱。
现在改成了每条划线配一张组合卡:
- 上面放原文划线
- 下面写我的想法
要是某个想法没绑定到具体段落?那就单独做个“独立想法”卡片,不丢掉内容。
而且点“只看想法”时,原文上下文也保留着,不会变成孤立片段。
验证环节也很关键:
- 脚本语法没问题
- HTML 渲染没问题
- 数据绑定对上了
- 卡片样式视觉上也顺眼
现在看笔记像在翻书,而不是刷消息流。
批量 PPT 生成:698 篇文章一键 deck 化
博客里有三个分类:千万写作、思想随笔、语音写作,一共 698 篇文章。
目标是把这些文章批量转成 frontend-slides 风格的 HTML PPT,嵌进文章页里。
核心思路就四步:
- 每篇文章对应一个标准 deck 文件,路径统一为
/html-ppt/decks/post-{id}.html - 文章页的“幻灯片”和“卡片视图”左侧 iframe 自动引用这个 deck
- 支持亮/暗两种主题,用户自己选
- 每页右上角加个“返回原文”的链接,别让人迷路
实际操作中遇到的问题:
- 一开始统计发现有 8 篇文章被多个分类命中,去重处理
- 总共生成了 690 个 deck,全部成功
- 抽样检查亮暗切换、封面元素、返回链接都没问题
最爽的是写了可复用脚本 batch-generate-frontend-slides.js,以后新增文章直接跑一遍就行,不用再手动改命令。
工程化阅读的核心逻辑
这不是为了炫技,而是为了让读过的书、写过的笔记,一年后还能快速找到、理解、分享。
要做到这点,得搭三层基础:
| 层级 | 作用 | 本次实践 |
|---|---|---|
| 数据层 | 把笔记、划线、想法结构化导出 | 补全 range、chapterUid 等字段 |
| 渲染层 | 让数据变得好读 | 原文划线卡 + 想法组合 |
| 分发层 | 让内容以多种形式触达读者 | 批量生成 HTML PPT 并嵌入文章页 |
每一层都在解决一个问题:让知识流动起来,而不是沉睡在某个角落。
写在最后
如果你经常问自己:“我这一年读过的东西,现在还能想起来吗?”
那这套系统就值得继续优化。
从项目集中化、数据结构化,到呈现多样化——
每一步都不是为了更复杂,而是为了让知识更容易被看见、被记住、被用起来。