diff --git a/html/30second.html b/html/30second.html new file mode 100644 index 000000000..fe67fc899 --- /dev/null +++ b/html/30second.html @@ -0,0 +1,127 @@ + + + + Task 1.4.0 + + + + + +
+ Home + Setup + Simple + Advanced + Shell + Configuration + Colors + Usage +
+ +
+ + + + + + + +
+ +
+
+
+
+

30-second Tutorial

+
+

+ For the excessively lazy. + Add two tasks: +

+ +
% task add Read task documents later
+% task add priority:H Pay bills
+ +

+ Easy. See that second one has a High priority? Now let's look at those tasks: +

+ +
% task ls
+
+ID Project Pri Description
+ 2         H   Pay bills
+ 1             Read task documents later
+ +

+ They are ordered by priority. Let's mark number 2 as done: +

+ +
% task 2 done
+% task ls
+
+ID Project Pri Description
+ 1             Read task documents later
+ +

+ Gone. Now let's delete that remaining task, because, well, + why bother now we are already using task: +

+ +
% task delete 1
+% task ls
+No matches
+ +

+ Easy. But now consider checking out what task can really do... +

+
+ +
+
+
+

+ Copyright 2006-2008, P. Beckingham. All rights reserved. +

+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ + + +
+ +
+ + + + + + + diff --git a/html/advanced.html b/html/advanced.html new file mode 100644 index 000000000..5cf5afc39 --- /dev/null +++ b/html/advanced.html @@ -0,0 +1,426 @@ + + + + Task 1.4.0 + + + + + +
+ Home + Setup + Simple + Advanced + Shell + Configuration + Colors + Usage +
+ +
+ + + + + + + +
+ +
+
+
+
+

Advanced Usage

+
+

+ Here are the other commands, in some detail. +

+ + % task +

+ With no arguments, this command will generate a help message that + lists all these commands. +

+ + % task projects +

+ This report generates a list of all the different projects that you + are using along with a count of the pending tasks for each project. + For example: +

+ +
% task projects
+
+Project   Tasks
+Errands       1
+Birthdays     3
+Car           2
+ + + % task summary +

+ This report lists all the projects and a summary of their task + status. +

+ +
% task summary
+
+Project  Remaining Avg age Complete 0%                        100%
+Errands          1  3 days      50% XXXXXXXXXXXXXXXX
+Birthdays        3  7 mths       0%
+Car              2   2 wks      25% XXXXXXXXX
+ +

+ This shows the project, the remaining tasks, the average age of each + task, the percentage completed (remaining vs total) and a bar + indicating that percentage. +

+ + % task delete <id> +

+ There are two ways of getting rid of tasks - mark them as done, or + delete them. +

+ + % task undelete <id> +

+ If a task was inadvertently deleted, it may be undeleted, provided that no + reports have been run since the deletion. Ideally, the undelete command is + run immediately after the erroneous delete command. +

+ +

+ If a report is run (such as "task list"), then task performs a garbage + collection that removes deleted tasks, and the task cannot be undeleted. +

+ + % task done <id> +

+ This is how a task is marked as done. +

+ + % task list ... +

+ The list report will show the active status, and age of the task in + addition to the columns that "task ls" shows. It is just a more + detailed list. +

+ + % task long ... +

+ The long report will show the entry date and start date of a task, + in addition to the columns that the "task list" shows. +

+ + % task start <id> +

+ This marks a task as started (and therefore active), which is shown + in the "list" report: +

+ +
% task list
+
+ID Project Pri Due Active Age     Description
+12 Errand  L                      Remember to deposit check
+...
+
+% task start 12
+% task list
+
+ID Project Pri Due Active Age     Description
+12 Errand  L       *      3 days  Remember to deposit check
+...
+ + % task active +

+ Shows all active tasks, that is, the tasks for which the + "task start ..." command was run, as shown above. +

+ + % task overdue +

+ Simply lists all the task that have a due date that is past, in + "list" format. +

+ + % task history +

+ This report shows you an overview of how many tasks were added, + completed and deleted, by month. It looks like this: +

+ +
% task history
+
+Year Month     Added Completed Deleted Net
+2008 March        21        16       0   5
+     April        13        11       1   1
+     May           8        14       3  -9
+ +

+ This shows that for the three months that task has been used, March + and April saw the total number of tasks increase, but in May the + number decreased as more task were completed than added. +

+ + % task calendar +

+ This report shows a calendar of the current month, with any task + due or overdue dates marked on it. Color is used to mark these + dates. +

+ +
% task calendar
+
+May 2008
+
+Su Mo Tu We Th Fr Sa
+             1  2  3
+ 4  5  6  7  8  9 10
+11 12 13 14 15 16 17
+18 19 20 21 22 23 24
+25 26 27 28 29 30 31
+ + % task next +

+ This report shows you the tasks you should probable work on next. + Task will scan all the tasks and will pick two task from each + project to report. Those two tasks will be chosen in order of + overdue, due soon, High, Medium or Low priority. Essentially task + chooses the two most important task for each project and displays + them ordered in the usual way. +

+ +

+ If you wish to show a different number of tasks per project, modify + the entry in .taskrc: +

+ +
next=2
+ +

+ To be your preferred number. +

+ + % task <id> ... +

+ When a task id is specified, everything applies to just that task. + Suppose we needed to correct a task: +

+ +
% task ls
+
+ID Project Pri Description
+12 Errand  L   Remember to deposit chekc
+...
+
+% task 12 Remember to deposit bonus check
+% task ls
+
+ID Project Pri Description
+12 Errand  L   Remember to deposit bonus check
+...
+ + % task oldest +

+ Lists the oldest tasks. Shows 10 tasks by default, but can be + set via the "oldest" configuration variable. +

+ + % task newest +

+ Lists the newest tasks. Shows 10 tasks by default, but can be + set via the "newest" configuration variable. +

+ + % task /from/to/ +

+ If a task has been entered with a typo, it can be easily corrected + by this command. For example: +

+ +
% task ls
+
+ID Project Pri Description
+12 Errand  L   Remember to deposit chekc
+...
+
+% task 12 /chekc/check/
+% task ls
+
+ID Project Pri Description
+12 Errand  L   Remember to deposit check
+...
+ +

+ This command makes single corrections to a task description. +

+ + % task tags +

+ This command will generate a list of all the tags that are currently + in use by task. +

+ + % task info <id> +

+ This command gives detailed information about a single task. It + will tell you when the task was entered, when started, its status, + tags, and more. +

+ + % task stats +

+ This command generates a list of statistics about your task usage, + such as the average time it takes to complete a task, how often new + tasks are added, and more. +

+ + % task completed +

+ This generates a list of all tasks that have been completed, sorted + by their completion date. +

+ + % task export <file name> +

+ This instructs task to write out a CSV format dump of all tasks, + both pending and completed, to the file specified. This is how you + might view tasks in a spreadsheet. +

+ + % task colors +

+ This command displays all the colors that task supports. +

+ + % task usage +

+ If logging has been enabled by the "command.logging=on" directive + in the .taskrc file, then task will record every command that is + run. When this command is run, task will display a count of how + many times each command was used. +

+ +

+ This command is for the purpose of seeing whether command are + actually used. +

+ + % task version +

+ This can be used to show the version number of task, and to display + all the current configuration settings, as read from the .taskrc + file. +

+ + % task rc:<file> ... +

+ By specifying rc:, it is possible to force task to use an alternate + .taskrc file. By default, task looks in your home directory, so these two + commands are essentially identical: +

+ +
% task list
+% task rc:~/.taskrc list
+ +

+ What this override allows, is the possibility of keeping your task lists + completely separate, say for work and home. This can be accomplished with + the following commands (valid for bash): +

+ +
% alias htask="task rc:/home/me/.taskrc_home"
+% alias wtask="task rc:/home/me/.taskrc_work"
+% htask list
+...
+% wtask list
+...
+ + % task <id> fg:... bg:... +

+ Not strictly a command, the setting of the fg and bg (foreground + and background) attributes determines the colors used to represent + the task. Valid foreground colors are: +

+ +
         bold          underline          bold_underline
+black    bold_black    underline_black    bold_underline_black
+red      bold_red      underline_red      bold_underline_red
+green    bold_green    underline_green    bold_underline_green
+yellow   bold_yellow   underline_yellow   bold_underline_yellow
+blue     bold_blue     underline_blue     bold_underline_blue
+magenta  bold_magenta  underline_magenta  bold_underline_magenta
+cyan     bold_cyan     underline_cyan     bold_underline_cyan
+white    bold_white    underline_white    bold_underline_white
+ +

+ Note that these are not just colors, but combinations of colors and + attributes. Valid background colors are: +

+ +
on_black    on_bright_black
+on_red      on_bright_red
+on_green    on_bright_green
+on_yellow   on_bright_yellow
+on_blue     on_bright_blue
+on_magenta  on_bright_magenta
+on_cyan     on_bright_cyan
+on_white    on_bright_white
+ +

+ Note also that this capability does depend on whether your terminal + program can display these colors. +

+
+ +
+
+
+

+ Copyright 2006-2008, P. Beckingham. All rights reserved. +

+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ + + +
+ +
+ + + + + + + diff --git a/html/color.html b/html/color.html new file mode 100644 index 000000000..6e2f63b47 --- /dev/null +++ b/html/color.html @@ -0,0 +1,124 @@ + + + + Task 1.4.0 + + + + + +
+ Home + Setup + Simple + Advanced + Shell + Configuration + Colors + Usage +
+ +
+ + + + + + + +
+ +
+
+
+
+

Colors

+
+

+ Task supports color in several places. In cases where you may + specify a color, a foreground, a background, or a combination + foreground and background color may be used. The following are + valid foreground colors: +

+ +
         bold          underline          bold_underline
+black    bold_black    underline_black    bold_underline_black
+red      bold_red      underline_red      bold_underline_red
+green    bold_green    underline_green    bold_underline_green
+yellow   bold_yellow   underline_yellow   bold_underline_yellow
+blue     bold_blue     underline_blue     bold_underline_blue
+magenta  bold_magenta  underline_magenta  bold_underline_magenta
+cyan     bold_cyan     underline_cyan     bold_underline_cyan
+white    bold_white    underline_white    bold_underline_white
+ +

+ and the following are valid background colors: +

+ +
on_black    on_bright_black
+on_red      on_bright_red
+on_green    on_bright_green
+on_yellow   on_bright_yellow
+on_blue     on_bright_blue
+on_magenta  on_bright_magenta
+on_cyan     on_bright_cyan
+on_white    on_bright_white
+ +

+ Depending on your terminal color choices, task can display all + the colors it supports with the command: +

+ + + +
+ +
+
+
+

+ Copyright 2006-2008, P. Beckingham. All rights reserved. +

+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ + + +
+ +
+ + + + + + + diff --git a/html/config.html b/html/config.html new file mode 100644 index 000000000..4bd2a11fb --- /dev/null +++ b/html/config.html @@ -0,0 +1,300 @@ + + + + Task 1.4.0 + + + + + +
+ Home + Setup + Simple + Advanced + Shell + Configuration + Colors + Usage +
+ +
+ + + + + + + +
+ +
+
+
+
+

Configuring Task

+
+

+ Task recognizes several entries in the .taskrc file for + configuration purposes. Valid entries are of the form: +

+ +
name=value
+ +

+ Valid examples are: +

+ +
data.location
+
+ This is a path to the directory containing all the task files. + By default, it is set up to be ~/.task, for example: + /Users/paul/.task +
+ +
command.logging
+
+ May be "on" or "off", defaulting to "off". This determines + whether task records commands. This is not generally useful, + except while developing task. +
+ +
confirmation
+
+ May be "yes" or "no", and determines whether task will ask for + confirmation before deleting a task. +
+ +
nag
+
+ This may be a string of text, or blank. It is used as a prompt + when a task is completed that is not considered high priority. + The "task next" command lists important tasks, and completing + one of those does not generate this nagging. Default value is: + + Note: try to stick to high priority tasks. See "task next". +
+ +
next
+
+ Is a number, defaulting to 2, which is the number of tasks for + each project that are shown in the "task next" command. +
+ +
curses
+
+ Determines whether task uses ncurses to establish the size of + the window you are using, for text wrapping. +
+ +
blanklines
+
+ May be "on" or "off". Prevents the display of unnecessary blank + lines so that task makes better use screen real estate on small- + screened devices. +
+ +
dateformat
+
+

+ This is a string of characters that define how task formats dates. + The default value is: +

+ +
m/d/Y
+ +

+ which means dates look like: +

+ +
6/7/2008
+ +

+ The string should contain the characters: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CharacterMeaningExample
mminimal-digit month1, 12
dminimal-digit day1, 30
ytwo-digit year08
Mtwo-digit month01, 12
Dtwo-digit day01, 30
Yfour-digit year2008
+

+ +

+ The string may also contain other characters to act as spacers, + or formatting. Other values could include (but are not limited to): +

+ +

+ + + + + + + + + + + + + + + + +
dateformat + How it looks
d/m/Y7/6/2008
YMD20080607
m-d-y6-7-08
+

+
+ +
showage
+
+ May be "yes" or "no". Determines whether the "Age" + column appears on the "list" and "next" reports. +
+ +
monthsperline
+
+ Determines how many months the "task calendar" command + renders across the screen. Defaults to 1. +
+ +
oldest
+
+ Determines how many tasks the "task oldest" command displays. + Defaults to 10. +
+ +
newest
+
+ Determines how many tasks the "task newest" command displays. + Defaults to 10. +
+ +
defaultwidth
+
+ The width of tables used when ncurses support is not available. + Defaults to 80. +
+ +
color
+
+ May be "on" or "off". Determines whether task uses color. +
+ +
+ color.overdue
+ color.due
+ color.pri.H
+ color.pri.M
+ color.pri.L
+ color.pri.none
+ color.active
+ color.tagged +
+
+ These are the coloration rules. They correspond to a particular + attribute of a task, such as it being due, or being active, and + specifies the automatic coloring of that task. The value may + be one optional foreground color (see below) and one optional + background color. For example, the value may be: +
+ bold_red on_bright_yellow +
+ +
color.tag.X
+
+ Colors any task that has the tag X. +
+ +
color.project.X
+
+ Colors any task assigned to project X. +
+ +
color.keyword.X
+
+ Colors any task where the description contains X. +
+
+ +
+
+
+

+ Copyright 2006-2008, P. Beckingham. All rights reserved. +

+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ + + +
+ +
+ + + + + + + diff --git a/html/images/color.png b/html/images/color.png new file mode 100644 index 000000000..fff43d59b Binary files /dev/null and b/html/images/color.png differ diff --git a/html/recur.html b/html/recur.html new file mode 100644 index 000000000..d035b7f5e --- /dev/null +++ b/html/recur.html @@ -0,0 +1,93 @@ + + + + Task 1.4.0 + + + + + +
+ Home + Setup + Simple + Advanced + Shell + Configuration + Colors + Usage +
+ +
+ + + + + + + +
+ +
+
+
+
+

Recurring Tasks

+
+

+

+ +

+

+
+ + +
+
+
+

+ Copyright 2006-2008, P. Beckingham. All rights reserved. +

+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ + + +
+ +
+ + + + + + + diff --git a/html/setup.html b/html/setup.html new file mode 100644 index 000000000..da15729b5 --- /dev/null +++ b/html/setup.html @@ -0,0 +1,137 @@ + + + + Task 1.4.0 + + + + + +
+ Home + Setup + Simple + Advanced + Shell + Configuration + Colors + Usage +
+ +
+ + + + + + + +
+ +
+
+
+
+

Quick Setup

+
+

+ Build the task program according to the directions in the INSTALL + file. This transcript illustrates a typical installation: +

+ +
% ls
+task-1.3.0.tar.gz
+% gunzip task-1.3.0.tar.gz
+% tar xf task-1.3.0.tar
+% cd task-1.3.0
+% ./configure
+...
+% make
+...
+% make install     # (may require sudo, depending on --prefix)
+ +

+ (For those of you using Cygwin, + you need to make sure you have the "gcc" and "make" packages + available, which are found in the "devel" category. For more + task features, also make sure you have "libncurses-devel" and + "lincurse8".) +

+ +

+ You need to make sure that the installed task program is in your + PATH environment variable. +

+ +

+ Task reads a configuration file - called .taskrc in your home + directory - and stores pending and completed tasks in in a directory + specified in the configuration file. +

+ +

+ The simplest way to get a configuration file and task directory is + to run task. On startup, task will check to see if it can find the + configuration file and task directory, and if not found, will ask + you whether it may create both. +

+ +
% task version
+
+A configuration file could not be found in /Users/paul/.taskrc
+
+Would you like a sample .taskrc created, so task can proceed? (y/n) y
+Done.
+
+[then task will show version information]
+
+ +
+
+
+

+ Copyright 2006-2008, P. Beckingham. All rights reserved. +

+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ + + +
+ +
+ + + + + + + diff --git a/html/shell.html b/html/shell.html new file mode 100644 index 000000000..a380d00f6 --- /dev/null +++ b/html/shell.html @@ -0,0 +1,127 @@ + + + + Task 1.4.0 + + + + + +
+ Home + Setup + Simple + Advanced + Shell + Configuration + Colors + Usage +
+ +
+ + + + + + + +
+ +
+
+
+
+

Interacting with the Shell

+
+

+ Certain characters are interpreted by the shell. For example, the + "&". If you wish to include the & in a task description, + you need to escape it, so the shell doesn't interpret it. For + example: +

+ +
% task add Buy bread & milk
+ +

+ This command is an error because of the &. The shell will + consider this to be two commands: +

+ +
% task add Buy bread &
+% milk
+ +

+ The shell treats the & character as an indicator that the + command is complete and should be run in the background. Then the + shell considers "milk" to be a command all by itself. Which it is + not. One way to get around this is to individually escape the & + character: +

+ +
% task add Buy bread \& milk
+ +

+ Another is to quote the entire description, with either ' or " + characters: +

+ +
% task add "Buy bread & milk"
+ +

+ Task itself interprets the commands, and it too can make mistakes. + For example, any colon : character will be interpreted by task as a + delimiter between an attribute name and its value. Currently there + is no workaround for this. +

+
+ +
+
+
+

+ Copyright 2006-2008, P. Beckingham. All rights reserved. +

+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ + + +
+ +
+ + + + + + + diff --git a/html/simple.html b/html/simple.html new file mode 100644 index 000000000..b9e6e1765 --- /dev/null +++ b/html/simple.html @@ -0,0 +1,352 @@ + + + + Task 1.4.0 + + + + + +
+ Home + Setup + Simple + Advanced + Shell + Configuration + Colors + Usage +
+ +
+ + + + + + + +
+ +
+
+
+
+

Simple Usage

+
+

+ Let us begin by adding some tasks: +

+ +
% task add Book plane ticket
+% task add Rent a tux
+% task add Reserve a rental car
+% task add Reserve a hotel room
+ +

+ That's it. You'll notice immediately that task has a very + minimalist interface. Let us take a look at those tasks: +

+ +
% task ls
+
+ID Project Pri Description
+ 1             Book plane ticket
+ 2             Rent a tux
+ 3             Reserve a rental car
+ 4             Send John a birthday card
+ +

+ The 'ls' command provides the most minimal list of tasks. Each + task has been given an id number, and you can see that there are no + projects or priorities assigned. Wait a minute - I own a tux, I + don't need to rent one. Let us delete task 2: +

+ +
% task 2 delete
+Permanently delete task? (y/n) y
+ +

+ Task wants you to confirm deletions. To remove the confirmation, + edit your .taskrc file and change the line: +

+ +
confirmation=yes
+ +

+ to have a value of "no". +

+ +

+ While the use of projects and priorities are not essential to + benefitting from task, they can be very useful when the list of + tasks grows large. Let's assign a project to these tasks: +

+ +
% task 1 project:Wedding
+% task 3 project:Wedding
+% task 4 project:Family
+% task ls
+
+  ID Project Pri Description
+   3 Family      Send John a birthday card
+   2 Wedding     Reserve a rental car
+   1 Wedding     Book plane ticket
+ +

+ Notice that the id numbers have changed. When tasks get deleted, + or have their attributes changed (project, for example), the ids are + prone to change. But the id numbers will remain valid until the + next 'ls' command is run. You should only use the ids from the most + recent 'ls' command. The ids change, because task is always trying + to use small numbers so that it is easy for you to enter them + correctly. Now that projects are assigned, we can look at just the + Wedding project tasks: +

+ +

+ Subprojects are supported. If you have a project "Wedding", you can + specify that a task is a subproject "Transport" of "Wedding" by + assigning the project "Wedding.Transport". Let's do this: +

+ +
% task 2 project:Wedding.Transport
+% task ls
+
+ID Project           Pri Description
+ 3 Family                Send John a birthday card
+ 2 Wedding.Transport     Reserve a rental car
+ 1 Wedding               Book plane ticket
+ +

+ Task matches the leftmost part of the project when searching, so + projects may be abbreviated: +

+ +
% task ls project:Wedding.Tra
+
+ID Project           Pri Description
+ 2 Wedding.Transport     Reserve a rental car
+ +

+ This way of matching projects can be used to see all tasks under + the "Wedding" project and all subprojects: +

+ +
% task ls project:Wedding
+
+ID Project           Pri Description
+ 2 Wedding.Transport     Reserve a rental car
+ 1 Wedding               Book plane ticket
+ +

+ Let's reassign 2 back to the "Wedding" project: +

+ +
% task 2 project:Wedding
+ +

+ Now that projects are assigned, we can look at just the + Wedding project tasks: +

+ +
% task ls project:Wedding
+
+ID Project Pri Description
+ 1 Wedding     Book plane ticket
+ 2 Wedding     Reserve a rental car
+ +

+ Any command arguments after the 'ls' are used for filtering the + output. We could also have requested: +

+ +
% task ls ticket plane
+
+ID Project Pri Description
+ 1 Wedding     Book plane ticket
+ +

+ Now let's prioritize. Priorities can be H, M or L (High, Medium, + Low). +

+ +
% task ls
+
+ID Project Pri Description
+ 3 Family      Send John a birthday card
+ 2 Wedding     Reserve a rental car
+ 1 Wedding     Book plane ticket
+
+% task 1 priority:H
+% task 2 prior:M
+% task 3 pr:H
+Ambiguous attribute 'pr' - could be either of project, priority
+% task 3 pri:H
+% task ls
+
+ID Project Pri Description
+ 3 Family  H   Send John a birthday card
+ 1 Wedding H   Book plane ticket
+ 2 Wedding M   Reserve a rental car
+ +

+ Notice that task supports the abbreviation of words such as + priority, project. Priority can be abbreviated to pri, but not pr, + because it is ambiguous. Now that tasks have been prioritized, you + can see that the tasks are being sorted by priority, with the + highest priority tasks at the top. +

+ +

+ These attributes can all be provided when the task is added, instead + of applying them afterwards, as shown. The following command shows + how to set all the attributes at once: +

+ +
% task add project:Wedding priority:H Book plane ticket
+ +

+ The 'ls' command provides the least information for each task. The + 'list' command provides more: +

+ +
% task list
+
+ID Project Pri Due Active Age    Description
+ 3 Family  H              4 mins Send John a birthday card
+ 1 Wedding H              5 mins Book plane ticket
+ 2 Wedding M              5 mins Reserve a rental car
+ +

+ Notice that a task can have a due date, and can be active. The + task lists are sorted by due date, then priority. Let's add due + dates: +

+ +
% task 3 due:6/25/2008
+% task 1 due:7/31/2008
+% task list
+
+ID Project Pri Due       Active Age    Description
+ 3 Family  H   6/25/2008        6 mins Send John a birthday card
+ 1 Wedding H   7/31/2008        7 mins Book plane ticket
+ 2 Wedding M                    7 mins Reserve a rental car
+ +

+ If today's date is 6/23/2008, then task 3 is due in 2 days. It will + be colored yellow if your terminal supports color. To change this + color, edit your .taskrc file, and change the line to one of these + alternatives: +

+ +
color.due=red
+color.due=on_blue
+color.due=red on_blue
+color.due=bold_red on_blue
+ +

+ Where color is one of the following: +

+ +
black
+blue
+red
+green
+cyan
+magenta
+yellow
+white
+ +

+ All colors are specified in this way. Take a look in .taskrc for + all the other color rules that you control. +

+ +

+ Tagging tasks is a good way to group them, aside from specifying a + project. To add a tag to a task: +

+ +
% task <id> +tag
+ +

+ The plus sign indicates that this is a tag. Any number of tags may + be applied to a task, and then used for searching. Tags are just + single words that are labels. +

+ +
% task list
+
+ID Project Pri Due       Active Age    Description
+ 3 Family  H   6/25/2008        8 mins Send John a birthday card
+ 1 Wedding H   7/31/2008        9 mins Book plane ticket
+ 2 Wedding M                    9 mins Reserve a rental car
+
+% task 1 +phone
+% task 2 +phone
+% task 3 +shopping
+% task 3 +john
+
+% task list +phone
+
+ID Project Pri Due       Active Age    Description
+ 1 Wedding H   7/31/2008        9 mins Book plane ticket
+ 2 Wedding M                    9 mins Reserve a rental car
+ +

+ To remove a tag from a task, use the minus sign: +

+ +
% task 3 -john
+
+ +
+
+
+

+ Copyright 2006-2008, P. Beckingham. All rights reserved. +

+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ + + +
+ +
+ + + + + + + diff --git a/html/task.html b/html/task.html index e80ed9655..f07e8ab41 100644 --- a/html/task.html +++ b/html/task.html @@ -8,13 +8,14 @@
- Setup - Simple - Advanced - Shell - Configuration - Colors - Usage + Home + Setup + Simple + Advanced + Shell + Configuration + Colors + Usage
@@ -29,24 +30,35 @@

Task Home Page

- Here you will find information on how to acquire, build, configure - and use the task program. + Here you will find information on how to acquire, build, configure, + use and become proficient with the task program.

+

+ Alternatively, watch the + task movie + which illustrates many of task's features. +

+ + +
-

Get the Source Code

+

Get the Latest Source Release + task-1.4.0.tar.gz +

+
-

- Download the - latest version - of the task source code (1.4.0, ????????????????????). -

- -

-

New in version 1.4.0

- Source: task-1.4.0.tar.gz -

- +

New in version 1.4.0 (7/10/2008)

-
-

Task Program Tutorial

-
-

- This guide shows how to quickly set up the task program, and become - proficient with it. -

- -

- Alternatively, watch the - task movie - which illustrates many of task's features. -

-
- -
-

Quick Setup

-
-

- Build the task program according to the directions in the INSTALL - file. This transcript illustrates a typical installation: -

- -
% ls
-task-1.3.0.tar.gz
-% gunzip task-1.3.0.tar.gz
-% tar xf task-1.3.0.tar
-% cd task-1.3.0
-% ./configure
-...
-% make
-...
-% make install     # (may require sudo, depending on --prefix)
- -

- (For those of you using Cygwin, - you need to make sure you have the "g++" and "make" packages - available, which are found in the "devel" category.) -

- -

- You need to make sure that the installed task program is in your - PATH environment variable. -

- -

- Task reads a configuration file - called .taskrc in your home - directory - and stores pending and completed tasks in in a directory - specified in the configuration file. -

- -

- The simplest way to get a configuration file and task directory is - to run task. On startup, task will check to see if it can find the - configuration file and task directory, and if not found, will ask - you whether it may create both. -

- -
% task version
-
-A configuration file could not be found in /Users/paul/.taskrc
-
-Would you like a sample .taskrc created, so task can proceed? (y/n) y
-Done.
-
-[then task will show version information]
-
- -
-

Simple Usage

-
-

- Let us begin by adding some tasks: -

- -
% task add Book plane ticket
-% task add Rent a tux
-% task add Reserve a rental car
-% task add Reserve a hotel room
- -

- That's it. You'll notice immediately that task has a very - minimalist interface. Let us take a look at those tasks: -

- -
% task ls
-
-ID Project Pri Description
- 1             Book plane ticket
- 2             Rent a tux
- 3             Reserve a rental car
- 4             Send John a birthday card
- -

- The 'ls' command provides the most minimal list of tasks. Each - task has been given an id number, and you can see that there are no - projects or priorities assigned. Wait a minute - I own a tux, I - don't need to rent one. Let us delete task 2: -

- -
% task 2 delete
-Permanently delete task? (y/n) y
- -

- Task wants you to confirm deletions. To remove the confirmation, - edit your .taskrc file and change the line: -

- -
confirmation=yes
- -

- to have a value of "no". -

- -

- While the use of projects and priorities are not essential to - benefitting from task, they can be very useful when the list of - tasks grows large. Let's assign a project to these tasks: -

- -
% task 1 project:Wedding
-% task 3 project:Wedding
-% task 4 project:Family
-% task ls
-
-  ID Project Pri Description
-   3 Family      Send John a birthday card
-   2 Wedding     Reserve a rental car
-   1 Wedding     Book plane ticket
- -

- Notice that the id numbers have changed. When tasks get deleted, - or have their attributes changed (project, for example), the ids are - prone to change. But the id numbers will remain valid until the - next 'ls' command is run. You should only use the ids from the most - recent 'ls' command. The ids change, because task is always trying - to use small numbers so that it is easy for you to enter them - correctly. Now that projects are assigned, we can look at just the - Wedding project tasks: -

- -

- Subprojects are supported. If you have a project "Wedding", you can - specify that a task is a subproject "Transport" of "Wedding" by - assigning the project "Wedding.Transport". Let's do this: -

- -
% task 2 project:Wedding.Transport
-% task ls
-
-ID Project           Pri Description
- 3 Family                Send John a birthday card
- 2 Wedding.Transport     Reserve a rental car
- 1 Wedding               Book plane ticket
- -

- Task matches the leftmost part of the project when searching, so - projects may be abbreviated: -

- -
% task ls project:Wedding.Tra
-
-ID Project           Pri Description
- 2 Wedding.Transport     Reserve a rental car
- -

- This way of matching projects can be used to see all tasks under - the "Wedding" project and all subprojects: -

- -
% task ls project:Wedding
-
-ID Project           Pri Description
- 2 Wedding.Transport     Reserve a rental car
- 1 Wedding               Book plane ticket
- -

- Let's reassign 2 back to the "Wedding" project: -

- -
% task 2 project:Wedding
- -

- Now that projects are assigned, we can look at just the - Wedding project tasks: -

- -
% task ls project:Wedding
-
-ID Project Pri Description
- 1 Wedding     Book plane ticket
- 2 Wedding     Reserve a rental car
- -

- Any command arguments after the 'ls' are used for filtering the - output. We could also have requested: -

- -
% task ls ticket plane
-
-ID Project Pri Description
- 1 Wedding     Book plane ticket
- -

- Now let's prioritize. Priorities can be H, M or L (High, Medium, - Low). -

- -
% task ls
-
-ID Project Pri Description
- 3 Family      Send John a birthday card
- 2 Wedding     Reserve a rental car
- 1 Wedding     Book plane ticket
-
-% task 1 priority:H
-% task 2 prior:M
-% task 3 pr:H
-Ambiguous attribute 'pr' - could be either of project, priority
-% task 3 pri:H
-% task ls
-
-ID Project Pri Description
- 3 Family  H   Send John a birthday card
- 1 Wedding H   Book plane ticket
- 2 Wedding M   Reserve a rental car
- -

- Notice that task supports the abbreviation of words such as - priority, project. Priority can be abbreviated to pri, but not pr, - because it is ambiguous. Now that tasks have been prioritized, you - can see that the tasks are being sorted by priority, with the - highest priority tasks at the top. -

- -

- These attributes can all be provided when the task is added, instead - of applying them afterwards, as shown. The following command shows - how to set all the attributes at once: -

- -
% task add project:Wedding priority:H Book plane ticket
- -

- The 'ls' command provides the least information for each task. The - 'list' command provides more: -

- -
% task list
-
-ID Project Pri Due Active Age    Description
- 3 Family  H              4 mins Send John a birthday card
- 1 Wedding H              5 mins Book plane ticket
- 2 Wedding M              5 mins Reserve a rental car
- -

- Notice that a task can have a due date, and can be active. The - task lists are sorted by due date, then priority. Let's add due - dates: -

- -
% task 3 due:6/25/2008
-% task 1 due:7/31/2008
-% task list
-
-ID Project Pri Due       Active Age    Description
- 3 Family  H   6/25/2008        6 mins Send John a birthday card
- 1 Wedding H   7/31/2008        7 mins Book plane ticket
- 2 Wedding M                    7 mins Reserve a rental car
- -

- If today's date is 6/23/2008, then task 3 is due in 2 days. It will - be colored yellow if your terminal supports color. To change this - color, edit your .taskrc file, and change the line to one of these - alternatives: -

- -
color.due=red
-color.due=on_blue
-color.due=red on_blue
-color.due=bold_red on_blue
- -

- Where color is one of the following: -

- -
black
-blue
-red
-green
-cyan
-magenta
-yellow
-white
- -

- All colors are specified in this way. Take a look in .taskrc for - all the other color rules that you control. -

- -

- Tagging tasks is a good way to group them, aside from specifying a - project. To add a tag to a task: -

- -
% task <id> +tag
- -

- The plus sign indicates that this is a tag. Any number of tags may - be applied to a task, and then used for searching. Tags are just - single words that are labels. -

- -
% task list
-
-ID Project Pri Due       Active Age    Description
- 3 Family  H   6/25/2008        8 mins Send John a birthday card
- 1 Wedding H   7/31/2008        9 mins Book plane ticket
- 2 Wedding M                    9 mins Reserve a rental car
-
-% task 1 +phone
-% task 2 +phone
-% task 3 +shopping
-% task 3 +john
-
-% task list +phone
-
-ID Project Pri Due       Active Age    Description
- 1 Wedding H   7/31/2008        9 mins Book plane ticket
- 2 Wedding M                    9 mins Reserve a rental car
- -

- To remove a tag from a task, use the minus sign: -

- -
% task 3 -john
-
- -
-

Advanced Usage

-
-

- Here are the other commands, in some detail. -

- - % task -

- With no arguments, this command will generate a help message that - lists all these commands. -

- - % task projects -

- This report generates a list of all the different projects that you - are using along with a count of the pending tasks for each project. - For example: -

- -
% task projects
-
-Project   Tasks
-Errands       1
-Birthdays     3
-Car           2
- - - % task summary -

- This report lists all the projects and a summary of their task - status. -

- -
% task summary
-
-Project  Remaining Avg age Complete 0%                        100%
-Errands          1  3 days      50% XXXXXXXXXXXXXXXX
-Birthdays        3  7 mths       0%
-Car              2   2 wks      25% XXXXXXXXX
- -

- This shows the project, the remaining tasks, the average age of each - task, the percentage completed (remaining vs total) and a bar - indicating that percentage. -

- - % task delete <id> -

- There are two ways of getting rid of tasks - mark them as done, or - delete them. -

- - % task undelete <id> -

- If a task was inadvertently deleted, it may be undeleted, provided that no - reports have been run since the deletion. Ideally, the undelete command is - run immediately after the erroneous delete command. -

- -

- If a report is run (such as "task list"), then task performs a garbage - collection that removes deleted tasks, and the task cannot be undeleted. -

- - % task done <id> -

- This is how a task is marked as done. -

- - % task list ... -

- The list report will show the active status, and age of the task in - addition to the columns that "task ls" shows. It is just a more - detailed list. -

- - % task long ... -

- The long report will show the entry date and start date of a task, - in addition to the columns that the "task list" shows. -

- - % task start <id> -

- This marks a task as started (and therefore active), which is shown - in the "list" report: -

- -
% task list
-
-ID Project Pri Due Active Age     Description
-12 Errand  L                      Remember to deposit check
-...
-
-% task start 12
-% task list
-
-ID Project Pri Due Active Age     Description
-12 Errand  L       *      3 days  Remember to deposit check
-...
- - % task active -

- Shows all active tasks, that is, the tasks for which the - "task start ..." command was run, as shown above. -

- - % task overdue -

- Simply lists all the task that have a due date that is past, in - "list" format. -

- - % task history -

- This report shows you an overview of how many tasks were added, - completed and deleted, by month. It looks like this: -

- -
% task history
-
-Year Month     Added Completed Deleted Net
-2008 March        21        16       0   5
-     April        13        11       1   1
-     May           8        14       3  -9
- -

- This shows that for the three months that task has been used, March - and April saw the total number of tasks increase, but in May the - number decreased as more task were completed than added. -

- - % task calendar -

- This report shows a calendar of the current month, with any task - due or overdue dates marked on it. Color is used to mark these - dates. -

- -
% task calendar
-
-May 2008
-
-Su Mo Tu We Th Fr Sa
-             1  2  3
- 4  5  6  7  8  9 10
-11 12 13 14 15 16 17
-18 19 20 21 22 23 24
-25 26 27 28 29 30 31
- - % task next -

- This report shows you the tasks you should probable work on next. - Task will scan all the tasks and will pick two task from each - project to report. Those two tasks will be chosen in order of - overdue, due soon, High, Medium or Low priority. Essentially task - chooses the two most important task for each project and displays - them ordered in the usual way. -

- -

- If you wish to show a different number of tasks per project, modify - the entry in .taskrc: -

- -
next=2
- -

- To be your preferred number. -

- - % task <id> ... -

- When a task id is specified, everything applies to just that task. - Suppose we needed to correct a task: -

- -
% task ls
-
-ID Project Pri Description
-12 Errand  L   Remember to deposit chekc
-...
-
-% task 12 Remember to deposit bonus check
-% task ls
-
-ID Project Pri Description
-12 Errand  L   Remember to deposit bonus check
-...
- - % task oldest -

- Lists the oldest tasks. Shows 10 tasks by default, but can be - set via the "oldest" configuration variable. -

- - % task newest -

- Lists the newest tasks. Shows 10 tasks by default, but can be - set via the "newest" configuration variable. -

- - % task /from/to/ -

- If a task has been entered with a typo, it can be easily corrected - by this command. For example: -

- -
% task ls
-
-ID Project Pri Description
-12 Errand  L   Remember to deposit chekc
-...
-
-% task 12 /chekc/check/
-% task ls
-
-ID Project Pri Description
-12 Errand  L   Remember to deposit check
-...
- -

- This command makes single corrections to a task description. -

- - % task tags -

- This command will generate a list of all the tags that are currently - in use by task. -

- - % task info <id> -

- This command gives detailed information about a single task. It - will tell you when the task was entered, when started, its status, - tags, and more. -

- - % task stats -

- This command generates a list of statistics about your task usage, - such as the average time it takes to complete a task, how often new - tasks are added, and more. -

- - % task completed -

- This generates a list of all tasks that have been completed, sorted - by their completion date. -

- - % task export <file name> -

- This instructs task to write out a CSV format dump of all tasks, - both pending and completed, to the file specified. This is how you - might view tasks in a spreadsheet. -

- - % task colors -

- This command displays all the colors that task supports. -

- - % task usage -

- If logging has been enabled by the "command.logging=on" directive - in the .taskrc file, then task will record every command that is - run. When this command is run, task will display a count of how - many times each command was used. -

- -

- This command is for the purpose of seeing whether command are - actually used. -

- - % task version -

- This can be used to show the version number of task, and to display - all the current configuration settings, as read from the .taskrc - file. -

- - % task rc:<file> ... -

- By specifying rc:, it is possible to force task to use an alternate - .taskrc file. By default, task looks in your home directory, so these two - commands are essentially identical: -

- -
% task list
-% task rc:~/.taskrc list
- -

- What this override allows, is the possibility of keeping your task lists - completely separate, say for work and home. This can be accomplished with - the following commands (valid for bash): -

- -
% alias htask="task rc:/home/me/.taskrc_home"
-% alias wtask="task rc:/home/me/.taskrc_work"
-% htask list
-...
-% wtask list
-...
- - % task <id> fg:... bg:... -

- Not strictly a command, the setting of the fg and bg (foreground - and background) attributes determines the colors used to represent - the task. Valid foreground colors are: -

- -
         bold          underline          bold_underline
-black    bold_black    underline_black    bold_underline_black
-red      bold_red      underline_red      bold_underline_red
-green    bold_green    underline_green    bold_underline_green
-yellow   bold_yellow   underline_yellow   bold_underline_yellow
-blue     bold_blue     underline_blue     bold_underline_blue
-magenta  bold_magenta  underline_magenta  bold_underline_magenta
-cyan     bold_cyan     underline_cyan     bold_underline_cyan
-white    bold_white    underline_white    bold_underline_white
- -

- Note that these are not just colors, but combinations of colors and - attributes. Valid background colors are: -

- -
on_black    on_bright_black
-on_red      on_bright_red
-on_green    on_bright_green
-on_yellow   on_bright_yellow
-on_blue     on_bright_blue
-on_magenta  on_bright_magenta
-on_cyan     on_bright_cyan
-on_white    on_bright_white
- -

- Note also that this capability does depend on whether your terminal - program can display these colors. -

-
- -
-

Interacting with the Shell

-
-

- Certain characters are interpreted by the shell. For example, the - "&". If you wish to include the & in a task description, - you need to escape it, so the shell doesn't interpret it. For - example: -

- -
% task add Buy bread & milk
- -

- This command is an error because of the &. The shell will - consider this to be two commands: -

- -
% task add Buy bread &
-% milk
- -

- The shell treats the & character as an indicator that the - command is complete and should be run in the background. Then the - shell considers "milk" to be a command all by itself. Which it is - not. One way to get around this is to individually escape the & - character: -

- -
% task add Buy bread \& milk
- -

- Another is to quote the entire description, with either ' or " - characters: -

- -
% task add "Buy bread & milk"
- -

- Task itself interprets the commands, and it too can make mistakes. - For example, any colon : character will be interpreted by task as a - delimiter between an attribute name and its value. Currently there - is no workaround for this. -

-
- -
-

Configuring Task

-
-

- Task recognizes several entries in the .taskrc file for - configuration purposes. Valid entries are of the form: -

- -
name=value
- -

- Valid examples are: -

- -
data.location
-
- This is a path to the directory containing all the task files. - By default, it is set up to be ~/.task, for example: - /Users/paul/.task -
- -
command.logging
-
- May be "on" or "off", defaulting to "off". This determines - whether task records commands. This is not generally useful, - except while developing task. -
- -
confirmation
-
- May be "yes" or "no", and determines whether task will ask for - confirmation before deleting a task. -
- -
nag
-
- This may be a string of text, or blank. It is used as a prompt - when a task is completed that is not considered high priority. - The "task next" command lists important tasks, and completing - one of those does not generate this nagging. Default value is: - - Note: try to stick to high priority tasks. See "task next". -
- -
next
-
- Is a number, defaulting to 2, which is the number of tasks for - each project that are shown in the "task next" command. -
- -
curses
-
- Determines whether task uses ncurses to establish the size of - the window you are using, for text wrapping. -
- -
blanklines
-
- May be "on" or "off". Prevents the display of unnecessary blank - lines so that task makes better use screen real estate on small- - screened devices. -
- -
dateformat
-
-

- This is a string of characters that define how task formats dates. - The default value is: -

- -
m/d/Y
- -

- which means dates look like: -

- -
6/7/2008
- -

- The string should contain the characters: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CharacterMeaningExample
mminimal-digit month1, 12
dminimal-digit day1, 30
ytwo-digit year08
Mtwo-digit month01, 12
Dtwo-digit day01, 30
Yfour-digit year2008
-

- -

- The string may also contain other characters to act as spacers, - or formatting. Other values could include (but are not limited to): -

- -

- - - - - - - - - - - - - - - - -
dateformat - How it looks
d/m/Y7/6/2008
YMD20080607
m-d-y6-7-08
-

-
- -
showage
-
- May be "yes" or "no". Determines whether the "Age" - column appears on the "list" and "next" reports. -
- -
monthsperline
-
- Determines how many months the "task calendar" command - renders across the screen. Defaults to 1. -
- -
oldest
-
- Determines how many tasks the "task oldest" command displays. - Defaults to 10. -
- -
newest
-
- Determines how many tasks the "task newest" command displays. - Defaults to 10. -
- -
defaultwidth
-
- The width of tables used when ncurses support is not available. - Defaults to 80. -
- -
color
-
- May be "on" or "off". Determines whether task uses color. -
- -
- color.overdue
- color.due
- color.pri.H
- color.pri.M
- color.pri.L
- color.pri.none
- color.active
- color.tagged -
-
- These are the coloration rules. They correspond to a particular - attribute of a task, such as it being due, or being active, and - specifies the automatic coloring of that task. The value may - be one optional foreground color (see below) and one optional - background color. For example, the value may be: -
- bold_red on_bright_yellow -
- -
color.tag.X
-
- Colors any task that has the tag X. -
- -
color.project.X
-
- Colors any task assigned to project X. -
- -
color.keyword.X
-
- Colors any task where the description contains X. -
-
- -
-

Colors

-
-

- Task supports color in several places. In cases where you may - specify a color, a foreground, a background, or a combination - foreground and background color may be used. The following are - valid foreground colors: -

- -
         bold          underline          bold_underline
-black    bold_black    underline_black    bold_underline_black
-red      bold_red      underline_red      bold_underline_red
-green    bold_green    underline_green    bold_underline_green
-yellow   bold_yellow   underline_yellow   bold_underline_yellow
-blue     bold_blue     underline_blue     bold_underline_blue
-magenta  bold_magenta  underline_magenta  bold_underline_magenta
-cyan     bold_cyan     underline_cyan     bold_underline_cyan
-white    bold_white    underline_white    bold_underline_white
- -

- and the following are valid background colors: -

- -
on_black    on_bright_black
-on_red      on_bright_red
-on_green    on_bright_green
-on_yellow   on_bright_yellow
-on_blue     on_bright_blue
-on_magenta  on_bright_magenta
-on_cyan     on_bright_cyan
-on_white    on_bright_white
-
- -
-

Command Usage

-
-
task add [tags] [attrs] desc...
-       task list [tags] [attrs] desc...
-       task long [tags] [attrs] desc...
-       task ls [tags] [attrs] desc...
-       task completed [tags] [attrs] desc...
-       task ID [tags] [attrs] [desc...]
-       task ID /from/to/
-       task delete ID
-       task undelete ID
-       task info ID
-       task start ID
-       task done ID
-       task projects
-       task tags
-       task summary
-       task history
-       task ghistory
-       task next
-       task calendar
-       task active
-       task overdue
-       task oldest
-       task newest
-       task stats
-       task usage
-       task export
-       task color
-       task version
-
-ID is the numeric identifier displayed by the 'task list' command
-
-Tags are arbitrary words, any quantity:
-  +tag               The + means add the tag
-  -tag               The - means remove the tag
-
-Attributes are:
-  project:           Project name
-  priority:          Priority
-  due:               Due date
-  fg:                Foreground color
-  bg:                Background color
-
-Any command or attribute name may be abbreviated if still unique:
-  task list project:Home
-  task li       pro:Home
-
-Some task descriptions need to be escaped because of the shell:
-  task add "quoted ' quote"
-  task add escaped \' quote
-
-Many characters have special meaning to the shell, including:
-  $ ! ' " ( ) ; \ ` * ? { } [ ] < > | & % # ~
-
-

diff --git a/html/usage.html b/html/usage.html new file mode 100644 index 000000000..1fa4f816e --- /dev/null +++ b/html/usage.html @@ -0,0 +1,139 @@ + + + + Task 1.4.0 + + + + + + + +
+ + + + + + + +
+ + +
+
+
+
+
+
+
+
+
+
+ + + +
+ +
+ + + + + + +