我希望能够普遍使用重复条目,但也能够跳过特定日期。例子:
** TODO swim practice
SCHEDULED <2013-12-18 17:30-18:30 +1w>
但是,我提前知道 2013-12-25 不会有练习。但是,当我将项目标记为完成时,它将重新安排在 2013 年 12 月 25 日。我喜欢像这样简单的属性:
** TODO swim practice
SCHEDULED <2013-12-18 17:30-18:30 +1w>
:PROPERTIES:
:EXCEPTION_SCHEDULED: <2013-12-25>
:EXCEPTION_SCHEDULED: <2014-01-01>
:END:
但是,我没有看到任何简单的方法来实现这一点(除了 sexp's ......这是痛苦和丑陋的)。我看着写我自己的钩子(Hook),但是状态改变的钩子(Hook)是在状态改变之后调用的,但是在新的日期被重复之前。我考虑在更新后捕获它并查看它是否匹配异常,然后再次调用重新调度路由。
有什么我想念的吗?
最佳答案
函数org-class
可能有帮助。它使您可以设置跳过某些周或节假日的每周事件。此 TODO 条目将在 2013 年 12 月 18 日和 2014 年 12 月 31 日之间的每个星期三安排类(class),第 1 周和第 52 周除外:
** TODO swim practice
SCHEDULED: <%%(org-class 2013 12 18 2014 12 31 1 3 1 52) 17:30-18:30>
你也可以做
** TODO swim practice
SCHEDULED: <%%(org-class 2013 12 18 2014 12 31 1 3 'holidays) 17:30-18:30>
跳过 Emacs 知道是假期的任何一天,或者给出像 "New Year's Day"这样的字符串来只跳过特定的假期。
关于组织模式重复 TODO 跳过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20536650/