235 lines
8.6 KiB
EmacsLisp
235 lines
8.6 KiB
EmacsLisp
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; inspiration for conditional capture template : https://storax.github.io/blog/2016/05/02/org-capture-tricks/
|
|
|
|
; helper functions
|
|
(defvar my-capture-prmt-history nil
|
|
"History of prompt answers for org capture.")
|
|
(defun my/prmt (prompt variable)
|
|
"PROMPT for string, save it to VARIABLE and insert it."
|
|
(make-local-variable variable)
|
|
(set variable (read-string (concat prompt ": ") nil my-capture-prmt-history)))
|
|
(defun my/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 my/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
|
|
(when (not kmn/is-dayjob)
|
|
(setq org-capture-templates '(
|
|
("d" "TODO (Main)" entry
|
|
(file "~/org/orgzly/_todo.org")
|
|
(file "~/org/template_todo.org")
|
|
:prepend t
|
|
:immediate-finish "f"
|
|
:jump-to-captured "t"
|
|
)
|
|
("s" "TODO (Slipbox)" entry
|
|
(file "~/org/orgzly/_slipbox.org")
|
|
(file "~/org/template_slipbox.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")
|
|
("gd" "Destiny")
|
|
("gdc" "To Do - Crafted Gun"
|
|
entry (id "65a28e9e-e484-4722-8a25-4fbf0a8dea2c")
|
|
(file "~/org/games/template_game_destiny_gun.org")
|
|
:prepend t
|
|
:immediate-finish "f"
|
|
:jump-to-captured "t"
|
|
:unnarrowed "t"
|
|
)
|
|
("gw" "Warframe")
|
|
("gwd" "Daily Reset"
|
|
entry (file+headline "~/org/games/games_warframe.org" "Daily / Weekly Reset")
|
|
(file "~/org/games/template_game_warframe_daily_reset.org")
|
|
:prepend t
|
|
:immediate-finish "f"
|
|
:jump-to-captured "t"
|
|
:unnarrowed "t"
|
|
)
|
|
("gww" "Weekly Reset"
|
|
entry (file+headline "~/org/games/games_warframe.org" "Daily / Weekly Reset")
|
|
(file "~/org/games/template_game_warframe_weekly_reset.org")
|
|
:prepend t
|
|
:immediate-finish "f"
|
|
:jump-to-captured "t"
|
|
:unnarrowed "t"
|
|
)
|
|
("gwt" "To Do"
|
|
entry (file+headline "~/org/games/games_warframe.org" "To Do")
|
|
"** TODO %^{Heading}\n%?"
|
|
:immediate-finish "f"
|
|
:jump-to-captured "t"
|
|
:unnarrowed "t"
|
|
:prepend "t"
|
|
)
|
|
("h" "Health")
|
|
("hc" "Couples")
|
|
("hch" "Homework"
|
|
entry (file+headline "~/org/health/health_couples.org" "Homework")
|
|
"** TODO %^{Heading} :health:couples:homework:\n%?"
|
|
:immediate-finish "f"
|
|
:jump-to-captured "t"
|
|
:unnarrowed "t"
|
|
)
|
|
("hcl" "Log Entry"
|
|
entry (file+datetree "~/org/health/health_couples.org" "Log")
|
|
"* %^{Timestamp}U %^{Text} :health:couples:log:%^g\n%?"
|
|
:time-prompt "t"
|
|
:immediate-finish "f"
|
|
:jump-to-captured "t"
|
|
:unnarrowed "f"
|
|
)
|
|
("hcd" "Appointment noteworthy developments / [time] in review"
|
|
entry (file+headline "~/org/health/health_couples.org" "To Do")
|
|
"** READY [#A] %^{Heading} :health:couples:appointment:%^g\nDEADLINE: %^t\n%?"
|
|
:immediate-finish "f"
|
|
:jump-to-captured "t"
|
|
:unnarrowed "t"
|
|
:prepend "t"
|
|
)
|
|
("hca" "Appointment Notes"
|
|
entry (file+datetree "~/org/health/health_couples.org" "Log")
|
|
"* %^{Timestamp}U %^{Text} :health:couples:appointment:%^g\n%?"
|
|
:time-prompt "t"
|
|
:immediate-finish "f"
|
|
:jump-to-captured "t"
|
|
:unnarrowed "t"
|
|
)
|
|
("hm" "Mike")
|
|
("hmh" "Homework"
|
|
entry (file+headline "~/org/health/health_mike.org" "Homework")
|
|
"** TODO %^{Heading} :health::homework:\n%?"
|
|
:immediate-finish "f"
|
|
:jump-to-captured "t"
|
|
:unnarrowed "t"
|
|
)
|
|
("hml" "Log Entry"
|
|
entry (file+datetree "~/org/health/health_mike.org" "Log")
|
|
"* %^{Timestamp}U %^{Text} :health:log:%^g\n%?"
|
|
:time-prompt "t"
|
|
:immediate-finish "f"
|
|
:jump-to-captured "t"
|
|
:unnarrowed "f"
|
|
)
|
|
("hmd" "Appointment noteworthy developments / [time] in review"
|
|
entry (file+headline "~/org/health/health_mike.org" "To Do")
|
|
"** READY [#A] %^{Heading} :health:appointment:%^g\nDEADLINE: %^t\n%?"
|
|
:immediate-finish "f"
|
|
:jump-to-captured "t"
|
|
:unnarrowed "t"
|
|
:prepend "t"
|
|
)
|
|
("hma" "Appointment Notes"
|
|
entry (file+datetree "~/org/health/health_mike.org" "Log")
|
|
"* %^{Timestamp}U %^{Text} :health:appointment:%^g\n%?"
|
|
:time-prompt "t"
|
|
:immediate-finish "f"
|
|
:jump-to-captured "t"
|
|
:unnarrowed "t"
|
|
)
|
|
("hmw" "Weight"
|
|
entry (file+datetree "~/org/health/health_mike.org" "Log")
|
|
"* %^{Timestamp}U %^{Weight} lbs %?:weight:"
|
|
:time-prompt "t"
|
|
:immediate-finish "t"
|
|
: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"
|
|
)
|
|
("m" "Music import (beets)" entry
|
|
(file "~/org/orgzly/_todo.org")
|
|
(file "~/org/template_beets.org")
|
|
:prepend t
|
|
:immediate-finish "f"
|
|
:jump-to-captured "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
|
|
)
|
|
))
|
|
)
|
|
(when kmn/is-dayjob
|
|
(setq org-capture-templates '(
|
|
("d" "TODO (Main)" entry
|
|
(file "~/org/_todo.org")
|
|
(file "~/org/template_todo.org")
|
|
:prepend t
|
|
:immediate-finish "f"
|
|
:jump-to-captured "t"
|
|
)
|
|
("s" "TODO (Slipbox)" entry
|
|
(file "~/org/_slipbox.org")
|
|
(file "~/org/template_slipbox.org")
|
|
:prepend t
|
|
:immediate-finish "f"
|
|
:jump-to-captured "t"
|
|
)
|
|
("p" "Deployment" entry
|
|
(file "~/org/_todo.org")
|
|
(file "~/org/template_deploy.org")
|
|
:prepend t
|
|
:immediate-finish "f"
|
|
:jump-to-captured "t"
|
|
)
|
|
))
|
|
)
|