如何定义一个包含"适应当天日期的文件名"的org-capture模板.

最近开始使用org-roam了. 它有一个功能, 即可以每天创立一个日记文件, 文件名为yyyy-mm-dd.org

以前我就用org-capture记录一些即时想法, 保存在Diary.org里. 现在既然已经转到org-roam里了. 希望org-capture能适应每天一个按日期创立文件名的模式.

比如说, 以前我的模式是:

   (setq org-capture-templates
        '(
          ("d" "Diary" plain (file "~/orgmode/Diary.org")
           "%<%Y%m%d>\n%?   %^g")
         )

现在我希望还是用org-capture来保存即时产生的想法, 但是,保存的目标是yyyy-mm-dd.org. 请问哪位高手能指点一下, 怎么写这个模板吗?

C-h v然后输入org-capture-templates,里面有说明,整个templates的第四个文件和输入位置可以用自定义函数的。

   (setq org-agenda-dir "your agenda dir")
   (setq org-capture-templates
    '(
       ("d" "Diary" entry (file (lambda () (expand-file-name (format-time-string "%Y-%m-%d.org") org-agenda-dir)))
         "%<%Y%m%d>\n%?   %^g")
     )

不知道符不符合你的要求

1 个赞

谢谢, 您这个我直接套用了. 稍加修改, 果然成功…! :grinning: