个人笔记管理方案进化历程

本文最后更新于:2023年10月5日 下午

第一阶段:Typora/VS Code + Git

使用时间:2018 - 2022

朴实无华的纯 Markdown 文件,只是为存放这些文件的目录加上了版本管理。

因为用的是 Git 作为版本管理,我可以把这些 Markdown 文件 push 到各大 Git 托管网站。也算是实现了多端备份,同时在线编辑也还算方便。

第二阶段:Joplin + S3/自建 Joplin Server + VS Code(MarkDown 插件)

使用时间:2022 - 2023

Joplin 支持使用多种方式同步,另外,由于它使用一个 SQLite 数据库文件存储内容,我无法不通过 Joplin 直接访问单个笔记文件了。

其间发现了一个菊苣做的网页工具,可以很方便的在 Joplin 内进行一些批量操作,她还有一个叫mami的项目,可以批量导出带有某 tag 的笔记为可以直接放到 hexo 内的格式,很方便,相当长一段时间里我都很满意这个流程(尽管我也没发几篇博客),直到我发现 Joplin 手动备份然后导入笔记后,用这种方式自动生成的 abbrlink 会发生变化,询问了开发者后,得到的解答是由于 Joplin 设计原因,现阶段无法解决此问题。

还是上面那个大佬,她还有一个 Joplin 相关的作品是一个 VSCode 插件:joplin-vscode-plugin,得益于这个插件,我可以直接使用 VSCode 操作我的 Joplin 笔记库,大大提升了我平时编辑 Markdown 文件的体验。

btw,虽然这个软件提供了安卓客户端,但体验很一般,我折腾了一下同步后就几乎再没打开过。

第三阶段:Obsidian + Git + Memos

使用时间:2023.9.24 - ∞

先说一下 Memos 吧,他是一个轻量的仿 Flomo自托管笔记服务,我都是把这玩意当朋友圈发 😂,经过一段时间的发展,这软件现在有了 Android 客户端和浏览器插件,也挺方便的。

其实在切换到这个方案之前我就用了很久 Memos 了,只是我发现有个叫 Memos Sync 的插件可以把 Memos 里的内容同步到 Obsidian 库内,使得我可以直接在 Obsidian 里利用上我在 Memos 里发的东西,所以就把它们放一起了。

Obsidian 被各大博主着重表扬的支持双链笔记确实很好用,在支持双链的同时对传统的 Markdown 文件结构也没有太多改变。等等功能其实我用的并不多,主要还是把它当作类似 Typora 那样的软件来用。而且这软件的插件是真的丰富,UI 设计也挺好看,移动端也很不错。

Obsidian 可以使用一个叫 Obsidian Git 的插件来实现基于 Git 的多设备同步,移动端也可以哦可惜移动端不太好使,我目前的方案是使用 Termux 内的 Git 客户端操作笔记所在 Git 仓库实现同步,写了点 alias 来简化这个流程:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
repo_path=$HOME/storage/shared/Obsidian/notes-obsidian

obgit_cmd="git --work-tree=$repo_path --git-dir=$repo_path/.git"

alias obcd="cd $repo_path"

alias obgit=$obgit_cmd

alias obgit-sync="$obgit_cmd checkout -- && $obgit_cmd reset --hard && $obgit_cmd pull codeup main:main --rebase"

alias obgit-clean="$obgit_cmd checkout -- && $obgit_cmd reset --hard"

alias obgit-commit="$obgit_cmd commit -a -m 'update'"

alias obgit-push-all="$obgit_cmd remote | xargs -I _ $obgit_cmd push _"

由于每个笔记在 Obsidian 的笔记库内是直接以 Markdown 文件的方式存储的,处理它并不需要太多编程知识,我写了一点 Shell/Python 脚本(这个脚本在我的博客仓库里,大概做的就是把 BLOG 子目录的 md 文件 cpoy 过去,然后处理一下 frontmatter 之类的),也算是实现了一键发布文章到博客。

和用 Joplin 时基于 tag 的方式不同,现阶段我用的是基于子目录的方式。切换到此方案后,不再使用 Joplin 生成的 abbrlink,转为使用 hexo 插件自动生成,就不存在 abbrlink 发生变化的问题了。

本质上此方案可以看作第一阶段方案的 Pro Max 版,最大的区别就是 Typora 换成了 Obsidian,所以也具备第一阶段方案的优点。Obsidian 真香!

到了这一步,或许不该用“个人笔记”称呼它了,“知识库”?


个人笔记管理方案进化历程
https://blog.oopsky.top/post/28d1aacb/
作者
waleslau
发布于
2023年9月24日
更新于
2023年10月5日
许可协议