Dataview 中的查询字段可以是什么

Dataview 中的查询字段可以是什么

Dataview 的查询字段 Field 就是我们最后想要显示的内容组成的列表,可以是以下几种

  • 字面常量 Literals;
  • 查询的文件的元数据;
  • 查询的文件的元数据和字面常量组合;
  • 使用加减号将查询的文件的元数据和一些描述词拼接组合;

查询字段为字面常量时

```dataview
table date(now);
```

查询字段为文件的元数据

```dataview
table file.name
limit 10
```

文件的元数据和字面常量组合

```dataview
table date(now) - file.ctime
limit 10
```

文件的元数据和一些描述词组合

  • AS 可以为属性重命名(查询创建天数最长的前十个文件)
```dataview
table round((date(now) - file.ctime).day) AS "已经创建了(天)"
sort file.ctime
limit 10 
```

Dataview 中的查询字段可以是什么--文件的元数据和一些描述词组合

  • 与 markdown 语法搭配
```dataview
TABLE 
	"_" + publisher + "_" AS Publisher,
	"**" + developer + "**" AS Developer,
    "==" + price + "==" AS Price
FROM "10 Example Data/games"
```

这样我们就分别为三个属性增加了斜体、加粗和高亮

Dataview 中的查询字段可以是什么--文件的元数据和一些描述词组合

  • 与 html 语法搭配

有这么一个 构造函数 embed(),它可以把链接嵌入查询结果中。这里也可以用 html 的语法来实现该功能(Cover 不是文件的隐式字段,是我们添加在 frontmatter 中的一个含有图片路径的属性,可以是本地图片的路径,也可以是在线链接)

```dataview
table "<img src=\"" + cover + "\"/>" as Cover
from ...
```
  • 我们还可以利用 Flatten 操作符来更好的实现以上操作

因为 Flatten 是将结果集扁平化,所以如果我们给输入值不是原本文件里的值时,不会对我们的结果集造成什么影响。他就可以作为一种中间值构造一些描述词;

为属性添加颜色(利用 Flatten 构造了三个描述词 greenStyle, styleEnd 和 rightAlignStyle)

```dataview
TABLE greenStyle + author + styleEnd AS Author, 
	genres, 
	rightAlignStyle + totalPages + styleEnd AS "Total Pages"
FROM "10 Example Data/books"
FLATTEN "<span style='color: lightgreen;'>" AS greenStyle
FLATTEN "<span style='display:flex; justify-content: right;'>" AS rightAlignStyle
FLATTEN "</span>" AS styleEnd
```

Dataview 中的查询字段可以是什么--文件的元数据和一些描述词组合

接下来,我们开始学习 dataview 语法的 23 - 操作符,或是返回 Dataview基本语法

相关阅读:Dataview实战-定制你的数据表格并为表格列添加个性化样式

讨论

若阁下有独到的见解或新颖的想法,诚邀您在文章下方留言,与大家共同探讨。



反馈交流

其他渠道

版权声明