【263】44周 用 OmniFocus 建立重复项目模板

用 OmniFocus 建立重复项目模板

| 本文为付费栏目文章,您已订阅,可阅读全文 |
编注:在上周我们试推行了「你工作中的自动化定制」项目,收到了部分读者提出的需求。Power+ 小组随后与每个提出需求的读者都进行了联系。在进一步明确对方需求之后,首先解决其问题,进而选取其中有借鉴意义的场景写成文章,以供其他读者参考。

读者 @包子大人 问:
科研工作者,经常会做一些重复性的实验,实验流程都需要持续好几天。我一般会把每个实验在 OmniFocus 中建立一个项目,然后把步骤作为动作。 但是每次做同样实验的时候总要重新建立一遍、或者在已完成里面扒出来重新设定日期。
可不可以在 OmniFocus 里面设定自动化模版,每次自动化建立重复的项目?
相信大家在日常工作中,多多少少都会碰到一些重复的项目。这些项目可能并不完全相同,但大体都有相似的流程。比如像少数派的工作,我们会定期推出征文活动,每次活动的流程都基本差不多,所以当我们要推出新的征文活动时,就会在任务管理软件里把所有任务都列出来,然后按照顺序一项一项去执行。
如同 @包子大人 所说的那样,每次都要重新建立一遍项目其实很繁琐,这种重复劳动不会带来效率的提升,却会磨损我们的热情。而我们一旦松懈了对待项目的严谨态度之后,就很容易漏掉关键步骤或者细节,导致最后项目无法完美地完成,尤其像问题中提到的实验项目,更是需要严谨。
在 OmniFocus 里建立模板项目,最简单的方式就是直接创建一个状态为「暂停」的项目,平时放在额外的文件夹里,要用到的时候直接进行复制。但这样有一个缺点,就是如果你需要对每项子任务都设定截止日期的话,会很麻烦。因为在 OmniFocus 中如果设置了一个任务的截止日期为「3 天后」,那么当你复制了模板项目时,这个「3 天后」还是相对于添加模板的那一天而言,而不是复制的那一天。
所以如果你需要为项目里的每个任务分别设定截止日期,那么就得借助一种叫做 TaskPaper 的格式来实现。简单来说 TaskPaper 是一个基于纯文本的任务管理工具,它有一套特殊的为任务添加属性的语法,比如一个截止日期为今天的任务在 TaskPaper 里描述为:
任务 @due(today)
而 OmniFocus 同样支持使用 TaskPaper 语法来添加任务,我们只需要在其它 App 中(比如原生备忘录)按照 TaskPaper 的语法格式把项目内容写好,比如写成下面这样:

在备忘录中写好项目内容
当需要用到的时候,直接粘贴到了 OmniFocus 中,就会自动生成带有任务层级、带有准确截止日期的项目:

粘贴到 OmniFocus 中

语法解析

我们来看一下这段 TaskPaper 语法:
XXX 实验 @parallel(false)
- 步骤一 @due(today 6pm)
- 动作 A
- 动作 B
- 动作 C
- 步骤二 @due(+1d 6pm)
注意事项:实验要小心,不能出差错
准备器材:试管、钳子、纱布
- 步骤三 @due(+2d 6pm) @flagged
- 步骤四 @due(+3d 6pm) @context(iPhone)
这段文本有 4 种元素:
  • 开头不带任何符号的是最顶层的任务,即为项目,在本例中为第 1 行「XXX 实验」;
  • 每一行开头带 - 加空格的是子任务,可以用缩进(按下 Tab 键)来调整层级,进行多层嵌套;
  • 紧贴子任务下一行,开头不带任何符号的为任务备注。比如「注意事项」和「准备器材」这两行;
  • @ 符号后面跟是标签,标签后面的半角圆括号表示标签参数。在本例中:
    • @parallel(false) 表示这个项目的类型为「顺序」,如果改为 @parallel(true),则项目类型为「平行」;
    • @due 则表示截止日期,可以使用 today(今天)、+1d(在今天的基础上,加一天,即为明天)等相对日期作为参数,也可以使用 2018-07-05 这种绝对日期作为参数。而时间,则可以用 6pm13:00 等格式;
    • @flagged 表示将任务进行标记;
    • @context 则表示任务的上下文,如果需要在 OmniFocus 3 中使用多标签,则可以替换为 tags(标签一,标签二)
    • 此外,OmniFocus 还支持 @defer(推迟至日期)、@estimate(持续时间)、@repeat-method(重复方法)、@repeat-rule(重复规则)等标签,你可以在 OmniFocus 官网文档中找到它们。
需要注意的是,语法中的标点符号(比如圆括号)都需要使用半角符号。
如果你将这段文本直接粘贴到 OmniFocus 的收件箱中,会发现第一行的「XXX 实验」会变成一项普通的任务,而不是项目。此时你只需要选中任务,然后在菜单栏里选择「编辑 - 转换为项目」就可以把任务变成项目了(iOS 的转换按钮在「任务检查器」的底部)。

将任务转换为项目
如果你嫌弃「粘贴到 OmniFocus」这一步比较麻烦的话,而且还需要手动转换任务为项目。那么,可以借助 Workflow 中的「Add TaskPaper to OmniFocus」来优化添加流程。

用 Workflow 省去复制粘贴等操作
你可以在这一步提前选择好项目存放的文件夹,比如「实验室」文件夹,每次只需要按一下按一下通知中心部件,就能自动添加项目模板,省去了很多步骤。

上一期
进度条,能准吗? | 科普
下一期
Shortcuts 开放 TestFlight 测试 | App 奏折 044
 
精选评论(2) 我的评论
  • SCHOENBERG
    天……OF 居然还能这么玩……
    07月10日
  • 谢浩东Tommy
    在macOS上配合Hazel实现自动添加相应项目在of中,也很省心
    07月06日