示例一 最近 30 天创建的文件

Table file.ctime as "创建日期"
Where date(today) - file.ctime <= dur(30 day)
Sort file.ctime desc

把满足今天的日期减去创建文件的日期小于等于三天的文件,按照倒序排列,以表格的形式展示满足条件的文件的创建日期。

示例二 时间计算

今天已经过了 =round((date(now)-date(today)).hours,2) 小时,占比 =round((date(now)-date(today)).seconds/dur(24 hours).seconds*100,2)+"%";还剩 =round((date(tomorrow)-date(now)).hours,2) 小时,剩余:=round((date(tomorrow)-date(now)).seconds/dur(24 hours).seconds*100,2)+"%";

本周已经过了 =round((date(now)-date(sow)).hours,2) 小时,占比 =round((date(now)-date(sow)).second/dur(7 d).seconds*100,2)+"%";还剩 =round((date(eow)-date(now)).day,2) 天,也就是 =round((date(eow)-date(now)).hours,2) 小时,剩余 =round((date(eow)-date(now)).second/dur(7 d).seconds*100,2)+"%";
=date(today).month 月已经过了 =round((date(now)-date(som)).hours,2) 小时,占比 =round((date(now)-date(som)).second/(date(eom)-date(som)).seconds*100,2)+"%";还剩 =round((date(eom)-date(now)).day,2) 天,也就是 =round((date(eom)-date(now)).hours,2) 小时,剩余 =round((date(eom)-date(now)).second/(date(eom)-date(som)).seconds*100,2)+"%";

今年已经过了 =round((date(now)-date(soy)).day,2) 天,占比 =round((date(now)-date(soy)).second/dur(365 d).seconds*100,2)+"%";还剩 =round((date(eoy)-date(now)).day,2) 天,也就是 =round((date(eoy)-date(now)).hours,2) 小时,剩余:=round((date(eoy)-date(now)).second/dur(365 d).seconds*100,2)+"%";

dataviewjs
// 最高文件夹级别tag列表
for (let group of dv.pages("").filter(p => p.file.folder != "").groupBy(p => p.file.folder.split("/")[0])) {
  dv.paragraph(`## ${group.key}`);
  dv.paragraph(
    dv.pages(`"${group.key}"`).file.tags.distinct().map(t => {return `[${t}](${t})`}).array().sort().join(" | "));
}
dataviewjs
// 主页最近创建文件示例
let now = moment();
dv.list(
	dv.pages()
		.filter(p => p["dg-publish"] === true) // 添加这一行来检查 dg-publish 元数据
		.sort(p => p.file.cday, 'desc') // 按文件创建日期降序排列
		.filter(p => moment(Number(p.file.cday)).isBetween(now.clone().subtract(7, 'days'), now, null, '[]')) // 筛选为最近七天
		.map(p => moment(Number(p.file.cday)).format('yyyy-MM-DD') + ' — ' + p.file.link) // 设置输出格式
		.limit(5)
)

在 Obsidian 的使用过程中,Dataview 的表格视图如何只显示二级子标签

在 Obsidian 中使用 Dataview 插件创建表格视图并只显示二级子标签,可以通过一些自定义查询来实现。假设你在笔记中使用了多级标签(如 #标签/子标签),你可以使用 Dataview 的 where 语句过滤掉不需要的内容,仅保留二级子标签。

以下是一个 dataview 示例查询语句:

table file.name as "文件名", tags as "标签" from "你的文件夹路径" where contains(tags, "/") and !contains(tags, "/") == false
  1. table file.name as "文件名", tags as "标签":这是表格视图的定义,其中列出文件名和标签。
  2. from "你的文件夹路径":指定要查询的文件夹路径。
  3. where contains(tags, "/") and !contains(tags, "/") == false:这是过滤条件,确保只显示包含 / 的标签,也就是有子标签的情况。你可以根据需要进一步调整这个条件,以更精确地匹配特定的二级子标签。

你可能还需要根据具体的标签结构对查询进行调整。如果你想显示特定的二级子标签,可以修改查询以更精确地匹配。

PKMer_Obsidian 插件:Dataview

Dataview 示例文件库

Dataview 官方文档

DataviewJS 小白手册

Dataviewjs的奇技淫巧

作者头像
Davon
原创 Obsidian 插件:Dataview

本文采用CC BY-NC-SA 4.0 许可协议,转载请注明出处。