• Github 中文镜像
Sign inSign up
Watch966
Star102.4k
Fork61.8k
Tag: beex
Switch branches/tags
Branches
Tags
K / 如何做 Kindle 电子书笔记.md
移动浏览 Clone
加载中...
到移动设备上浏览
119 lines 6.47 KB
First commit on 31 Mar 2021

    背景

    阅读、标记、在 Kindle 里简单写几句笔记都属于比较高效的时间,最后整理笔记则是一个比较低效的时间,主要是排版,工具不好使会耗时很久,简单重复性劳动令我不快。可不整理的话又不方便未来回顾查阅,所以我在不断完善自己的笔记流程。

    提出问题

    最耗时的活动有两项:

    1. 💢 不断地“复制 -> 粘贴 -> 复制 -> 粘贴”。
    2. 💢 格式化、排版笔记。

    除此之外,在 PC 上复制 Kindle 笔记附带了一个严重的问题:

    1. 💢 Kindle PC 版,无论是复制粘贴文字,还是批量导出标注,都会在中文之间穿插空格,还有冗余的版权信息,一个一个删除非常麻烦。

    解决问题

    1. 复制粘贴耗时
      • ✔️ 只要标亮内容没有超过全书的 10%,Kindle PC 版就可以一键导出。
    2. 格式化耗时
      • ❌ 类似 Word 的富文本排版方式只能放弃排版,凑合看,否则就只能熬时间一点一点改。
      • ✔️ 如果纯文本使用 Markdown 来排版,则可以快速完成。
    3. 空格的问题
      • ✔️ 使用 VS Code 里的正则替换可以解决。

    实践经历

    我的电子读书笔记经历三个时期:

    1. 印象笔记
      • ❌ 格式化:要么富文本方式,要么使用印象的 Markdown 排版,二者不能结合,也不能使用全部 HTML 代码。
      • ❌ 空格:无解。
      • ☹️ 我选择了删除所有格式,当 .txt 用,其他的就不做什么笔记了。
    2. OneNote
      • ❌ 格式化:只能以富文本方式排文字,而且不能自定义样式。
      • ❌ 空格:无解。
      • ☹️ 这个时期看纯文字类的书依然用印象笔记,理工类的书因为有图片或者公式,用 OneNote。
    3. Beex + VS Code
      • ✔️ 格式化:Markdown + HTML 对于简单的纯文本排版基本属于完美的方案。虽然我更喜欢 reStructuredText,不过受众太小了。
      • ✔️ 空格:VS Code 可以使用正则表达式来进行批量替换。
      • 附加好处:
        • ✔️ VS Code 可以使用列编辑[1],可以将导出的段落批量转为列表。
        • ✔️ 使用 Beex 组织成一个笔记网站,在本地使用浏览器查看,方便快捷美观。
        • ✔️ 需要分享的内容,无需任何修改就可以上传到服务器作为网页分享(比如你现在正在看的这个网站 🧐)。
      • 😃 不需要印象笔记了,理工类的书还是用 OneNote。

    最终方案

    只需三步:

    1. 阅读时直接在 Kindle 标高亮和写笔记,之后导出为 HTML,作为纯文本复制到 VS Code 中。
    2. 用正则表达式删除空格和冗余版权。(VS Code 快捷键:Ctrl + H
      1. 删除中文之间的空格(多点几次批量替换即可替换干净):
        • 匹配栏:([^a-zA-Z0-9, -:<>\(\)\[\]\.+`]) ([^a-zA-Z0-9, -:<>\(\)\[\]\.+`])
        • 替换栏:$1$2
      2. 导出文件的位置信息在内容前面,所以改为一个列表项当作小标题使用:
        • 匹配栏:^Highlight \([a-zA-Z]*\) - (Location \d+)$
        • 替换栏:\n- $1\n,如果想用小标题,也可以这样:\n## $1\n
      3. 手动复制粘贴每条都会插入书籍信息,删掉,只保留位置:
        • 匹配栏:\n\n[^\n\(]+(\(Kindle Locations? [0-9]*(-[0-9]*)?\))[^\n]+$
        • 替换栏: $1
    3. 给自己的笔记加上颜色以做区分。

    至此,已经基本消灭了整理纯文字笔记耗时的问题,我只有需要做练习题和画图的笔记依然在依赖 OneNote 了。

    相关文章