Please enable Javascript to view the contents

准 Self-hosting 的个人在线书架 - Zotero

 ·  ☕ 6 分钟

只要您还想在程序员道路上发展,那么长期的系统式的学习是少不了的。碎片时代,知识的学习渠道也在短平快化。似乎,没什么东西是一个 ChatGPT + 搜索解决不了的。但硬币总有两面,如果每个人都只停留在 “知道” 碎片知识的阶段,而你可以深入和融会贯通知识,并消化思考,整合。最少有以下好处:

  • 长期的积累下来,认知和思考模式层次就拉开了
  • 同时也避免了走由同质化竞争而内卷的路
  • 被现阶段 AI 淘汰的风险也可以减少

而最能带领人去系统深入知识的,就是书籍。但我们的记忆力是有限的,而书籍的知识是无限的。如何用有限的记忆力去记住看过的书籍,或最少为他们建立一个脑海中的索引?作为一个有几十年技术学习经验的人,我一直找不到一个理想的答案。

理想的读书笔记

先说说我的需求:

  • 夸设备,多平台共享同步
    • Apple / Android / Linux / Windows
  • 搜索
  • 方便的注释或笔记
  • 方便的注释或笔记同步
  • 最大化数据的控制权
    • 最好是 Self-hosting 的

IT 人喜欢用 IT 的方法解决问题。我尝试过很多方法:

  • 记录学习笔记,“复制” 有兴趣的知识点作为笔记
    • 印象笔记会员
    • Markdown + Git
  • 公有云网盘共享 pdf,保存 pdf 注释笔记
    • iCloud
    • 其它网盘或阅读器提供的云存储服务

复制” 的最大问题是,会丢失原书本的上下文和场景。没有上下文的知识,在一段日子后,你忘记得差不多时,回头看这些所谓的 “精华” 笔记,大概已经回忆不起,以前的自己在写什么了。因为这由人的记忆特性决定,能唤起回忆的,更多是场景和上下文,而不是“精华” 笔记的只言片语。笔记的意义就已经大大减少了。

公有云网盘共享书籍,同时也在文件中内嵌了注释和笔记,是个比较现实可行的读书笔记与助回忆方法。但网盘压根不是为读书设计的:

  • 网盘没有为书籍提供重要的功能:内容搜索。

  • 如果是 iCloud,就是锁定只能在水果家玩了。

  • 东西放公有云,有各种可能的风险,由于各种原因,就不在这里展开说了。

如果你对自己的折腾能力还是比较有信心,也有这个时间,那么 Self-Hosting 是个不错的选择。这也是我去年写 《持续学习和关心个人资讯的IT人,为何考虑学点 self-hosting》 的原因。

那么,有没一个平台或软件可以完美实现上面的所有愿望?答案是:没有。但我选择了折中的 Zotero 。

Zotero

image-20230807215938139

图:在线书架:Linux 与 iPad 同步

所谓一图胜千言。先上一个用 Zotero 搭建的书架的照片,让大家有个感性一点的视觉认识。

Zotero(/zoʊˈtɛroʊ/)是一款自由及开放源代码的文献管理软件,用于管理书目信息(如作者、标题、出版社、摘要、阅读笔记等)及相关材料(如 PDF 文件)。其最著名的特性包括:浏览器集成(来收集网页文献)、建立个人在线图书馆。支持多设备同步、集成的 PDF 阅读器和注释编辑器、与文档编辑软件如 Microsoft Word、LibreOffice、OpenOffice.org Writer 等集成,可生成文内引用(英语:citation)、生成页面脚注或文后的参考文献(bibliographies)。它最初由乔治梅森大学(George Mason University)历史与新媒体中心(Center for History and New Media)创建,截至 2021 年,由非营利性数字奖学金公司开发。

“Zotero” 这个名字大致源自阿尔巴尼亚语动词 zotëroj,意思是“掌握(to master)”。

—— 以上内容基于 wikipedia 作了加工

当 Zotero 连接器插件 安装在 Web 浏览器中时,当在许多网站(例如图书馆目录或网站)上查看目录条目或资源(书籍、文章、论文)时,浏览器工具栏中会出现一个特殊图标数据库(如 PubMed、Google Scholar、Google Books、Amazon.com、Wikipedia 和出版商网站)。单击此图标会将参考信息保存到 Zotero 库。Zotero 还可以保存网页的副本,或者,如果是学术文章,则保存全文 PDF 的副本。也可以直接放入本地的 PDF 文件。然后,用户可以添加 注释、标签、附件和他们自己的元数据。

项目通过拖放界面进行组织资料,并且可以进行搜索。 本地参考图书馆数据的选择稍后可以导出为格式化参考书目。此外,所有条目(包括所选文章的书目信息和用户创建的富文本备忘录)都可以汇总到 HTML 报告中。 Zotero 可以将注释与书目项目关联起来。它可以注释 PDF 并将其与任何桌面应用程序和 iOS 应用程序同步。 许多学术机构为其会员提供 Zotero 图书馆。

—— 以上内容基于 wikipedia 作了加工

以上是学院派的介绍,回到贴地气的码农语言上,就是这玩意可以:

  • 搭建个人书架
  • 跨设备平台同步书本注释
  • 方便的浏览器剪切内容插件
  • 准 Self-Hosting 数据服务

我曾经用了 5 年的印象笔记会员,最后我还是放弃了。主要问题不是软件功能不够,而是做了一堆让人眼花缭乱的功能,却没几个用得上。界面异常繁杂,甚至,收费会员还是偶弹广告。一个笔记软件最应该的是让用户专注于笔记内容本身,而非软件上。

而 Apple 家的东西,的确不错,但其成功的原因也是其最大的问题:生态闭环。我不喜欢这种锁定。

最近我某论坛上看到 Zotero,使用后觉得不错。相比上面的几个,有以下优点:

  • 跨设备平台同步书本注释
  • 准 Self-Hosting 数据服务
  • 功能少,但够用

Self-Hosting

我不打算把本文写成一篇 Zotero 的简介或使用入门。这些信息网上一搜一大把,我就不班门弄斧了。这节主要简介一下 Self-Hosting 的支持情况。

虽然 Zotero 默认情况下将所有数据本地存储在您的计算机上,但 Zotero 的同步功能允许您在任何可访问互联网的计算机上访问您的 Zotero 库。 Zotero同步分为两部分:数据同步文件同步

以下部分说明来源于:https://www.zotero.org/support/sync

数据同步

数据同步可在您的本地计算机和 Zotero 服务器之间合并库项目、注释、链接、标签等(除附件文件外的所有内容),使您可以在安装了 Zotero 的任何计算机上处理数据,并在 zotero.org 上在线查看您的库。数据同步免费且无限制,无需文件同步即可使用。

文件同步

数据同步会同步库项目,但不会同步附件(PDF、音频和视频文件、图像等)。要同步这些文件,您可以使用 Zotero 官方云 存储或 `其它 WebDAV 存储服务。

回到我们的标题 《准 Self-hosting 的个人在线书架 - Zotero》 “准” 就来源于此了。Zotero 文档中声明了文件同步WebDAV 的支持。大部分人可以搭建或租用自己的 WebDAV 服务,来完成文件(附件)同步。但对于 数据同步 ,就没文档声明了。只有一些民间的记载。

不过不用太担心,对于这类学术类型的小众服务。无所不在的伟大的 Firewall 一般会网开一面。

真 Self-hosting

zotero 是个开源软件。服务端的 数据同步 也是开源的,不过因为你懂的商业原因,安装不容易:https://github.com/zotero/dataserver

好在,高手在民间:

我暂时只做了 文件同步 的 self-hosting。数据同步 还未做,所以暂无经验可分享。我的准 Self-Hosting 架构是:

PDF 注释生成笔记

我读书时为了让已经保持注意力的集中,也为了后面回看时快速找到兴趣点,会高亮一些重点。Zotero 可以为这些高亮内容生成一个集中展示的读书笔记,或者说,是笔记索引:

image-20230807232527098

image-20230808225522449

image-20230808225736532

RSS 阅读器

image-20230808232055852

结语

一如以往,这里没提供一个具体的教程。只说了可以有什么可能的功能或特性,和讨论一下这些东西的价值。想折腾的同学自然有方法找资料。不想折腾的同学,也可以作个笑点来看看。

个人经验是,尝试用一个笔记平台去记录你的所有笔记,往往不是最好的选择。如:

分享

Mark Zhu
作者
Mark Zhu
An old developer