AsciiDoc Task & Daily Log System
A comprehensive task management and daily logging system built entirely in AsciiDoc using partials, attributes, and variable interpolation.
Category |
IDEAS |
Status |
Idea |
Priority |
High - dogfooding opportunity |
Premise
Build the ultimate task and daily log system using AsciiDoc’s native features:
-
Partials for reusable task definitions, recurring items, templates
-
Attributes for status tracking, dates, priorities, tags
-
Variables for dynamic content, counters, computed values
-
Includes with tag filtering for selective rendering
Dogfood the documentation system itself - if AsciiDoc can document infrastructure, it can manage tasks.
Goals
-
Single source of truth for all tasks (partials)
-
Daily logs auto-include relevant tasks via tags
-
Status tracking via attributes (
{task-status},{due-date}) -
Progress visualization using attribute-driven tables
-
Cross-referenced task dependencies
-
Recurring tasks with date math
-
Review views: by project, by priority, by due date
Core Concepts
Task Definition (Partial)
// tag::definition[]
:task-id: TASK-2026-001
:task-title: Complete VyOS HA Deployment
:task-status: in-progress
:task-priority: P0
:task-project: infrastructure
:task-due: 2026-04-01
:task-created: 2026-03-01
:task-tags: networking, ha, vyos
[#{task-id}]
=== {task-title}
[cols="1,1,1,1"]
|===
|Status |Priority |Due |Project
|{task-status} |{task-priority} |{task-due} |{task-project}
|===
* [ ] Phase 16: VRRP configuration
* [ ] Phase 17: BGP peering with k3s
* [x] Phase 1-15: Base deployment
// end::definition[]
// tag::summary[]
|{task-id} |{task-title} |{task-status} |{task-priority} |{task-due}
// end::summary[]
Daily Log Integration
= WRKLOG-2026-03-27
== Today's Focus
// Pull in specific task
include::partial$tasks/task-vyos-ha.adoc[tag=definition]
== All P0 Tasks
[cols="1,2,1,1,1", options="header"]
|===
|ID |Title |Status |Priority |Due
include::partial$tasks/task-vyos-ha.adoc[tag=summary]
include::partial$tasks/task-k3s-deploy.adoc[tag=summary]
include::partial$tasks/task-wazuh.adoc[tag=summary]
|===
Dynamic Status Attributes
// Status definitions with icons
:status-todo: [ ] TODO
:status-in-progress: [~] IN PROGRESS
:status-blocked: [!] BLOCKED
:status-done: [x] DONE
// Priority colors (for HTML output)
:p0-style: color: red; font-weight: bold
:p1-style: color: orange
:p2-style: color: blue
Computed Views
= Tasks by Priority
== P0 - Critical
include::partial$views/p0-tasks.adoc[]
== P1 - High
include::partial$views/p1-tasks.adoc[]
== P2 - Normal
include::partial$views/p2-tasks.adoc[]
Architecture
partials/
├── tasks/ # Individual task definitions
│ ├── task-vyos-ha.adoc
│ ├── task-k3s-deploy.adoc
│ └── task-wazuh.adoc
├── views/ # Computed views (by priority, project, etc.)
│ ├── p0-tasks.adoc
│ ├── p1-tasks.adoc
│ └── by-project-infra.adoc
├── templates/ # Task templates
│ ├── task-template.adoc
│ └── daily-log-template.adoc
└── task-status-defs.adoc # Shared attribute definitions
pages/
├── trackers/
│ ├── tasks-master.adoc # All tasks view
│ ├── tasks-by-priority.adoc
│ ├── tasks-by-project.adoc
│ └── tasks-by-due-date.adoc
└── 2026/03/
└── WRKLOG-*.adoc # Daily logs include relevant tasks
Advantages Over External Tools
| Feature | AsciiDoc System | Todoist/Notion/etc. |
|---|---|---|
Version control |
Git native |
Export/sync required |
Cross-references |
xref native |
Limited linking |
Documentation integration |
Same system |
Separate tool |
Offline-first |
Yes |
Varies |
Custom views |
Unlimited |
Template-limited |
Audit trail |
Git history |
Limited |
Export formats |
PDF, HTML, DOCX |
Limited |
Implementation Phases
-
Phase 1: Task partial format and includes
-
Phase 2: Daily log integration with tag filtering
-
Phase 3: Computed views (priority, project, due date)
-
Phase 4: Makefile targets for task operations
-
Phase 5: Validation scripts (overdue detection, orphan tasks)
Inspiration
-
Current worklog system (already uses partials)
-
Org-mode task management
-
Plain-text accounting (ledger-cli philosophy)
-
Documentation-as-code
Notes
Originated: 2026-03-26 (Claude Code session)
This is essentially "dogfooding" - using the documentation system to manage the documentation work itself.
Key insight: If AsciiDoc partials + attributes can document complex infrastructure, they can track tasks. The include:: with tag= filtering is the secret weapon.