Dataview汇集主题——关于笔记的创建日期和主题的汇集

Dataview 汇集主题——关于笔记的创建日期和主题的汇集

概述

在你的 Obsidian 库中,一定会有一些笔记是有关某一主题的笔记,也一定会有某一篇笔记会涉及到多个相关主题。无论你把这些笔记保存在一个文件夹或与其主题相关的多个文件夹内,如果想在新的一篇笔记中将笔记按照笔记创建月份分组及特定主题进行汇集,就可以用本篇笔记中的代码来实现。

提供几种关于笔记的主题和创建日期汇集文件的示例

  • 按照主题分组汇集;
  • 按照主题分组,并且创建特定日期格式;
  • 汇集具有特定创建月份和特定主题笔记;
  • 按照笔记创建月份汇集具有特定主题的笔记;

提示

如果想在自己的笔记做类似的汇集,记得修改代码中的笔记的来源(也就是 from 后面的路径),还要确保自己待汇集的笔记有类似 主题createdDate: YYYY-MM-DD 的元数据。代码中的注释也可以自行删除或修改。

示例

1、按照主题分组汇集

将笔记根据主题分组并以列表形式展示

```dataview
table rows.file.link as 笔记, dateformat(rows.createdDate,"yyyy-MM-dd") as 创建日期
from "ExampleNotes/汇集主题"
flatten 主题 as 主题
where length(主题) != 0
group by 主题
sort file.name
```

效果如图

Dataview 汇集主题——关于笔记的创建日期和主题的汇集--1、按照主题分组汇集

2、按照主题分组,并且创建特定日期格式

按照主题分组,以表格的形式展示,并且创建特定日期格式 “yyyy-MM-dd”

```dataview
table rows.file.link as 笔记, sort(rows.createdDate) as 创建日期 //按照创建日期进行排序,无需改动//
from "ExampleNotes/汇集主题" //要汇集的笔记所在的目录,根据需要改动//
where length(主题) != 0 //不列出没有主题的笔记,可以删除此行,查看有没有此行,汇集的结果有什么不同//
flatten 主题 as 主题
group by 主题
```

效果如图

Dataview 汇集主题——关于笔记的创建日期和主题的汇集--2、按照主题分组,并且创建特定日期格式

3、汇集具有特定创建月份和特定主题笔记

按照笔记创建月份(六月)及特定主题(跑步)以表格的形式进行汇集

```dataview
table without id file.link as 主题包含跑步的笔记, dateformat(createdDate, "MM-dd") as 笔记创建日期
FROM "ExampleNotes/主题相关" 
FLATTEN 主题 as flattenedTopics
WHERE contains(flattenedTopics, "跑步") 
where createdDate.month = 06
where file.name != this.file.name
sort createdDate
```

效果如图

Dataview 汇集主题——关于笔记的创建日期和主题的汇集--3、汇集具有特定创建月份和特定主题笔记

4、按照笔记创建月份分组及特定主题汇集笔记

按照笔记创建月份分组,并将特定主题的笔记以列表的形式汇集在一起;

```dataview
LIST rows.file.link
FROM "ExampleNotes/主题相关" 
FLATTEN 主题 as flattenedTopics
WHERE contains(flattenedTopics, "跑步") 
WHERE createdDate != null
SORT createdDate
GROUP BY dateformat(createdDate, "yyyy-MM")
SORT rows.createdDate ASC
```

效果如图

Dataview 汇集主题——关于笔记的创建日期和主题的汇集--4、按照笔记创建月份分组及特定主题汇集笔记

讨论

若阁下有独到的见解或新颖的想法,诚邀您在文章下方留言,与大家共同探讨。



反馈交流

其他渠道

版权声明