cashmere

cashmere

Denote templates

Simple string template

(setq denote-templates
      '((meeting . "* Agenda\n\n* Notes\n\n* Action items\n")))

Use concat to make long strings easier to read and maintain

;;
(setq denote-templates
      `((report . ,(concat "* Introduction\n\n"
                           "* Methodology\n\n"
                           "* Results\n\n"
                           "* Conclusion\n\n"))))

Use a function that returns a string

(defun my-denote-template-for-todo ()
  "Return a todo list template."
  (concat "* Tasks\n\n"
          "- [ ] Task 1\n"
          "- [ ] Task 2\n"
          "- [ ] Task 3\n\n"
          "* Notes\n\n"))

(setq denote-templates
      `((todo . my-denote-template-for-todo)))

Use a function with dynamic content

(defun my-denote-template-with-date ()
  "Return a template with today's date."
  (concat "* Created: " (format-time-string "%Y-%m-%d") "\n\n"
          "* Notes\n\n"))

(setq denote-templates
      `((dated-note . my-denote-template-with-date)))