Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A simple, iPhone-friendly web interface for todo.txt-cli, written in PHP and spiced up with a wee bit of jQuery.
PHP JavaScript
tree: cfd0f01116

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
includes
handheld.css
index.php
readme.mkd
screenshot.png
stylesheet.css
todo.js
todotxt_logo.png

readme.mkd

=== todo.txt web interface ===

A simple, iPhone-friendly web interface for todo.sh written in PHP and spiced up with a wee bit of jQuery.

Designed to work well in Mobile Safari on an iPhone/iPod Touch. Also tested on a Palm Centro, though the jQuery stuff doesn't work in crappy Blazer. If you try it out on other devices, let me know how it works, ok?

A screenshot, screenshot.png is included.

Author: Jon Smajda

License: GPL, http://www.gnu.org/copyleft/gpl.html

URL: http://github.com/smajda/todo.txt-web

=== Installation ===

  1. First, you need a working installation of todo.sh. (Presumably variants like todo.py will work, though I haven't tested them.)

  2. Your todo.txt files and your todo.cfg need to be writable by your webserver. There are a variety of ways to make this happen: chmod 666 on your todo files, set some ACLs, let your web server run todo.sh as sudo... They're all a bit scary, so take your pick.

  3. Install the todo.txt-web files where you want them on your web server.

  4. Copy or rename the file includes/config-sample.php to includes/config.php and fill in all the variables. It's well-commented.

  5. That should be it. If you have problems, a few things to check:

    • There's an .htaccess file in the includes directory preventing web access to that directory. If your web server isn't configured to allow this, that can cause problems.

    • I'm using Google's copy of jQuery instead of a local copy. If this is a problem, just download jQuery and change the link in the <head> section of index.php.

=== Behavior ===

  • By default, it will display whatever command you have set as TODOTXT_DEFAULT_ACTION in your todo config file.

  • Treat the input box as your command line, only you don't have to type todo.sh first. So you can type ls to list all your items, but you can also type things like -h to get help info.

  • The task numbers and tags (words starting with "@" or "+") are links that send numbers or tags to the input box, respectively. After using this for awhile, I found this was the most handy way for this to work:

    • When you click on the task number, it sends that number to the input field for you and then positions the cursor in front of the number. This makes it easy to just type do, pri, rm, replace, etc.

    • When you click on a tag, it sends that tag to the input field, prepends ls to the front of it and leaves the cursor at the end of the input field so you can either hit submit or add further ls terms.

  • Any regular URLs in your task are also made into links.

  • Because I got sick of automatically doing an ls again right after any non-listing command: whenever you do any command that isn't an ls, the last ls command you ran is ran again and displayed right after your command's output.

=== Credit ===

Obviously, this is just a web front-end to todo.sh, a very cool tool that has received a lot of improvements in the last few months. Follow todo.sh development here on github.

I borrowed the idea and some code to get me started from this thread on the todotxt mailing list.

The "move the cursor to the start of the input field" trick found on Stack Overflow.

I modified the simple authentication code found here.

Something went wrong with that request. Please try again.