按笔记定位的
query.file
0.1 功能说明
对于配置了 笔记筛选属性 的分组,前端视图会在该分组一级标签的正下方显示一个笔记选择器。选中一篇笔记后,该分组内所有标签页 都会以这篇笔记为对象运行各自的 Tasks 查询 —— 也就是说,这篇笔记成了查询任务的目标笔记。
当分组查询写成 query.file + 过滤条件、而你不想逐个改查询就能切换目标笔记时,这个功能非常有用。
比如:
- 你有10个项目笔记,每个项目笔记中或其它笔记关联到此项目的任务有很多;
- 你在设置的
Tabs中配置了查询项目任务的分类和查询语法,像待办、等待、进行中、已完成等; - 通过在
分组中配置增强的分组配置,就可以在前端的笔记选择器中点选项目笔记,实现单独对各个项目的任务的筛选和查看,而不需要在分组中创建10个项目分组,在为每个分组配置重复配置相同的Tabs。
0.2 如何启用
- 编辑一个分组(看板设置 → 编辑分组)。
- 设置 笔记筛选属性(例如
project)。详见 增强的分组配置。 - 保存。只有设置了该属性的分组才会显示选择器。
0.3 使用方法(演示步骤)
- 点击笔记框(显示当前选中的笔记,或 “Select {group} note”)。
- 弹出面板,内含 搜索框 与 匹配笔记列表。
- 匹配条件:增强的分组配置中笔记的 frontmatter 属性(即 笔记筛选属性)值中被勾选的笔记都会显示在此。
- 输入以过滤列表(当笔记很多时),然后 点击某篇笔记 完成切换。
- 整个分组中的任务会针对所选笔记重新渲染。
- 点击面板外任意处,或直接将鼠标移开 —— 面板自动关闭。(悬停在面板上或在搜索框输入时保持打开。)
0.4 行为说明
- 空状态: 若没有笔记匹配属性/属性值过滤,框内显示 “没有笔记使用此属性”,分组显示其空状态而非报错查询。
- 暂未持久化: 选中的笔记仅在当前会话内存中保存。重新打开 vault 会回退到第一篇匹配笔记。(是否在设置中持久化上次选择,待定。)
- 优先点选: 面板为快速点选而设计;搜索框仅 辅助 过滤 —— 你无需输入也能完成选择。
0.5 标签页查询语法(query.file)
下拉框只决定查询运行在 哪篇笔记 上;查询本身写在每个标签页里,原样传给 Tasks 插件。关键在于 query.file,TaskFlow 把它指向 选中的笔记。注意 query.file 是 Tasks 的 Query Property(一个文件对象)——它 不是 一条可独立成行的指令,因此必须在 filter by function 内部使用,或通过 {{query.file.*}} 占位符使用。
关于可直接复制的示例(简单限定查询、紧凑分组视图、下方的高级 filter by function,以及临近到期变体),见 查询示例。
not done
filter by function task.file.path === query.file.path
sort by due这是最简形式:只显示选中笔记的未完成任务,按到期日排序。