Moved content to wiki

This commit is contained in:
Gina Trapani
2009-04-13 22:45:36 -04:00
parent f1ca022fc5
commit 123f25caee

View File

@@ -29,6 +29,11 @@
<a href="http://ginatrapani.github.com/todo.txt-cli/" class="logo"><img src="images/todotxt_logo.png" alt="" alt="Todo.txt" /></a>
<h1><a href="http://ginatrapani.github.com/todo.txt-cli/" title="Task tracking for command line lovers">Todo.txt CLI</a></h1>
<br /><br />
<a href="http://github.com/ginatrapani/todo.txt-cli/downloads">Downloads</a><br />
<a href="http://wiki.github.com/ginatrapani/todo.txt-cli">Documentation</a><br />
<a href="http://groups.yahoo.com/group/todotxt/" title="Mailing List">Mailing List</a>
</div>
<div id="content">
@@ -40,34 +45,6 @@
<p>If you've got a file called <code>todo.txt</code> on your computer right now, you're in the right place. Countless software applications and web sites can manage your to-do list with all sorts of bells and whistles. But if you don't want to depend on someone else's data format or someone else's server, a plain text file is the way to go.</p>
<p>Problem is, you don't want to launch a full-blown text editor every time you need to add an item to your to-do list, or mark one that's already there as complete. With a simple but powerful shell script called <code>todo.sh</code>, you can interact with <code>todo.txt</code> at the command line for quick and easy, Unix-y access.</p>
<h2 id="setup">Download and Install</h2>
<ol>
<li><strong><a href="http://github.com/ginatrapani/todo.txt-cli/downloads">Download the latest stable release of todo.sh</a></strong> (available as a ZIP or TAR archive) and extract it.</li>
<li>Using the text editor of your choice, edit the section of the <code>todo.cfg</code> file that reads:<br />
<pre># Your todo.txt directory
TODO_DIR="/Users/gina/Documents/todo"
</pre>
Replace "/Users/gina/Documents/todo" to wherever your <code>todo.txt</code> file lives.</li>
<li>Make the todo.sh script exectuable:<br />
<pre>$ chmod +x todo.sh</pre>
</li>
<li>Move the todo.cfg configuration file to your home directory:<br />
<pre>mv todo.cfg ~/.</pre>
</li>
<li>Type <code>./todo.sh</code> to see the usage message.</li>
</ol>
<!--
<li><strong><a href="/library/birdseye.py/">Bird's Eye todo.txt Reporter</a></strong><br />
A Python script reports your current progress broken down by project and context with ASCII graphs. <a href="/library/birdseye.py/#htmlsummarizer">HTML version</a> now available, too.</li>
<li><strong><a href="/library/todobot.pl/">Todo.txt AIM bot</a></strong> (latest version: 0.4)<br />
A Perl-based AIM bot which accesses your todo.txt via todo.sh. (Requires OSCAR.pm.)</li>
-->
</ul>
<h2 id="screencast">How It Works</h2>
<p>Here's a screencast of <code>todo.sh</code> in action.</p>
@@ -104,110 +81,18 @@ A Perl-based AIM bot which accesses your todo.txt via todo.sh. (Requires OSCAR.
</object></p>
<h2 id="support">Get Help</h2>
<p><a href="http://groups.yahoo.com/group/todotxt/" title="Mailing List">Join the mailing list</a> for support or feature requests.</p>
<h2 id="tips">Tips and Tricks</h2>
<h2 id="support">Quick Links</h2>
<ul>
<li><strong>Access <code>todo.sh</code> from anywhere in the file tree.</strong> Add the following to your ~/.bashrc file (~/.bash_profile for Mac and Cygiwn users):<br />
<blockquote><pre>
PATH=$PATH:"/path/to/your/todo/scripts"
</pre></blockquote></li>
<li><strong>Avoid typing <code>todo.sh</code> every time</strong>. Add the following to your ~/.bashrc file (~/.bash_profile for Mac and Cygwin users):<br />
<blockquote><pre>
alias t='todo.sh -d /path/to/your/todo.cfg'
</pre></blockquote><br />
Then you simply type <code>t add laundry</code> from anywhere in your file tree to add a task.</li>
<li><strong>Display your todo list on your desktop.</strong> Windows users, <a href="http://lifehacker.com/software/plain-text/download-of-the-day-samurize-189273.php">Samurize gets the job done.</a> Mac users will want <a href="http://lifehacker.com/software/top/download-of-the-day--geektool-185802.php">GeekTool</a>.<br /><br />
<table><tr><td>
<a href="images/samurize-todotxt-full.jpg" rel="lightbox" title="Displaying todo.txt on the Windows desktop with Samurize"><img src="images/samurize-todotxt-thumb.jpg" alt="Displaying todo.txt on the Windows desktop with Samurize" /></a>
</td><td>
<a href="images/geektool-fulldesktop1.jpg" rel="lightbox" title="Displaying a system log, the output of todo.sh listpri and a remind calendar on the Mac OS X Desktop using GeekTool"><img src="images/geektool-fulldesktop1-thumb.jpg" alt="Displaying a system log, the output of todo.sh listpri and a remind calendar on the Mac OS X Desktop using GeekTool" /></a>
</td></tr></table><br />
</li>
<li><strong>Hide the configuration file</strong> by renaming it <code>.todo.cfg</code>.</li>
<!--<li><strong>IM your todo.txt.</strong> Use the <a href="/library/todobot.pl/">todobot.pl</a> to instant message your <code>todo.sh</code> commands from any AIM client.</li>-->
<li><strong>Access your remote server's todo.txt via ssh.</strong> If you have a shell account on remote.server.com, alias your <code>todo.sh</code> commands to do the same thing as usual but prepend "ssh username@remote.server.com" to them. Something like:<br />
<code>ssh username@remote.server.com todo.sh list</code><br />
Which displays the remote todo list.</li>
<li><strong>Set up a tickler system to work with todo.txt.</strong> Mailing list member Tannie wrote an <a href="http://www.tanniespace.com/2006/07/tickler_files_and_todosh.html">tickler.sh script</a> which moves items you have to do in the future to todo.txt.</li>
<li><strong>Integrate todo.txt with a calendar</strong> using the Unix program <a href="http://lifehacker.com/software/top/geek-to-live--keep-your-calendar-in-plain-text-with-remind-186661.php">remind</a>.</li>
<li><strong>Get your todo's via email</strong> using <a href="http://www.tanniespace.com/2006/06/using_postfix_to_get_my_shoppi.html">postfix</a>.</li>
<li><b><a href="http://github.com/ginatrapani/todo.txt-cli/downloads">Downloads</a></b></li>
<li><b><a href="http://wiki.github.com/ginatrapani/todo.txt-cli">Documentation</a></b></li>
<li><b><a href="http://groups.yahoo.com/group/todotxt/" title="Mailing List">Mailing List</a></b>--for support or feature requests</li>
</ul>
<h2 id="platforms">Platform Compatibility</h2>
<p><code>todo.sh</code> has been tested on:</p>
<ul>
<li><strong><a href="http://cygwin.com">Cygwin</a> for Windows</strong></li>
<li><strong>Mac OS X 10.4+ Terminal</strong></li>
<li><strong><a href="http://groups.yahoo.com/group/todotxt/message/15?l=1">Ubuntu 5.10</a></strong> / Sed 4.1.4 / Grep 2.5.1 / Cat 5.2.1 / wc 5.2.1</li>
</ul>
<p><a href="http://groups.yahoo.com/group/todotxt/">Let us know</a> if you're using <code>todo.sh</code> successfully anywhere else.</p>
<h2 id="plaintext">Why plain text?</h2>
<p><strong>Plain text</strong> is software and operating system agnostic. It's searchable, portable, lightweight and easily manipulated. It's unstructured. It works when someone else's web server is down or your Outlook .PST file is corrupt. Since it's been around since the dawn of computing, it's safe to say it's completely future-proof. There's no exporting and importing, no databases or tags or flags or stars or prioritizing or [Insert company name here]-induced rules on what you can and can't do with it.</p>
<p><strong>Todo.txt</strong> is a flat text file that contains one task per line, each optionally associated with a context, project and priority for slicing, dicing and sorting.</p>
<h2 id="axes">The 3 axes of an effective todo list</h2>
<p>Using special notation in todo.txt, you can create a list that's sliceable by 3 key axes.</p>
<p><strong>Priority.</strong> Your todo list should be able to tell you what's the next most important thing for you to get done - either by project or by context or overall.</p>
<p>Optionally assign tasks a priority that'll bubble them up to the top of the list.</p>
<p>This is all possible inside todo.txt.</p>
<p><strong>Project.</strong> The only way to move a big project forward is to tackle a small subtask associated with it. Your todo.txt should be able to list out all the tasks specific to a project.</p>
<p>In order to move along a project like "Cleaning out the garage," my task list should give me the next logical action to take in order to move that project along. "Clean out the garage" isn't a good todo item; but "Call Goodwill to schedule pickup" in the "Clean out garage" project is.</p>
<p><strong>Context.</strong> <em>Getting Things Done</em> author David Allen suggests splitting up your task lists by context - ie, the place and situation where you'll work on the job. Messages that you need to send go in the "@email" context; calls to be made "@phone", household projects "@home."</p>
<p>That way, when you've got a few minutes in the car with your cell phone, you can easily check your "@phone" tasks and make a call or two while you have the opportunity.</p>
<h2 id="format">Suggested Todo.txt format</h2>
<p>The beauty of todo.txt is that it's completely unstructured; the fields you can attach to each task are only limited by your imagination. To get started, use special notation to indicate task context (like <b>@phone</b>), project (like <b>+GarageSale</b>) and priority (like <b>(A)</b>). So, a <code>todo.txt</code> file might look like this:</p>
<p>
<blockquote><pre>
(A) @phone thank Mom for the meatballs
(B) +GarageSale @phone schedule Goodwill pickup
+GarageSale @home post signs around the neighborhood
@shopping Eskimo pies
</pre> </blockquote>
</p>
<p>A script that perhaps slices out the @phone contextual items and emails them to your mobile phone, for instance, would just output:</p>
<blockquote><pre>
(A) @phone thank Mom for the meatballs
(B) +GarageSale @phone schedule Goodwill pickup
</pre> </blockquote>
<p>A call to todo.sh to just see the garage sale project items would return:</p>
<blockquote><pre>
(B) +GarageSale @phone schedule Goodwill pickup
+GarageSale @home post signs around the neighborhood
</pre> </blockquote>
<h2 id="notations">Other notations</h2>
<p>With <code>todo.sh</code>, you can choose <strong>any unique keyword</strong> search by it. For example, to indicate you're waiting on something to complete a task, append the word WAIT to the item in <code>todo.txt</code>. Others like to add due dates to a task, DUE:2006-08-01. It's completely up to you. To view items by keyword, do <code>todo.sh list yourkeyword</code>.</p>
<h2 id="author">Author</h2>
<p>Unless otherwise noted, all the todo.txt scripts published herein are authored by <a href="http://ginatrapani.org/" title="Gina Trapani: The Official Site">Gina Trapani</a> and licensed under the <a href="http://www.gnu.org/copyleft/gpl.html">GNU General Public License</a>.</p>
<p>Unless otherwise noted, all the todo.txt scripts published herein are authored by <a href="http://ginatrapani.org/" title="Gina Trapani: The Official Site">Gina Trapani</a> and <a href="http://github.com/ginatrapani/todo.txt-cli/network">other contributors</a> and licensed under the <a href="http://www.gnu.org/copyleft/gpl.html">GNU General Public License</a>.</p>
<p>Scripts and text originally published as an ongoing series at <a href="http://lifehacker.com/tag/todo.txt/">Lifehacker.com</a>. Special thanks to all the Lifehacker readers who <a href="http://lifehacker.com/software/top/geek-to-live--readerwritten-todotxt-manager-173018.php">contributed to Todo.sh</a> by fixing code, adding features, reporting bugs and making suggestions.</p>
<p>All software comes as is with no warranty. Do back up your todo.txt before you read another word. Questions, support and help is available in the <a href="http://groups.yahoo.com/group/todotxt/">Todo.txt Mailing list</a>.</p>