joplin和obsidian有什么区别?
身处大数据的时代,不少人会使用笔记软件。
我从2012年开始,逐渐习惯于使用为知笔记,转眼到了2020年,我的笔记数量达到2000+条,我开始感觉到他在全文搜索方面实在是做的不够。
在试用了思源笔记、Trillium、黑曜石(Obsidian)等一段时间后,我感觉他们总是在某些方面存在致命弱点,我当然是从用户的角度。
为知笔记4.14.2版还是相当不错的,只是这个公司在作死的路上越走越远了!
其实我一直想自建笔记服务器,为知笔记是有这个服务的,无奈他的组织构架决定了他的全文搜索很拉垮。
有一天,我在搜索WebDAV服务器搭建的相关资料时,无意间发现了Joplin这个开源笔记,Joplin可以搭配WebDAV使用,而WebDAV的搭建非常简单。我的眼前一亮!
其实之前我装过Joplin,但是并没有做全面的考察,就pass了,但是这次,我再次下载安装了Joplin,发现他基本满足我的需求。
一、Joplin的特点:
1、Joplin的所有数据都在一个文件夹里面,核心文本数据存储于database.sqlite单文件数据库内(为Markdown文本)。
2、Joplin的图片资源都在根目录下一个名为resources的文件夹内,Joplin可以做到定时检查和清理。
3、无限文件夹结构,他这个文件夹是虚拟的。
4、真全文搜索,再多的笔记也能瞬间定位,感受SQLite的强大。
5、自带多种同步方案,当然也包括自建webdav服务器。
6、自带各系统的客户端,自带网页剪藏插件。
7、插件非常丰富,不过都是英文的。
二、Joplin服务器的安装
原来Nginx本身就支持webdav,只不过需要完整安装。
按照网上的教程,我先卸载了服务器的Nginx,然后安装完整版Nginx。
sudo apt remove nginx
sudo apt autoremove
sudo apt install nginx-full
然后修改配置网站配置文件如下:
server {
Listen 80;
location /webdav/ {
alias /tmp/webdav/;
autoindex on;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
dav_access user:rw group:rw all:r;
client_max_body_size 0;
create_full_put_path on;
client_body_temp_path /tmp/;
auth_basic realm_name;
auth_basic_user_file /etc/nginx/.passwords.list;
}
}
需要注意,alias(即存储目录)必须父目录也有权限。
需要注意,为了iOS端可以正常访问,443端口的配置也要开。
帐号
sudo htpasswd -b -c /etc/nginx/.passwords.list user1 pass1
测试
curl -u user1:pass1 -T './file' 'http://127.0.0.1/webdav/'
这样Nginx的Webdav服务就可以从网页和客户端访问了。
我觉得从网页访问没意义,把”autoindex on;”这条去掉了。
三、Joplin客户端的安装
Joplin官网提供了Windows、Linux、Android、iOS客户端,还提供了网页剪辑的插件,基本不用自己操心。
需要注意的是,iOS客户端需要启用https,才能正常工作。这样域名需要一个证书。
四、Joplin可能的疑问
1、主要是孤立的图片附件怎么清理。其实只要设置好笔记历史,孤立的附件到期就会自动清理,实测有效。
Joplin的笔记附件有一个内部的名字,还有一个外部的名字,只要我们将外部的名字取好,自己清理附件也方便。
2、主要是笔记的根目录容易拖进别的根目录而无法拖出来的问题。
我的解决方法比较暴力,直接用DB Browser for SQLite打开database.sqlite,浏览folders内的数据,然后把需要置顶的目录的父目录号删了,他就自动成了父目录了。
这也间接证明了,以SQLite为数据仓库的笔记软件的强大和灵活,什么全文搜索根本不在话下。
3、如何将为知笔记导入Joplin。虽然为知笔记比较封闭,但是它和Joplin有个共同点是都是基于前端HTML,只不过为知笔记是富文本兼Markdown,而Joplin是Markdown兼富文本。
这就比较简单了,选中为知笔记的一个需要导出的目录,右上角点[文件]->[导出文件]->[导出HTML...]将整个文件夹导出至一个目录。
然后用FireFox或者Chrome打开本地笔记网页,就用Joplin提供的网页剪藏插件,将此网页直接转为Markdown文本并存储。
说起Joplin提供的网页剪藏插件(Joplin Web Clipper),那是真强大,多么复杂的网页都能够转换为Markdown文本,再加上Joplin使用GFW的拓展版的Markdown,转换效果基本还行。
五、总结
这几天,我正在将为知笔记的数据慢慢搬入Joplin笔记,顺便整理下我的好多陈年老笔记。因为我有自己的云服务器,本次笔记的迁移可能是最彻底的一次,也很可能是我最后的一次。
我一直主张,笔记软件一定要安全、可控、长久,其次是存储的高效和查找的迅捷。市面上的许多笔记软件,围绕着热点不停的炒作,追逐资本的集权而违背“笔记”的初心,对用户的真实需求视若罔闻,这样的笔记是不可能让用户安心思考、高效创作的。