Logseq/p1 管理待办事项
Logseq (opens in a new tab) 是一个双链笔记,也可以理解为 Roam Research 的开源版本。
我用过很多任务管理工具,尝试管理好我自己的 TODO 和目标,例如 Notion、滴答清单(6年)、提醒事项等等,最终都没有很好的适应我当前的工作流,主要是我特别想把做的事情和笔记关联起来。
不过当前找到了一个还不错的方案,所以分享一下给在使用 Logseq 的朋友,感兴趣的话可以尝试一下。
我当前的管理方案是:
- Logseq:管理每日/周/月/年的目标和TODO
- Apple 提醒事项:管理一些生活上的 TODO,不需要深度投入的事情
注:提醒事项,可以替换成任何简单的任务管理App、免费版本的滴答清单就够了,苹果用户直接选提醒事项就好,够用
之前在用 Logseq 管理 TODO 的时候,最大的痛点是无法很好的管理我的每周 TODO,今天终于找到方案解决了。
每周 TODO 管理
我在每周一的时候都会将当周要做的所有事情整理下来,之前是单独写在一个飞书文档里面,自己也懒的去看,导致很多 TODO 就直接忘了,所以最近也把重要的事情迁移到 Logseq 上了。
在 Logseq 上,我新建了一个 tag,命名为 WeeklyTODO,然后每周一的时候,将当周要做的事情整理到当天的 Journal 上,用 #WeeklyTODO 作为 parent block,然后在 child block 中整理所有 TODO,内容如下:
用 Tag 纯粹是因为方便检索,不用 tag 也完全可以。
- #WeeklyTODO
- LATER 我要做xxx
- LATER 我要做xxx
- LATER 我要做xxx
可以通过这种方式,将当周的 TODO 直接写到当周的 Journals 上,这样就完成了当周 TODO 的整理。但是这种方式最大的问题就是,我没法每天看见这个周 TODO List。
我们可以通过 query 的方式,将这些 block 搜索出来,然后挂到每日自动生成的 Journal 笔记下面,这样我们每天就可以看到当周要做的事情有哪些。效果如下:
这样就解决了忘记当周重点 TODO 的问题,简直不要太完美!
如何将 Weekly Todo 挂到当日 Journal 上,只需要把如下配置粘贴到 config.edn 文件中就好。
{
:title [:b "⭐️ WEEKLY_GOALS"]
:breadcrumb-show? false
:query [:find (pull ?block [*])
:in $ ?startdate ?enddate
:where
[?page :block/journal-day ?journaldate]
[(>= ?journaldate ?startdate)]
[(<= ?journaldate ?enddate)]
[?block :block/content ?blockcontent]
[?block :block/page ?page]
[?block :block/marker ?marker]
;[(contains? #{"LATER"} ?marker)]
[?block :block/parent ?parent]
[?parent :block/content ?parentContent]
[(clojure.string/includes? ?parentContent "WeeklyTODO")]]
:inputs [:7d-before :today]
}
这个配置的意思是,找到当周的 Journal,然后找到 Journal 下面的 block,然后找到 block 的 parent 是 WeeklyTODO 的 block,然后将这些 block 挂到 Journal 下面。
我们只需要在每周一的时候,将当周要做的事情写到 WeeklyTODO 下面,然后每天打开 Logseq,就可以看到当周要做的事情了,主打一个畅快。
每日 TODO
有了 Week TODO 列表之后,每日 TODO 就好很办了,直接将当周的任务拆散到当天要做什么,在当天早上的晨间日记,或者开始工作前,花上几分钟整理好就行。
我这里通过 templates 的方式提前预生成好几个 tag,分别是当天最重要的 3 件事、我自己的事、工作上其他的事情等等。然后花点时间整理当日 TODO 补到上面就好。用 tag 的方式主要是为了我后面检索方便一点,不用其实也可以。
templates 的方式可以直接 Google 搜一下,模板自动填充到每日日记上。
:default-templates
{:journals "Daily framework"}
把这个贴到之前的 config 配置就就可以,template name 换成自己定义的模板就好。
再贴一下我的每日 template 的内容:
- template:: Daily framework
template-including-parent:: false
- 📌 [[3 things]]
- 😝 [[self todo]]
- 😑 [[work todo]]
- 🥰 [[done well]]
- 🔍 [[daily-discover]]
月/年目标
关于每月/年目标管理,我这则比较简单,因为比较长期,所以直接开一个文档单独记录就好,用 LifeOKR 的方式给自己生活上定一些简单的目标。
然后把文档添加到侧边栏收藏,每周打开整理就好。在写周记、月记的时候简单 review 一下月/年大的目标就好,不需要每天都看。
如果想在每日笔记上展示的话,也可以参考周 TODO 的方式,通过 query 的方式将 block 挂到每日笔记上。
获取近 X 天内的所有待办 TODO
如果想要获取近 X 天的所有 TODO,可以通过如下配置:
#+BEGIN_QUERY
{
:title [:b "journalsbetween - find future journals in a date range"]
:query [:find (pull ?block [*])
:in $ ?startdate ?enddate
:where
[?page :block/journal-day ?journaldate]
[(>= ?journaldate ?startdate)]
[(<= ?journaldate ?enddate)]
[?block :block/content ?blockcontent]
[?block :block/page ?page]
[?page :block/name ?pagename]
[?block :block/marker ?marker]
[(contains? #{"LATER"} ?marker)]
]
:inputs [:60d-before :today]
}
#+END_QUERY
如果想调整查询的时间范围,只需要调整 :inputs
的值就好。我是通过这种方式,将近 60 天的所有 TODO 整理到一个 page 中,定期看一下历史有什么 TODO 没有做。
效果如下:
消灭 TODO
这种方式有个问题是无法将 TODO 管理到日历中,所以需要在每天提前想一下自己的事情在什么时间做。关于如何更好的和日历结合,我还在探索中,如果有好的方案会再分享。
目前消灭 TODO 的方式主要还是通过番茄钟的方式逐个击破。
提醒事项
提醒事项主要是用来记一下生活上的 TODO,例如交电费、给猫驱虫、交房租等等一些不需要深度投入的事情,或者不方便打开电脑用 logseq 记录的事情,都会用它来记,现在用的频率会少很多(差不多平均每3天一个TODO)。