Я пытаюсь создать шаблон «класса» для org-capture.
Я хочу легко сделать такую запись:
* TODO <course>: Week <week> Lecture <number>
SCHEDULED: %^T
** TODO prepare for class: <course>-<week>-<number>
SCHEDULED: <two days before T> DEADLINE: <one day before T>
** TODO review class: <course>-<week>-<number>
SCHEDULED: <one day after T> DEADLINE: <two days after T>
В настоящее время у меня есть этот шаблон.
(setq org-capture-templates
'(
("c" "Class" entry (file "~/sydbox/personal/workflow/class.txt")
"* TODO %^{Course}: Week %^{Week} Lecture %^{Number}\n SCHEDULED: %^T\n ** TODO prepare for %{Course}-%{week}-%{Number}")
))
Однако теперь я понятия не имею, как вводить даты. Дату и время курса нужно запрашивать. Я также понятия не имею, как повторно использовать ответ на запрос.
решение1
Расширение шаблонапозволяет %\1
, %\2
и т. д. повторно использовать ответы на подсказку, поэтому вы можете попробовать это:
("c" "Class" entry (file "~/sydbox/personal/workflow/class.txt")
"* TODO %^{Course}: Week %^{Week} Lecture %^{Number}\n SCHEDULED: %^{Sched}T\n ** TODO prepare for %\\1-%\\2-%\\3")
Для ввода дат, он должен дать вам календарь. Оттуда вы можете использовать клавиши Shift-стрелка, чтобы выбрать дату, илиэти команды.
решение2
Вы можете попробовать написать функцию для выполнения нужной вам арифметики дат и заменить заполнители в шаблоне захвата, а затем использовать ее org-capture-before-finalize-hook
для запуска функции до завершения процесса захвата.