December 16, 2024 (Mon)
- オムレツ。
- 出勤。いい天気。
- サミットで、おにぎり弁当とポテサラと焼いた鶏肉を買う。
- 授業二つ。
- 面談1件。
- 電車で帰宅。夕焼け空がきれい。
- 夕食は煮鶏。柔らかくてうまい。
やっぱりorg-captureで、子タスクありのパターンを作ってみる。
* TODO %^{Describe task1} %^g # 親タスク 終了させると、自分自身と子タスクがアーカイブされる :PROPERTIES: :BLOCKER: children :TRIGGER: children archive! self archive! :END: ** TODO %^{Describe task2} # 最初に取りかかるタスク SCHEDULED: %^T :PROPERTIES: :TRIGGER: next-sibling scheduled!("++0M") :END: ** TODO %^{Describe task3} # 中間タスク 前のが終了すると表示される :PROPERTIES: :BLOCKER: previous-sibling :TRIGGER: next-sibling scheduled!("++0M") :END: ** TODO %^{Describe task4} # 最終タスク。これを終了させると、親タスクがスケジュールされ、agenda-viewに表示される :PROPERTIES: :BLOCKER: previous-sibling :TRIGGER: parent scheduled!("++0M") :END:
こういうテキストを capture01.org などという名前で保存しておいて、org-captureで読み込む。まずtask2が表示され、それを終了させるとtask3が即座にスケジュールされ、(task3は必要なだけコピーする)、最後にtask4を終了させると親のtask1が出現し、それを終了させると、ツリー全体がアーカイブされる。
部分的には、以下のような感じに。
(setq org-capture-templates '(("d" "🛑 [D]eadline" entry (file "") "* TODO %^{Describe task} %^g DEADLINE: %^T :PROPERTIES: :TRIGGER: self archive! :END: %? %i %a" :empty-lines 1 :jump-to-captured t )))