Obsidian 技巧:如何让今日笔记自动继承昨日未完成的任务。
代码链接: daily
00:00 日记做任务管理 00:12 自动继承任务 01:03 效果演示
后续优化
daily模板增加scheduled 模块,用以显示定期任务
const date = dv.date(dv.current().file.name);
if (date) {
const scheduledTasks = dv.pages().file.tasks
.where(t => !t.completed && t.scheduled && t.scheduled <= date)
.sort(t => t.scheduled, 'asc');
const todayTasks = scheduledTasks.where(t => t.scheduled.equals(date));
const carriedTasks = scheduledTasks.where(t => t.scheduled < date);
if (todayTasks.length > 0) {
dv.taskList(todayTasks, false);
}
if (carriedTasks.length > 0) {
dv.taskList(carriedTasks, false);
}
if (todayTasks.length === 0 && carriedTasks.length === 0) {
dv.paragraph("(无 scheduled 任务)");
}
}答疑
为什么不用Rollover Daily Todos来实现继承昨日任务?
评论区有小伙伴提问为什么不用Rollover Daily Todos实现继承昨日任务,本想直接回复,但是我的b站评论区不能发图,索性做个专题来回答吧.
- 我在做这个的时候只是想着把功能实现,没去检索是否已有插件实现类似功能.
- 我去安装Rollover Daily Todos试了下, 该插件目前存在的问题:
- 所有任务集中显示在了一起
- 不能显示scheduled模块的定期任务
示例图

核心功能
- 自动回溯:自动从上一个有记录的日期读取内容,不怕跳过几天没写
- 今日目标:上一天的”明日目标”自动成为今天的起点
- 往日目标:跨日期汇总往日的“今日目标”和“往日目标”,重要的事不会被遗忘
- 延续记录:今日记录和延续任务中未完成的部分,自动携带到新一天
- 自动去重:跨区块智能去重,同一件事不会重复出现两次
- Scheduled 看板:用 Dataview 展示所有到期或过期的计划任务
- 来源标注:若数据来自两天前,自动标注”来自 XX(N 天前)”