emacs/org/config-org-capture.el

158 lines
6.2 KiB
EmacsLisp
Raw Normal View History

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; inspiration for conditional capture template : https://storax.github.io/blog/2016/05/02/org-capture-tricks/
; helper functions
(defvar oc-capture-prmt-history nil
"History of prompt answers for org capture.")
(defun oc/prmt (prompt variable)
"PROMPT for string, save it to VARIABLE and insert it."
(make-local-variable variable)
(set variable (read-string (concat prompt ": ") nil oc-capture-prmt-history)))
(defun oc/inc (what text &rest fmtvars)
"Ask user to include WHAT. If user agrees return TEXT."
(when (y-or-n-p (concat "Include " what "?"))
(apply 'format text fmtvars)))
(defun oc/inc (what text &rest fmtvars)
"Ask user to include WHAT. If user agrees return TEXT."
(when (y-or-n-p (concat "Include " what "?"))
(apply 'format text fmtvars)))
(defun oc/inc_date (what prefix)
"Ask user to include a date. If user agrees prompt for date."
(when (y-or-n-p (concat "Include " what "?"))
(concat prefix (org-time-stamp nil))))
; orgmode capture templates
(setq org-capture-templates '(
("d" "TODO" entry
(file+headline "~/org/_todo.org" "Active")
(file "~/org/template_todo.org")
:prepend t
:immediate-finish "f"
:jump-to-captured "t"
)
("b" "Blog Post" entry
(file+headline "~/org/blog/_blog.org" "Drafts")
(file "~/org/template_blog.org")
)
("g" "Gaming")
("gc" "To Do - Crafted Gun"
entry (id "65a28e9e-e484-4722-8a25-4fbf0a8dea2c")
2022-08-25 23:04:33 +00:00
(file "~/org/template_game_destiny_gun.org")
:prepend t
:immediate-finish "f"
:jump-to-captured "t"
:unnarrowed "t"
)
("h" "Health")
("hm" "Mike")
("hml" "Log Entry"
entry (file+datetree "~/org/health/health_mike.org" "Log")
"* %^{Timestamp}U %^{Text} %^g\n%?"
:time-prompt "t"
:immediate-finish "f"
:jump-to-captured "t"
:unnarrowed "f"
)
("hmw" "Week in review"
entry (file+headline "~/org/health/health_mike.org" "To Do")
"** WIP [#A] Week in review (ending %^{Ending}) \n%?"
:immediate-finish "f"
:jump-to-captured "t"
:unnarrowed "t"
:prepend "t"
)
("hma" "Appointment Entry"
entry (file+datetree "~/org/health/health_mike.org" "Appointment Notes")
"* %^{AptTime} %^{Text} %^{pcp:threapy:dratiyeh:ryan:telehealth}g\n%?"
:time-prompt "t"
:immediate-finish "f"
:jump-to-captured "t"
:unnarrowed "t"
)
("hmx" "Anxiety Entry"
entry (file+datetree "~/org/health/health_mike.org" "Log")
"* %^{Timestamp}U %^{Text} :panic:\n** Level (0-10/none-strong): %^{Level}\n** What brought on your feelings of anxiety or panic?\n%?\n** Anxiety and Panic Responses\n*** Physical Sensations\nlist the physical sensations you felt during your anxiety response\ne.g. dizziness, shortness of breath, blushing, sweating, muscle tension. Indicate three that frighten you the most.\n*** Thoughts and Images\nlist the thoughts you had when anticipating or experiencing your anxiety response\ne.g. 'im having a heart attack', 'im losign control', 'something terrible will happen'\n*** Behaviors and Actions\nlist the behaviors you exhibited or actions you took as a result of your anxiety response\n"
:time-prompt "t"
:immediate-finish "f"
:jump-to-captured "t"
:unnarrowed "t"
)
("hmj" "mmj")
("hmjc" "mmj - sugar cube"
entry (file+datetree "~/org/health/health_mike.org" "Log")
"* %^{Timestamp}U Sugar Cube :mmj:\n :PROPERTIES:\n :THC: %^{THC}\n :CBD: %^{CBD}\n :Quantity: %^{Quantity}\n :END:"
:time-prompt "t"
:immediate-finish "t"
:jump-to-captured "t"
:unnarrowed "t"
)
("hmjf" "mmj - flower"
entry (file+datetree "~/org/health/health_mike.org" "Log")
"* %^{Timestamp}U Flower :mmj:\n :PROPERTIES:\n :THC: %^{THC}\n :CBD: %^{CBD}\n :Quantity: %^{Quantity}\n :END:"
:time-prompt "t"
:immediate-finish "t"
:jump-to-captured "t"
:unnarrowed "t"
)
("hh" "Houdini")
("hhl" "Log Entry"
entry (file+datetree "~/org/health/health_houdini.org" "Log")
"* %^{Timestamp}U %^{Text} %^g\n%?"
:time-prompt "t"
:immediate-finish "t"
:jump-to-captured "t"
:unnarrowed "t"
)
("hhf" "Food"
entry (file+datetree "~/org/health/health_houdini.org" "Log")
"* %^{Timestamp}U %^{Food} - %^{Amount} :food:%?"
:time-prompt "t"
:immediate-finish "t"
:jump-to-captured "t"
:unnarrowed "t"
)
("hhm" "Medication"
entry (file+datetree "~/org/health/health_houdini.org" "Log")
"* %^{Timestamp}U %^{Medication} :medication:%?"
:time-prompt "t"
:immediate-finish "t"
:jump-to-captured "t"
:unnarrowed "t"
)
("hhw" "Weight"
entry (file+datetree "~/org/health/health_houdini.org" "Log")
"* %^{Timestamp}U %^{Weight} lbs %?:weight:"
:time-prompt "t"
:immediate-finish "t"
:jump-to-captured "t"
:unnarrowed "t"
)
("p" "Photography")
("pt" "Theme (Film)" entry
(file+headline "~/org/photography/film.org" "Themes - Active")
(file "~/org/photography/template_theme.org")
:empty-lines-before 1
)
("pi" "Theme (Instant Film)" entry
(file+headline "~/org/photography/instant_film.org" "Themes - Active")
(file "~/org/photography/template_instant_film_theme.org")
:empty-lines-before 1
)
("r" "Recipe")
("rs" "Standard" plain
(file "~/org/culinary/_recipes.org")
(file "~/org/culinary/template_recipe.org")
:empty-lines-before 1
)
("rb" "Budget Bytes" plain
(file "~/org/culinary/_recipes.org")
(file "~/org/culinary/template_budget_bytes.org")
:empty-lines-before 1
)
("t" "Trip" entry
(file+headline "~/org/trips.org" "Planned")
(file "~/org/template_trip.org")
:empty-lines-before 1
)
))