使用EPUB格式写笔记的体验

2022-11-25

< view all posts

用EPUB作为笔记的格式已经有5年了,期间写了四五本笔记,这本是其中之一。我对EPUB作为笔记的体验还是很满意的,这篇记录一下选择EPUB格式来记笔记的优缺点,以及一些使用上的经验。

首先总结一下常用的DOCX和markdown格式各自的一些(我认为的)问题。也是我为什么没有选择这两种格式的原因。

DOCX格式的问题:

  1. 尽管DOCX的底层是基于XML的,但只能使用富文本模式编辑,导致文本的格式不清晰,容易存在隐藏的问题.
  2. 默认设置会压缩图片质量,且提取图片要靠一张一张手动另存为.
  3. 阅读和编辑不分离,在阅读时容易误改文件内容.

markdown格式(以及部分兼容md的笔记软件)的问题:

  1. 表达能力有限,以至于很多时候还是需要用上HTML.
  2. 方言过多,且很多markdown笔记软件添加了魔改的功能和格式等,导致此类笔记和商业软件事实上强绑定.
  3. 图片和文本分离存储,移动、重命名时容易导致问题.
  4. 并不是很适合中文的书写逻辑(个人感受).

相对的,我认为EPUB格式具有的一些优点:

  1. EPUB本质是zip打包的XHTML文件(和引用的资源文件),格式都在内容当中显式声明,不会出现富文本编辑的隐式格式乱套的问题.
  2. 支持自定义CSS,表现上有较高的自由度.
  3. 图片等文件压缩保存于同一文件中,紧凑.
  4. 支持完全离线的存储、编辑、阅读.
  5. 阅读和编辑分离,阅读时避免误改.
  6. 大多数配套工具开源,没有商业支持停止的问题.

当然,EPUB格式也有一些缺点:

  1. 阅读器的实现五花八门,体验不统一.
  2. 因为打包为一个二进制文件,对文字内容的版本控制不方便.
  3. 需要手写XHTML.
  4. 准备CSS等的前期投入成本较大.

不过对于这些缺点,其实都有一些弥补的办法,以下几条和上面一一对应:

  1. 因为epub本质是打包的XHTML文件,永远都可以把浏览器作为阅读器使用。例如,可以将epub解压并格式化为一个网站(比如利用我开发的 epub_to_website 工具),这样至少能够保证在浏览器上总是有同样的阅读体验.
  2. 可以使用 Sigil 软件编辑epub,Sigil内置了Git风格的版本控制(快照)功能.
  3. 通过设置合适的快捷键和准备好模板文件,手写XHTML的速度也可以很快(当然,有需要的话也可以利用所见即所得的编辑器来自动生成).
  4. 有不少开源的epub用CSS模板,利用它们可以省去很多前期准备的成本。在调整好一份合适的模板之后,可以一直沿用下去.

最后是一些使用上面的经验:

  1. 关于编辑器,上面也提到了,Sigil 是我认为最好用的。Sigil支持自定义快捷键,还有快捷插入Clip的功能,配置好之后很方便.
  2. 关于阅读器,Calibre之类的老牌阅读器虽然名声在外,但是个人感受是它们更适合书籍的阅读和管理,用来读笔记显得比较繁重。我喜欢使用的是Chrome上面的 EPUBReader 这个插件。这个插件支持上下滚动式阅读、自定义字体大小、自定义页面两侧留白大小等,且因为是基于Chrome的,对各种样式的展示都很不错。除了这些必要功能,没有其它的累赘,十分轻量.
  3. 此外,GitHub上面还有一些基于 epub.js 的阅读软件(插件),可以作为备选.