Ich versuche, eine Klassenvorlage für Org-Capture zu erstellen.
Ich möchte ganz einfach folgende Art von Eintrag vornehmen:
* 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>
Derzeit habe ich diese Vorlage.
(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}")
))
Jetzt habe ich allerdings keine Ahnung, wie ich die Daten eingeben soll. Es müsste das Datum und die Uhrzeit des Kurses abgefragt werden. Ich habe auch keine Ahnung, wie ich die Antwort auf eine Eingabeaufforderung wiederverwenden kann.
Antwort1
Vorlagenerweiterungermöglicht die Wiederverwendung von Antworten auf eine Eingabeaufforderung, daher könnten Sie Folgendes versuchen %\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")
Zur Eingabe von Daten sollte ein Kalender angezeigt werden. Von dort aus können Sie mit den Tasten Umschalt und Pfeil ein Datum auswählen oderdiese Befehle.
Antwort2
Sie könnten versuchen, eine Funktion zu schreiben, die die gewünschten Datumsarithmetik durchführt und Platzhalter in der Erfassungsvorlage ersetzt. Verwenden Sie diese Funktion dann, um org-capture-before-finalize-hook
die Funktion auszuführen, bevor der Erfassungsprozess abgeschlossen ist.