Todo
A powerful todo list workflow
Getting started
Keywords
todo
this is the main keyword, and lets you get startedtodo <new task>
will add a new tasktodo
will display the list of taskstodo #
will display the list of tagstodo @
will display all items with a due date
add <new task>
will add a new taskdone
will show you all items that have been marked as doneclear
to remove items
TIP To see all items due for today, type
todo @today
Adding new items
- Typing
add a new task
will create a new task titled a new task. This will be tagged #default - Typing
todo #work sign off document
will create a task titled sign off document and tagged #work - Typing
add !! this is sticky
will create a pinned item titled this is sticky, tagged #default - Typing
todo @today a new task for the day
will create a new item, due for today, titled a new task for the day
When adding items, add and todo keywords are interchangeable, although the key difference is add allows you to add items with the title twice; todo provides a more informative feedback on screen
Command modifiers
- Pressing
fn
key when selecting an item will enable edit mode for that item - this works for both todo items and tags- In edit mode, use the same syntax that you use to create a new todo - e.g.
#newtag new todo text
. Todo will identify which portion you need to change and update them accordingly
- In edit mode, use the same syntax that you use to create a new todo - e.g.
Shift
will allow you to mark an item as done. You can view all done items with the done keywordCmd
will help you delete either a todo item, and all items that match a specific tagCtrl
will help you pin/unpin a todo item. Pinned items will always be displayed first (they can be deleted as usual)Tab
key against a todo item, you will be shown all todo items with the matching tagEnter
will copy the text content of a todo item to the clipboard
Full keyword list
add
(New item '{query}')clear
(Clear Todo items - done list)clear
(Clear Todo items - everything)clear
(Clear Todo items - todo list)done
(View completed Todo items)edit
(Edit Todo item)export
(Export all your items)features
(Enable or disable features in Todo)format
(Set default format for Todo lists)import
(Import Todo items - clipboard)list
(Manage Todo lists)reset
(Reset Todo)tags
(View Todo tags)todo
(Manage a todo list using Alfred)
Lists
If you want more control over your todo items apart from tagging, pinning and setting due dates for them, you can split up your todo items with lists.
By default, Todo uses a list called todo
, but you can create new lists using the list
keyword.
- Typing
list
will display all available lists - Typing
list <name>
will select a list titledname
if it exists or allow you to create a new list
At any point in time only one list will be active, and all actions performed by using the todo
,add
,import
,export
etc keywords will be working against the currently active list.
In list view, Cmd
+ Enter
will help you to delete a list altogether.
Format
You can set the default format of new todo lists using the format command.
Type format
to view and select a specific option.
- Classic YAML is the format Todo started with. Its a plain text format, but not very readable.
- Taskpaper format is inspired by the plain text format used by the Taskpaper app. The nice thing about this format is that the underlying todo list file is readable and editable. And if you use Taskpaper, you can work on these lists from there too.
When you set the default format, all new todo lists created using the list
command will use that format.
Advanced Keywords
Todo is made to work out of the box by default, but in case you need more control the following commands may help:
setup {then select a folder in Alfred}
. If you want to change the location of your todo items database file, use this option. Useful if you need it to set it up as a folder within Dropbox to sync your todo items between multiple computers having Todo.- Once you define a setup folder, all your existing todo database file will be moved over to the new location, and you can resume working with Todo. You can use the setup command multiple times. The todo database file is a simple text based format, you can open it and view it in your favourite text editor. (The format is YAML)
reset
As the name suggests, resets your Todo workflow (clears all todo items, resets the location of your todo database file to the default location)export
Will allow you to export your todo list as plain text, or specific tags if you use multiple tagsimport (file mode)
Use this option and specify a text file to import contents from that. You can import a plain text .txt file with todo items listed one per line, or you can import a .taskpaper file. Some limitations exist for the Taskpaper file import - no support for subprojects, notes, and project names cannot have spaces in them, and are mapped to a Todo tag.import (from clipboard)
This option will allow you to import the contents of your clipboard, rather than from a filefeatures
keyword will allow you to switch on various features.format
will allow you to set the default format of new todo lists.
Features
Quick Create allows you to create new Todo items (when typing it in using the todo keyword) slightly faster. It prevents Alfred from disappearing and appearing when an item is added.
Anchored Search allows you to filter Todo items more quickly. With this option enabled, if you have a task description like This is a long description
, you can quickly narrow down to that item by typing tiald
Smart Content - if you would like to add folders, URLs, to Todo, try adding them after Smart Content mode is switched on. It allows the following transformation
Smart Content - Page Titles, when enabled, will pre-fetch the web page title so that you get a better idea what a link will take you to, as in the example above.
This allows you to do multiple things, you can now group your favourite links, folders or files by a tag name. Smart Content works best when you have a hot key enabled to add a new Todo item.
Remember, smart content items are just simple todo items, so you can pin, tag, delete, mark as done etc as normal. Smart content only kicks in for all new items added, so existing items will remain untouched.
EggTimer2 in Edit mode when enabled will allow you to create alarms for todo items in Edit Mode. You must have the EggTimer2 workflow installed.
Syntax Guide
To create or edit todo items, you use the Todo item syntax. A todo item can be simply represented just the task description, or marked up with tags, pin status and a due date.
A full fedged task description would be like:
!!
#tag
this is a task
@mon
- The
!!
is a shortcut that identifies the todo item should be pinned by deafault. #tag
specifies that the todo item should be tagged with the nametag
.this is a task
is the text of the todo item@mon
is the due date specifier
Every section other than the task description is optional. All sections can appear anywhere.
Due dates
The following are supported
@today
item is due today@tomorrow
item is due tomorrow@weekend
item is due next Sunday@nextweek
item is due next Monday@mon
,@tue
,…,@sun
item is due next specified week day@xd
item is duex
days from today -@6d
means item is due 6 days from now@xw
item is duex
weeks from today@xm
item is duex
months from today@fuzzy date
item is due on the date specified.@1 Dec 2013
,@Jan 2 2013
,@1-13-2013
et cetera are recognized
Clearing due dates
In item edit mode, enter @!
to clear a set due date.
Credits
Lots of people have contributed with suggestions and feature ideas. In particular, the following folks from the Alfred Forum: