From 07866b49f9f396332067411cfb20f7e47bd5a518 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Fri, 11 Oct 2024 10:09:02 +0200 Subject: [PATCH] Move capture templates to specific file --- bundle/bundle--ct.el | 239 +++++++++++++++++++++++++++++++++++++++++++ init.el | 211 -------------------------------------- 2 files changed, 239 insertions(+), 211 deletions(-) create mode 100644 bundle/bundle--ct.el diff --git a/bundle/bundle--ct.el b/bundle/bundle--ct.el new file mode 100644 index 00000000..74349e3a --- /dev/null +++ b/bundle/bundle--ct.el @@ -0,0 +1,239 @@ +;;; 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 diff --git a/init.el b/init.el index 40bb7467..c5ee7564 100755 --- a/init.el +++ b/init.el @@ -1744,217 +1744,6 @@ Uses `mk/hyperspec-dir-locations' to find the directory." (":-)" . "😊") (":-(" . "😞"))) -;; 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)) - (require 'request) (use-package org-roam