DataView
可以根据 table 生成一些表单,如果需要样式,需要根据主题变换
Dataview 主要由 annotation 和 querying 两大组件构成。下面说下这两类组件的用法。
QUERY-TYPE 展示方式
1. TABLE 表格
以表格的形式显示符合查询条件的文件清单和相关属性。
```dataview
TABLE WITHOUT ID
file.link as "文件名称",
aliases as "别名",
dateformat(file.cday,"yyyy-MM-dd") as "创建日期",
choice(file.starred, "是", "否") as "加星"
FROM "200-学习箱/210-知识库搭建"
SORT file.cday DESC
```2. LIST 列表
以无序列表的形式显示符合查询条件的文件清单。
```dataview
LIST
FROM "200-学习箱/210-知识库搭建"
```3. TASK 任务
仅以任务列表的形式显示符合查询条件的任务列表。
```dataview
TASK
FROM "200-学习箱/210-知识库搭建"
```4. CALENDAR 日历
以日历视图的形式显示查询结果,日历现在还有个 Bug,经常会显示两个重复月份的日历。
```dataview
CALENDAR file.cday
WHERE contains(file.name, "PicGo")
```
//必须加日期型的字段作为日历中的定位
CALENDAR file.cday
WHERE contains(file.name, "PicGo")隐形字段
以下为 Dataview 自动插入的「隐式字段」,我们在代码中都可以直接使用:
file.name:笔记的标题。file.folder:此文件所属文件夹的路径。file.path:完整文件路径(字符串)。file.link:指向文件的链接(链接)。file.size:文件的大小(字节)(数字)。file.ctime:创建文件的日期(日期+时间)。file.cday:创建文件的日期(只是一个日期)。file.mtime:上次修改文件的日期(日期+时间)。file.mday:上次修改文件的日期(只是一个日期)。file.tags:笔记中所有独特的标签的数组。副标签按级别细分,所以#Tag/1/A将以[#Tag, #Tag/1, #Tag/1/A]的形式存储在数组中。file.etags:笔记中所有显式标签的数组;与file.tags不同,不包括副标签。file.inlinks:包含当前笔记「双向链接」的其他笔记。file.outlinks:笔记中所有包含的双向链接、附件。file.aliases:当前笔记的所有「别名」,结果是数组形式。file.tasks:当前笔记所有「任务」组成的数组。例如- [ ] blah blah blah。
实际使用
每日回顾
配合CustomJS
// dataview
List
where file.name= dateformat(date(today)-dur(1 year), "yyyy-MM-dd")
or file.name= dateformat(date(today)-dur(2 year), "yyyy-MM-dd")
or file.name= dateformat(date(today)-dur(3 year), "yyyy-MM-dd")