Voici des fonctions sympa qu'il est possible d'ajouter
(defun md/download-image ()
"Downloads the image under point"
(interactive)
(let ((url (get-text-property (point) 'image-url)))
(if (not url)
(message "No image under point!")
(url-copy-file url (expand-file-name (url-file-nondirectory url)
"~/Images/elfeed/")))))
(defun md/elfeed-kill-entry ()
"Like `elfeed-kill-buffer' but pop elfeed search."
(interactive)
(elfeed-kill-buffer)
(switch-to-buffer "*elfeed-search*"))
;; (define-key elfeed-show-mode-map "q" #'md/elfeed-kill-entry)
(defun md/elfeed-filter-results-count (search-filter)
"Count results for SEARCH-FILTER."
(let* ((filter (elfeed-search-parse-filter search-filter))
(head (list nil))
(tail head)
(count 0))
(let ((lexical-binding t)
(func (byte-compile (elfeed-search-compile-filter filter))))
(with-elfeed-db-visit (entry feed)
(when (funcall func entry feed count)
(setf (cdr tail) (list entry)
tail (cdr tail)
count (1+ count)))))
count))
(defun md/elfeed-view-filtered (filter)
"Filter the elfeed-search buffer to show feeds tagged with FILTER."
(interactive)
(elfeed)
(unwind-protect
(let ((elfeed-search-filter-active :live))
(setq elfeed-search-filter filter))
(elfeed-search-update :force)))
(defun md/elfeed-completing-filter ()
"Completing filter."
(interactive)
(let ((categories (-filter
(lambda (item)
(> (md/elfeed-filter-results-count (cdr item))
0))
'(("All" . "@6-months-ago +unread")
("Draw" . "@6-months-ago +draw")
("Emacs" . "@6-months-ago +unread +emacs")))))
(if ( > (length categories) 0)
(progn
(md/elfeed-view-filtered (cdr (assoc (completing-read "Categories: " categories)
categories)))
(goto-char (window-start)))
(message "All caught up \\o/"))