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

27 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
#领域/DataView
#复盘/3
## 一句话描述
[____整理归档 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秒」的时长对象<br>file.mtime >= date(now) - dur("120m20s") |
## 知识点结束