这里我想单独介绍一下主页插件中的一个组件:🧩 任务管理 Plus
v1.5.0 版本中新增加了任务管理 Plus 组件,相较于之前的任务管理组件可实现更多的高级功能,如:快速任务编辑器、高级筛选语法、闹钟提醒、循环任务等。
格式说明
任务管理 Plus 组件可以全局检索并展示散落在笔记空间中各处的任务,对于以下格式的任务可进行更多的功能:
- 任务名 ❗❗❗❗ ⌛2025-07-05 📅2025-07-07 🔁 每天 ⏰11:57 📍 西安 #标签
为什么是这种格式?
这种任务结构灵感来源于 obsidian-tasks 项目,其最大的特点在于直观和易于编辑,且完全基于笔记本身。
主页插件的宗旨是所有数据完全基于笔记文档,因此不会对其结构进行修改,让大家无压力使用该插件,即使以后不用了,也不会对笔记产生任何影响。
该任务结构包括以下几个部分:
符号 | 含义 | 支持参数 | 举例 |
---|---|---|---|
任务名 | 任务名 | 任意文字 | 需位于复选框后、属性前,并确保不会出现下列属性符号 |
❗ | 优先级 | ❗~❗❗❗❗ 四级紧要程度 | ❗、❗❗、❗❗❗、❗❗❗❗ |
⌛ | 开始日期 | YYYY-MM-DD | ⌛2025-07-05 |
📅 | 截止日期 | YYYY-MM-DD | 📅2025-07-07 |
🔁 | 周期循环 | 每天、每周、每月、每年 每 N 天、每 N 周、每 N 月、每 N 年 | 🔁 每天、🔁 每周、🔁 每月 🔁 每 2 天、🔁 每 3 周、🔁 每 6 月 |
⏰ | 提醒时间 | hh:mm 或 YYYY-MM-DD hh:mm | ⏰11:57、⏰2025-07-07 18:30 |
📍 | 地点 | 任意文字 | 📍 西安、📍 西安交通大学兴庆校区 |
#……# | 标签 | 任意文字 | #讨论#、#回家# |
以上属性可以都有,也可以都没有,也可以只有一部分,如:
- 部分属性任务 📅2025-07-07 ⏰11:57 📍 西安 #标签
- 空属性任务
快速任务编辑
每次都要进行以上任务属性的编辑会很麻烦,所以该插件自带了快速任务编辑器,在文档中的任意位置右键菜单即可打开:
任务编辑器会自动获取光标所在块的内容,若是已经有任务结构了,则会识别显示出来。
若是空的或者是纯文字段落也能将现有文字直接识别为任务名显示。
根据自己的情况编辑好属性后即可得到如下内容:
任务管理 Plus 组件检索
在组件的设置菜单中即可进行相关任务的检索显示:
这里提供了两种检索方式:内置方法、自定义筛选语句。由复选框“自定义筛选条件”进行切换
内置检索方法
组件目前内置了以下几种检索方式,若满足你的要求可直接使用:
有几点需要说明:
- 今天任务
- 今天在开始日期之后截止日期之前
- 若只有开始日期,则今天在开始日期之后的任何一天都是
- 若只有截止日期,则今天在截止日期之前的任何一天都是
- 若都没有,则不显示
- 明天任务与今天任务逻辑一样,判断时间点为明天
自定义筛选语句
内置的检索方式难以满足大多数情况,也无法实现高度的自定义,因此插件提供了一种根据内置语法进行检索的方式,下面先看几个例子:
- 截止日期为今天且优先级为 ❗❗❗❗ 的未完成任务
not done
deadline today
priority 4
- 明天之前截止的在西安已完成的任务
done
deadline before tomorrow
location 西安
上述例子只是很简单的应用,具体可以自己组合开发,下面介绍具体的语法结构。
- 任务状态语法
not done // 未完成任务
done // 已完成任务
- 日期语法
start // 有开始日期的任务
start date // 开始日期为 date 的任务
start before date // 开始日期在 date 之前的任务
start after date // 开始日期在 date 之后的任务
deadline // 有截止日期的任务
deadline date // 截止日期为 date 的任务
deadline before date // 截止日期在 date 之前的任务
deadline after date // 截止日期在 date 之后的任务
// 以上的 date 均可以是:today、tomorrow、nextweek、nextmonth 以及具体时间 YYYY-MM-DD
- 优先级语法
priority // 有优先级的任务
priority [number] // 优先级为 [number] 的任务
// [number] 可以是:1、2、3、4,或者任意组合(逗号隔开):1,2、1,3、1,3,4
- 周期循环语法
recurrence // 有循环的任务
recurrence type // 循环类型为 type 的任务
// type 可以是:everyday、everyweek、everymonth、everyyear、every N day、every N month、every N year
- 地点语法
location // 有地点的任务
location 地点 // 具体地点
- 标签语法
tag // 有标签的任务
tag 标签1,标签2,…… // 具体筛选标签
- 提醒语法
reminder // 有提醒的任务
- 任务名语法
name include 关键字 // 任务名中包含该关键字的任务
name 完整任务名 // 完整匹配任务名
- 笔记本语法
notebook 笔记本Id1,笔记本id2,…… // 通过笔记本 ID 检索任务
- 路径语法
path include 关键字 // 所处文档路径包含关键字的任务
path 完整路径 // 完整筛选具体文档在的任务
// 如:/科研/计划
其他高级功能
周期循环
若任务中带有属性“🔁”则会自动进行任务的循环,下面以一个例子说明:
- 我的任务 ⌛2025-07-05 📅2025-07-05 🔁 每天
上述任务的循环方式为每天,即每天都要进行这个任务。任务的初始状态为 7 月 5 号,现在来到了第二天,即 7 月 6 号,则任务会自动更新为:
- 我的任务 ⌛2025-07-05 📅2025-07-06 🔁 每天
即每过一天就将截止日期变为今天的日期,并将任务变为未完成状态。若任务中没有截止日期,只有开始日期,则每天会把已完成的这种任务变为未完成。
截止日期在这里面是判断的基点。
其他的循环方式与上述类似,只是间隔时间不同。
只会刷新位于组件中的任务,建议单独用一个组件来放置已完成或过期的任务,以确保到循环日期后自动更新。
到时间提醒
若任务中带有属性“⏰”则会在设定的时间进行系统级提醒,如 Windows 系统会在右下角弹窗提醒并伴有提示音:
提醒时间的设定有两种:
- 具体完整的提醒日期,如“2025-07-05 17:04”,则提醒会在当天的时候提醒。
- 只有提醒时间,如“17:04”,此时的提醒有以下几种方式:
- 有截止日期,则在截止日期当天的 17:04 进行一次提醒。
- 只有开始日期,则在开始日期后的每天 17:04 都进行一次提醒。
通过以上的格式和检索我们就可以的到以下的组件界面,每个人可以根据自己的需求进行自定义:
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于