/meteor-todo

A simple-to-use but highly expandable to-do list with support for `#tags`, `@people`, due-dates, and archiving.

Primary LanguageJavaScript

meteor-todo

A simple-to-use but highly expandable to-do list with support for #tags, @people, due-dates, and archiving. Touch- and mobile-friendly. Now with API!

This todo list currently does not support collaboration or multi-users. This was an intentional design decision, as I never like having my todo list accessible by others. However, this is Meteor, folks. Adding user accounts is maybe a five-line ordeal. Feel free to Pull-Request if you feel strongly about it! 2015 roadmap includes a default-CSS redesign and optional multi-user functionality. Collaboration welcome.

New Features

  • Mar 14
  • API endpoints for your consideration
  • Feb 24
  • Touch Events: Swipe a task right to mark it as complete. Swipe left to procrastinate and push its deadline off to tomorrow.
  • Smart Titlebar: Your titlebar now shows more information about your day: todo [4 | 6] 40% means that you have completed 4 tasks and have 6 remaining for the day. You're 40% done with your day!
  • "Hard" Deadlines: I get into the habit of setting deadlines before the actual due-date of the project, so prefixing your task with a ! makes it a hard deadline: The task shows up with a vivid red left-border to indicate that you should think twice before swiping left!

Usage

Notifications

After you enter your Pushbullet API key in the settings.json file, you will receive an update every six hours with a list of the next six hours' worth of tasks.

Creating a new TODO

Type a new todo in the left input (focus it by typing n). Mark tags with #. Indicate people with @. Nest due-dates in ` tick marks. Due dates are handled intelligently by the chrono.js library, so typing something like "Next friday at 5pm" just works. screenshot 2014-12-26 at 2 05 49 pm

#tags and @people will autocomplete with TAB. Potential options are shown in a small dropdown which is poorly styled right now. [EDIT] Now it's prettier. Screenshots forthcoming later on. screenshot 2014-12-26 at 2 10 20 pm

Editing a TODO

Click an item in the list to open its control panel. Alternatively, use j and k, vim-style, to navigate through the rows. Use v (for visibility) to open or close the currently selected item. screenshot 2014-12-26 at 2 13 37 pm

Click on a duedate button to set the due-date. The list auto-sorts by duedate, soonest (most urgent) at the top.

Items with tagged People will show the individuals' contact information in their dropdown panels. If no information is available, they will appear as input boxes. Type an email or phone number to set the information for that user: All tasks with that tagged user will auto-update to show their information. screenshot 2014-12-26 at 2 17 00 pm

After submitting an email, the email can be clicked to autopopulate the email client in a new tab.

Use ? to open the keyboard-shortcuts cheatsheet: screenshot 2014-12-26 at 2 19 18 pm

Searching for a Task

The query-bar (focus with /) searches via fuzzy-string-matching: For instance, to find the task with a title of Go to the store, you can type go to store, store, gttst, or any variation thereof. Hitting enter from the searchbar auto-selects the first task that matches the query. Clearing the query-bar resets the list to include all tasks again.

Complete a task

Complete a task by hitting its checkbox, or by typing ctrl+return when it's selected. It will become greyed-out and italic, and move to the end of the list. To toggle visibility of completed tasks, use *. To archive all completed tasks, use |. As of now, there is no way to unarchive an item. They are kept with the expectation that this feature will be developed in the future.

Delete a Task

Delete a task with shift+3 (#, same as Gmail). This cannot be undone.