240 lines
11 KiB
EmacsLisp
240 lines
11 KiB
EmacsLisp
|
;;; bundle--ct.el --- Bunch of capture tempates -*- lexical-binding: t; -*-
|
||
|
|
||
|
;; Copyright (C) 2024 Marcus Kammer
|
||
|
|
||
|
;; Author: Marcus Kammer <marcus.kammer@mailbox.org>
|
||
|
;; 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 <https://www.gnu.org/licenses/>.
|
||
|
|
||
|
;;; 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
|