Estou tentando criar um modelo de 'classe' para captura organizacional.
O que eu quero é fazer facilmente esse tipo de entrada:
* 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>
Atualmente, tenho este modelo.
(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}")
))
No entanto, agora não tenho ideia de como inserir as datas. A data e hora do curso devem ser informadas. Também não tenho ideia de como reutilizar a resposta a um prompt.
Responder1
Expansão de modelopermite que %\1
, %\2
, etc. reutilize respostas a um prompt, então você pode tentar isto:
("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")
Para inserir datas, deverá fornecer um calendário. A partir daí, você pode usar as teclas de seta shift para selecionar uma data ouesses comandos.
Responder2
Você pode tentar escrever uma função para fazer a aritmética de data desejada e substituir os espaços reservados no modelo de captura e, em seguida, usar org-capture-before-finalize-hook
para executar a função antes que o processo de captura termine.