场景:每天会在不同笔记页(.md)中添加代办,这些页面很早就建立了。
需求:想通过dataview,或者task的命令或者其他方式,把未完成的代办按新增的时序排列展示出来。
是按照“块”级的颗粒度排时序,一般排序都是按页面建立的时间排,那样实际区分不出添加任务的先后,因为每个页面里每天都会新增代办。不知道有什么好方法,或者在每个代办前加上日期?期待大神。
先来水一层:用quickadd来添加todo就可以自己设置自带时间的块级todo。
dataviewjs里写个正则来找出日期,然后根据日期排序即可(dataview本身好像也支持正则)
我也来水
任务创建日期,就在日记标题能体现
任务deadline才是关键,自己加进去就好,必要时,可以搜索
我在用的图
代码
```dataviewjs
dv.taskList(dv.pages('"20-Diary/10日记"').file.tasks.where(t => t.text.includes("2022-08-30") && !t.completed).sort(k => k.text.includes("⚡️"), 'desc').sort(f => f.text.includes("⭐"), 'desc'),1)
你好,你说的这个块级的时间,是什么形式的,就是再开头或者结尾加一个明确的日期是吧,例如:2022-08-31 ?
那这个 dataview 怎么写呢 ,如果我在前面加日期的话 例如:- [ ] 2022-09-15 代办内容代办内容
关键词 obsidian dataview regex,一搜就有。