Update Jan 2018

今天早晨在使用 Kindle.py 时发现了一个 Bug:a bytes-like object is required, not ’str’,这是由于 Python 3 的不适配,修改后推送至 Github 该地址,运行 Kindle_python3.py 代替即可。


在「轻量」打上引号,因为对不同人含义可能不一样。比如对我来讲,不安装软件和使用现有的工具(python/matlab/terminal)解决问题就是轻量。简单来讲就是不额外安装别人开发的软件。 Kindle 这样比较质朴的阅读器,如果看的书不多,很可能几个月才整理一次书摘,所以多安装一个软件会「熵」增,也就是增加「杂乱度」。作为「断舍离」的拥趸,向大家介绍一个在 Github 上看到的处理 Kindle 书摘的方法,你可以直接在 kindle-clippings 页面找到。这是一个基于Python的脚本程序,在终端里找到放置文件夹的位置,然后运行里面的已经写好的一个脚本程序,即可实现按照书名形成单独的.md文档。它的基本原理是,算法自动搜索 Kindle clipplings.txt文档里的==========符号来分割文档,再按照 clips = {'book': {'position': 'clipping'}} 的格式形成 .md 文件。当然这一切的原理,都不必要懂。

在管理书摘的时候,即阅读、编辑和同步,我分别使用了 Ulysses 和 Dropbox。

过程

首先,拷贝Kindle 书摘文件 My Clippings.txt 到目标文件夹 kindle-clippings-master ,也就是文末下载好的文件夹。

第二步,打开 Mac 终端,设置当前文件夹(有 Spyder /Sublime Text等编译软件的用户使用各自熟悉的方式运行这个脚本即可)。但在这之前需要了解在终端内如何进入目标文件夹,在终端里cd代表的是 change direction,最简单的cd Documents表示进入名叫 Documents 的文件夹。比如我将文档放在file:///Users/zhuyue/Documents/2008-2016/kindle-clippings-master 里,我现在要进入Kindle-clippings-master,一步到位的方法是在终端内输入:

cd Documents/2008-2016/kindle-clippings-master 

第三步,进入目标文件夹后,输入两行指令,包括一个 package 的安装和运行 kindle.py。两行指令为:

$ pip install msgpack-python
$ python kindle.py

在终端中显示为(我的 msgpack-python 已经安装好):

现在去当前文件夹的 output 文件夹,里面就生成了 .md 格式的书摘,如果不喜欢 output 的名字,也可直接在 kindle.py 里修改。你会得到这样的界面:

到这里,书摘就整理完毕。下面是我用 Sublime Text 实现同样过程的方法:

1. 在 Sublime Text 打开 Kindle.py

2. ctrl + B编译文件:

Sublime Text 直接编译

还可以根据自己的需要,修改输出格式,不过我也是 Python 小白,就不画蛇添足了。

总结来说,就是将 Kindle 里的书摘文件拷贝到下载的文件夹中,在当前文件夹运行这个脚本,可以得到分割后按照书名排列的 markdown 文档。

阅读

为了方便阅读,我在 Mac Ulysses 的左下角(或者Sublime Text或是 iA writer 不重要),将output设置为外部文件夹,可以这样显示书摘:

我将 kindle-clippings-master 文件夹放在 Mac 的 Documents 文件夹里,用 iCloud Drive 同步之。注意,在 Ulysses 应用的 iCloud 和在 Ulysses 打开 iCloud Drive 文件夹,是两回事。前者是 Ulysses iCloud 全平台同步,类似 Ulysses Library 的东西,而后者是在Ulysses打开 iCloud Drive 的文件夹。所以在 Ulysses iOS 想要打开 iCloud Drive 里的任意文件,只能设置外部文件 External files 查阅单个文件,而不是文件夹。至于为什么不使用 Ulysses iCloud (Library) 存储书摘文件夹,这是因为我们需要运行 Python 程序,而 Ulysses iCloud(Library)只能创建Ulysses sheets 暂时不支持其他格式的文件。在 Ulysses iOS 打开 iCloud Drive 文件(单一文档)的方式为:

更好的方式是使用 Dropbox,按照下面的设置可以显示完整的文件夹


简单的事情,我喜欢简单点来解决,工具的目的是更好的吸收内容。很喜欢在 Ulysses 里书摘的显示效果:

而在 Ulysses 设置自己喜欢的字体、风格以及主题,在以后的文章里会继续写下去。放在 Ulysses 也是为了跟写作整合在一起,比如写到哪里可以用 spotlight 搜索书摘,看看哪一段适合使用,然后手机上稍作整理便可以直接发布我的博客 yuezhu.org,quite easy.

至于说 Evernote ,不是不好(我的实体笔记本就是 Evernote x Molerskine),「数学公式和插入文献,以及导出 .doc 」这三个刚性需求,还是 Ulysses 适合我。也许 Evernote 也能输入 LaTeX 公式等等,我还是觉得 Evernote 更关注搜集 Ulysses 更注重创作,我不需要多一个数据库了(已经有 Endnote 和 Pinboard 各司其职)。

尾巴

不知道 Github 国内能不能下载,因此我传了百度云方便大家使用,但是请大家记住作者的名字 lxyu 和主页 https://github.com/lxyu/kindle-clippings

Enjoy!!