你可以想象到的最优雅的输入方式
嗨,大家!
不知不觉,使用Obsidian已经一年了,从一开始无从下手,到在日记(Obsidian的核心插件)中写一元笔记,从写写流水帐,到它几乎承包了我所有的笔记场景。而我也从一个笔记爱好者成为了一名写作者。
我的笔记场景经过一轮更新重组,变为了以下这些:
- 闪念笔记:随时记录闪念,到当天日记。如果有需要展开的闪念,则在时间充裕时单独做一张卡片。
- 文献笔记:即阅读和观影笔记。阅读产生的思考会在阅读完之后拆分到新的卡片。
- 项目笔记:为写作而服务,分为灵感提案、写作中的文章和已完成的文章。
当我的文章多起来以后,我开始发现要找到它们开始变得困难。我会想知道我有哪些灵感是还没有写的,这样我接下来可以构思新文章。哪些是正在写作的,哪些是已经发布的,哪些只发布了一个平台,另一个平台还在等待发布。
怎么解决呢?我想到了Dataview插件,它根据不同的条件生成文件目录。于是我设计了一些属性,用于提案笔记和输出笔记,让他们可以被Dataview识别,自动帮我归好类。
整理之后果然非常清晰明了,打开项目索引笔记,我就可以看到现在进行中的项目,灵感库还有哪些是还没写的,还有展示已发布的项目列表,每次看到都有一种成就感。
接下来,为了让每一次新建的提案笔记能够被目录分别收录,我统一了创建提案笔记的模板,使用快速添加命令直接创建一条提案笔记,就能让这条新灵感被项目列表的灵感库所收录。
搞定了这一个工作流,其他的笔记也可以复制这一整套流程。
今天要为大家介绍的就是上面这一套,使用模板+QuickAdd+Dataview打造快速创建和自动索引的工作流。
这个工作流对我来说大大精简了笔记操作步骤,让重点回归到写作本身。相信对于阅读笔记和输出笔记都会有帮助。
我的工作流演示
先来演示一下提案笔记的一整个流程:
它们在做什么?
- 我用快捷键【Ctrl+Shift+T】唤起了快速输入【提案笔记】
- 键入名字后回车
- 自动新建了一条提案笔记
- 它被自动放在我的项目笔记文件夹下
- 并且自动插入了我的提案笔记模板
- 同时自动汇入了项目索引下的Idea库列表
它们是如何配合工作的?
- 模板文件:以少量的模板语法编写,可以在创建文件时自动写入文件名和创建时间。使用了dataview能够识别的属性,方便自动建立索引。
- quickAdd:quickAdd 使用模板创建了新的文件,并存放到指定的文件夹。如果你还在用新建文件再移动到想要的目录这种方式,相信你用过quickAdd之后一定会爱上。
- Dataview:用于使用搜索语句生成索引目录,因为写好了语句,当有新的文件满足它的条件时,会自动更新目录。
其他的一点小魔法:
- 命令面板 + 快捷键:由于把quickAdd添加到了命令,所以顺便把quickAdd的命令置顶,并且设置了快捷键。于是做到了一键唤出,直接输入名称即可创建好一个文件。
工作流打造开始
第一步:明确你想要在索引页面看到什么
不考虑是否能实现,你想要在索引页面看到什么样的内容呢?你的应用场景是什么?你期望以什么形式展示你的信息呢?
来看一个实际的场景,由于我做了一些读书笔记,现在我想要一个书目列表,能看到我的阅读列表。最好更进一步,把在读、想读、已读分开。
我想要展现的内容是:书的名称、作者、图书分类、阅读来源、阅读状态、阅读日期(起止时间)。
这些都想清楚之后,就可以开始动手了。
第二步:设计字段
要想要能够在索引页面展现这些字段(书名、作者、阅读来源、阅读状态、阅读日期),我们需要向读书笔记里添加这些属性。
有两种方式可以给文件添加属性,一种是之前在Dataview教程里提到的yaml,另一种是字段名::字段值
这样的写法。两种写法都可以被Dataview识别。
使用yaml,或者字段名::字段值
这样的写法,以方便dataview能够读取。
鉴于在上一篇文章中已经演示过如何用yaml添加属性了,这次我们演示另一种写法:
书名::
作者::
分类::
来源::
阅读状态::
开始日期::
读完时间::
先在一个读书笔记中写上这些内容,将已有的信息对应填上去,作为备用。如果你还没有读书笔记文件,也可以跟着建一个测试的文件,将上方内容复制进去,一会儿我们会看到效果。
下面是我的演示文件:
第三步:Dataview 建立索引
Dataview是什么? 一句话解释就是:用于生成文件目录。Dataview入门级教程见这篇:
创建一个新文件,命一个你容易识别的名字,比如我新建一个索引文件夹,专门放各类索引。把这个新文件命名为“阅读列表”。
开始写Dataview代码:
table 书名,作者,分类,来源,阅读状态
from "工作流演示/文献"
sort file.ctime desc
table
:创建一个表格。后面跟的“书名,作者,分类,来源,阅读状态”都是我们设计好的字段名,注意是字段名而不是字段值哦。另外逗号必须是英文逗号。
from
:检索的文件范围。我这里写的是《大学》这个读书笔记文件所在的文件夹。如果想从全库检索,则直接写空字符串""
。
where
:检索条件。我这里暂时没有写,则不做过滤。
sort
:排序。使用了Dataview给文件默认添加的属性file.ctime
,意思是文件创建时间。desc
是排序方式,倒叙。想要正序效果,请使用asc
。
最后来看看效果。刚才的测试文件已经被加载出来了。
第四步:新建模板
既然我们设计的字段可以展现出想要的索引效果,那么就可以把它存成模板了。
在你的模板文件夹,新建一个文件,命名“阅读笔记模板”。模板内写入一下内容:
书名:: {{NAME}}
作者::
分类::
来源::
阅读状态::
开始日期:: {{DATE:YYYY-MM-DD}}
读完时间::
上面这段使用了2个模板语法:
{{NAME}}
:文件名。会自动在创建文件时写入当前文件名。{{DATE:YYYY-MM-DD}}
:是日期的语法。写在这里是想要自动记录开始阅读的日期。YYYY
是2021
格式的年;MM
是2位格式的月的写法,输出是08
;DD
是2位格式的日期,如01
、02
、17
第五步:quickAdd
quickAdd 是什么?
quickAdd 可以直接理解为快速添加。它可以添加两种类型:
- 捕捉输入,插入到指定文件的指定位置
- 使用已有模板快速添加一个文件,可以指定文件位置
我这里说的比较简单,它还可以做到一些比较复杂的指令,但是本文只介绍简单的用法,让它能够快速为你所用。本文没有什么门槛,请放心食用。
(更丰富的quickadd用法见:
设置一个快加命令
请先安装quickAdd插件。
1、新建一个快加指令
打开quickAdd设置界面。我们选择使用Template
类型,输入一个名字作为命令名。点击Add Choice
确认添加。
操作过后一个新的命令就新建好了
quickAdd的类型:
- Template:使用模板新建文件。
- Capture:捕获。捕获输入内容,添加到指定文件内部。
- Macro:宏指令。本文不涉及。
- Multi:多菜单。这个很简单,但本文也先不讲。
2、设置该指令
点击该命令右侧的齿轮⚙️进行设置。
下面解释一下各设置项的意思:
Template Path
:模板文件路径。在这里选择上一步我们创建好的模板文件。File Name Format
:文件名格式,是一个开关。关闭此开关会默认以输入的内容作为新建文件的文件名。打开此开关我们就可以在File Name
指定文件名的格式。File Name
:文件名。只有当File Name Format
开关打开时才可以编辑。比如你想要按照日期加上输入文本来命名,则可以写{{DATE:YYYY-MM-DD}}-{{VALUE}}
。
Create in folder
:是否创建到文件夹。打开状态会将新文件存放在下方选择的文件夹内。Choose folder when creating a new note
:新笔记存放的位置。只有当上一个设置项为打开状态时才会出现。选择路径后,记得点击一下选择框右侧的Add
添加。
Create in same folder as active file
:将新笔记存放在当前打开的笔记同一个文件夹。这个选项和上一个选项只用打开一个即可。Append link
:是否添加新笔记的链接到当前文件。Increment file name
:增量文件名。打开后,如果已存在同名文件,则会在文件名后面增加数字。Open
:是否打开新建文件。New Tab
是否在新的面板打开新建笔记。
你可以先照着我截图中的设置,来设置自己的设置项。这样有助于你快速看到和本文一样的效果。
关闭这个设置面板,设置会自动保存。
3、添加到命令,并设置快捷键
点亮阅读笔记命令右侧的闪电⚡️图标,将“阅读笔记”命令添加到命令面板。
现在,我们可以在命令面板找到这个命令了。如果你想要快速找到它,可以给该命令置顶。
如果你想要更快的操作,还可以给这个命令添加快捷键。
现在我们就能用快捷键【Command/Ctrl+shift+B】来唤起【QuickAdd:阅读笔记】命令了。
验收成果
现在我们来使用快捷键唤起【QuickAdd:阅读笔记】命令,并输入一个书名试一下。
后记
这篇文章很长,介绍了我在Obsidian里的工作流,它能够帮我节省很多诸如新建文件、移动文件到文件夹、插入模板等操作,对我来说十分的方便与顺手。
但是你不一定要和我一样,这只是一个抛砖引玉,希望能给你一点灵感打造自己的工作流。
欢迎在下方留下你的效果,以及任何反馈。
下期见!