;;; bundle--ct.el --- Bunch of capture tempates -*- lexical-binding: t; -*- ;; Copyright (C) 2024 Marcus Kammer ;; Author: Marcus Kammer ;; Keywords: ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; ;;; Code: (defun mk/link-to-current-task () "Return an Org link to the current clocked-in task, if any, or prompt for manual entry." (if (org-clock-is-active) (with-current-buffer (marker-buffer org-clock-marker) (save-excursion (goto-char org-clock-marker) (format ":TASK_ID: [[id:%s][%s]]" (org-id-get) (org-get-heading t t)))) (let ((manual-id (read-string "Enter Task ID (leave empty if not applicable): "))) (unless (string-empty-p manual-id) (format ":TASK_ID: [[id:%s][Task]]\n" manual-id))))) (setq org-capture-templates '(("T" "Task Management") ("Tt" "Task" entry (file "agenda/tasks.org") "* TODO %? :TASK:\n:PROPERTIES:\n:ID: %(org-id-new)\n:Project: %^{Project}\n:END:\nEntered on %U\n") ("Tp" "Project" entry (file "agenda/projects.org") "* %^{Project Name} :PROJECT:\n:PROPERTIES:\n:ID: %(org-id-new)\n:Start Date: %T\n:End Date: %^{End Date}\n:END:\n** Objective\n%?\n** Challenges\n- [ ] %^{Challenge 1}\n- [ ] %^{Challenge 2}\n") ("Tv" "Achievement" entry (file+olp+datetree "achievements.org") "* %^{Achievement Title} :ACHIEVEMENT:\n:PROPERTIES:\n:Project: %^{Project}\n:Date: %T\n:END:\n- Description: %?\n- Impact: %^{Impact}\n- Associated Tasks: %^{Tasks}\n") ("N" "Notes and Journaling") ("Nn" "Note" entry (file "notes.org") "* %? :NOTE:\n:PROPERTIES:\n:ID: %(org-id-new)\n%(mk/link-to-current-task):END:\nEntered on: %U\n") ("Nj" "Journal" entry (file+olp+datetree "agenda/journal.org") "* %T - End of Day Reflection :JOURNAL:\n- Was ist heute gut gelaufen?\n %?\n- Was könnte verbessert werden?\n \n- Worauf konzentriere ich mich morgen?\n ") ("Nl" "Log" entry (file+olp+datetree "logbook.org") "* %T - %^{Activity} :LOG:\n%?" :clock-in t :empty-lines 1) ("M" "Meetings and Appointments") ("Ma" "Appointment" entry (file "agenda/appt.org") "* %^{Title} %^g\n:PROPERTIES:\n:LOCATION: %^{Location}\n:ATTENDEES: %^{Attendees}\n:END:\n%^{Date}t\n** Agenda\n%?\n** Preparation Tasks\n- [ ]\n- [ ]\n- [ ]\n** Notes\n") ("Mm" "Meeting" entry (file "agenda/meetings.org") "* %^{Topic} \n%T\n%?" :clock-in t :empty-lines 1) ("R" "Research and Information Gathering") ("Rb" "Bookmark" table-line (file+headline "bookmarks.org" "Bookmarks") "| %^{URL} | %^{Tags} | %u |" :prepend t) ("Rc" "Code Snippet" entry (file+headline "code.org" "Snippets") "* %?\n#+begin_src %^{language}\n%i\n#+end_src") ("Rs" "Stock Recommendation" entry (file+headline "stocks.org" "Stock Recommendations") "* %^{Stock Name} :STOCK:\n:PROPERTIES:\n:Date: %T\n:WKN: %^{WKN}\n:ISIN: %^{ISIN}\n:END:\n%?") ("Ru" "UTM Parameters" entry (file+headline "utm.org" "UTM Parameters") "* %^{Campaign Name}\n:PROPERTIES:\n:Source: %^{utm_source}\n:Medium: %^{utm_medium}\n:Term: %^{utm_term}\n:Content: %^{utm_content}\n:END:\n") ("I" "Interviews") ("Ih" "How Might We" entry (file+headline "interviews.org" "HMW Questions") "* WKW/HMW %? :HMW:\n%U\n:PROPERTIES:\n:Interviewee: %^{Interviewee}\n:Context: %^{Context}\n:END:") ("Iq" "Interview Question" entry (file+headline "interviews.org" "Interview Questions") "* %^{Interview Topic} :INTERVIEW:\n:PROPERTIES:\n:Project: %^{Project Name}\n:Date: %T\n:END:\n- %?\n") ("Io" "Quote from User Interview" entry (file+headline "interviews.org" "Quotes") "* %^{Quote} :QUOTE:\n:PROPERTIES:\n:Interviewee: %^{Interviewee}\n:Timestamp: %^{Timestamp in Video}\n:Project: %^{Project}\n:Context: %^{Context}\n:END:\n") ("A" "Accounting") ("Ae" "Expense" table-line (file+headline "accounting.org" "Expenses") "| %U | %^{Amount} | %^{Category} | %? |") ("Ai" "Income" table-line (file+headline "accounting.org" "Income") "| %U | %^{Amount} | %^{Source} | %? |") ("AI" "Invoice" table-line (file+headline "accounting.org" "Invoices") "| %T | %^{Client} | %^{Amount} | %^{Due Date} | %? |") ("Ab" "Budget" table-line (file+headline "accounting.org" "Budget") "| %(format-time-string \"%Y\") | %(format-time-string \"%B\") | %^{Estimated Income} | %^{Estimated Expenses} | %? |") ("Av" "Investment" table-line (file+headline "accounting.org" "Investments") "| %U | %^{Type} | %^{Amount} | %? |") ("P" "Personal") ("Pb" "Book" table-line (file+headline "books.org" "Meine Bücherliste") "| %^{Buchtitel} | %^{Autor} | %^{Status||Geplant|In Bearbeitung|Fertig} | %U |" :kill-buffer t))) (provide 'bundle--ct) ;;; bundle--ct.el ends here