diff options
Diffstat (limited to 'emacs/custom/my-elfeed.el')
-rw-r--r-- | emacs/custom/my-elfeed.el | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/emacs/custom/my-elfeed.el b/emacs/custom/my-elfeed.el index 7bca54f..c774f20 100644 --- a/emacs/custom/my-elfeed.el +++ b/emacs/custom/my-elfeed.el @@ -18,6 +18,40 @@ (elfeed-org) (setq rmh-elfeed-org-files (list (expand-file-name "etc/elfeed.org" user-emacs-directory)))) +(defun copy-elfeed-link-title-to-org (entry) + "Copy the ENTRY title and URL as org link to the clipboard." + (interactive) + (let* ((link (elfeed-entry-link entry)) + (title (elfeed-entry-title entry)) + (titlelink (concat "[[" link "][" title "]]"))) + (when titlelink + (kill-new titlelink) + (x-set-selection 'PRIMARY titlelink) + (message "Yanked: %s" titlelink)))) + +(defun elfeed-show-quick-url-note () + "Fastest way to capture entry link to org agenda from elfeed show mode" + (interactive) + (copy-elfeed-link-title-to-org elfeed-show-entry) + (org-capture nil "n") + (yank) + (org-capture-finalize)) + +(defun elfeed-search-quick-url-note () + "In search mode, capture the title and link for the selected +entry or entries in org aganda." + (interactive) + (let ((entries (elfeed-search-selected))) + (cl-loop for entry in entries + do (elfeed-untag entry 'unread) + when (elfeed-entry-link entry) + do (copy-elfeed-link-title-to-org entry) + do (org-capture nil "f") + do (yank) + do (org-capture-finalize) + (mapc #'elfeed-search-update-entry entries)) + (unless (use-region-p) (forward-line)))) + (defalias 'elfeed-toggle-star (elfeed-expose #'elfeed-search-toggle-all 'star)) |