缘起
之前一直使用微软的OneNote来管理笔记,OneNote功能强大,可以跟踪笔记的修改历史,可以使用OneDrive来同步笔记。但是OneNote的缺点也不少,最令我无法忍受的就是其默认字体是Calibri,而且无法修改(或者说即使修改了也永远不会生效),我真的不明白,为什么用户修改个默认字体这么简单的事,这么多年来一直就无法解决。我每次都得不厌其烦地把字体改成Times New Roman。
在开始自建各种服务之后,我就开始寻找一个可以自建的笔记管理软件。在尝试过Joplin、Trilium、思源笔记、Logseq等软件之后,我最终选择了Obsidian。Obsidian的优点是:
- 界面简洁,功能强大,支持Markdown语法
- 支持插件,可以扩展功能
- 支持云端同步,可以使用Nextcloud来同步笔记
- 支持多平台,可以在Windows、Linux、Mac、Android等平台上使用
- 笔记文件以纯文本文件存储,方便备份和迁移
- 支持自定义主题和样式,可以根据自己的喜好来修改界面
这些基本就满足了我对笔记管理软件的所有需求了。
前置条件
- docker和docker compose
- Nextcloud
关于上述软件和工具的安装和准备,详情请参见“使用Nextcloud和docker自建个人云网盘”
Obsidian
Obsidian简介
Obsidian官方的说法是它是一个Markdown编辑器,也是一个知识库软件。我不太需要Markdown编辑器的功能,基本只把它当作一个笔记软件来用。Obsidian的笔记文件是以Markdown格式存储的,所有的笔记文件都存储在一个文件夹中,文件名就是笔记的标题。Obsidian支持双向链接,可以很方便地在不同的笔记之间建立链接。
Obsidian支持云端同步,你可以注册Obsidian账号,订阅Obsidian同步服务,起步价是每月$4。我之前已经自建了Nextcloud,所以就不需要花这个钱了,直接使用Nextcloud来同步Obsidian的笔记。
Obsidian安装
Obsidian支持Windows、Linux、Mac、Android全平台,而且提供了浏览器插件,可以在浏览器中使用Obsidian。直接去Obsidian官网下载对应平台的安装包即可。
Obsidian配置
创建笔记库
安装完成后,打开Obsidian,会让我们选择笔记存放的位置和名称。我们选择一个文件夹作为笔记存放的位置,比如/home/user/Documents/Obsidian
,然后点击“创建新库”,就可以创建一个新的笔记库了。这里我的笔记库名字是"Jin Li Obsidian":
创建完成后,Obsidian会将我们创建的笔记都放到这个文件夹中。我们可以在这个文件夹中创建新的笔记,或者将已有的笔记复制到这个文件夹中。
安装并配置插件
由于我们想使用Nextcloud来同步Obsidian的笔记,所以我们需要安装一个插件来实现这个功能。Obsidian的插件分为两类:
- 核心插件(Core Plugins):Obsidian自带的插件,可以直接启用
- 社区插件(Community Plugins):第三方开发的插件,需要手动安装
我们需要安装的插件是“Remotely Save”,它是一个社区插件。Obsidian中社区插件默认是不启用的,我们需要先手动启用它。
- 点击左下角的设置按钮,打开设置界面
- 点击“社区插件”,然后启用它,就可以搜索和安装社区插件了。这里我们搜索“Remotely Save”插件:
点击进去会有安装选项,安装完成后,点击启用即可。
- 安装成功后你会在“已安装插件”中看到“Remotely Save”插件:
点击齿轮图标进入设置界面:
主要需要设置的选项有:
-
Choose A Remote Service:选择"Webdav"
-
Server Address:填写Nextcloud的WebDAV地址,比如
https://<your-nextcloud-domain>/remote.php/dav/files/<username>/Obsidian/
。你可以登录Nextcloud,打开你想要存放Obsidian笔记的文件夹,点击左下角的齿轮图标打开“文件设置”,然后在“WebDAV”中可以看到WebDAV地址:复制这个地址,粘贴到Obsidian的“Server Address”中即可。
-
Username:填写Nextcloud的用户名
-
Password:填写Nextcloud的密码
- 设置完成后就可以将在Obsidian中创建的笔记同步到nextcloud中了。我们可以在Obsidian中创建一个新的笔记,然后点击“Remotely Save”插件的图标,就可以将笔记保存到Nextcloud中了:
点击后右上角会弹出同步成功的提示,右下角也会显示同步成功的状态。
- 登录Nextcloud,打开你存放Obsidian笔记的文件夹,就可以看到你在Obsidian中创建的笔记了:
多端同步
Obsidian是一个全平台的笔记管理软件,你也可以在其他电脑或手机上使用它。在其他设备上安装时需要注意以下几点:
-
在其他设备上安装完Obsidian,第一次打开会让你选择创建笔记库,这里填入的文件库名字需要与之前的相同,例如"Jin Li Obsidian"。
-
在其他设备上同样安装并启用“Remotely Save”插件。
-
在其他设备上配置“Remotely Save”插件时,填写的Nextcloud的WebDAV地址、用户名和密码需要与之前的相同。如果你不想一个个输入,“Remotely Save"插件提供了导出和导入配置的功能,你可以在一个设备上配置好后,导出配置文件:
导出的配置是一串以"obsidian://remotely-save"开头的字符串,你把它复制下来,然后在其他设备上打开Obsidian,点击“Remotely Save”插件的设置按钮,点击“Import Settings”,粘贴刚才复制的字符串并点击确认,就可以导入配置了:
最后关掉插件的设置界面,回到Obsidian,再点击左侧边栏的“Remotely Save”插件图标,Obsidian就会把nextcloud中的笔记同步到新设备上了。