让 org-capture 收集项可以自动归于某一日期下

这么拗口的标题真是对不起,主要是找不到合适的词。

是这样的,以前看 org-mode 的黑客们会炫出自己的日志文件,里面的组织方式,在 org-mode 官方教程里叫「日期树」

它大概是这样子排列:

可以看到,这是一个树形列表,不过它会按照「年-月-日」来排列。

我一直以来也是按照这种方式来组织自己的日志,不过以前是自己手动操作,以及方式有点不一样,我喜欢按照周数来排列。

原本我以为需要自己写一个自定义配置什么的,但没想到 org-mode 里面已经包含了这一功能。

  1. 需要在设置 org-capture 模板时,指定使用 file+datetree 的方式,这样在 capture 时会自动在对应的日期下创建对应的标题
  2. org-mode 提供了 :tree-type 参数控制日期树的组织方式,有两个参数:=month= 仅按月组织;=week= 则按照周数组织。

按周组织日期树是长什么样的呢?

可以看到,它不再以月份作为二级标题,而是使用 2025-W11 这个格式来表示第 xx 周。

基本的配置方式如下,可以拿去参考。

("j" "Journal" entry (file+datetree "~/Documents/notes/diary.org")
 "* %? %U"
 :tree-type week
 :empty-lines 1)