- Modified old task movie script. - Added new 1.9.3 task movie script, which will form the basis of the new tutorial.
348 lines
17 KiB
Plaintext
348 lines
17 KiB
Plaintext
|
|
Although currently incomplete, this is the script from which a 1.9.3-specific
|
|
movie will be made. On the left are the typed commands, and on the right is the
|
|
spoken track.
|
|
|
|
It is intended that the left and right be combined and the result will be a new
|
|
task-tutorial.5 man page.
|
|
|
|
|
|
|
|
---------------------------------------- Intro -----------------------------------------------------
|
|
|
|
http://taskwarrior.org Hello, and welcome to this task version 1.9.3 demo.
|
|
I'm going to show you over 100 features, so don't blink, or
|
|
you'll miss some. Even experienced task users are going to
|
|
learn something.
|
|
|
|
I will start off with basic usage, and proceed to more
|
|
sophisticated commands as we go along.
|
|
|
|
---------------------------------------- Basic Usage -----------------------------------------------
|
|
|
|
Let's get started. We're planning a party, and there is a
|
|
lot of work to do, so let's capture these tasks.
|
|
task add Select a good day in August First decide 'when'.
|
|
task add Select and book a venue Then decide 'where'.
|
|
task add Come up with a guest list Then decide 'who'.
|
|
task add Mail invitations Let's send out nice invitations.
|
|
task add Select a caterer And a caterer.
|
|
|
|
task list Let's take a look. Good.
|
|
|
|
task log Order a special cake Now I've already ordered a cake, so rather than 'add' this,
|
|
I'm going to 'log' it. This just means that I want to keep
|
|
track of the task, but I've already done it. It saves me a
|
|
step.
|
|
|
|
task 4 duplicate /Mail/Design/ As for those invitations, I'm going to need to design them
|
|
task 4 dup /Mail/Print/ first. And I'm also going to need print them. Here we are
|
|
task list duplicating a task and making a substitution. Notice how
|
|
the commands can be abbreviated, provided they are still
|
|
unique.
|
|
|
|
task 3 done That looks good - but now I think of it, I already have my
|
|
task list guest list, so I can mark that one as done.
|
|
|
|
And that's basic usage, and you already know enough to be
|
|
productive using task. If you stopped here, you would be
|
|
perfectly able to manage your task list.
|
|
|
|
But if you want to see what task can really do, keep watching...
|
|
|
|
---------------------------------------- Projects --------------------------------------------------
|
|
|
|
task add Pay teh rent on teh 31st Remember to pay the rent at the end of the month. Oh,
|
|
task 7 /teh/teh/g that was sloppy, but it can be fixed with a global
|
|
task list substitution.
|
|
|
|
task 7 project:home We can now use projects to separate home chores from the
|
|
party preparation. Let's assign that last task to the
|
|
'home' project. Note that a task may only belong to one
|
|
project.
|
|
|
|
task 1-6 project:party And we will put those first six tasks in the 'party'
|
|
project. See how we specify a range of tasks? Task will
|
|
want to confirm bulk changes like this, but we'll accept
|
|
all changes here.
|
|
|
|
task projects Now that we have multiple projects, as shown here, we can
|
|
task list project:home use project as a filter for the list report. You can see
|
|
task li pro:par again that we can abbreviate 'list' and 'project', but when
|
|
we abbreviate 'party', we are filtering all the projects
|
|
that begin with 'par'.
|
|
|
|
---------------------------------------- Priorities ------------------------------------------------
|
|
|
|
task 1-3,5 priority:H Priorities are another way to organize tasks. You can use
|
|
task list priority values of high, medium and low, and task knows
|
|
these as H, M or L.
|
|
|
|
task 3 pri: You can remove priorities by specifying a blank value.
|
|
|
|
---------------------------------------- Tags ------------------------------------------------------
|
|
|
|
task list A task may only have one project, but it may have any number
|
|
of tags, which are just single words associated with the task.
|
|
|
|
task 3,5,6 +mall I can go to the print shop at the mall, and do all the
|
|
invitation tasks, so let's tag them all.
|
|
|
|
task long The long report shows tags, too,
|
|
|
|
task list +mall and I can use tags as a filter to any report too.
|
|
|
|
task 3 -mall I made a mistake - I can't mail out the invitations at the
|
|
mall, so let's remove that tag.
|
|
|
|
---------------------------------------- Modifications ---------------------------------------------
|
|
|
|
task 7 Pay rent at the end of the month Task 7 is not worded correctly, so I can modify that by
|
|
specifying a task ID and a new description. This is also
|
|
considered a bulk change, and so requires confirmation.
|
|
|
|
task add music We'll need music.
|
|
task 8 prepend Select some I can prepend to that.
|
|
task 8 append for after dinner I can append to that.
|
|
task list
|
|
|
|
task edit I can also go straight into an editor and modify anything.
|
|
|
|
task add Hire a band? <--- Sometimes the command will confuse the shell. In this case,
|
|
what would happen if there was a file named 'bands' in the
|
|
current directory? The shell would expand that wildcard,
|
|
so to avoid that, you can...
|
|
task add Hire a band\? <--- escape the wildcard...
|
|
task add "Hire a band?" <--- or quote the whole description...
|
|
|
|
task add -- Hire a band\? +dj You can also use the minus minus operator which tells task
|
|
to stop being clever and interpret the rest of the arguments
|
|
as a task description. Otherwise, that +dj would be
|
|
interpreted as a tag.
|
|
|
|
task undo We don't need a band, so the easiest way to get rid of that
|
|
task is to undo the last change. Task has a complete undo
|
|
stack, so you can undo all the way back to the beginning.
|
|
task 1 delete The undo operation gets rid of the task completely, but I
|
|
task undo could also have just deleted the task, then the deletion
|
|
itself would be tracked, and also undoable.
|
|
|
|
---------------------------------------- Info ------------------------------------------------------
|
|
|
|
task 1 info During that undo operation, task displayed metadata that
|
|
is associated with the task. You can display this with the
|
|
task 1 info command, and it's shortcut.
|
|
|
|
task stats There are also statistics that task gathers, which I can
|
|
display.
|
|
|
|
---------------------------------------- Annotations -----------------------------------------------
|
|
|
|
task 1 annotate the 12th looks good Annotations are little notes that can be added to a task.
|
|
task 1 annotate or the 13th There can be any number, and each has a time stamp.
|
|
task list
|
|
|
|
task 1 denotate 13th Annotations can be removed by providing a matching pattern.
|
|
|
|
---------------------------------------- Configuration ---------------------------------------------
|
|
|
|
task show Task has a 'show' command, that is used to display the
|
|
active configuration. There are hundreds of settings that
|
|
can be changed, and every one has a sensible default.
|
|
|
|
man taskrc If you want a complete list of all the settings and their
|
|
meanings, read the man page.
|
|
|
|
task config answer 42 The 'config' command is used to modify the settings, and in
|
|
this case the configuration variable 'answer' is given the
|
|
value of 42.
|
|
|
|
task show answer The 'show' command indicates that the value was changed,
|
|
task config answer and also that the variable is meaningless to task. The show
|
|
command performs a detailed check on your configuration, and
|
|
alerts you to several kinds of problem. The config command
|
|
can also remove a value.
|
|
|
|
task rc.report.list.sort=description+ list
|
|
A very powerful feature is the ability to override the
|
|
configuration variables temporarily. Here I am requesting
|
|
an ascending sort on the description field only.
|
|
|
|
---------------------------------------- Defaults --------------------------------------------------
|
|
|
|
task config default.command list Task has a default command, which can be set to anything,
|
|
task in this case it is set to the 'list' report. Then running
|
|
task with no command name runs the default command.
|
|
|
|
task config default.priority H I can also specify a default priority and project, which
|
|
task config default.project Work means that any tasks added will use them, unless an
|
|
task add New task alternative is provided.
|
|
task list
|
|
|
|
task undo Let's just revert those changes, to clean up.
|
|
task config default.priority
|
|
task config default.project
|
|
|
|
---------------------------------------- Color -----------------------------------------------------
|
|
|
|
task config color on All the examples so far have been shown with color turned
|
|
task list off. How about some color?
|
|
|
|
What you see is the result of a set of color rules being
|
|
applied to the tasks. There is a hierarchy of color rules
|
|
that colorize a task based on the metadata
|
|
|
|
task 1 "bg:on red" Here is an example of an explicit override to the color
|
|
task list rules where a specific task is given a red background.
|
|
task 1 bg: Note that the quotes are necessary, otherwise the shell
|
|
will consider "bg:on" and "red" to be separate arugments.
|
|
|
|
task color Task supports 256 colors on certain terminal emulators,
|
|
and this shows the range of colors available.
|
|
|
|
task color white on red Task can also show a sample of a color.
|
|
|
|
task color legend Or samples of all the active color settings.
|
|
|
|
Themes are a simple way to use coordinated color schemes
|
|
so by including a color theme into the configuration file,
|
|
you can see some striking effects.
|
|
|
|
A blue theme.
|
|
|
|
vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
|
|
task color legend
|
|
task list
|
|
A red theme.
|
|
|
|
vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
|
|
task color legend
|
|
task list
|
|
A general dark theme.
|
|
|
|
vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
|
|
task list
|
|
|
|
Here is a color rule that specifies a dark blue
|
|
background for all tasks that are part of the 'party'
|
|
project, and uses bold to identify any tasks with the
|
|
keyword 'invitations' in the description.
|
|
|
|
task rc:x "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
|
|
|
|
man task-color There is a man page with a writeup of all the color
|
|
capabilities.
|
|
|
|
---------------------------------------- Active tasks ----------------------------------------------
|
|
|
|
start/stop
|
|
active
|
|
|
|
---------------------------------------- Due dates -------------------------------------------------
|
|
|
|
due dates - relative
|
|
|
|
---------------------------------------- Calendar --------------------------------------------------
|
|
|
|
calendar
|
|
holidays
|
|
calendar + report
|
|
|
|
---------------------------------------- Recurrence ------------------------------------------------
|
|
|
|
recurring task
|
|
task recurring
|
|
|
|
---------------------------------------- Shell -----------------------------------------------------
|
|
|
|
shell
|
|
|
|
---------------------------------------- Special Tags ----------------------------------------------
|
|
|
|
special tags
|
|
|
|
---------------------------------------- Waiting ---------------------------------------------------
|
|
|
|
task wait: / task waiting
|
|
|
|
---------------------------------------- Dependencies ----------------------------------------------
|
|
|
|
dependencies
|
|
|
|
---------------------------------------- Reports ---------------------------------------------------
|
|
|
|
minimal
|
|
ls
|
|
list
|
|
long
|
|
all
|
|
completed
|
|
overdue
|
|
recurring
|
|
blocked
|
|
oldest/newest
|
|
minimal
|
|
next
|
|
|
|
---------------------------------------- Custom Report ---------------------------------------------
|
|
|
|
You can even define your own custom report. Let's quickly
|
|
create a custom report - we'll call it foo - and I can
|
|
choose from a long list of fields to include in the report,
|
|
but I want to see the ID, the date when I entered the task,
|
|
and the description. I can specify the labels for those
|
|
columns, the sort order of the report, and I can filter.
|
|
|
|
cat >> ~/.taskrc
|
|
report.foo.description=My own report
|
|
report.foo.columns=id,entry,description
|
|
report.foo.labels=ID,Entered,Description
|
|
report.foo.sort=entry+,description+
|
|
report.foo.filter=status:pending
|
|
|
|
task help | grep foo Custom reports also show up on the help output.
|
|
|
|
task show report.foo You can inspect the configuration.
|
|
|
|
task foo And they can be run just like the other reports.
|
|
|
|
---------------------------------------- Charts ----------------------------------------------------
|
|
|
|
history
|
|
history.annual
|
|
ghistory
|
|
ghistory.annual
|
|
timesheet
|
|
summary
|
|
|
|
---------------------------------------- Advanced Filters ------------------------------------------
|
|
|
|
filters
|
|
limit:3
|
|
attribute modifiers
|
|
|
|
---------------------------------------- Import/Export ---------------------------------------------
|
|
|
|
import
|
|
export.yaml
|
|
export.csv
|
|
|
|
---------------------------------------- Help ------------------------------------------------------
|
|
|
|
task help You'll find a quick reference page built into task itself,
|
|
man task or perhaps you'll want to take a look at the several man
|
|
man taskrc pages installed with task.
|
|
man task-color
|
|
man task-tutorial
|
|
man task-faq
|
|
|
|
---------------------------------------- Wrap up ---------------------------------------------------
|
|
|
|
task version And that's it. Don't forget to take a look at
|
|
taskwarrior.org.
|
|
|
|
Thank you for watching.
|
|
|
|
---------------------------------------- End -------------------------------------------------------
|
|
|