diff options
| author | Blake Romero <blake@blkrom.com> | 2025-07-11 17:28:53 +0100 |
|---|---|---|
| committer | Blake Romero <blake@blkrom.com> | 2025-07-11 17:28:53 +0100 |
| commit | 7e85546b14a75c98a314b2fe16e5dab04f27a720 (patch) | |
| tree | 405415dcfdc42757bfb99ba3d0a35f3dbe2bffc3 /emacs-config.org | |
| parent | 56e9ac1e7ae2e8a467739ed177c5de23cdaae4e4 (diff) | |
Add Org capture templates
Diffstat (limited to 'emacs-config.org')
| -rw-r--r-- | emacs-config.org | 209 |
1 files changed, 209 insertions, 0 deletions
diff --git a/emacs-config.org b/emacs-config.org index d012c39..0884401 100644 --- a/emacs-config.org +++ b/emacs-config.org @@ -931,6 +931,215 @@ Set default clocktable parameters. '(:link t :fileskip0 t :hidefiles t :formatter +org-clocktable-format)) #+end_src +*** Org Capture +#+begin_src elisp :noweb yes + (with-eval-after-load 'org-capture + <<org-capture-quick-keys>> + <<org-capture-personal-keys>>) +#+end_src + +**** Capture Templates +Task template. +#+begin_src elisp :tangle no :noweb-ref capture-task-template + "* IDLE %^{Task} %^G + :PROPERTIES: + :CAPTURED: %U + :END:" +#+end_src + +Event template. +#+begin_src elisp :tangle no :noweb-ref capture-event-template + "* %^{Event} + SCHEDULED: %^T + :PROPERTIES: + :CAPTURED: %U + :END:" +#+end_src + +Note template. +#+begin_src elisp :tangle no :noweb-ref capture-note-template + "* %^{Note} %^G + :PROPERTIES: + :CAPTURED: %U + :END:" +#+end_src + +Meeting template. +#+begin_src elisp :tangle no :noweb-ref capture-meeting-template + "* TODO Meeting with: *%\\1* at *%\\2* :meeting: + SCHEDULED: %^T + :PROPERTIES: + :CAPTURED: %U + :NAME: %^{Name} + :LOCATION: %^{Location} + :END:" +#+end_src + +Goal setting template. +#+begin_src elisp :tangle no :noweb-ref capture-goal-template + "* [/] %^{Goal Title} :goal: + DEADLINE: %^{When do you expect this goal to be completed?}t + :PROPERTIES: + :CAPTURED: %U + :END: + + :SMART: + :SPECIFIC: %^{What SPECIFICALLY is the goal?} + :MEASURABLE: %^{What RESULTS will determine the completion of the goal?} + :ACTIONABLE: %^{What ACTIONS will you take to accomplish this goal?} + :RELEVANT: %^{Why is it IMPORTANT to accomplish this goal?} + :TIMELY: Due by =DEADLINE= + :END:" +#+end_src + +Daily review template. +#+begin_src elisp :tangle no :noweb-ref capture-weekly-review-template + ":PROPERTIES: + :CAPTURED: %U + :END: + %? + ,,#+BEGIN: clocktable :scope agenda-with-archives :block %t + ,,#+END:" +#+end_src + +Weekly review template. +#+begin_src elisp :tangle no :noweb-ref capture-weekly-review-template + ":PROPERTIES: + :CAPTURED: %U + :END: + %? + ,,#+BEGIN: clocktable :scope agenda-with-archives :block %<%Y>-W%<%V> + ,,#+END:" +#+end_src + +Monthly review template. +#+begin_src elisp :tangle no :noweb-ref capture-monthly-review-template + ":PROPERTIES: + :CAPTURED: %U + :END: + %? + ,,#+BEGIN: clocktable :scope agenda-with-archives :block %<%Y-%m> + ,,#+END:" +#+end_src + +**** Capture Template Quick Keys +:PROPERTIES: +:header-args:elisp: :tangle no :noweb-ref org-capture-quick-keys +:END: + +Capture a quick task. +#+begin_src elisp :noweb yes + (cl-pushnew + '("c" "Quick Task (personal)" entry + (file "agenda/tasks.org") + <<capture-task-template>> + :prepend t + :empty-lines-after 1 + :immediate-finish t) + org-capture-templates) +#+end_src + +Capture event. +#+begin_src elisp + (cl-pushnew + '("v" "Event" entry + (file "agenda/events.org") + <<capture-event>> + :prepend t + :empty-lines-after 1 + :immediate-finish t) + org-capture-templates) +#+end_src + +Captured to last clocked file. +#+begin_src elisp + (cl-pushnew + '("l" "Clocked File" item (clock) nil) + org-capture-templates) +#+end_src + +**** Capture Template Personal Keys +:PROPERTIES: +:header-args:elisp: :tangle no :noweb-ref org-capture-personal-keys +:END: + +Personal capture templates. +#+begin_src elisp + (cl-pushnew '("p" "personal...") org-capture-templates) + + (cl-pushnew + '("pt" "Task" entry + (file "agenda/tasks.org") + <<capture-task-template>> + :prepend t + :empty-lines-after 1 + :immediate-finish t) + org-capture-templates) + + (cl-pushnew + '("pT" "Detailed Task" entry + (file "agenda/tasks.org") + <<capture-task-template>> + :prepend t + :empty-lines-after 1) + org-capture-templates) + + (cl-pushnew + '("pp" "Plan Today" checkitem + (file+olp+datetree "agenda/planner.org") + nil + :empty-lines-after 1 + :jump-to-captured t) + org-capture-templates) + + (cl-pushnew + '("pn" "Note" entry (file "notes/notes.org") + <<capture-note-template>> + :empty-lines-after 1) + org-capture-templates) + + (cl-pushnew + '("pe" "Meeting" entry + (file "agenda/tasks.org") + <<capture-meeting-template>> + :prepend t + :empty-lines-after 1) + org-capture-templates) +#+end_src + +Review captures. +#+begin_src elisp + (cl-pushnew '("pr" "Review") org-capture-templates) + + (cl-pushnew + '("prd" "Daily Review" plain + (file+olp+datetree "agenda/planner.org" "Reviews" "Daily") + <<capture-daily-review-template>> + :time-prompt t + :empty-lines-after 1) + org-capture-templates) + + (cl-pushnew + '("prw" "Weekly Review" plain + (file+olp+datetree "agenda/planner.org" "Reviews" "Weekly") + <<capture-weekly-review-template>> + :time-prompt t + :tree-type week + :jump-to-captured t + :empty-lines-after 1) + org-capture-templates) + + (cl-pushnew + '("prm" "Monthly Review" plain + (file+olp+datetree "agenda/planner.org" "Reviews" "Monthly") + <<capture-monthly-review-template>> + :time-prompt t + :tree-type month + :jump-to-captured t + :empty-lines-after 1) + org-capture-templates) +#+end_src + ** Error Checking Enable flymake for programming modes. #+begin_src elisp |
