如何设置org-mode中各个任务的信赖关系,使用org-edna插件
缘起
任务设置了多了之后,如果在一开始把一个wbs中的所有细节,或部分细节定义好的话,那么在agenda中会出现很多的任务。我的想法是实现在前置任务完成后,后置任务在在agenda中出现。
实现的方式是org-edna,这个插件是很早就知道,以前也装过,但是文档初读没读懂,这次狠下心读了下。
说明
https://www.nongnu.org/org-edna-el/
属性
信赖关系通过设置属性来实现
- :BLOCKERS: 列出的条件任务不为DONE时,本个任务就是block状态,就是无法设置成DONE
- :TRIGGER: 当所在任务成为DONE时,要执行的动作
举例
* TODO Put clothes in washer
SCHEDULED: <2017-04-08 Sat 09:00>
:PROPERTIES:
:TRIGGER: next-sibling scheduled!("++1h")
:END:
* TODO Put clothes in dryer
:PROPERTIES:
:TRIGGER: next-sibling scheduled!("++1h")
:BLOCKER: previous-sibling
:END:
当第一个任务变成DONE时,将下一个任务schedule时间加1小时。 第二个任务在第一个任务不变成DONE之前,都是block状态
finders
只说目前用到的,更多的可以看官方文档
- todo!(NEW-STATE) 把任务设置成指定状态
* TODO Heading 1 :PROPERTIES: :TRIGGER: next-sibling todo!(TODO) :END: * Heading 2
这种设置可以让heading2在heading1完成之前,不在org-agenda中显示出来。 当heading1完成后,将heading2设置为TODO