NOTE: This is an update to a previous post.
Okay, it's been a while since the last post on this topic. Since then, I've switched from using the original AsciiDoc utility to Asciidoctor. This along with some minor tweaking has changed how my task lists look.
Here is the basic structure:
= My Task List
[NOTE]
========
.Category Tags
[horizontal]
`code`::
Code related tasks.
`doc`::
Documentation related tasks.
========
== Current Tasks
.Updated 2017-01-06
********
NOTE: Arranged by priority.
- [ ] `2017-01-05`: [[Xbe421]] `code` Write code.
- [ ] `2017-01-05`: [[Xf7125]] `code` `doc` Write unit tests and document them.
********
== Planned Tasks
- [ ] `2017-01-05`: [[Xf33d9]] `doc` Write user manual.
* `2017-01-07`: [[Xf33d9-1]] Manual started; first draft ready for review.
== Finshed Tasks
- [x] `2017-01-05`: [[Xcfd25]] `doc` Write design docs.
* `2017-01-07`: [[Xcfd25-1]] Docs started, first draft ready.
* `2017-01-10`: [[Xcfd25-2]] Design docs have been written, reviewed, and baselined.
First, let's review the task item structure:
- Each task is a list item using the following format:
<DATE>: <UNIQUE-ID> <[TAGS...]> <TASK-DESCRIPTION>
. - The DATE uses YYYY-MM-DD format and is formatted inside backticks which render to HTML
<code>
tags. - The UNIQUE-ID is used as an anchor to each task; I use the format
X<5-char-hex>
but any unique text will work. The UNIQUE-ID is formatted inside double square brackets which renders to HTML anchors. - The category TAGS are optional and are formatted inside backticks which render to HTML
<code>
tags. - The TASK-DESCRIPTION is just the task text.
- I like to use checklist items since it fits the theme well.
Task item follow-ups use a similar format with the following exceptions:
- The category TAGS can be omitted.
- The UNIQUE-ID should be the same as the main item's with an integer incremented for each new follow-up.
The current tasks section uses a sidebar block. The block title shows when the tasks were last prioritized.
Well, that's about it. No need to overcomplicate things, right? Here's an example of a rendered task list.