玩转系列是王掌柜长期更新的系列文章,主要通过各种事例介绍应用或服务的使用方法,今次玩转系列更新到 Todoist ,我们通过几个常用的过滤规则入手,一起玩转 Todoist。
为什么是 Todoist
GTD 理念的盛行使得市面上的充斥着众多 GTD1 软件,他们各自都有特点,适合不同的场景,我用过的就包括 OmniFocus 、Things 和 Todoist 等软件,为什么选择了 Todoist 呢?下边列出它优秀的功能供大家参考。
Todoist 对「自然语义」的支持非常强大。
自然语义,指的是我们可以像说话一样创建提醒任务,比如我们完全可以用「明天下午3点,提醒我打印材料」创建任务, Todoist 会很精准的创建一条提醒任务,任务标题为「提醒我打印材料」,任务的完成时间为「第二天下午3点」如图:
Todoist API 接口非常丰富。
丰富的 API 代表着 Todoist 可以很好的被 IFTTT、Zapier、Drafts 5 等众多支持 URL 请求的应用或服务支持,极大的扩展了我们录入任务的方便性,并为「自动化」做好了基础准备。
我们看一下如何使用 API「快速创建任务」。
查看官方文档
Todoist 官方 API 说明文档非常详细,可以看到关于 API 的使用说明以及事例,如图:
继续浏览网页找到 Quick add task
,点击后可以看到官方给出的代码示例如下:
$ curl https://todoist.com/api/v7/quick/add \
-d token=0123456789abcdef0123456789abcdef01234567 \
-d text='Task1 @Label1 #Project1 +ExampleUser'
代码中很明显 text
就是我们要创建的任务文本本身,而这个 token
是什么呢?
token
是 Todoist 分配给我们的唯一码,通过这个唯一码 Todoist 才能区分我们是谁,这样调用 API 后任务就分配到我们的账户中了。
那么如何获取 token
呢?
获取 token
打开 Todoist 的 Web 页面,打开右上角菜单,点击「设置」,然后点击「关联应用」,在页面最底部可以看到 Todoist 给我们分配了一个 token
如图:
接下来我们只需要请求 https://todoist.com/api/v7/quick/add
,并且带上两个参数 token
和 text
即可。
Todoist 中文支持非常友好。
刚才讲「自然语义」时举的例子可以看出,Todoist 对中文日期比如明天、后天、下周一、每天、每月等都能智能识别到,这对我们创建任务来说非常简单。
另外,Todoist 的帮助文档中文支持的也非常好,如果你喜欢这个软件,只需看帮助文档就能入门,甚至得到提高。
特别是涉及到后边讲的过滤,我们完全可以通过它的文档掌握语法和技巧。
Todoist 「过滤」功能非常强大。
过滤对于任务管理软件有许多作用,但我认为最重要的作用就是把任务「场景化」。
有不少人对「场景」的概念只停留在地点这一个维度,比如大家普遍认为「在家里」和「在办公室」都是场景,顺着这个思路,如果想要找到「在家里」和「在办公室」两个场景的任务,根本不需要用到过滤这么复杂的功能,我们只需要给任务设置「项目」或者「标签」 ,以标签为例,当我在家的时候找到「标签=在家做的任务」的任务即可,如图:
然而,实际上一个「场景」它一定是包含时间、地点和人物,三个元素的,我们以在办公室为例:
事例1:当我在办公室的时候,我想找出哪些事情是今天我需要处理的。
在事例1 中,当我们身处办公室这个场景的时候,如果只靠「标签 = 在办公室」找出任务来,你一定是崩溃的,因为这里边混杂着「今天要完成的」、「将来要完成的」、「已过期未完成的」、「定期循环的」多种任务,我相信你一定想要的是需要「今天要完成的」和「已过期未完成的」,如图:
根据常识,当我们真的坐在办公室的时候,要处理的任务为以下条件:
- 任务标签为「在办公室的任务」。
- 任务状态为「已过期的」或者「今天到期的」。
- 还包括满足条件1和2的循环任务。
简单归纳一下,当我们坐在办公室的时候,希望筛选出来已过期的或者今天到期的任务(包括循环任务),且标签为「在办公室的任务」。
那么如何设置过滤条件,完成事例1的要求呢?接下来咱们一起来玩转 Todoist 过滤。
玩转 Todoist 过滤
简单介绍过滤功能,就是将多个查询条件组合在一起,最后找到我们想要的任务。事例1 中,我们已经归纳好条件为:已过期的或者今天到期的任务(包括循环任务),且标签为「在办公室的任务」。接下来我们线连接一下 Todoist 的过滤支持哪些规则。
过滤器支持哪些规则
创建「过滤器」
在界面中找到过滤器,点击右侧的 + 弹出创建菜单,输入过滤器的名称和规则以及颜色即可。看起来非常简单,但是这里最难的一步就是填写规则。
Todoist 的过滤器规则符合逻辑运算原则。简单说就是通过「与」「或」「非」等进行逻辑计算,我们通过事例1 来说明一下。
1. 分析规律规则:
根据我们的过滤规则:
「已过期的或者今天到期的任务(包括循环任务),且标签为在办公室的任务」 。
在 Todoist 中规则中的各个条件对应的关键字如下:
- 已过期:overdue(中文「过期」)
- 今天到期:today(中文「今天」)
- 循环任务:recurring(中文「循环截止日期」)
- 在办公室的任务(为了方便讲解,我们用 work 代表「在办公室的任务」这个标签):@work
以上列表中我们分别给出了「英文关键字」和「中文关键字」,出于以下两点,接下来的内容我将用「英文关键字」来举例说明:
- 原因1:英文关键字简洁明了,非常适合进行逻辑运算,读起来也比较顺畅。
- 原因2:如果用中文关键字创建「过滤规则」,不排除在某些时候遇到不能识别的问题,王掌柜就遇到过,最终全部换成「英文关键字」解决的。
2. 进行逻辑运算,制定过滤规则
这一步非常关键,通过逻辑运算制定规律规则,在 Todoist 中使用通用的逻辑规则符号如下:
- 与 :
&
- 或 :
|
- 非 :
!
- 分组 :
()
接下来我们根据关键字和运算符,制定自己的过滤规则。
规则拆分如下:
上图 ①︎ 中,我们将规则拆分成一个个关键字。
上图 ②︎ 中,我们将规则拆分成两部分,分别是:
- 已过期的或者今天到期的,且在办公室的任务(@work)
- 已过期的或者今天到期的「循环任务」,且在办公室的任务(@work)
转换成「逻辑运算」分别为(对应上图 ②︎ ):
(overdue | today) & @work
(overdue | today) &recurring & @work
由于两部分的关系是「或」,所以最终的过滤规则为(对应上图 ③︎):
((overdue | today) & @work) | ((overdue | today) & recurring & @work)
最终我们得到了要过滤的「规则公式」,最终的设置界面,如图:
创建第二个过滤规则
为了便于大家理解,我们再举个例子:
事例3:过滤出所有需要现在解决的循环任务。
在 Todoist 中我们经常会创建一些「循环任务」,当有一个循环任务提示我们要处理,我们忘记处理后,他不会出现在每天的任务清单里,而是变成过期任务存在,这时就需要一个过滤器,过滤出「所有需要今天解决的循环任务」。
所以我们的过滤规则为「所有需要今天解决的循环任务」。解析来我们还是用老办法分析一下:
上图 ①︎ 中是我们的初时规则「所有需要今天解决的循环任务」。
上图 ②︎ 中我们将规则进化成「截止日期为已过时或者今天的的循环任务」,它们的关键字为:
overdue | today
recurring
转换成「逻辑运算」为(对应上图 ③︎ ):
(overdue | today) & recurring
总结
今天是玩转 Todoist 系列文章的过滤篇,我们首先是讲一下 Todoist 的优势,然后引出来「过滤」的重要性,最后通过两个事例实际操作创建了连个过滤规则。通过今天的文章,大家应该对过滤规则有了一些认识,如果看起来比较吃力的话,应该是卡在了「逻辑运算」这里,因为「逻辑运算」是编程范畴的内容,Todoist 很好的把它引入到「过滤」这个规则中,虽然有点复杂,但是一旦熟悉了规则,用起来可谓得心应手。
为了便于大家真正的掌握 Todoist 的过滤,我再给大家一些已经制定好的过滤规则供大家参考:
明天的工作(在办公室的任务):
(tomorrow & @work) | (tomorrow & recurring & @work)
将来要做的工作:
no date & @work
没有标签的任务:
no labels
未来3天的任务:
7 days & @work
未分配任何人的任务:
!assigned
GTD就是Getting Things Done的缩写,翻译过来就是“把事情做完”,是一个管理时间的方法。GTD的核心理念概括就是必须记录下来要做的事,然后整理安排并使自己一一去执行。GTD的五个核心原则是:收集、整理、组织、回顾、执行。GTD的核心理念在于清空大脑,然后一步步按照设定的路线去努力执行。 ↩