2013-12-12 50 views
3

我希望能够一般地使用重复的条目,但也有能力跳过特定的日子。例如:组织模式重复TODO跳过

** 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的......这是痛苦的和丑陋的)。我着眼于编写自己的钩子,但状态更改的挂钩在状态更改后调用,但在新的日期重复之前调用。我考虑在更新后捕获它并查看它是否匹配异常,然后再次调用重新调度路由。

我错过了什么?

回答

1

功能org-class可能会有所帮助。它可以让你设置每周事件的时间表和某些周或节假日跳过。这TODO条目将安排2013年12月18日和除1周2014-12-31 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知道是假期或给像“元旦”字符串跳过只有特定的假期。