Add org-drawer-list

This commit is contained in:
Case Duckworth 2022-04-20 10:43:20 -05:00
parent 088f933bb1
commit 1f7e7ebf24
2 changed files with 47 additions and 0 deletions

View File

@ -1913,6 +1913,12 @@ See also `crux-reopen-as-root-mode'."
(:else 'url-retrieve)))
(add-hook 'dired-mode-hook 'org-download-enable))
(setup (:straight (org-drawer-list
:host github
:repo "d12frosted/org-drawer-list"))
(:load-after org)
(:also-load +org-drawer-list))
(setup (:straight org-mime)
(:option org-mime-export-ascii 'utf-8))

41
lisp/+org-drawer-list.el Normal file
View File

@ -0,0 +1,41 @@
;;; +org-drawer-list.el --- Add stuff to org drawers easy-style -*- lexical-binding: t; -*-
;;; Commentary:
;;; Code:
(require 'org)
(require '+org)
(require 'ol)
(require 'org-drawer-list)
(defcustom +org-drawer-list-resources-drawer "RESOURCES"
"Where to add links with `+org-drawer-list-add-resource'.")
(defun +org-drawer-list-add-resource (url &optional title)
"Add URL to the resource drawer of the current tree.
The resource drawer is given by the variable
`+org-drawer-list-resources-drawer'. If optional TITLE is given,
format the list item as an Org link."
(interactive
(let* ((clipboard-url (if (string-match-p (rx (sequence bos
(or "http"
"gemini"
"gopher"
"tel"
"mailto")))
(current-kill 0))
(string-trim (current-kill 0))
(read-string "URL: ")))
(url-title (let ((clipboard-headings
(+org-insert--get-title-and-headings clipboard-url)))
(read-string "title (edit): "
(completing-read
"title: " clipboard-headings
nil nil nil nil (car clipboard-headings))))))
(list clipboard-url url-title)))
(org-drawer-list-add +org-drawer-list-resources-drawer
(org-link-make-string url title)))
(provide '+org-drawer-list)
;;; +org-drawer-list.el ends here