Obsidian 笔记整理及TOC索引(二)

我们平时使用Obsidian软件进行笔记管理时,时间一长,就会出现内容杂乱的情况。举个简单的例子:假如我们用了一个月时间陆续读完了一本书籍,并坚持按卡片法每天记录了感悟及心得,这样一个月后,我们就有了30个每日笔记文件,所以我们就有定期要整理的需求了。如下以我的笔记目录演示:

如上图,在2021年5月起,我使用了Calendar插件每天(请自动忽略)创建一个笔记,按照一元化笔记方法把所有的内容都记录在了当天的笔记中,如每天事项及工作内容,个人随想、个人感悟,读书笔记,信息摘要等。(说明:如果笔记内容太长,可以分割为多个ZK笔记并链接。)

日历笔记太长可链接ZK笔记

**笔记整理三步曲:**笔记的拆分及合并、笔记的引用或嵌入、创建TOC内容。

步骤一:笔记的拆分及合并

更新 Obsidian 到最新0.12.10版本后,官方提供了 composer 插件可以实现笔记的提取和合并功能,你可以在核心插件菜单中开启。另外你也可以选择安装第三方的 note refactor 插件来实现。官方的composer插件功能较少但也能完成拆分及合并的工作,整体上比较简洁。下面我们简要的介绍下note refacotor第三方插件和composer核心插件的操作。

如下,在设置->快捷键上搜索插件note refactor,并设置好快捷键,如下我设置了两个快捷键来演示:先在笔记中选中内容后使用 Command+Shift+N 进行笔记的拆分,并自动使用提取内容第一行作为新的文件名。 (说明:你也可用 Command+Shift+C 来操作,在拆分内容时设置一个新笔记文件名称,来把内容拆分至我们新建的笔记文件中。)

Note Refactor插件设置

或者在笔记中选中内容后使用快捷键 Command+Shift+C 把内容合并到一个指定的文件 ( 你可以在弹出列表框中选择已存在的笔记文件,或输入笔记名来创建一个新笔记作为合并的目标笔记 )。总之,如果是提取至一个新创建的笔记则是拆分,如果是一个存在的文件则是合并。

输入要合并的目标文件

合并内容后的最终文件

补充下官方composer插件操作:

确保启用官方自带的管理插件

选中内容后,右键Extract菜单来操作,在弹出窗口中可以选择目标文件来实现合并,或者创建一个新的文件来拆分。

使用官方插件的演示

输入合并目标文件名称

合并内容后的最终文件

步骤二:笔记的引用或嵌入

在一个笔记中我们如何引用或嵌入其它笔记呢?Obsidian中提供了文件引用、标题引用、块引用三种引用及加!的嵌入方式

说明: 我们还可以在不同的笔记中使用相同的标签来实现笔记间的引用,这样当我们打开关系图时,可以通过标签来展示引用的关系。

关联之前文档常用几种引用写法:

[[2020-07-13]] 文件引用
[[2020-07-13#大纲]]  标题引用
[[2020-07-13#^块内容]]  块引用

- 在多个笔记中使用同一个标签,并在关系图中查看
   #运营 #电商/拼多多

除如上常用几种,我们还可以使用query语法查询、dataview插件查询两种查询内嵌、以及嵌入引用的形式**(在以上前三种引用写法前加!)来引用笔记中的内容。**

如何关联之前文档的某些内容:

- 通过查询引用内容
    ```query
	file:2021 人货场
    ```
- 使用dataview插件	
    ```dataview
	list from (#电商 and #运营) | (文件夹) | todo-list
    ```

- 通过嵌入形式来引入内容
    ![[2020-07-13]]
    ![[2020-07-13#大纲]]
    ![[2020-07-13#^块内容]]

- 支持全局搜索标题(不清楚标题在哪个文件时,挻有用)
   [[##信息流 第一章  原理   

- 支持本文搜索标题
   [[#信息流 第一章  原理   

- 支持全局搜索块(不清楚内容块在哪个文件时,挻有用)
   [[^^信息流 巨量大学 2021  

- 支持本文搜索块
   [[^信息流 巨量大学 2021  

按以上markdown写法操作后,Obsidian预览如下:

query及dataview查询内嵌

Obsidian块嵌入的效果

用标签关联的关系图谱

步骤三:创建TOC内容

我们通过以上的拆分及合并方法对笔记内容进行了重新结构化,并通过如:内容引用(文件/标题/块),内容嵌入(query/dataview/引用前加!),标签关联引用 等方式来实现了笔记内容的引用及关联。这样我们便可以把归属于同一类的内容进行整理输出。如:本例中,我们把每天的读书笔记及感悟,整理到了对应的笔记文件中,并在最终导出为一个TOC书目。

Obsidian搜索框搜索:
-----------------------------
path: 读书笔记  认知与觉醒 

获取并整理TOC信息

如上,我们通过以上的几个关键步骤:拆分、合并、引用、汇总TOC,以整理一本书籍的读书笔记为例讲解了如何对Obsidian的笔记内容进行整理的流程,希望对你在使用Obsidian软件时有所帮助。接着我讲解下我平时是怎么按上面的流程来进行具体操作的,详见分割线后内容:

多条件查询及快速引用、嵌入演示:

我们在拆分、合并、引用或嵌入内容时一般会先查找待处理的内容,这里可以使用Obsidian强大且灵活的查询表达式来操作。如下作简要的一些介绍:**我一般先新建一个 ZK 笔记,**输入下面的查询表达式内容,并开启编辑,预览双布局,快速的对笔记查询结果进行引用,比如 [[^^多个关键词 来进行块引用或块嵌入(前加个感叹号) ,当然也可以使用 [[文件名 或 [[文件名#标题名 来引用或嵌入,这里不再详细的赘述。

ZK笔记中使用query表达式

如下为在ZK笔记中的query查询表达式:

line:(广告 西瓜 头条 微信) file:2021
file:2021 content:下载 ROI line:(/\^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z_]{6,6}$/) 
file:2021 content:下载 ROI -line:(/\^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z_]{6,6}$/) 
file:2021 section:(广告 /\^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z_]{6,6}$/) 
file:2021 block:(广告 /\^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z_]{6,6}$/) 
file:2021 line:(广告 /\^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z_]{6,6}$/) 

如上所列,我们使用的query表达式,在 Obsidian 搜索框也都是可以使用的,但是为了方便操作,我一般是把每次的查询条件都存储并备注在ZK笔记中。

搜索框组合条件及正则搜索

如下图所示,展示了在ZK笔记中更丰富的查询示例: (这里ZK笔记名称我手动更改过,请忽略)。

ZK笔记中更多的查询示例

在上图中,在笔记内容的query查询中我们作了笔记的左右分割布局,方便一边编辑条件一边观看返回结果。上面我们举例了常见的section、block、line、file、content、以及/正则式/、-符号取差集,空格符号取并集等查询操作。可看到不同的查询范围及关键词定义返回的结果是不同的。接下来便可依据右侧查询结果在左侧ZK笔记中直接引用或嵌入我们想要的内容:

ZK笔记中引用或嵌入内容:(提示:编辑时,你同样可以添加标签、提取大纲,高亮等方式来组织内容)

1.全局的块搜索
[[^^穿山甲也   

2.前面加!可以嵌入内容
![[^^穿山甲也

3.也可以用文件名、标题来引用,支持前加!嵌入内容
[[文件名]]  [[文件名#标题]] [[文件名#^块id]]    如:![[文件名#^块id]]

嵌入内容后的预览结果

经过在ZK笔记中迭代操作: 1.编写query查询 2.对查询结果进行引用、嵌入、添加标签 3.对已体系化ZK笔记归档 。 使用如上几个步骤便可生成一个整理好的ZK笔记,我们可对 ZK 笔记的内容进行大纲管理、重命名归档或合并到其它文件。

说明:当上图的202107132138 ZK笔记内容够丰富及体系化后,我们可直接命名为:认知与觉醒-第1章.md 存储,或者把内容合并至存在的名为 认知与觉醒-第1章.md 的文件中,这样迭代式的完成第1章节的笔记整理,后面的操作则是如上几个步骤重复,并最终获取及导出TOC

对ZK笔记操作流程的演示说明

文本替换功能生成块引用符号

文本替换功能生成标题引用符

使用系统插件拆分及合并笔记

输入检索条件来获取TOC信息

–2021-07-21 添加如下: 参考:Obsidian 插件之 Text{{expand}} (zhihu.com)

使用query及dataview或搜索框查询,获取处理内容再通过语法引用及嵌入内容的操作比较繁琐。后来想了下,有几个简单的方法,即使用Text expand 及 Admonition插件。

两款高效整理笔记的插件

如下,我们使用代码块语法进行笔记内容组织,这里用了标题级别提取,因为行级别、块级别提取会遗漏关键字查询匹配的上下文内容。使用 text expand 提取了大纲后,我们还可以使用插件admonition来定义引用块的粒度,admonition支持跨obsidian的多行、多块、多标题级别的引用,即它可以定义引用的内容块粒度,同时可对text expand返回的长内容进行折叠。

两个基本的示例写法,更多请参考官方文档:

/^(.*)信息流(.*)\n/
$header:##
!$header:###
title: 内容标题1
color: 50, 205, 50
collapse: false

文档:https://github.com/valentine195/obsidian-admonition#non-code-block-admonitions

色系参考:RGB颜色 < 255 185 15  |  138 43 226 > https://tool.oschina.net/commons?type=3

---

[[2021-06-05#大纲]]
![[2021-06-05#信息流聚合]]
[[2021-06-09#大纲]]
![[2021-06-09#信息流广告]]

提取大纲并进行整理

使用了KM的快捷脚本

相关链接:

一只小胖子:Obsidian 阅读及笔记工作流程(一)32 赞同 · 2 评论文章

一只小胖子:Obsidian 内容聚合及图谱功能(三)15 赞同 · 1 评论文章

补充链接:

一只小胖子:思考:如何高效做读书笔记?5 赞同 · 0 评论文章

一只小胖子:实践-Obsidian-介绍及安装配置10 赞同 · 7 评论文章

结束:

至此,本文结束… 欢迎小伙伴们一起探讨和评论!

4 个赞