[oni-org] Add capture template for CODE Magazine issues
This commit is contained in:
parent
0befa1ec7c
commit
f377541a46
1 changed files with 33 additions and 4 deletions
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
;; Author: Tom Willemse <tom@ryuslash.org>
|
;; Author: Tom Willemse <tom@ryuslash.org>
|
||||||
;; Keywords: local
|
;; Keywords: local
|
||||||
;; Version: 2021.0705.233009
|
;; Version: 2021.0706.003249
|
||||||
;; Package-Requires: (oni-yasnippet oni-alert oni-hydra org org-contrib org-bullets org-edna diminish all-the-icons olivetti)
|
;; Package-Requires: (oni-yasnippet oni-alert oni-hydra org org-contrib org-bullets org-edna diminish all-the-icons olivetti)
|
||||||
|
|
||||||
;; This program is free software; you can redistribute it and/or modify
|
;; This program is free software; you can redistribute it and/or modify
|
||||||
|
@ -510,22 +510,51 @@ After running it once remove it from `org-capture-after-finalize-hook'."
|
||||||
(let ((title (oni-org-get-url-title url)))
|
(let ((title (oni-org-get-url-title url)))
|
||||||
(format "[[%s][%s]]" url title)))
|
(format "[[%s][%s]]" url title)))
|
||||||
|
|
||||||
|
(defun oni-org-format-months ()
|
||||||
|
(let* ((time (org-timestamp-to-time
|
||||||
|
(org-timestamp-from-string (concat "<" (org-read-date) ">"))))
|
||||||
|
(decoded (decode-time time))
|
||||||
|
(next-month
|
||||||
|
(time-add time (days-to-time (date-days-in-month
|
||||||
|
(decoded-time-year decoded)
|
||||||
|
(decoded-time-month decoded))))))
|
||||||
|
(concat (format-time-string "%b " time)
|
||||||
|
(format-time-string "%b " next-month)
|
||||||
|
(format-time-string "%Y" time))))
|
||||||
|
|
||||||
|
(defun oni-org-ask-names ()
|
||||||
|
(let ((n 1)
|
||||||
|
article-name
|
||||||
|
names)
|
||||||
|
(while (not (string-empty-p (setq article-name (read-string (format "Article Name %d: " n)))))
|
||||||
|
(push article-name names)
|
||||||
|
(cl-incf n))
|
||||||
|
(reverse names)))
|
||||||
|
|
||||||
|
(defun oni-org-format-names (names)
|
||||||
|
(mapconcat (lambda (n) (format "** READ %s" n)) names "\n"))
|
||||||
|
|
||||||
(setq org-capture-templates
|
(setq org-capture-templates
|
||||||
`(("i" "Inbox" entry (file ,(oni-org-expand-to-home "documents/gtd/inbox.org"))
|
`(("i" "Inbox" entry (file ,(oni-org-expand-to-home "documents/gtd/inbox.org"))
|
||||||
(file ,(expand-file-name "inbox.org" oni-org-capture-template-directory)))
|
(file ,(expand-file-name "inbox.org" oni-org-capture-template-directory)))
|
||||||
("I" "Inbox (add selection)" entry (file ,(oni-org-expand-to-home "documents/gtd/inbox.org"))
|
("I" "Inbox (add selection)" entry (file ,(oni-org-expand-to-home "documents/gtd/inbox.org"))
|
||||||
(file ,(expand-file-name "inbox-with-selection.org" oni-org-capture-template-directory)))
|
(file ,(expand-file-name "inbox-with-selection.org" oni-org-capture-template-directory)))
|
||||||
("a" "Album" entry (file ,(oni-org-expand-to-home "documents/gtd/inbox.org"))
|
("a" "Appointment" entry (file "")
|
||||||
|
(file ,(expand-file-name "appointment.org" oni-org-capture-template-directory)))
|
||||||
|
("A" "Album" entry (file ,(oni-org-expand-to-home "documents/gtd/inbox.org"))
|
||||||
"* %^{Artist} - %^{Album Name}
|
"* %^{Artist} - %^{Album Name}
|
||||||
** TODO Listen to %\\1 - %\\2
|
** TODO Listen to %\\1 - %\\2
|
||||||
** TODO Rip %\\1 - %\\2 to disk
|
** TODO Rip %\\1 - %\\2 to disk
|
||||||
** TODO Add album art to %\\1 - %\\2
|
** TODO Add album art to %\\1 - %\\2
|
||||||
** TODO Transfer %\\1 - %\\2 to phone"
|
** TODO Transfer %\\1 - %\\2 to phone"
|
||||||
:immediate-finish t)
|
:immediate-finish t)
|
||||||
|
("m" "Code Magazine Issue" entry (file ,(oni-org-expand-to-home "documents/gtd/inbox.org"))
|
||||||
|
"* CODE Issue %(oni-org-format-months)
|
||||||
|
** READ Editorial
|
||||||
|
%(oni-org-format-names (oni-org-ask-names))"
|
||||||
|
:immediate-finish t)
|
||||||
("t" "Task" entry (file ,(oni-org-expand-to-home "documents/gtd/inbox.org"))
|
("t" "Task" entry (file ,(oni-org-expand-to-home "documents/gtd/inbox.org"))
|
||||||
(file ,(expand-file-name "task.org" oni-org-capture-template-directory)))
|
(file ,(expand-file-name "task.org" oni-org-capture-template-directory)))
|
||||||
("a" "Appointment" entry (file "")
|
|
||||||
(file ,(expand-file-name "appointment.org" oni-org-capture-template-directory)))
|
|
||||||
("u" "URL to read" entry (file ,(oni-org-expand-to-home "documents/gtd/inbox.org"))
|
("u" "URL to read" entry (file ,(oni-org-expand-to-home "documents/gtd/inbox.org"))
|
||||||
(file ,(expand-file-name "reading-url.org" oni-org-capture-template-directory))
|
(file ,(expand-file-name "reading-url.org" oni-org-capture-template-directory))
|
||||||
:immediate-finish t)
|
:immediate-finish t)
|
||||||
|
|
Loading…
Reference in a new issue