POLAR:开源跨平台网页离线管理、文献阅读神器

2018-12-25

前言

如果你希望有一个工具能离线保存网页并实现统一管理,那么 POLAR 就是为你准备的神器。

POLAR 是一个强大的跨平台(Mac、Window、Linux)文档管理系统,它能够离线缓存网页内容、PDF 电子书和笔记。支持标签管理、添加注解、高亮内容(网页、PDF),记录阅读进度。

它的详细功能如下:

  • 离线缓存网页:基于 Electron 框架,将渲染后的网页离线保存,保证页面展示效果,同时采用压缩保存,每个页面的磁盘占用空间很小。
  • PDF 支持:基于 PDF.js 实现了 PDF 阅读功能,能够满足轻度的论文文献阅读管理需求。
  • 离线优先:所有数据都保存在本地,如果你想托管、同步数据,通过 git 或者 Dropbox 可以轻易实现。
  • 阅读进度跟踪:对于 PDF,能够记录文档的阅读进度。采用一种自创机制 Incremental Reading(将 Pagemark 绘制到页面上,其覆盖区域即为已经完成阅读的部分)。
  • 标准格式:所有 Schema 数据使用 JSON 格式,所有注解不会改动源文件。
  • Hackable:整个系统基于 Electron、Node、pdf.js、React 以及其他 Web 标准,如果你是开发者——欢迎来家!
  • 云同步服务:POLAR 也提供了付费的实时云同步服务,容量为 10GB。收费为 100 个文档内免费,超出后收费 $7.99。目前处于测试期间,不收费。
  • Flashcard:在注解中创建 FlashCard,并同步到 anki

POLAR 的主界面如下:

添加页面

在软件的工具栏选择 File → Capture Web Page,会弹出一个像浏览器一样的界面:

我们输入网址并回车,界面会开始加载网页:

待网页加载完成,点击右上方的下载按钮即可离线保存网页。

默认是按照手机设备来展示的(因为许多网站的适配在手机上更干净清爽),如果展示效果不满意,可以点击下载按钮右侧的按钮,调整宽度、切换手机、桌面。

下载成功后,网页就出现在主界面的列表中了。我们可以点击 Tag 添加标签,或者从更多种修改 Title 等等。

添加注解

从主界面列表中双击刚刚收藏的文档,即可打开浏览页面,如下图所示:

在浏览界面中,选中一段文字,会出现一个 Context Menu,提示我们可用记号笔标记。

选择一种颜色进行标记,我们就像网页中成功地添加了一条注释。

在网页的空白处右键,选择 Toggle Annotation Sidebar,我们所有的注解都会显示在这里。我们也可以通过 comment 添加自己的笔记,也可以通过 Flashcard 添加记忆卡片(是可以同步到 anki 的!)。

为什么需要离线网页管理?

我苦苦追寻离线网页管理的软件很久了,主要原因如下:

  • 网络上网页并非是永久的,数年后网站关闭、数据清理,都会导致网页消失不见,保存到本地就不怕了
  • 有的国外技术文章,打开一次都特别慢,有的时候甚至打不开,很浪费时间,存到本地之后秒开,节省时间
  • 把相关的网页归类管理好,以后再进行主题学习的时候,有丰富的资料,不用现找

其实浏览器也可以离线保存 PDF、MHTML,只用浏览器不是也能离线保存网页吗?其实,这当中存在几个痛点,只用浏览器的话难以解决:

  • 离线文档的标签、分类管理
  • 已读、未读
  • 友好的 UI

如果缺少这些管理功能,在实际使用时会麻烦很多。

结论

POLAR 已经完全满足了我对网页离线管理的需求。

同时它也是一个优秀的开源项目,是一个很好的学习资源。

参考资源

我在之前是找到过一个同类的软件,名为 ScrapeBook,它是 FireFox 下的一个插件。可以实现同类功能,甚至更加强大一些。无奈的是,作者暂停了维护,以至于无法适配最新的 FireFox,当然也有解决的方法,就是使用 WaterFox 发行版,因为它还是用老的内核。ScrapeBook 甚至比 POLAR 功能更强大一些,就是界面稍老一些。