Todo's in Obsidian syncing with todo.txt file

Hi, I am pondering about integrating todo.txt and Obsidian. The todo’s in the mardown pages are easily identifiable and can be written to a todo.txt file or synced with an existing one. For example

- [ ] Buy milk on a page called Shopping.md could translate to a task like;

+Shopping Buy milk

Less obvious matches can be included in the todo item itself, for example if I make a daily note with a task

- [ ] Get invoice about XYZ on a daily page called 2020-06-27.md could translate to a task like;

[[2020-06-27]] Get invoice about XYZ

Or maybe use todo.txt metadata to keep the link. The nice thing about getting this syncing bi-directionally is that if I add another one in todo.txt like;

[[2020-06-27]] Another task

And I do a sync, it can be added to the page with the same name. Since todo.txt is well established I am experimenting with extracting the todo’s for a work log, but keeping them in sync with the obsidian notes. Bi-directional syncing is even better but I am aware there might be conflicts if task items with the same name occur multiple times on the page or when one task gets renamed in todo.txt but not on the daily note. The safest way is making sure that the information is always merged without information loss on either sides (e.g. stuff can be duplicated, but not accidentally removed).

Would like to hear thoughts. I want to eventually try to make a plugin, but there is no API yet as far as I can see so I might start with a concept in Python first.

9 Likes

It seems to me that once Obsidian opens up the API for plugins someone will make a todo.txt plugin that might make all this work natively in Obsidian?

2 Likes

Yes that is what I am hoping for. Hence the plugin idea :slight_smile:

2 Likes

Ah sorry, missed the last line!

Actually found a really simple workaround. You can just change the todo.sh config file to save output to a todo.md inside your obsidian vault. Then you can just directly use links and backlinks to put the information in the right place.

1 Like

Neat idea, however I would appreciate a plugin that actually also allows the look and feel of a real todo manager when it aggregates all checkboxes present in Obsidian. But I’ll take it, it’s a smart workaround to keep stuff together :wink:

1 Like

I am very interested in this proposal. Any news since the last exchanges?

Hi @rapatel0
Can you explain what you changed in todo.sh file ?
Thanks

When you setup todo.sh just change the config option file extension to MD and change the file paths to be within obsidian.

Note: this will allow you to view lists from todo.sh in obsidian but no interaction with the other files in the vault.

2 Likes

Ok thanks for that !

Just wanted to let this thread know I built first class todo.txt integration into obsidian, and I am looking for feedback on where to take the plugin next.

4 Likes

hi,
i just proposed an idea for a plugin that simply “add empty lines between .todo.md entries so obsidian knew they are text blocks”.

while for daily use we use simpletask and markor instead.

those two are handy .todo.txt editors, but they lack the obsidian hyperlink power.

1 simple plugin in obsidian , with only that 1 function will work, i think.

thanks

Hi, bumping this thread, I’d be really happy to see an implementation of todo.txt in Obsidian.

To explain my workflow, I have a todo.txt file in my Obsidian vault that I can open and edit with the txt as md plugin. That works fine except I don’t get any features specific to todo.txt like syntax highlighting or treating @context as #tags like @trashhalo’s now abandoned plugin did.

As a starting point, a functioning plugin would be a combination of @trashhalo’s plugin and the ability of plugins such as txt as md or Obsidian Org Mode to open non-md file formats. A more complex version could have some basic UI for sorting tasks, editing them, marking them as completed, etc.

As to why this would be cool to have: it would allow me to sync my tasks inside Obsidian with mobile apps like Markor, Todo.txt or Simpletask for all sort of neat functionality. For, example, I could add a task in Obsidian on my laptop and have it send me a reminder when the task is due on mobile, which would be really useful.

I have some basic understanding of JavaScript, so I’d be happy to help with what I can if someone were to work on this. Thanks!

2 Likes

I’ve written a little plugin that provides some todo.txt support, although not quite how it’s discussed above.

It goes through your vault and looks for checklist items containing a #todo tag. Those then get saved to a todo.txt file in the vault root folder. It use it with Obsidian Tasks, and it parses its syntax to the todo.txt syntax (:date:due:; :arrow_double_up:(A)).

It’s clunky and might not be quite what others need, but I just wanted task reminders on my phone, so it does the job for me!

1 Like