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
```
- 与 markdown 语法搭配
```dataview
TABLE
"_" + publisher + "_" AS Publisher,
"**" + developer + "**" AS Developer,
"==" + price + "==" AS Price
FROM "10 Example Data/games"
```
这样我们就分别为三个属性增加了斜体、加粗和高亮
- 与 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 语法的 23 - 操作符,或是返回 Dataview基本语法。
相关阅读:Dataview实战-定制你的数据表格并为表格列添加个性化样式
讨论
若阁下有独到的见解或新颖的想法,诚邀您在文章下方留言,与大家共同探讨。
反馈交流
其他渠道
版权声明
版权声明:所有 PKMer 文章如果需要转载,请附上原文出处链接。