obsidian dataview

obsidian dataview

#obsidian #插件

互动记录

  • 230312 without id 隐藏第一行
  • 230312 导出的输出,只有原生的PDF是能显示内容的
  • 230321 可以通过关键词去检索全部中特点关键词的内容,这个脚本非常不错
    dataviewjs
    //全库检索//慎用//文件太多可能会卡  
    //使用时修改关键词即可  
    //输出全库带有关键词的段落  
    //呈现文本格式  
    const term = "DIKW"  
    const files = app.vault.getMarkdownFiles()  
    const arr = files.map(async ( file) => {  
    const content = await app.vault.cachedRead(file)  
    const lines = content.split("\n").filter(line => line.contains(term))  
    return lines  
    })  
    Promise.all(arr).then(values =>   
    dv.list(values.flat()))
    

关于dataview 插件

Dataview可谓是ob用户的必备的插件,当你积累了10+篇自己的笔记,Dataview 可以生成 MOC。

使用场景

假设你现在积累了一众笔记,这些笔记之间除了双链还有一些关联,现在你想要一个目录,可以一目了然的聚合这些笔记。

以下是一些场景:

  • 生成 包含同样关键字的笔记 的目录
  • 生成 同一个标签的笔记 的目录
  • 生成 同一个作者的书目 的目录

默认的文件元数据

隐含字段

dataview能自动的对每个页面添加大量的元数据。

  • file.name: 该文件标题(字符串)。
  • file.folder: 该文件所在的文件夹的路径(字符串)。
  • file.path: 该文件的完整路径(字符串)。
  • file.link: 该文件的一个链接(链接)。
  • file.size: 该文件的大小(bytes)(数字)
  • file.ctime: 该文件的创建日期(日期和时间)。
  • file.cday: 该文件的创建日期(仅日期)。
  • file.mtime: 该文件最后编辑日期(日期和时间)。
  • file.mday: 该文件最后编辑日期(仅日期)。
  • file.tags: 笔记中所有标签组成的数组。子标签按每个级别进行细分,所以#Tag/1/A将会在数组中储存为[#Tag, #Tag/1, #Tag/1/A]
  • file.etags: 笔记中所有显式标签组成的数组;不同于file.tags,不包含子标签。
  • file.outlinks: 该文件所有外链(outgoing link)组成的数组。
  • file.aliases: 笔记中所有别名组成的数组。
  • without id:不显示默认的链接

如果文件的标题内有一个日期(格式为yyyy-mm-dd或yyyymmdd),或者有一个Date字段/inline字段,它也有以下属性:

  • file.day: 一个该文件的隐含日期。

案例

使用的[[4.1.221116 yaml的数据赋值有两个格式|yaml]],在介绍使用之前,我们简单的了解下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)
# 当前文件中未完成的任务
table file.name as "文件名", length(filter(file.tasks, (t) => !t.completed)) as "未完成任务数"

from ""

WHERE !completed

WHERE file.name = this.file.name

```dataview

table

from #moc  

sort file.name asc

```dataview
list

from #1-0智慧/思维模型/系统思考 and  "9文献笔记"

sort file.name asc
# 待办清单
```dataview
task 
WHERE !completed    
GROUP BY file.name
sort  file.name asc

修改的卡片


list 

where  file.mday=date(today)

sort  file.name asc

list

from #1-0智慧/思维模型/系统思考  and ("5卡片盒" or "1索引")  

sort file.name asc
table file.tags as 标签,file.inlinks as 引用地址,file.outlinks as 流向地址

from #1-0智慧/思维模型/卡片盒笔记法  

sort file.name asc

今天创建的卡片

list 
where  file.cday=date(this.file.cday)
sort  file.name asc
 

第三方

  • [[置顶十三个板块,近50种Dataview示例]]

帮助文档

酷口

酷口家读书会,专注阅读,做一名长期主义者,享受阅读带来的复利,实现腹有诗书气自华,知识改变命运。

评论已关闭。