A lightweight, Sinatra-based web interface for the wonderful Taskwarrior todo application.
Check out the Live Demo.
ruby
>= 1.9 (support forruby
< 1.9 is very unlikely, but pull requests are gladly accepted).
For building native extensions on Linux could be required the following packages:
- ruby-dev
- make
- gcc
gem install taskwarrior-web
This will install an executable called task-web
task-web
at your terminal to start it up. This will start the process,
background it, and open the URL in your browser.
It uses Vegas to make the Sinatra app into
an executable, so all options for Vegas are valid for task-web
. Type
task-web -h
for more options.
bundle exec rackup config.ru
The current featureset includes:
- Viewing tasks sorted and grouped in various ways.
- Creating a new task with a due date, project, and tags.
- Editing and deleting tasks (only task >= 2.0).
task-web
will pull yourtask
config (from.taskrc
) and use it to determine date formatting and when an upcoming task should be marked as "due".- If you are on a Mac and use Fluid.app, you get a dock badge showing the number of pending tasks.
- Optional HTTP Basic authentication.
You can also run taskwarrior-web using docker. This approach requires docker and docker-compose to be installed.
The command below builds new image from the source and runs service.
docker build -t taskwarrior-web:lastest .
By default task-web is listening on 5678
port.
Adjust service configuration in the DockerFile
.
To report a bug, use the Github issue tracker. Since taskwarrior-web
works with several different versions of task
, using many different
configurations, please include the output from task _version
and either the
output of task show
or a copy of your .taskrc
file when filing a bug. This helps us reproduce bugs easier.
Here is an example of a good bug report.
- This project is not developed by the Taskwarrior team. Obviously, taskwarrior-web extends Taskwarrior, but the projects are separate.
task-web
is mostly designed to run locally. As such, security is not of the highest priority. You may find that things such as CSRF protection are lacking. If things like this are important to you, please file an issue or a pull request.