Estoy intentando crear una plantilla de 'clase' para la captura de organización.
Lo que quiero es hacer fácilmente este 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>
Actualmente tengo esta plantilla.
(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}")
))
Sin embargo, ahora no tengo idea de cómo ingresar las fechas. Se debe solicitar la fecha y hora del curso. Tampoco tengo idea de cómo reutilizar la respuesta a un mensaje.
Respuesta1
Expansión de plantillapermite a %\1
, %\2
, etc. reutilizar las respuestas a un mensaje, por lo que puedes probar esto:
("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 ingresar fechas, debería darle un calendario. Desde allí puede utilizar las teclas de flecha Mayús para seleccionar una fecha, oestos comandos.
Respuesta2
Podría intentar escribir una función para realizar la aritmética de fechas que desee y reemplazar los marcadores de posición en la plantilla de captura, luego usarla org-capture-before-finalize-hook
para ejecutar la función antes de que finalice el proceso de captura.