¶ Introduction
I have recently started using the org-edna package to manage my classes. This is a small showcase of how I use it.
¶ The Status Quo
For now, I have 6 classes, 3 on Saturday and 3 on Sunday. Previously, I used to have two repeating tasks for the classes like so:
* Class 1
SCHEDULED: <2022-03-12 Sat +1w>
* Class 2
SCHEDULED: <2022-03-13 Sun +1w>
¶ The Problem
I revise the following after each class:
- Class Notes
- Textbook
- Module (Think of it as a practice book)
I wanted to have a system to automatically remind me of these after every class, which is where org-edna
comes in.
¶ The Solution
This is a simplified version of the setup I use now:
* TODO Class
SCHEDULED: <2022-03-12 Sat +1w>
:PROPERTIES:
:TRIGGER: children deadline!("Sun")
:END:
** Class Notes
:PROPERTIES:
:TRIGGER: self deadline!(rm) todo!("")
:END:
** Textbook
:PROPERTIES:
:TRIGGER: self deadline!(rm) todo!("")
:END:
** Module
:PROPERTIES:
:TRIGGER: self deadline!(rm) todo!("")
:END:
Now, everytime I mark the Class
heading as DONE
, all the child headings get a deadline of the next Sunday attached to them. when they are marked as DONE
, their DEADLINE
and TODO
state is removed for cleanliness.
For this to work, however, you need to add this bit of code to your config:
(setq org-edna-from-todo-states 'not-done)
By default, org-edna
will not run the TRIGGER
if there is no TODO
state. For more information, consult the Org Edna Manual.
Alternatively, add todo!(TODO)
to the Class
heading like so:
:TRIGGER: children deadline!("Sun") todo!(TODO)