Dataview检索!Obsidian的高级玩法的基础
我是黑芒,喜欢看书、数码和美食的奶爸,欢迎收藏评论点赞关注!
之前跟大家分享了一些关于Obsidian的使用经验,今天再来分享一个重磅的——Dataview的使用。个人认为,Dataview可以说是Obsidian众多高级玩法的一个起点,只有初步掌握了Dataview的使用,才能够较好的使用Obsidian。
话不多说,正式开始。
什么是Dataview?
Dataview是一款Obsidian插件,目前下载排名第二,仅次于Excalidraw。作用就是Obsidian中按条件检索信息并展示。
Dataview使用
Dataview的安装同样是通过Obsidian的社区或者通过PKMer都可以,可以参考我之前的iCloud、Webdav、MinIO,3种方式搞定Obsidian跨平台同步 中的插件安装方法,这里不再赘述。
具体使用的话就是通过代码块,代码类型填写dataview即可。
代码整体可以表示为:
[list|table|task] field1, (field2 + field3) as myfield, ..., fieldN
from #tag or "folder" or link or outgoing(link)
where field [>|>=|<|<=|=|&|'|'] [field2|literal value] (and field2 ...) (or field3...)
sort field [ascending|descending|asc|desc] (ascending is implied if not provided)
group by field
task、list、table
首先要说的是Dataview有task、list、table三种形式。非常显然的,task是任务,list是列表,table是表格。
整体而言,task用于待办事项,list适用于目录,table适用于复杂表格。
field
field是针对table使用的,对于task和list用不上这个属性。field指的是文档属性名称,那么文档属性名称怎么设置呢?
在文件开头输入---就可以出现文档属性,有了丰富的文档属性,才有了好用的table。
这是我的读书记录的文档属性,不过这里面的属性是通过插件从微信读书获取的。
from
from指从哪里进行查询。可以from文件夹,可以from 某个标签(标签就是在文档属性中的tags),可以from某个链接,也就是从某个具体的文件中查询,也可以from outgong(link),即从某个文件的链接到的文件中索引。from可以通过and和or进行多条件组合。
where、sort、group
where指对查询结果进行筛选,比如有一个文档属性“rate”,里面是评分,那么where rate>4,可筛选出来评分大于4的文件。对于task,可以where !completed 仅显示未完成任务。
sort是对查询结果进行排序,需要指定排序字段field和排序ascending升序/descending降序。
group by是对查询结果进行分组,可以根据文档属性分组,也可以使用其他通用属性,比如在task中用file.link,依据待办事项所在文件进行分组。
应用实例
这是我自己现在用的task查询,在日常开会过程中,我会记录下来需要自己完成的任务,设置成待办事项,然后在首页上通过这个查询来归纳,确保自己不会遗漏。效果如下图
还有几样拖了两三个月的想查的问题没有去做。
这是我的读书记录。当然,这个读书记录用了卡片格式,不是默认的显示形式,如何这样显示,将是下一次分享的内容啦。
今天的分享就到这里啦。其实有一点非常遗憾的,最开始的思源笔记,在教程里是含有SQL语句查询的,当时我没用上,后来等到我想用的时候,发现相关说明都被删掉了,功能虽然还在,但是看样子是不打算继续维护了。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~