tasks自定义过滤器

coffeebean...大约 2 分钟

更新说明

  • Tasks 4.2.0 中引入了自定义过滤器 Custom Filters
  • 2023-09-30 tasks更新之后添加了 自定义过滤器

自定义过滤器,是一个很灵活的过滤器,给tasks增加更多有意思的玩法。所以特地把这个拿出来开一篇。

我不想把这个变成另一个官方文档,所以我只写出来直接能用的东西,简单明了的好。其实这个就是允许你在 tasks 插件内置的语法基础上,创造你自己的查询语法。(因为他类似于JavaScript的语法了)

案例1:日期属性

注意

利用新的 自定义过滤器,我们可以很容易实现

  • 查询本周的相关任务,到期,创建,开始,重复等等
  • 查询本月的相关任务,
  • 查询指定某一天所在的周/月的相关任务

注意:下面👇的2个代码块是联动的,点击上面,下面的会显示对应的注解。

filter by function task.description.length > 100
查找描述较长的任务。

注意上面函数中可替换的地方:

  1. 日期
    • due 到期时间,可替换为,created/starts/scheduled/happens
  2. 时间范围函数
    • isSame:一样的日期
    • isSameOrAfter:一样的日期或者之前
    • isSameOrBefore:一样的日期或者之后
  3. 日期单位
    • day:日
    • week:周
    • month:月
    • quarter:季度
    • year:年

案例2:文件夹

//查找所有截止日期为 2023-10-01 的任务。
filter by function task.due.moment?.isSame(moment('2023-10-01'), 'day') || false

//查找所有 2023-10-01 当周的所有任务
filter by function task.due.moment?.isSame(moment('2023-10-01'), 'week') || false

//只查询指定目录下任务,不包括子文件夹
filter by function task.file.folder === "Work/Projects/"

//查询指定目录下所有任务,包括子文件夹
filter by function task.file.folder.includes("Work/Projects/")


上次编辑于:
贡献者: coffeebean
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.4