简悦+Logseq 搭建本地化个人知识库
最近在少数派上看到了 简悦 +Logseq 个人知识库搭建 | 从零开始完全指南 - 少数派, 一时间感觉打开了新世界,其实我很早就买了简悦 2.0,但由于一直没有很好的使用场景,外加配置实在过于复杂, 始终吃灰。直到看到这篇文章,发现原来简悦也可以直接跟 Logseq 打通,那么稍后读的最大弊端终于有了完美的解决方案。
不过实际按照教程配置的过程中,发现原作者是基于坚果云搭建的,不符合我本地化的思路(主要是公司不允许用云盘),因此尝试摸索一个本地任意文件夹均可实现的方案,过程中踩了非常多的坑,记录下来,希望对大家有帮助。
建立知识库
定制导出 ,
Textbundle 格式,因为离线 HTML 需要将图片转译为 Base64 的代码,碰到多图杀猫的文章很容易卡顿或失败。
Textbundle 格式,因为离线 HTML 需要将图片转译为 Base64 的代码,碰到多图杀猫的文章很容易卡顿或失败。
因此在自动化中,我导出了 HTML、Markdown、Textbundle,结果就是,尝试了各种方案,包括数次卸载重装、排查本地端口占用、卸载同步助手重装等,都无法成功在本地使用 http://localhost:7026/reading/
跳转文件,一直提示 404,,中间尝试了各种方案,一度怀疑是否只能使用坚果云才能用知识库功能。 结果发现全部卸载重装之后,坚果云也无法使用,中间联系简悦作者 Kenshin 排查了很久,最终发现是因为同步助手无法识别 .textbundle
文件,导致不能正常建立索引。
这个问题有两种解决方案: 1. 放弃 Textbundle,改为使用离线 HTML 2. 通过文件规则,将 .textbundle
格式文件移动到其他目录下。我选择了第二种,原因就是离线 HTML 下载容易造成卡顿。不过遇到了另一个问题,那就是 Hazel 实在是太快了,在简悦刚开始创建 Textbundle 文件的时候,就已经把文件夹挪到了其他文件,导致此时简悦正在下载的图片找不到存放目录,引发大量报错。这个问题也卡了我不少时间,具体解决方案稍后单独介绍。
关于这部分,Kenshin 戏称说这个 issue 的长度可以在 2000 个 issue 里面排到前五,过程确实比较曲折,我中间走了非常多的弯路(不然也不会花掉一个周末的时间折腾),一度都想卸载简悦放弃了。有兴趣的同学可以看一下 自定义导出无法使用稍后读加载本地缓存文件 · Issue #3554 · Kenshin/simpread
第二个坑,这里原文作者也有提到,那就是稍后读的自动化流程,必须要在阅读模式下才可以,否则不生效, 参考: 部分操作方式加入稍后读时,无法触发自动化 · Discussion #2362 · Kenshin/simpread
linux - Why is my crontab not working, and how can I troubleshoot it? - Server Fault ,非常详细的介绍了 cron crontab 分别是什么, 如何使用,以及如何排查错误,受益匪浅。
这里需要做的事情非常简单,将所有后缀为 .textbundle
的文件移动到另一个目录中,实际操作起来并不简单,因为 mv
命令无法直接移动文件夹,而 textbundle 其实是一个文件夹而不是文件,包括了 json、图片以及 markdown,所以第一步就卡住了。我改为使用 rsync
来实现这个功能,可以很方便的把某个目录下所有的 Textbundle 移动到另一个目录。之后我们把源文件夹中的 Textbundle 文件删除。这里由于无法使用 Hazel 实现全部功能,那我干脆把移动 @annotate.md
文件的部分也放在自己的脚本里面实现了。完整的脚本文件如下:
#!/bin/bash
cd 你的目录/SimpRead
mv output/*@annote.md Logseq目录/SimpleRead/
rsync -axvP output/*.textbundle archieves(存放 Textbundle 的目录)
rm -rf output/*.textbundle
可以直接新建一个 simpread.sh
之后把上面的代码粘贴过去,记得把上面中文说明的部分都替换掉,同时为了手动执行方便,可以 chmod +x simpread.sh
一下。
然后就是使用 cron 让电脑自动执行这个脚本,这里可以使用 Crontab.guru - The cron schedule expression editor 这个网站调试一下定时任务,比如我目前的配置是每隔 5 分钟执行一次脚本。注意不能执行太频繁,否则一样会遇到简悦下载出错(5 分钟也不能保证完全不出错,理论上间隔越久,出错概率越小)。
具体的添加步骤(我是 Mac,以下请在命令行中执行)
export EDITOR='vi' (不是必须)
crontab -e
然后输入
*/5 * * * * /bin/sh 你的简悦目录/SimpRead/simpread.sh
之后输入 :wq 保存即可
提示:
就代表定时任务添加成功,可以把 Hazel 卸载掉了。
稍后读 ,我就琢磨了一下,感觉效率还可以再提高一下。
Progressive web apps (PWAs) | MDN)。
打开稍后读:
选择独立窗口:
然后你可以在用户目录下找到它
也可以通过 Alfred 或者 Spotlight 找到它
Manico - macOS 下的快速 App 切换器
基本上可以说这个软件是我目前每天使用频率最高的软件,应该没有之一,大概是 18 年左右 25¥购入。它的主要作用就是快速切换软件,比如你可以配置 option+1 打开 Chrome,option+2 打开微信等等,而且再次点击快捷键可以隐藏该软件,能够极大的节约软件切换的时间。这虽然是一款付费软件,但绝对是我在 Mac 上买过的最物超所值的软件。
核心配置:快速隐藏应用
如何配置稍后读快速打开隐藏:
总结
我一般的处理流程是手机浏览公众号或者 RSS 初筛到 Cubox,之后电脑上打开 Cubox,跳转到简悦进行深度阅读,添加标注,同步到 Logseq,之后进行定期整理。
这样,整个从文章到标注,到 Logseq 整理的过程就打通了。简悦作为一个稍后读软件,最大的亮点就是作为一个粘合剂,可以很好地跟各种笔记类软件打通,称为知识管理工作流中不可或缺的一部分,把浏览阅读到的信息和知识真正的经过深度阅读,让它有机会融入到已有的知识体系中,内化为自己的东西,就这一点已经远远超越了 Evernote、Cubox、Pinbox 等同类剪藏产品。
不过简悦问题也很明显,太极客了,配置使用成本巨高无比,我身为一个程序员,都好几次尝试无果弃坑了,个人感觉它的功能已经足够强大了,希望作者能够多花点心思在交互跟实际使用体验上,真的不需要再加那么多新功能了,适当的做减法非常有必要。希望我的踩坑经历能够对你有一些帮助。