Visualizes dependencies between TaskWarrior tasks.
Given a set of interdependent tasks, they are
- Exported from TaskWarrior as JSON, then
- Piped into
twdeps
, and finally - The output is directed to a PNG file.
Result:
For the impatient: The JSON export is also available as party.json. Once you installed twdeps
, the command
$ curl https://raw.githubusercontent.com/nerab/twdeps/master/test/fixtures/party.json | twdeps -f png > party.png
will generate party.png
in the current directory. If you don't want to download the JSON file, try the local oen that comes with twdeps
:
$ twdeps $(dirname $(gem which twdeps))/../test/fixtures/party.json -f png > party.png
$ gem install twdeps
-
Create a dependency graph as PNG and pipe it to a file:
task export | twdeps > deps.png
See Limitations below for why we need the extra task parms
-
Same but specify output format
task export | twdeps --format svg > deps.svg
- Create a graph from a previously exported file
task export > tasks.json cat tasks.json | twdeps > deps.png
-
Display graph in browser without creating an intermediate file
task export | twdeps --format svg | bcat
bcat is required for piping into a browser.
The graph is generated with ruby-graphviz, which in turn requires a local Graphviz installation (e.g. brew install graphviz
on a Mac or sudo apt-get install graphviz
on Ubuntu Linux).
bundler is also required.
TaskWarrior versions before 2.1 need the additional command line options rc.json.array=on
and rc.verbose=nothing
due to two bugs in the JSON export.