笔记管理是非常重要的,无论是小时候老生常谈的剪报修养,到读书学习时候的课堂笔记,再到后来的个人博客,无非就是将经验积累下来,转化为文字形态进行存储。无论其子概念范畴是什么,其实一律可以归类为「笔记」。
这里简单分享下个人的笔记分类,主要以可见度为第一维度分类,以内容和类型为第二维度分类(不存在微博、twitter之类的短文字内容,这类内容不足以被称为笔记):
其负责的领域各不相同:
剪报
属于一个意思。这部分内容最主要是构建个人知识数据库,需要高效的工具进行管理,方便后续的搜索和查询根据上面的分类,工具主要分3部分:
阮一峰的博文「最适合程序员的笔记软件」,可以仔细阅读下。
无论上述的任何一个分类,数据安全都是非常重要的,当然需要有针对性的对策:
使用DayOne的时间也很久了,这款软件的版本演进引入了相当激进的行为变化,导致了一系列的问题。
早期程序行为:
这就保证了:
而后续程序改版为:
导致了:
所以自dayone改版之后,一直有意向且在留意是否有比较好的工具可以转过去。
个人博客使用静态博客系统,剪藏笔记使用印象笔记,这个基本上不太需要动。但人生感悟这块数据太敏感了,而且太重要了,切不能随便交给一家厂商就完事了,一定要思考数据如何保证安全,如何保证在这家厂商服务关闭之后能简便切换到其他软件,阅读和编辑的连贯性。因此这块的工具选择有几点要求:
目前看下来只有obsidian能完全满足上述需求。
官方主页直接提供Desktop app
的下载链接,也可以通过App Store安装。Mobile版本的下载在这里。
个人使用的是iPhone,所以使用对应的iOS app。这里推荐先下载iPhone app,然后使用mobile app在iCloud里创建Vault。如果反过来先使用Desktop app来创建Vault的话,在iCloud里会和mobile app存放在不同的位置,导致双端同步不一致。
该软件的app都是免费的,直接可以下载使用,而且完全没有广告:官方Pricing页面。个人用户是完全免费使用的。
其他有用的链接:
obsidian的优点:
当然obsidian也有缺点和问题,目前来看最大的问题是这款软件更偏向桌面,对mobile的支持较一般,特别是第三方插件,很多都是只针对桌面版进行了研发(上面提到的gallery插件就是)。
至少目前看来,这款软件是完全能满足我的需求的,甚至大大超出了我的预期。
下面会简单介绍下如何设置及使用Obsidian,以桌面版为视角,之前也提到了mobile版本仍旧只是能用。
创建iCloud内Vault
之前也提到了,需要先使用Mobile app,按软件界面的要求设置Vault即可。这里需要记住创建出来的Vault文件夹的名字。
定位MAC上的文件夹位置
MAC上的数据是通过iCloud进行同步的,根据OS版本不同,位置可能会变动。目前我的OS是:
11.5.2
数据位置在:
$ pwd
/Users/Jonathan/Library/Mobile Documents/iCloud~md~obsidian/Documents
$ ll
total 0
drwxr-xr-x@ 5 Jonathan staff 160B 8 30 16:14 ./
drwxr-xr-x 4 Jonathan staff 128B 8 26 15:22 ../
drwxr-xr-x@ 2 Jonathan staff 64B 8 28 19:51 .Trash/
drwxr-xr-x@ 10 Jonathan staff 320B 8 27 21:54 .obsidian/
drwxr-xr-x@ 5 Jonathan staff 160B 8 30 16:14 Notes/
$ cd ./.obsidian
$ ll
total 48
drwxr-xr-x@ 10 Jonathan staff 320B 8 27 21:54 ./
drwxr-xr-x@ 5 Jonathan staff 160B 8 30 16:14 ../
-rw-r--r--@ 1 Jonathan staff 281B 8 30 16:29 app.json
-rw-r--r--@ 1 Jonathan staff 102B 8 30 16:29 appearance.json
-rw-r--r--@ 1 Jonathan staff 42B 8 30 16:29 community-plugins.json
-rw-r--r--@ 1 Jonathan staff 249B 8 30 16:29 core-plugins.json
-rw-r--r--@ 1 Jonathan staff 837B 8 26 19:37 hotkeys.json
drwxr-xr-x@ 4 Jonathan staff 128B 8 27 14:59 plugins/
drwxr-xr-x@ 3 Jonathan staff 96B 8 26 16:30 themes/
-rw-r--r--@ 1 Jonathan staff 2.7K 8 30 16:29 workspace
这里我创建出来的Vault文件夹名字是Notes
,可以看到在刚才的ll
中存在。而Obsidian自己的数据(含配置、插件、主题等)则存放在.obsidian
文件夹下,它是一个Vault一个专属的文件夹的,不存在global的设置。在有多个Vault需要共享同一份设置的时候会有点麻烦。
打开MAC上的Vault
打开MAC版的Obsidian,然后按界面上的按钮指引打开刚才提到的iCloud文件夹即可(到Documents那层)。
软件设置
点击界面最左下角的Settings
按钮,打开设置界面。后续的设置按界面操作即可,这里把完成的设置内容作为json代码贴在这里。注意插件需要手动到第三方插件 > 社区插件
浏览安装,搜索关键字为:gallery
和tag
。
app.json
{
"showFrontmatter": true,
"defaultViewMode": "preview",
"showLineNumber": true,
"useTab": false,
"emacsyKeys": false,
"newLinkFormat": "shortest",
"alwaysUpdateLinks": true,
"useMarkdownLinks": false,
"attachmentFolderPath": "./",
"readableLineLength": false
}
appearance.json
{
"baseFontSize": 16,
"theme": "obsidian",
"translucency": true,
"cssTheme": "Obsidian Nord"
}
community-plugins.json
[
"obsidian-gallery",
"tag-wrangler"
]
core-plugins.json
[
"file-explorer",
"global-search",
"switcher",
"graph",
"backlink",
"tag-pane",
"page-preview",
"note-composer",
"command-palette",
"markdown-importer",
"outline",
"word-count",
"open-with-default-app",
"file-recovery"
]
hotkeys.json
{
"app:go-forward": [
{
"modifiers": [
"Ctrl"
],
"key": "Tab"
}
],
"app:go-back": [
{
"modifiers": [
"Ctrl",
"Shift"
],
"key": "Tab"
}
],
"workspace:edit-file-title": [
{
"modifiers": [
"Mod",
"Shift"
],
"key": "R"
}
],
"tag-pane:open": [
{
"modifiers": [
"Mod",
"Shift"
],
"key": "T"
}
],
"outline:open-for-current": [
{
"modifiers": [
"Mod",
"Shift"
],
"key": "O"
}
],
"workspace:export-pdf": [
{
"modifiers": [
"Mod",
"Shift"
],
"key": "P"
}
],
"workspace:copy-url": [
{
"modifiers": [
"Mod",
"Shift"
],
"key": "U"
}
]
}
快捷键主要就几个:
使用
使用上和一般的MD编辑器没什么差别,使用CMD + E
来切换编辑和预览模式。就几点需要注意下:
#TAG_NAME
的文本,即可创建TAG_NAME
tagcustomList=5 10 2 4
assets/gallery00/*.jpg
-> name: gallery00
e.g
name: gallery00
rowHeight: 200
margins: 5
Vault
由于Obsidian仅只是一款简单的编辑软件,和dayone这样使用数据库来管理数据的软件不同,它是不会对数据的存放位置和结构进行定义的,所有的一切都交由使用者自己组织。这就对使用者提出了要求,你不能随随便便把所有的内容全部都扔到Vault的根目录下,这会导致后续浏览及搜索的困难,也不能把所有的内容都分得过细或扔到过多层的子文件夹中,这也会导致浏览的障碍。
因此个人使用下面的格式来管理Vault:
iCloud Documents /
| .obsidian
| Notes /
| ...
| 2019 / ...
| 2020 / ...
| 2021 /
| ...
| 08 /
| 20210828-obsidian-instruction /
| assets / ... / *.jpg
| obsidian-instruction.md
格式:Notes / YYYY / MM / YYYYMMDD-slug / slug.md | assets
Tag
posts文件都是分布在年月日的多层子文件夹下,因此直接通过文件系统进行浏览是非常困难的。这就要求尽量要做好post的tag内容管理,尽量分门别类做细,后面才可以通过tag的方式来进行post的快速浏览和查找。
e.g
#Tech #JavaScript
#Entertainment #Travel
个人Tag principles如下:
其他的tag就可以按post本身内容自行定义即可。
Front matter
Obsidian本身对front matter基本上是完全不支持的,不解析其中的内容。但建议仍旧还是要做好front-matter的管理,录入一些原始数据,以便后续有新的plugin支持的时候,可以快速调整来生效。
个人使用如下的front matter内容:
uuid: "..."
path: "/2021/08/20210828-obsidian-instruction"
date: "2021-08-28"
slug: "obsidian-instruction"
title: "obsidian使用教程"
location:
altitude: 1
latitude: 38
longitude: 128
address: "南京东路XXX"
placename: "XXX国际大酒店"
district: "黄浦区"
city: "上海市"
province: "上海"
country: "中国"
weather:
temperature: 31
humidity: 78
weather: "晴"
time: "13:33:27"
aqi: 56
EOF