mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-06-26 10:54:26 +02:00
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:
parent
233a6ae951
commit
f60205c704
2 changed files with 347 additions and 1 deletions
347
doc/misc/script-193.txt
Normal file
347
doc/misc/script-193.txt
Normal 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 -------------------------------------------------------
|
||||
|
|
@ -68,7 +68,6 @@ task 3 fg:
|
|||
|
||||
task colors There are many combinations to choose from
|
||||
|
||||
(Slashes!!!)
|
||||
task 1 due:6/8/2008 Let's add a due date
|
||||
date
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue