Allow automatic migration of incomplete tasks in daily notes from one day to the next

I am not sure if something like this is present or possible (I’m a little new here).

Let’s say, we mark tasks in our daily notes… All tasks that do not get completed in that day should be automatically carried forward to the next day in the relevant sections.

This might be helpful for people who follow the Bullet Journal method.

8 Likes

I’ve proposed this a bunch of days ago. [[Create daily journal based on the previous one containing tasks and habits]]

Great to know that others are following the bullet journal style.

5 Likes

This looks straightforwrad to implement. Right Now i’ve manage to pull this off by choosing to add My To-DO’s into my Daily template.
I

I would also be interested in this.

Currently, my only thought about this is using Shortcuts to go through the latest Daily Note and extracting incomplete tasks and creating a new note with that information.

I wanted this feature as well, so ended up writing a script that works with the Templater plugin to do this (and some other things). It only copies the todos to one location in the new daily note, although it would be possible to extend the concept to support that.

Not automated but the Slated community plugin does this.

1 Like

Another option: this Dataview snippet produces a dynamic list of all incomplete tasks on previous daily notes.

You need to install the Dataview plugin, then create a dataviewjs code fence with the following code. Put it in your Daily Note template.

dv.taskList(dv.pages('"Calendar"')
    .where(p => p.file.day && p.file.day <= (luxon.DateTime.now().minus({days: 1})))
    .file.tasks
    .where(t => !t.completed), true)
1 Like

The Dataview above is really useful and I’ve used it as the basis for the following, used to give me a count of overdue tasks (in this case, incomplete tasks from my daily files):

`$=dv.pages('"Journal"').where(p => p.file.day && p.file.day <= (luxon.DateTime.now().minus({days: 1}))).file.tasks.where(t => !t.completed).length`

I’m trying to create something similar: a count of tasks from Today’s daily file (named in the format YYYY-MM-DD) but for the life of me can’t figure out!

Can anyone help?

Hi Ryan,
I tried to implement your suggestion. I’m receiving a parsing error .

Dataview: Error: 
-- PARSING FAILED --------------------------------------------------

> 1 | dv.taskList(dv.pages('"Calendar"')
    | ^
  2 |     .where(p => p.file.day && p.file.day <= (luxon.DateTime.now().minus({days: 1})))
  3 |     .file.tasks

Expected:

query type ('TABLE', 'LIST', or 'TASK')

Note that this is a “dataviewjs” code block, not a “dataview” code block. So when you first write ```, you have to add ```dataviewjs, not ```dataview.

ah, thank you kindly

1 Like

Didn’t work

IDK what I am doing wrong

Here are plugin options selected

Here is the previous note


Here is the Current day note


Hard to tell, but it doesn’t look like you’ve included the dataviewjs snippet in the latest daily note. It works by looking backwards, so you have to include it in each daily note.

1 Like

sorry to dig up an old thread, but do you have any idea what I might need to change to do the same thing for my weekly notes ?

That might be tricky. The script takes advantage of Dataview’s built-in recognition of notes that are days (daily notes). Not sure if it has the same support for weekly notes — you might want to ask in a separate thread. Feel free to copy and paste the script when asking!

thanks Ryan, will do !