juechafun/05-原子化笔记本/DataView-语法知识点.md

3.2 KiB
Raw Blame History


#领域/DataView

#复盘/1

一句话描述

[整理归档 DataView 语法知识点]


知识点开始

语法模块 说明 示例
TABLE without ID 生成无默认序号列的 Dataview 表格,仅显示自定义配置的列 TABLE without ID 列1, 列2 AS "自定义标题"
link(file.path, file.name) as "文件名" 将文件路径转为可点击链接,显示文本为文件名,指定列标题为 “文件名” link(file.path, file.name) as "文件名" → 表格中显示可跳转的文件名称链接
filter(file.tags, (t)=>startswith(t,"#需求/")) as "状态" 从文件所有标签中筛选以 #需求/ 为前缀的标签(过滤无关标签),指定列标题为 “状态” 若文件标签为 #需求/已完成 #笔记 #需求/待开发,筛选结果为 ["#需求/已完成", "#需求/待开发"]
file.mtime AS "最后修改时间" 提取文件系统记录的最后修改时间,指定列标题为 “最后修改时间” file.mtime AS "最后修改时间" → 显示格式如「2026-01-07 16:45:30」的时间
FROM "01-项目/2025-MaixCam竞赛版" 指定 Dataview 查询的数据来源文件夹,仅查询该路径下的文件 FROM "01-项目/2025-MaixCam竞赛版" → 仅检索该文件夹内所有文件
startswith(file.name, "需求") 筛选文件名以 “需求” 开头的文件,精准匹配目标需求文档 匹配「需求 - 图像识别功能.md」不匹配「文档 - 需求清单.md」
any(file.tags, (t)=>startswith(t, "#需求/")) 判断文件是否存在以 #需求/ 为前缀的标签,返回布尔值(用于筛选文件) 存在符合标签则保留文件,无则排除
dur("时间表达式") Dataview 核心时间时长生成函数,用于创建/表示一段持续的时间长度,支持多时间单位组合书写 dur("1m20s") → 生成「1分20秒」的时长对象dur("2h5m30s") → 生成「2小时5分30秒」的时长对象
file.mtime >= date(now) - dur("120m20s")

知识点结束