TaskPaper is a unique project- and task-management program that aims for the sweet spots between basic and complex and between structure and flexibility. Taskpaper+ is an intuitive browser-based task and to-do list manager which is primarily inspired from widely used HogBay’s TaskPaper – to-do manager for Mac/iPhone. The application developer puts all the features which users like in TaskPaper in addition with a long list of tasks management related options to let users streamline tasks and schedules in best possible way. TaskPaper — A plain text to-do list that’s surprisingly adept (MacOS) Blogging Platforms and Tools. Blot — A blogging platform with no interface. It turns a folder into a blog. It's just you and your text editor; Write.as — A minimalist blogging platform that's flexible and secure.
A keyboard group for working with TaskPaper lists.
- New Item: inserts tab-hyphen-space; useful when you’ve just added a new project.
- Mark Done: adds a @done tag with date to the task where the cursor is or all the selected tasks.
- Waiting: adds a @waiting tag to the task where the cursor is or all the selected tasks.
- Archive: moves all @done tasks to the Archive section at the bottom; it’s meant to mimic the archiving action in the Mac TaskPaper app.
- Rearrange: allow user to rearrange projects through the Drafts block move feature by adding blank lines between projects.
- Upload: saves current draft to a Dropbox file named yyyy-mm.taskpaper; the action can be modified to change folder where it’s saved.
- Upload As: saves current draft to a Dropbox file with name provided by user; the action can be modified to change folder where it’s saved.
- Reload: replaces current draft with contents of Dropbox file named yyyy-mm.taskpaper; the action can be modified to change folder where it comes from.
The current year and month are used in the Upload and Reload file names.
These are somewhat idiosyncratic actions, tuned to how I use TaskPaper. You’ll want to tweak them to fit your needs.
Details of how the actions work can be found here:
Included Actions
- New Item
- Mark Waiting
- Upload Dated
- Upload As…
Starting in OmniFocus 2.7 for Mac and 2.14 for iOS, OmniFocus includes support for copying items to the pasteboard as TaskPaper text. You can also paste TaskPaper text into the OmniFocus outline.
Copying in the TaskPaper format
In the Mac app, this is done using the Copy as TaskPaper option found in the Edit menu or contextual menu.
On iOS, you just use the regular Copy option found in the contextual menu or Share sheet. You’ll then get TaskPaper text when pasting somewhere that only accepts plain text.
Taskpaper Emacs
What is TaskPaper text? Quoting from the TaskPaper Users Guide:
TaskPaper’s file format is fairly simple. Here’s how TaskPaper reads a file:
Files are expected to use the UTF-8 encoding and use ‘n’ to separate lines.
A task is a line that begins with a hyphen followed by a space (‘- ‘) which can optionally be prefixed (i.e indented) with tabs or spaces. A task can have zero or more tags anywhere on the line (not just trailing at the end).
Vim Taskpaper
A project is a line that isn’t a task and ends with a colon (‘:’), or a colon (‘:n’) followed by a newline. Tags can exist after the colon, but if any non-tag text is present, then it won’t be recognized as a project.
A note is any line that doesn’t match the task or project rules.
Indentation level (with tabs, not spaces) defines ownership. For instance, if you indent one task under another task, then it is considered a subtask. Tasks and notes own all objects that are indented underneath them. Empty lines are ignored when calculating ownership.
A tag has the form “@tag”, i.e. it starts with an “at” character (“@”), followed by a run of non-whitespace characters. A tag can optionally have a value assigned to it. The value syntax immediately follows the tag word (no whitespace between) and is enclosed by parentheses: ‘(‘ and ‘)’. The value text inside can have whitespace, but no newlines. Here is an example of a tag with a value: @tag(tag’s value)
OmniFocus imports and exports the various non-note metadata attached to an item as TaskPaper tags. We currently support the following tags (listed alphabetically):
@autodone(bool)
- whether the item automatically completes itself when its children are complete (true
) or not (false
). Named to match@done
.@context(string)
- the context to assign
With OmniFocus 3, @context(string)
is replaced by @tags(stringA, stringB, etc.)
to support adding multiple OmniFocus tags to an item, e.g. @tags(work, online, quick wins)
.
Taskpaper Stylesheets
@defer(date)
- defer untildate
, e.g.2016-04-19 5pm
ornext Thursday -3d
@done(date)
- completed ondate
@due(date)
- due ondate
@estimate(time span)
- time estimate, e.g.2h
for 2 hours or3w
for 3 weeks.@flagged
- present when an item is flagged@parallel(bool)
- whether children are parallel(true)
or sequential(false)
@repeat-method(method)
- the repeat method:fixed
,start-after-completion
, ordue-after-completion
@repeat-rule(rule)
- an ICS repeat rule (see RFC244557), e.g.FREQ=WEEKLY;INTERVAL=1
If you’re trying to figure out how to format TaskPaper text to paste into OmniFocus, the best thing to do is create your item in OmniFocus, then copy and paste it into a text editor. You’ll see every tag attached to the item and the correct formatting.