快速聚合Obsidian笔记,试试用Dataview生成目录

快速聚合Obsidian笔记,试试⽤Dataview⽣成⽬录
Matrix ⾸页推荐
Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实⽤价值的经验与思考。我们会不定期挑选 Matrix 最优质的⽂章,展⽰来⾃⽤户的最真实的体验和观点。
⽂章代表作者个⼈观点,少数派仅对标题和排版略作修改。
距离上次发布 Obsidian 使⽤类的⽂章已经⼀个⽉了,这段时间⼤家过得怎么样?有把 Obsidian ⽤起来吗?
这篇仍然是使⽤类⼲货,当你积累了 10+ 篇⾃⼰的笔记,或许会需要它,先来看看它的使⽤场景。
使⽤场景
假设你现在积累了⼀众笔记,这些笔记之间除了双链还有⼀些关联,现在你想要⼀个⽬录,可以⼀⽬了然的聚合这些笔记。
以下是⼀些场景:
•⽣成包含同样关键字的笔记的⽬录
•⽣成同⼀个标签的笔记的⽬录
•⽣成同⼀个作者的书⽬的⽬录
这时候,Dataview 就派上⽤场了。
Dataview 可以⽣成 MOC,或者你也可以跟我⼀样,不去管 MOC 是什么,就把它当作⼀个⽬录。
我们知道,⽬录是⼀篇⽂章的概览。Dataview 其实⽣成了你的多篇⽂章⽬录。
如果你有这种需要的话,就接着看下去吧。
安装插件
众所周知(如果你不知道,现在可以知道了),ob 插件有两种安装⽅式:
1.直接在第三⽅插件->社区插件搜索安装
2.下载到插件⽂件,⼀般是⼀个插件⽂件夹,然后放在库⽬录下的 .Obsidian/plugins ⽬录下。(⾄于从哪⾥下载,可
以从 github 或者有些会下载下来共享)
设置:该插件不需要修改任何设置即可使⽤。
接下来就开始⽣成⽬录吧!
反论文使⽤
⽅法千千万,我只写三种⽣成⽬录的⽅式:
•从名字
•从作者
•从标签
如果有更多的需求,说明你是个⾼阶使⽤者,请去查看更⾼阶的⽂章,或者去看插件作者的官⽹。
从⽂件名
从⽂件名
场景:假设,现在你有多篇关于【习惯】的笔记,并且这些笔记的名称中都有「习惯」两个字。记录了好⼏个习惯养成的⽅法,今天你忽然意识到,关于习惯的⽅法论已经看了好⼏个了,想把它们列出来放到⼀起看看能不能产⽣什么化学效果。
⽼规矩,先贴⼀个语法和效果图:
下⾯讲讲规则,别害怕看「代码」,总共就 5 ⾏,⼤部分还是不⽤改的,⽐如我上⾯的代码,其实你只⽤替换双引号⾥⾯的内容哟,是不是简单多了?
⾸先,dv 语法要写到代码块⾥,如果有了解过 Markdown 的⼩伙伴,应该对代码块不陌⽣。上下三个上撇,就是⼀个代码块。
在⾸⾏写上 Dataview,插件就可以识别这部分代码了。
华北水利水电学院学报设置字段释义必要与否list展现形式。创建列表,还有 table、task 可以选择必要from检索范围。从哪个⽂件夹(写在双引号⾥⾯),或者标签(写在#后⾯)⾮必要where聚合条件。contains(file.name,"Dataview") 就是匹配⽂件名为“Dataview” 的⽂件⾮必要sort排序,根据什么做排序。 ime 就是根据⽂件的创建时间正序⾮必要
以上解释希望你看懂了。下⾯我举⼀个例⼦,还以开头的假设场景为例,你要怎么写呢?
```Dataview list from "" where contains(file.name," 习惯 ") ```
这样就可以了。
•list:你创建了⼀个列表 / 清单。
•from:留空就是不筛选⽂件夹和标签,从所有笔记⽂件去。
•where 条件:匹配(contains)了⽂件名(file.name)中包含「习惯」两个字的笔记
苯溴马隆如果你需要排序,就写 sort,不需要,留空就可以。
你应该发现了 file.name 和 ime 的写法,没错,这是 Dataview 内置的。下⾯是 Dataview 官⽹中描述的⽀持的元数据,都可以供搜索和排序语法使⽤。在后⾯将要说到的创建 table,还可以作为列显⽰。
上⾯的从⽂件名创建列表你看懂了的话,⽤从标签创建列表练习⼀下吧~其实上⾯有包含哦,但我们还是练习以下,以防有⼈没看懂。
从标签
场景:假设,你有⼏篇笔记,打了同⼀个标签,⽐如 #时间管理。现在你想要把时间管理标签下的笔记形成⼀个⽬录。
你该怎么写 Dataview 语句呢?
还记得上⾯的 4 个关键设置字段吗?from 是检索范围,既可以从⽂件夹,⼜可以从标签。
```Dataview list from #时间管理 ```
不需要排序的话,代码就是这么简单。
你学会了吗?如果学会了,下⾯我们可以加点好玩的东西。
从作者
场景:假设,你最近读了同⼀个作者的⼏部作品(论⽂、书籍、视频、电影都是⼀样的),形成了⼏篇笔记。笔记多了以后,你就想弄⼀个该作者的专题。这时候,有什么办法能做到呢?
以后,你就想弄⼀个该作者的专题。这时候,有什么办法能做到呢?
哎,Dataview 的⽀持元数据⾥可没有作者这个属性啊,怎么办呢?
我们⾃⼰加属性!这时候,yml 就派上⽤场了。
⽤ YML 给笔记加点元素
简单的说 yml 是⼀种标记语⾔。顺便说⼀下 markdown 也是⼀种标记语⾔。朴素的理解就是以某种规则写的⼀种⽂本。
各位,⽤⼯具的时候,我们可以不求甚解,拿过来学会怎么⽤就可以了,甚⾄,你只⽤知道怎么在⾃⼰的需求中⽤就可以了。
所以不需要特别去了解 yml。我们来看看 yml 怎么为我们所⽤吧。
yml 语法⼤概长这样:
--- title: author: tags: [] ---
yml 的规则:
1.
只要写在 6 个横杠符号之间,yml 就可以被识别。够简单吧?
2.必须写在⽂件最上⽅
⾥⾯的 title、author 我们叫它 key,也就是你给这个字段起的名字,所有的 key 都是⾃⼰定义,没有必要的规则,就像你给表格起列名⼀样。yml 的 key 也⽀持中⽂名哦。例如这样:重庆都市快轨
--- 作者: 鲁迅 ---
我就给笔记加了「作者」这个属性。然后我们就可以使⽤「作者」作为条件建⽴⽬录了。
Dataview 使⽤ yml 的元素
where 和 sort 就可以直接使⽤你在 yml 中设置的 key 了。看看下⾯的写法:卫星电视接收卡
```Dataview list from "" where contains(作者 ," 鲁迅 ") ```
看下效果:
上⾯依次是:包含作者为「鲁迅」的原笔记、聚合作者为「鲁迅」的⽬录编辑模式、聚合作者为「鲁迅」的⽬录预览模式。
嗯哼,鲁迅合集就做好了。
扩展:创建⼀个书⽬列表吧!
上⾯你已经学会了限制检索范围、模糊搜索⽂件名来创建列表,学会了从标签创建列表,还学会了⽤ yml 定义的 key 当作字段做条件,基本的检索语法你已经学会啦。
现在我们想在展⽰形式上有所改变,⽐如书⽬列表。我不想只展⽰作品的名字,我还想展⽰作者、阅读⽇期、标签。
还记得上⾯列表中的展⽰形式吗?
对,就是 Dataview 语法的第⼀⾏那个 list,现在我们来变⼀下,写个 table 吧。
不过我们的语法有⼀点⼩⼩的改动。既然是 table,那么列名就必不可少。
先贴⼀下代码看看吧:
银监会2013年8号文上⾯唯⼀的变化就是 table 这⼀⾏:
table author,from,tags 。table 后⾯这三个字段就是我为表格设计的列。⽽ author 是我为笔记中的作者元素,from 是书籍来源,tags 是标签。这三个元素都写在来 yml,如今被 Dataview 识别,就可以展现我想要的列表。
where 条件⾥,我写的匹配字段是 type,这也是我 yml ⾥⾯的元素,表⽰输⼊内容,⾃定义了三个值:book、page、video。
sort 这句,⽤ author 字段排序,后⾯跟了⼀个 desc,表⽰倒序。
结语
以上,Dataview 常⽤的内容就讲完啦。task 就暂时不讲了,使⽤的不多。
如果你有什么不明⽩的,欢迎留⾔告诉我。谢谢你看到这⾥,下期再见!
> 下载少数派、关注,了解更妙的数字⽣活
> 想申请成为少数派作者?
© 本⽂著作权归作者所有,并授权少数派独家使⽤,未经少数派许可,不得转载使⽤。

本文发布于:2024-09-21 19:42:03,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/512810.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:作者   笔记   列表   创建
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议