[求助] 如何在Obsidian中实现每日一问,类似三年日记 的功能?

遇到的问题

之前写纸质版的三年日记
,每天回答一个问题
然后明年的今天继续回答这个问题,

预期的效果

在obsidian上实现纸质版的三年日记功能.

已尝试的解决方案

用datawiev

table file.mtime as LastEdit from "" where (contains(file.name, "{{date:MM-DD}}") or contains(file.name, "{{date:MMDD}}") ) and !contains(file.name, "{{date:YYYY}}") 

然后新建365个文件,通过检索相同 月-日 的文件名,来实现这个功能
最终的效果

想请教下, 有没有其他更好的办法?

contains(file.name, "{{date:MM-DD}}"),你这种使用contains的方式起作用吗?

我测试了下,并不起作用。

```dataview
list without id
contains("2024-06-06", "{{date:MM-DD}}")
limit 1
```

文件名称要是有规律的话,可以直接在模版里嵌入内容。例如
![[2023-06-06 #每日一问]],就是嵌入 2023-06-06这个文件里的 每日一问标题里内容。至于你要嵌入几年随你自己定了。
template 有语法,[[2023-<% tp.date.now(“MM-DD”) %>]],就会根据你生成日记的日期嵌入2023年同一天日记
这个比dataview好的地方在于,是OB自带的嵌入语法,日记之间有了关联属性

另外如果配合 ouliner.md插件,还可以直接在当前日记里编辑,省的跳转到以前日记里去了。

补充, 是通过 Templater 插件加 dataview实现的,在每天创建日记时 data会被替换成当天的月-日 ,具体语法是这样的.

table file.mtime as LastEdit from "" where (contains(file.name, "06-06") or contains(file.name, "0606") ) and !contains(file.name, "2024") 

是这个插件么? outliner 用"ouliner.md"去插件市场搜,没有找到

这样确实可以,
而且用365个文件比用一个要好,因为可以把相同 月-日的日记关联起来,用一个的话,所有日记都会关联这个文件.
还有一个想法,就是用标签
# 每日一问/ 问题1
# 每日一问/ 问题2
然后相同问题点击就可以在搜索里看到聚合结果.但是问题是怎么实现 用固定日期(月-日)去获取固定的问题.到日记里.

补充, 是通过 Templater 插件加 dataview实现的

明白了,谢谢!学习了。

把相关的信息转换为列表or无序列表or任务,dataview才能识别出来,一句话就可以实现历史今天的功能(日期格式必须是xxxx-xx-xx),复制到任何一个日期文件中(如下图来自"2024-06-06:星期四.md"),就可以自动识别所有相同日期的日记:

`$=dv.table(["日期","清单"],dv.pages('#日记').file.filter(f =>f.name.contains(dv.current().file.name.match(/(?<=-)(.*?)(?=:)/g))&& f.name!=dv.current().file.name).map(item => {return [item.link,item.lists.text.filter(t => !String(t).contains("http"))]}))`