DataviewJS 实战脚本 50 例
版本说明
本文档基于 Obsidian v1.13(稳定版)整理,功能可能随版本更新,建议结合官方说明实践。
精选示例(完整 50 例见仓库)
- 统计带某标签笔记数
dataviewjs
dv.paragraph("#阅读 共 " + dv.pages('#阅读').length + " 篇")- 列出本周修改的笔记
dataviewjs
dv.list(dv.pages().where(p=>p.file.mtime >= dv.date('monday')).file.link)- 按属性分组计数
dataviewjs
const g = dv.pages('#任务').groupBy(p=>p.优先级)
dv.table(["优先级","数量"], g.map(x=>[x.key, x.rows.length]))- 渲染带进度的任务
dataviewjs
dv.taskList(dv.pages('#任务').file.tasks.where(t=>!t.completed))- 输出 MOC 子页链接
dataviewjs
dv.list(dv.pages('"项目/').file.link)- 计算两个日期差
dataviewjs
dv.paragraph(dv.date("2026-09-01") - dv.date("today") + " 天")其余 44 例覆盖:热图、词云、甘特、关系网、定时提醒、自动归档等,按需在该笔记下分段展开。
📖 相关阅读: