• This repository has been archived on 20/Sep/2020
  • Stars
    star
    130
  • Rank 277,575 (Top 6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 13 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

HTML5 task manager, built on todo.txt

Bulldog

An HTML viewer for Todo.Txt Build Status

Be tenacious, like a bulldog, on your task list.

Bulldog is a single-page HTML view of your todo.txt file. Use the command line interface for capture, editing, and completing tasks. But if you want something a little bit more "app-y" for managing your tasks, Bulldog is for you.

Browser Compatibility

  • Safari 5+
  • Chrome 9+
  • Firefox - unsupported at this time (waiting on a bug fix)
  • Others? Let us know

Installation

Bulldog is released as a single HTML file via the Downloads page, called index.html, that needs to live in the same directory as your todo.txt file.

You will also need to set up a web server to point to this directory or configure your browser to allow AJAX requests from a file:// URL. Bulldog makes an AJAX request to read in todo.txt

This isn't very user-friendly at this point in time.

For these examples, I keep my todo.txt file (and all of my Todo.txt stuff) in /Users/dwf/Dropbox/todo.

Via HTTP and a Local Web Server

Using Apache on MacOS

These steps work on MacOS 10.7 (Lion), serving Bulldog via the built-in web server (Apache 2). Please look up the equivalent steps for your operating system and web server.

  1. Make a symlink from Apache's directory to your ToDo.txt directory: ln -s /Users/dwf/Dropbox/todo /Library/WebServer/Documents/todo
  2. Restart Apache by visiting the Sharing pane under System Preferences, and turning Web Sharing off (if it's on) and then on
  3. Copy Bulldog's index.html to /Users/dwf/Dropbox/todo
  4. Visit http://localhost/todo

Using an Ad-hoc Web Server (Multiplatform)

An ad-hoc web server can be run with these steps if Python is installed (tested only on Linux but should work in other platforms):

  1. Cd into the directory containing index.html and todo.txt
  2. Run python -m SimpleHTTPServer
  3. Visit http://localhost:8000/

Via the Local File Protocol

With some tweaking of your browser settings, file://path/to/index.html will work

  • Safari: no change needed
  • Firefox: enable "cross domain AJAX requests" via config settings; this differs across versions of Firefox, so you'll need to Google it
  • Chrome/Chromium: launch the executable with the --disable-web-security flag set

Usage

Bulldog is a read-only view of your tasks. It is not meant as a replacement for the command line interface. Use the CLI for operations on tasks and then view the new state with Bulldog.

When you open Bulldog, you see all of your tasks in the pane on the right. You should see each task's number, the action of the task, as well as its context and project. Contexts are set with the '@' syntax, and Projects with the '+' syntax.

The left column defaults to showing you all of your projects, including the 'All' project that shows all tasks, sorted by task number. Choosing a project will show all tasks for that project, sorted by priority. (No priority is lower than Z).

If you've updated or added any tasks via the command line, just reload your browser to refresh the tasks.

From the left column you can also choose to group tasks by context, or by next actions.

Next Actions

Todo.txt has no built-in concept of Getting Things Done's next actions. So we added it. Setting a task to priority N makes it a next action - after all, why would you be using that many priorities? Next actions are labeled as such and are considered higher priority than A.

The next actions tab - labeled âž” - shows only your next actions, grouped by context.

Roadmap?

  • Make it easier to install
  • Support Dropbox installation (hosting via Dropbox's web UI, todo.txt on Dropbox)
  • Editing tasks & storing back to todo.txt - this would require a server, which may be out of scope
  • Show "DONE" actions, listed by interesting groupings

Implementation

Bulldog is a single-page HTML application. It uses jQuery and Backbone.js (which means it also uses Underscore.js) to read in the todo.txt file via AJAX, build out local data objects (Backbone models & collections), and then display the tasks and UI.

The base CSS and navigation UI are from Twitter's Bootstrap.

All of the CSS and JavaScript is included inline so that no server is required.

Contributions

I welcome contributions and suggestions. Any code changes should include tests - naturally, using Jasmine.

License

Bulldog is © Infews LLC and is provided under the MIT License.

More Repositories

1

keydown

An HTML5 presentation builder
JavaScript
504
star
2

anchorman

Turn your git commit log into Markdown files, a nice start to proper release notes
Ruby
56
star
3

job_search_in_obsidian

An Obsidian Vault with notes & process for finding a job
32
star
4

2012.05.30.JasmineIntroFluentConf

Talk as given at FluentConf 2012 SF, CA
JavaScript
5
star
5

bonfire

ruby scripts for Kindle authoring
Ruby
5
star
6

2010.09.29.SeleniumSF.Jasmine

Presentation given at SFSe on 2010.09.29: Intro to Jasmine
JavaScript
4
star
7

pivot_codex

Links, docs, info that Pivotal (Labs) Alumni want to keep close
3
star
8

biz_ruby

2
star
9

workstation_repave

Mostly Ruby based MacOS setup
Ruby
2
star
10

2011.04.28.PhillyETE.PracticalJasmine

Slides given at 2011 Philly ETE conference: "Practical Jasmine"
JavaScript
2
star
11

2010.11.16.SenchaCon.Jasmine.Intro

Slides for the Jasmine presentation I gave at Sencha Con 2010
JavaScript
2
star
12

2012.02.15.BackboneJSMeetup

Slides given at the SF BackboneJS Meetup
JavaScript
2
star
13

infews.github.io

DWF's Journal personal blog
Ruby
1
star
14

ddt-blog-examples

supporting code for a blog post on a better way to factor your tests
JavaScript
1
star
15

2010.10.19.EastBayRubyMeetup

Introduction to Jasmine as given at the East Bay Ruby Meetup
JavaScript
1
star
16

2011.12.08.Jasmine.and.Backbone

Given at Castro Street Startup Slide on 12/08/2011
JavaScript
1
star
17

jasmine_example_project

Jasmine Example Project
JavaScript
1
star
18

amaz.infews

Infews' amazon.com rails client
Ruby
1
star
19

js-test-roundup

sample code & presentation from the SF JS Test Roundup, 5/13/2010
1
star
20

2012.05.24.JasmineAtScribd

Keydown presentation given at Scribd, re: Jasmine
JavaScript
1
star
21

2012.03.02.JasmineA2Z

Tech talk given at Amazon's a2z Dev Center
JavaScript
1
star
22

2013.09.05.GettingAgileWithPivotalTracker

As presented at the SpringSource Webinar
JavaScript
1
star
23

2012.11.05.cs169

Presentation given to Berkeley cs169, 11/05/2012
JavaScript
1
star