如何把某个标题层级下的内容汇总展示

请教下,如果我想把某个标题层级下的内容全部汇总,有什么办法可以实现吗?dataview好像不行。
比如说:我日记里面有个二级标题叫:思考记录。然后我想在周记里面把这周的日记里面记录的 思考记录 这些内容汇总,怎么处理呢?

有大佬教了用dataviewjs来写,但好像怎么改都不对:

```dataviewjs
const header = '## 感悟和思考' 
    const pages = dv.pages('"30-Life/每日笔记"').filter(p => p.file.name.includes("") && !p.file.path.includes("Templates")).filter(p => p.file.name.includes("") || p.file.name.includes("")).sort(p=>p.file.mtime,"desc"); 

    const regex = new RegExp(`\n${header}\r?\n(.*?)(\n#+ |\n---|$)`, 's') 
    for (const page of pages) { 
    const file = app.vault.getAbstractFileByPath(page.file.path)
    const contents = await app.vault.read(file) 
    const summary = contents.match(regex)
    if (summary && summary[1].trim()) { 
    dv.header(6, page.file.link) 
    dv.paragraph(summary[1].trim()) 
    } 
}

如果你的思考记录是用无序列表的形式记录的话,或者可以参考这种方式管理

感谢大佬指点。
但表格出来了,表格里面没东西显示,而且我肯定有写的

你的 Dataview from 是否指向你的日志文件夹,贴代码和文件夹路径

调整后的代码是这样的:

```dataview
table 
    L.text as 感悟和思考, 
    L.link as 链接
from "30-Life/每日笔记"
flatten file.lists as L
where 
    !L.parent and
    meta(L.link).subpath = "Fleeting notes" and
    dateformat(date(file.link), "yyyy-'W'WW") = this.week```

其中,30-Life/每日笔记 是文件夹路径,感悟和思考 是日记里面的二级目录。日记的标题是 2022-12-12 这样的格式,周记的格式是 2022-W50 这样的格式

2 个赞

将 subpath 后面的 “Fleeting notes” 改成你的标题名称(不需要#号)

如果你的weekly notes 的frontmatter 没有 week: 2022-W50,就将最后一句的 this.week 改成 this.file.name

1 个赞

抱歉前几天忙没回复。
已经图测试了,标题名称改了显示正常,但 最后一句不论是 this.week 还是 this.file.name 都显示没有内容。dataview的框架正常显示,是这样的:

试试这个,代码放在周志文件中(格式:2022-W50)

```dataview
table 
    dateformat(date, "ccc") as 星期, 
    L.text as 感悟和思考, 
    L.link as 链接
from "30-Life/每日笔记"
flatten file.lists as L
where 
    !L.parent and
    meta(L.section).subpath = "感悟和思考" and
    dateformat(date(file.link), "yyyy-'W'WW") = this.file.name   
 ```
1 个赞

感谢大佬,貌似可以了。
顺便请教下,where语句里面的这句

dateformat(date(file.link), "yyyy-'W'WW") = this.file.name 

是什么意思呢?我不知道这个汇总是不是全部的,比如我想只显示某个特定时间段的(比如春节、国庆之类的),是怎么改呢?

汇总当前周志文件所属的周,周内所有日志里面的内容(前面一句指定标题)

有特定日期就用日期来判断,比如 date(file.link) < date(today) 今天之前的所有日志文件。

系统学习 dataview,可以看 documentation:
Functions - Dataview (blacksmithgu.github.io)

1 个赞

感谢,这个有中文版的吗?我就是一直想把dataview这个插件弄明白,但都是不完整的信息,全是碎片,只能碰到问题解决问题,不完整

浏览器翻译了解一下,我用的是 Edge,自带翻译。

您好,我的需求是:在obsidian的“000 - Schedule”文件夹中,有2023W01.md、2023W02.md这样的md文件,2023表示年份,01、02表示相应周数。在每个md文件中,都有“2.1 Q1 目标细分任务”这样1个二级标题。类似于这个帖子中的问题,在“000 - Schedule”这个文件夹中创建一个md,编写代码,汇总不同周文件中“2.1 Q1 目标细分任务”这个二级标题中的文字内容。(此外,我没有使用Quickadd这个插件,不知是否会影响结果?)

我目前的代码是:

table
    dateformat(date,"ccc") as 星期,
    L.text as 任务, 
    L.link as 链接
from "000 - Schedule"
flatten file.lists as L
where 
    !L.parent and
    meta(L.section).subpath = "目标细分任务" and
    dateformat(date(file.link), "yyyy'W'WW") = this.file.name

结果只有表格,没有查询结果。我该如何修改代码?

感谢,通过这个实现了那年今日显示具体内容的效果,看别的那年今日都是只显示日期