Inline Todo Plugin

Thanks for Reply!
From non-programmer-perspective i think its quied simple :wink::

Filtering by notebooks currently looks like this <!-- inline-todo-plugin Work "Special Project" -->.
Filtering by notebooks and tags might look something like this<!-- inline-todo-plugin Work "Special Project" #tag1 (explicit include) -#tag2 (explicit exclude)-->

Another example (like NoteOverview):

<!-- inline-todo-plugin
notebook:nb1
tag:tag1 tag:tag2 (incl.) -tag:tag3 (excl.)
-->

What do you think?

I've written a feature request with your request. I consider this plugin (mostly) complete. So it's not a personal priority of mine to complete requests, but I will likely add the feature eventually.

Yes, I understand. It would be great if you could put it in at some point.

My system always says ALL Done

I understand t should pick up notes with @TODO within a checkbox?

Yes by default it picks up checkboxes with @todo. Can you share an example of one of your inline todos? Also please check your settings, there are several inline-todo formats, its possible you've accidentally enabled a different one

image

I'm sorry for not replying sooner, but I've been mulling this over and I don't know why it doesn't work for you. I'm going to do a deeper read of the code to see if anything jumps out at me, but I don't expect to find much.

v1.7.0

  • Feature: Highlighted Due date colour will change based on current date (green if due date is in the future, orange if it's due today, and red for past due)
  • Change: Added the assignee to due items in the plain Notebook list summary style

Should be available any minute

4 Likes

Great plugin, @CalebJohn! I think this makes more sense than the typical implementation of GTD in note taking apps, where 'reference' notes and todos are separated. For many of us, the reference notes can be work we generate, and those necessarily will have action items, and separating them out into separate todos seems unnatural - i.e., we are adapting to the GTD system, instead of adapting the system to us. And then we have the overhead of copying the content of those todos to the reference note to memorialize the actions taken as it relates to the subject matter of the reference note.

For those who haven't tried it, check out the table summary output for the inline todos and use @hieuthi 's table sorting plugin. I'm using @assignee as context for the todo (i.e., outside, at my desk, inside the house, errands, etc.), +tags as subject matter, due dates as normal (note that dates should be entered yyyy-mm-dd format in order for them to be sortable). The sortable table makes it easy to see todos sorted by date, or context, or subject matter (or any of the other columns). These 2 plugins are a killer combo!

2 Likes

@CalebJohn now that I've told you how great your plugin is, perhaps we could discuss a potential improvement? :grinning:

Having all the todos in a sortable table is awesome, but having to re-sort the table everytime the Todo summary note is opened is a pain point. Imagine the use case of using this note to manage one's todos and referencing the note throughout the day, and having to manually resort to one's preferred sort every time the note is opened.

I'd guess that most people would have a preferred default view - for many, it may be the due date, for others it may be the @assignee field. Since your plugin is collecting all the '- @' todos, would it be much more work to sort them (according to a user option available in Tools > Options > Inline Todo along with the existing todo style and summary note format options) prior to writing them to the summary note? If that is doable, then table sorting plugin would only be needed to perform a sort that differs from the default sort. And most importantly, most times the user opens the note, they will not need to perform a sort, since the table is already sorted per their default preference.

1 Like

I've made a feature request to track this. It sounds like a good feature, but not something that I'll be implementing anytime soon. I would accept a PR implementing it.

2 Likes

This may be out of scope of this plugin, and perhaps Joplin's plugin architecture, but it would be useful to be able to bulk change due dates on the inline todo's. Consider the example where you have 8 todo's for today, but mid-morning an emergency task arises and occupies the rest of your day. At the end of the day, you haven't completed 6 of your scheduled todo's for the day. So you have to go into each note to change the due date to tomorrow or another date - this could require going into as many as 6 different notes.

For those who are using the inline todo plugin, how are you handling due date changes? Manually and individually, as described above, or is there a better approach?

A potentially useful tip for those using inline todo plugin with the table sorting plugin: I use a todo entry that creates a visual break between tasks that are due today and those due tomorrow or later. It makes it easier to see at a glance what is remaining today without having to look at the date column for each todo. This todo entry looks like this:

  • @------- //2023-11-08 --------------- +-----

The only overhead is updating the date every morning (or night before) to the next day.

@Kai to a question you asked in a now closed thread, you are not the only one using the MD viewer for this plugin. Once there are a lot of todos, and if taking advantage of ability to add @assignee/context, //dates, and +tags, the editor is basically unreadable (I'm also using the table sorting plugin, so the editor is showing markdown table, which of course is hideous). The rendered view with the formatted table is much easier to quickly scan.

Potentially useful tips for mobile use for those trying out this plugin:

To make task entry from phone easier, I keep a dedicated note, 'Add todos from mobile', and this note is kept in a notebook that contains a handful of very frequently accessed notes including the Todo Summary note, an errands note, etc. That makes it very easy to bring up this note - just click on notebook and select the note (no need to perform a search). And in this note, I always have a few pre-filled task lines at the end:

- [ ] @ //2023-11-18
- [ ] @ //2023-11-18
- [ ] @ //2023-11-18

This makes it a lot quicker to add new tasks because I don't have to type out all the formatting on my phone. Just fill in the assignee/context after the @ symbol, change date as necessary, and write down task.

To be able to easily see today's agenda on my phone, I use the table sorting plugin (on desktop), sort by date, and then hit 'Apply Sorting!' (this is accessed via viewer/rendered version) - this will apply the rendered view's table sort to the markdown table. When you sync mobile, it picks up the sorted markdown table, and you see the sorted rendered view on your phone.


Separate issue (since forum won't allow me to make a 4th consecutive post in one thread):

There seems to be a conflict between this plugin and MultiMarkdown Table Tools Plugin.

When both are enabled, clicking on the Todo Summary note freezes Joplin, and after a while a dialog box pops up allowing user to quit or wait. Disabling the multimarkdown table tools plugin resolves the issue.

1 Like