你可以想象到的最优雅的输入方式

嗨,大家!

不知不觉,使用 Obsidian 已经一年了,从一开始无从下手,到在日记(Obsidian 的核心插件)中写一元笔记,从写写流水帐,到它几乎承包了我所有的笔记场景。而我也从一个笔记爱好者成为了一名写作者。

我的笔记场景经过一轮更新重组,变为了以下这些:

  1. 闪念笔记:随时记录闪念,到当天日记。如果有需要展开的闪念,则在时间充裕时单独做一张卡片。
  2. 文献笔记:即阅读和观影笔记。阅读产生的思考会在阅读完之后拆分到新的卡片。
  3. 项目笔记:为写作而服务,分为灵感提案、写作中的文章和已完成的文章。

当我的文章多起来以后,我开始发现要找到它们开始变得困难。我会想知道我有哪些灵感是还没有写的,这样我接下来可以构思新文章。哪些是正在写作的,哪些是已经发布的,哪些只发布了一个平台,另一个平台还在等待发布。

怎么解决呢?我想到了 Dataview 插件,它根据不同的条件生成文件目录。于是我设计了一些属性,用于提案笔记和输出笔记,让他们可以被 Dataview 识别,自动帮我归好类。

整理之后果然非常清晰明了,打开项目索引笔记,我就可以看到现在进行中的项目,灵感库还有哪些是还没写的,还有展示已发布的项目列表,每次看到都有一种成就感。

接下来,为了让每一次新建的提案笔记能够被目录分别收录,我统一了创建提案笔记的模板,使用快速添加命令直接创建一条提案笔记,就能让这条新灵感被项目列表的灵感库所收录。

搞定了这一个工作流,其他的笔记也可以复制这一整套流程。

今天要为大家介绍的就是:使用 模板 + QuickAdd+Dataview 打造快速创建和自动索引的工作流。

这个工作流对我来说大大精简了笔记操作步骤,让重点回归到写作本身。相信对于经常写阅读笔记和输出笔记的小伙伴都会有帮助。

我的工作流演示

先来演示一下提案笔记的一整个流程:

我的Obsidian工作流:模板 QuickAdd Dataview快速创建和自动索引 - 图1

它们在做什么?

  1. 我用快捷键【Ctrl+Shift+T】唤起了快速输入【提案笔记】
  2. 键入名字后回车
  3. 自动新建了一条提案笔记
  4. 它被自动放在我的项目笔记文件夹下
  5. 并且自动插入了我的提案笔记模板
  6. 同时自动汇入了项目索引下的 Idea 库列表

它们是如何配合工作的?

  • 模板文件:以少量的模板语法编写,可以在创建文件时自动写入文件名和创建时间。使用了 dataview 能够识别的属性,方便自动建立索引。
  • quickAdd:quickAdd 使用模板创建了新的文件,并存放到指定的文件夹。如果你还在用新建文件再移动到想要的目录这种方式,相信你用过 quickAdd 之后一定会爱上。
  • Dataview:用于使用搜索语句生成索引目录,因为写好了语句,当有新的文件满足它的条件时,会自动更新目录。

其他的一点小魔法:

  • 命令面板 + 快捷键:由于把 quickAdd 添加到了命令,所以顺便把 quickAdd 的命令置顶,并且设置了快捷键。于是做到了一键唤出,直接输入名称即可创建好一个文件。

工作流打造开始

第一步:明确你想要在索引页面看到什么

不考虑是否能实现,你想要在索引页面看到什么样的内容呢?你的应用场景是什么?你期望以什么形式展示你的信息呢?

来看一个实际的场景,由于我做了一些读书笔记,现在我想要一个书目列表,能看到我的阅读列表。最好更进一步,把在读、想读、已读分开。

我想要展现的内容是:书的名称、作者、图书分类、阅读来源、阅读状态、阅读日期(起止时间)。

这些都想清楚之后,就可以开始动手了。

第二步:设计字段

要想要能够在索引页面展现这些字段(书名、作者、阅读来源、阅读状态、阅读日期),我们需要向读书笔记里添加这些属性。

有两种方式可以给文件添加属性,一种是之前在 Dataview 教程里提到的 yaml,另一种是字段名:: 字段值这样的写法。两种写法都可以被 Dataview 识别。

使用 yaml,或者字段名:: 字段值这样的写法,以方便 dataview 能够读取。

鉴于在上一篇文章中已经演示过如何用 yaml 添加属性了,这次我们演示另一种写法:

  1. 书名::
  2. 作者::
  3. 分类::
  4. 来源::
  5. 阅读状态::
  6. 开始日期::
  7. 读完时间::

先在一个读书笔记中写上这些内容,将已有的信息对应填上去,作为备用。如果你还没有读书笔记文件,也可以跟着建一个测试的文件,将上方内容复制进去,一会儿我们会看到效果。

下面是我的演示文件:

我的Obsidian工作流:模板 QuickAdd Dataview快速创建和自动索引 - 图2

第三步:Dataview 建立索引

Dataview 是什么? 一句话解释就是:用于生成文件目录。

创建一个新文件,命一个你容易识别的名字,比如我新建一个索引文件夹,专门放各类索引。把这个新文件命名为 “阅读列表”。

开始写 Dataview 代码:

  1. ```dataview
  2. table 书名,作者,分类,来源,阅读状态
  3. from "工作流演示/文献"
  4. sort file.ctime desc
  1. `table`:创建一个表格。后面跟的“书名,作者,分类,来源,阅读状态”都是我们设计好的**字段名**,注意是字段名而不是字段值哦。另外逗号必须是英**文逗号**。
  2. `from`:检索的文件范围。我这里写的是《大学》这个读书笔记文件所在的文件夹。如果想从全库检索,则直接写空字符串`""`
  3. `where`:检索条件。我这里暂时没有写,则不做过滤。
  4. `sort`:排序。使用了Dataview给文件默认添加的属性`file.ctime`,意思是文件创建时间。`desc`是排序方式,倒叙。想要正序效果,请使用`asc`
  5. 最后来看看效果。刚才的测试文件已经被加载出来了。
  6. ![](https://mmbiz.qpic.cn/mmbiz_png/TDibWgTpJibRX9ib9UmaNt1I0g14BZq0bleCYmDpzAh5lv6vwxmbmD4PElbHTC6fr1yLBvlNicAaBkX7J5ibIoy3RnA/640?wx_fmt=png)
  7. ### 第四步:新建模板
  8. 既然我们设计的字段可以展现出想要的索引效果,那么就可以把它存成模板了。
  9. 在你的模板文件夹,新建一个文件,命名“阅读笔记模板”。模板内写入一下内容:
  10. ```makefile
  11. 书名:: {{NAME}}作者::分类:: 来源::阅读状态::开始日期:: {{DATE:YYYY-MM-DD}}读完时间::

上面这段使用了 2 个模板语法:

  • {{NAME}}:文件名。会自动在创建文件时写入当前文件名。

  • {{DATE:YYYY-MM-DD}}:是日期的语法。写在这里是想要自动记录开始阅读的日期。

  • YYYY2021格式的年;

  • MM是 2 位格式的月的写法,输出是08

  • DD是 2 位格式的日期,如010217

第五步:quickAdd

quickAdd 是什么?

quickAdd 可以直接理解为快速添加。它可以添加两种类型:

  1. 捕捉输入,插入到指定文件的指定位置
  2. 使用已有模板快速添加一个文件,可以指定文件位置

我这里说的比较简单,它还可以做到一些比较复杂的指令,但是本文只介绍简单的用法,让它能够快速为你所用。本文没有什么门槛,请放心食用。

设置一个快加命令

请先安装 quickAdd 插件,如何安装这里不再赘述,前面文章都有写到。

1、新建一个快加指令

打开 quickAdd 设置界面。我们选择使用Template类型,输入一个名字作为命令名。

我的Obsidian工作流:模板 QuickAdd Dataview快速创建和自动索引 - 图3

点击Add Choice确认添加。

操作过后一个新的命令就新建好了。

quickAdd 的类型:

  1. Template:使用模板新建文件。
  2. Capture:捕获。捕获输入内容,添加到指定文件内部。
  3. Macro:宏指令。本文不涉及。
  4. Multi:多菜单。这个很简单,但本文也先不讲。

2、设置该指令

点击该命令右侧的齿轮⚙️进行设置。

我的Obsidian工作流:模板 QuickAdd Dataview快速创建和自动索引 - 图4
我的Obsidian工作流:模板 QuickAdd Dataview快速创建和自动索引 - 图5

下面解释一下各设置项的意思:

  • 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、添加到命令,并设置快捷键

我的Obsidian工作流:模板 QuickAdd Dataview快速创建和自动索引 - 图6
我的Obsidian工作流:模板 QuickAdd Dataview快速创建和自动索引 - 图7

点亮阅读笔记命令右侧的闪电⚡️图标,将 “阅读笔记” 命令添加到命令面板。

现在,我们可以在命令面板找到这个命令了。如果你想要快速找到它,可以给该命令置顶

我的Obsidian工作流:模板 QuickAdd Dataview快速创建和自动索引 - 图8

如果你想要更快的操作,还可以给这个命令添加快捷键。

我的Obsidian工作流:模板 QuickAdd Dataview快速创建和自动索引 - 图9

现在我们就能用快捷键【Command/Ctrl+shift+B】来唤起【QuickAdd: 阅读笔记】命令了。

验收成果

现在我们来使用快捷键唤起【QuickAdd: 阅读笔记】命令,并输入一个书名试一下。

我的Obsidian工作流:模板 QuickAdd Dataview快速创建和自动索引 - 图10

后记

这篇文章很长,介绍了我在 Obsidian 里的工作流,它能够帮我节省很多诸如新建文件、移动文件到文件夹、插入模板等操作,对我来说十分的方便与顺手。

这只是一个抛砖引玉,希望能给你一点灵感打造自己的工作流。

欢迎在下方留下你的效果,以及任何反馈。

下期见!
https://mp.weixin.qq.com/s?__biz=MzI4NjIwOTg3Nw==&mid=2650157168&idx=1&sn=502da977bc15986d380ef8684f5edb5c&chksm=f3e2f24ac4957b5c56d6aa28a0f43858584d5372bfe145b8cadbd35a2ca00de8e672ccd5fbe6&mpshare=1&scene=1&srcid=0909CjnNtucaQnOsUnx8G72V&sharer_sharetime=1631603694125&sharer_shareid=f07c4a475fb991880bddec386bfa6133&exportkey=AYhffu8jN1WPaLnNHhZoxns%3D&pass_ticket=opV3bSzCbJgsWaExwxcJj2Vjn8lz56tzJsLS%2FZ4cqB7v%2Bv4LJj0KYmn04De7Iacy&wx_header=0#rd