Thursday, January 27, 2011

Text To-do List Format

Text To-do List Principles

  • Simple enough to be quick
  • Regular enough to stay organized
  • Created from only text to allow easy source control and portability
States based loosely on David Allen's Getting Things Done and Leo Babauta's Zen To Done.
Delimiter:",," [1]
This format is licensed with Creative Commons:

Creative Commons License
Text-only Todo List Format by Adam S. Keck is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Permissions beyond the scope of this license may be available at http://www.texttodo.org.

Adam Keck is an infrastructure systems administrator based in the United States who studies work-flow principles.

Text To-do List Format

Keep this header at the top of your Todo List
# 0
# 0 '{','}' set off the field descriptions for clarity, but are not used in an actual list.
# 0 '|' denotes a choice of different field values.
# 0 E.g. D,,20110130,,20110201,,Joe Thompson,,Buy a couch,,Schedule trip to mall
# 0 E.g. D,,20110130,,20110201,,Joe Thompson,,Schedule trip to mall
# 0 E.g. T,,20110130,,Buy a couch,,Schedule trip to store
# 0 File Format:
# 1
# 1 Text-only Todo List Format by Adam S. Keck is licensed 
# 2 under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
# 3 Permissions beyond the scope of this license may be available at 
# 4 http://www.texttodo.org.
# 5
# 6 TZ tasks can used to single task or to track only the next steps of each project 
# 7
# 7
# Completed Task:   DONE,,{Date completed},,{Date created},,{{Project Name},,{Task}}|{Task}
# Delegated Project:   DP,,{Date delegated},,{Date created},,{Name},,{Project}
# Delegated Task:   D,,{Date delegated},,{Date created},,{Name},,{{Project Name},,{Task}}|{Task}
# Finished Project:   PDONE,,{Date finished},,{Date created},,{Project Name}
# No Action Planned on a Project:   PNAP,,{Date NAP'd},,{Date created},,{Project Name}
# No Action Planned on a Task:   NAP,,{Date NAP'd},,{Date created},,{{Project Name},,{Task}}|{Task}
# On Hold Task:   ONHOLD,,{Date created},,{{Project Name},,{Task}}|{Task} 
# Project:   P,,{Date created},,{string} 
# Separator for next tasks:  TX==============Next Tasks=====================
# Task in scope for today:   TZ,,{Date created},,{{Project Name},,{Task}}|{Task}
# Task to be delegated:   TD,,{Date created},,{{Project Name},,{Task}}|{Task} 
# Task waiting on another resource:   TW,,{Date created},,{{Project Name},,{Task}}|{Task} 
# Task:   T,,{Date created},,{{Project Name},,{Task}}|{Task}
#.
#.

Todo List Work Flow with Vim

Edit your Todo file in Vim and the run:

:sort
to sort it.

Todo List Work Flow with Emacs

Edit your Todo file in Emacs then type:
M->;
M-x sort-lines
to sort it.
Change the value of $LC_ALL to your locale, if you write in another language or want localized sorting.
Note that you can use this format in a spreadsheet as well. Make each field a column. Sort the sheet by the first column first, second column, second, etc.
-Adam (a0f29b982)




[1] It uses ',,' as its delimiter, since, as far as I can tell, most written languages do not use ',,' as a punctuation or grammar mark.