- 1 课程回顾
- 2 概述
- 3 书从哪里来
- 4 calibre 本地管理
- 4.1 安装依赖
- 4.2 安装 calibredb.el
- 4.3 配置 calibre
- 4.4 在 Emacs 里使用 calibredb.el
- 5 TaleBook NAS云管理
- 6 结语
1 课程回顾 🔗
上节课,我们了解了如何在 Emacs 里进行密码管理,它的好处在于跨平台,易搜索易维护,尽可能的符合 All-in-Emacs 的理念。当然,Emacs 并不能解决所有的问题,很多问题并不适合在 Emacs 里处理,这个跟每个人的工作的习惯有关。只要找到适合自己的,提升生产力的方法就是好的方法。
本节课,我们讲介绍如何在 Emacs 里看书。
2 概述 🔗
看书这件事,真的是仁者见仁,智者见智。纸质书和电子书之争,我想可能会长期存在下去。对我个人来说,纸质书有其得天独厚的体验,纸张的触感,文字的墨香,看到书渐渐读薄的喜悦等等。但同样,纸质书也有其缺点,如携带不方便,难以搜索定位等等。
电子书随着科技的发展,在阅读里的地位和比重越来越多,当前,手机已经占据了人们短时阅读的大半壁江山。如何系统的管理电子书,也有诸多解决方案:
- 微信读书
- calibre 本地管理
- 基于 NAS 的 TaleBook
而我,天然对于商业公司的云服务有一种不信任,所以虽然用过微信读书,还是放弃使用它。我的所有电子书的管理,都是基于本地/NAS方案,当然,这个也仁者见仁。
3 书从哪里来 🔗
提到这个问题,怕是不得不提到传说中的 Z-Library,虽然明面上已经被漂亮国政府封禁了,但是实际上人家还是好好的活着。我的大部分电子书都是从这里下载。如果你不知道如何使用,也没有关系,网上大把的 Z-library 的镜像,电子书其实一点也不难找。
说完了书从哪里来,也说下到底应该下载什么格式,我们常见的电子书格式有如下这些,我自己的个人习惯是优先选择 epub
:
- epub
- mobi
- txt
- …
如果找不到电子书,那正好给了自己买实体书的理由,边看边通过 Org mode 写读书笔记。
4 calibre 本地管理 🔗
解决了书从哪里来,那下一步就是如何在 Emacs 里管理图书和看书了。我们通过 calibredb.el 插件来管理。
4.1 安装依赖 🔗
我们需要提前安装 calibre
:
brew install --cask calibre
以及 sqlite
:
brew install sqlite
对于 epub
格式的书籍,我们需要安装 nov 这个插件:
(use-package nov
:ensure t
:mode ("\\.epub\\'" . nov-mode)
:bind (:map nov-mode-map
("j" . scroll-up-line)
("k" . scroll-down-line))
)
4.2 安装 calibredb.el 🔗
(use-package calibredb
:ensure t
:commands calibredb
:bind ("\e\e b" . calibredb)
:config
(setq calibredb-root-dir "~/Calibre")
(setq calibredb-db-dir (expand-file-name "metadata.db" calibredb-root-dir))
(setq calibredb-library-alist '(("~/Books/books")
))
)
安装非常简单,这里值得注意的变量有下面几个:
- calibredb-root-dir
- 书库的位置,即插件去哪个目录找书,这个目录需要跟
calibre
软件的设置的书库目录一致 - calibredb-db-dir
- 数据库的位置
- calibredb-library-alist
- 所有书库的位置列表
4.3 配置 calibre 🔗
我们通过 brew
安装完 calibre
后,打开软件,建立书库,位置选择 ~/Calibre
,然后加入书本,假设我们所有下载的电子书都放在了 ~/Books/books
文件夹,那选择加入书本,选择将单个资料夹加入书库:
然后就可以看到所有的图书了:
4.4 在 Emacs 里使用 calibredb.el 🔗
做完上面的事后,在 Emacs 里,只需要执行 M-x calibredb
即可:
通过 j
和 k
上下选择,按回车即可看书了:
我们还可以灵活的通过 bookmark-set
(C-x r m) 和 bookmark-jump
(C-x r b) 来设置书签和跳转书签。
5 TaleBook NAS云管理 🔗
这种方式依赖于 NAS 的设备,这里仅仅做个分享,并不是所有人都喜欢 NAS,但请相信我,有了 NAS,“真香”一定会是你的感受!
在 NAS 的 Docker 里,安装 talebook
,然后进行相关的配置,具体配置方法这里就不详细说了。
它的作用相当于在 NAS 上搭建了一个 Calibre 的 Web 服务,这样我们就可以通过域名链接直接通过云端访问(而且是你自己的云)。在 Emacs 里,可以通过 emacs-application-framework 大法来访问:
6 结语 🔗
通过今天的学习,我们了解了如何在 Emacs 里进行图书的管理和阅读,但工具仅仅是工具,工具也只能帮助你提升效率,我们得去做,才有可能持续提升。Emacs 不是目的,读书才是我们的目的。
这节课的配置文件的快照见:emacs-config-l29.org
你也可以在 这里 查看最新的配置文件。