;;; 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: ;; Note Capture Template ;; Purpose: To capture general notes. These notes can optionally be linked to a currently clocked-in task. ;; Fields: Heading, optional task link, initial content, and a timestamp. (add-to-list 'org-capture-templates `("n" "Note" entry (file "notes.org") ,(concat "* %? :NOTE:\n" ":PROPERTIES:\n" ":ID: %(org-id-new)\n" "%(mk/link-to-current-task)" ":END:\n" "Entered on: %U\n"))) ;; Task Capture Template ;; Purpose: To capture tasks and automatically assign a unique ID to each task. ;; Fields: Heading, unique ID, timestamp, and link to where the capture was made. (add-to-list 'org-capture-templates `("t" "Task" entry (file "agenda/tasks.org") ,(format "* TODO %%? :TASK:\n:PROPERTIES:\n:ID: %s\n:Project: %%^{Project}\n:END:\nEntered on %%U\n" (org-id-new)))) ;; Journal Capture Template ;; Purpose: To capture end-of-day reflections. ;; Fields: Heading, timestamp, and prompts for what went well, what could be improved, and focus for tomorrow. (add-to-list 'org-capture-templates '("j" "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 " :empty-lines 1)) ;; Updated Appointment Capture Template ;; Purpose: To capture and plan detailed appointments with agenda and preparation tasks. ;; Fields: Title, Date/Time, Location, Attendees, Agenda Items, Preparation Tasks, Notes. (add-to-list 'org-capture-templates '("a" "Appointment" entry (file "agenda/appt.org") "* %^{Title} %^g :PROPERTIES: :LOCATION: %^{Location} :ATTENDEES: %^{Attendees} :END: %^{Date}t ** Agenda %? ** Preparation Tasks - [ ] - [ ] - [ ] ** Notes " :empty-lines 1)) ;; Meeting Capture Template ;; Purpose: To capture meeting notes and automatically start a clock for time tracking. ;; Fields: Topic, timestamp, and additional notes. (add-to-list 'org-capture-templates '("m" "Meeting" entry (file "agenda/meetings.org") "* %^{Topic} \n%T\n%?" :clock-in t :empty-lines 1)) ;; Log Capture Template ;; Purpose: To capture activities in a chronological order and automatically start a clock for time tracking. ;; Fields: Timestamp, activity description. (add-to-list 'org-capture-templates '("l" "Log" entry (file+olp+datetree "logbook.org") "* %T - %^{Activity} :LOG:\n%?" :clock-in t :empty-lines 1)) ;; UTM Parameters Capture Template ;; Purpose: To capture UTM parameters for marketing tracking. ;; Fields: Campaign name, source, medium, term, and content. (add-to-list 'org-capture-templates '("u" "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")) ;; Bookmark Capture Template ;; Purpose: To capture bookmarks with tags and a timestamp. ;; Fields: URL, tags, timestamp. (add-to-list 'org-capture-templates '("b" "Bookmark" table-line (file+headline "bookmarks.org" "Bookmarks") "| %^{URL} | %^{Tags} | %u |" :prepend t)) ;; Code Snippet Capture Template ;; Purpose: To capture code snippets and specify the programming language. ;; Fields: Code snippet, language specification. (add-to-list 'org-capture-templates '("c" "Code Snippet" entry (file+headline "code.org" "Snippets") "* %?\n#+begin_src %^{language}\n%i\n#+end_src")) ;; Capture Templates for Interviews ;; ;; The following capture templates are designed to facilitate the collection ;; of questions and insights for user interviews. Given the importance of ;; user-centered design in experience architecture, these templates aim to ;; streamline the preparation process for interviews. ;; Interview Sub-menu ;; ;; This entry serves as a sub-menu for all interview-related capture templates. (add-to-list 'org-capture-templates '("i" "Interviews")) ;; How Might We (HMW) Template ;; ;; This template is designed to capture "How Might We" questions that are often ;; used to frame problems and opportunities in user interviews. These questions ;; can be crucial for guiding the interview in a direction that yields ;; actionable insights. (add-to-list 'org-capture-templates '("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:")) ;; Interview Question Template ;; ;; Use this template to quickly capture questions that you intend to ask during ;; user interviews. The template prompts for the topic of the interview and ;; the project it is associated with, allowing for easy categorization and ;; retrieval later. (add-to-list 'org-capture-templates '("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")) ;; User Interview Quotes Capture Template ;; Purpose: To capture important quotes from user interviews. ;; Fields: Quote, Interviewee, Timestamp in Video, Project, Context (add-to-list 'org-capture-templates '("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")) ;; Capture Templates for Project Management and Achievements ;; ;; These templates are designed to facilitate the tracking of project details ;; and individual achievements. Given the focus on agile methodologies and ;; continuous improvement, these templates aim to provide a structured way ;; to capture essential information. ;; Project Template ;; ;; This template captures the essential details of a new project. It prompts ;; for the project name, start date, and end date, and provides sections for ;; outlining the project's objectives and challenges. Each project is assigned ;; a unique ID for easy referencing. (add-to-list 'org-capture-templates `("p" "Project" entry (file "agenda/projects.org") ,(format "* %%^{Project Name} :PROJECT:\n:PROPERTIES:\n:ID: %s\n:Start Date: %%T\n:End Date: %%^{End Date}\n:END:\n** Objective\n%%?\n** Challenges\n- [ ] %%^{Challenge 1}\n- [ ] %%^{Challenge 2}\n" (org-id-new)))) ;; Achievement Template ;; ;; This template is designed to capture individual achievements. It prompts for ;; the title of the achievement, the project it is associated with, and the date. ;; Additionally, it provides fields for describing the achievement, its impact, ;; and any associated tasks. This can be particularly useful for end-of-year ;; reviews or for maintaining a portfolio of accomplishments. (add-to-list 'org-capture-templates `("v" "Achievement" entry (file+olp+datetree "achievements.org") ,(concat "* %^{Achievement Title} :ACHIEVEMENT:\n" ":PROPERTIES:\n" ":Project: %^{Project}\n" ":Date: %T\n" ":END:\n" "- Description: %?\n" "- Impact: %^{Impact}\n" "- Associated Tasks: %^{Tasks}\n"))) (add-to-list 'org-capture-templates '("A" "Accounting")) ;; Expense Tracking ;; Purpose: To capture individual expenses for accounting in a table. ;; Fields: Amount, Category, Note, Date (add-to-list 'org-capture-templates '("Ae" "Expense" table-line (file+headline "accounting.org" "Expenses") "| %U | %^{Amount} | %^{Category} | %? |")) ;; Income Tracking ;; Purpose: To capture instances of income for accounting in a table. ;; Fields: Amount, Source, Date (add-to-list 'org-capture-templates '("Ai" "Income" table-line (file+headline "accounting.org" "Income") "| %U | %^{Amount} | %^{Source} | %? |")) ;; Invoice Tracking ;; Purpose: To capture invoices sent for services or products in a table. ;; Fields: Client, Amount, Due Date (add-to-list 'org-capture-templates '("AI" "Invoice" table-line (file+headline "accounting.org" "Invoices") "| %T | %^{Client} | %^{Amount} | %^{Due Date} | %? |")) ;; Budget Planning ;; Purpose: To capture budget plans for personal or business accounting in a table. ;; Fields: Estimated Income, Estimated Expenses (add-to-list 'org-capture-templates `("Ab" "Budget" table-line (file+headline "accounting.org" "Budget") ,(concat "| " (format-time-string "%Y") " | " (format-time-string "%B") " | %^{Estimated Income} | %^{Estimated Expenses} | %? |"))) ;; Investment Tracking ;; Purpose: To capture investment details for accounting in a table. ;; Fields: Type, Amount, Notes (add-to-list 'org-capture-templates '("Av" "Investment" table-line (file+headline "accounting.org" "Investments") "| %U | %^{Type} | %^{Amount} | %? |")) ;; Stock Recommendation Capture Template ;; Purpose: To capture stock recommendations for potential investment. ;; Fields: Stock Symbol, Recommender, Notes, Date (add-to-list 'org-capture-templates '("s" "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%?")) (add-to-list 'org-capture-templates '("B" "Bücherliste" 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