Documentation

- Modified old task movie script.
- Added new 1.9.3 task movie script, which will form the basis of the
  new tutorial.
This commit is contained in:
Paul Beckingham 2010-08-02 01:16:29 -04:00
parent 233a6ae951
commit f60205c704
2 changed files with 347 additions and 1 deletions

347
doc/misc/script-193.txt Normal file
View file

@ -0,0 +1,347 @@
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 -------------------------------------------------------

View file

@ -68,7 +68,6 @@ task 3 fg:
task colors There are many combinations to choose from task colors There are many combinations to choose from
(Slashes!!!)
task 1 due:6/8/2008 Let's add a due date task 1 due:6/8/2008 Let's add a due date
date date