From 279a8978629960ccabc3245ef7073ec9b4c8fec0 Mon Sep 17 00:00:00 2001 From: Jeetaditya Chatterjee Date: Mon, 27 Sep 2021 01:21:51 +0100 Subject: [PATCH 1/3] feat(rss): add +rss/copy-link command Add the copy link function and bind it to `gc` as a way to draw similar comparisons to `go` which takes the entry link and sends it to the browser --- modules/app/rss/autoload.el | 9 ++++++++- modules/app/rss/config.el | 6 +++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/modules/app/rss/autoload.el b/modules/app/rss/autoload.el index 2f742348a..a53ceaef4 100644 --- a/modules/app/rss/autoload.el +++ b/modules/app/rss/autoload.el @@ -54,7 +54,14 @@ (forward-line -1) (call-interactively '+rss/open))) - +;;;###autoload +(defun +rss/copy-link () + "Copy current link to clipboard." + (interactive) + (let ((link (elfeed-entry-link elfeed-show-entry))) + (when link + (kill-new link) + (message "Copied %s to clipboard" link)))) ;; ;; Hooks diff --git a/modules/app/rss/config.el b/modules/app/rss/config.el index 4f30c1b9e..7adca8c47 100644 --- a/modules/app/rss/config.el +++ b/modules/app/rss/config.el @@ -58,7 +58,11 @@ easier to scroll through.") (evil-define-key 'normal elfeed-search-mode-map "q" #'elfeed-kill-buffer "r" #'elfeed-search-update--force - (kbd "M-RET") #'elfeed-search-browse-url))) + (kbd "M-RET") #'elfeed-search-browse-url) + (map! (:map elfeed-show-mode-map + :n "gc" nil + :n "gc" #'+rss/copy-link)))) + (use-package! elfeed-org From 2476c3e780085db315cfb9cbc57d086e827c413b Mon Sep 17 00:00:00 2001 From: Jeetaditya Chatterjee Date: Mon, 27 Sep 2021 01:27:05 +0100 Subject: [PATCH 2/3] feat(rss): add elfeed-goodies package --- modules/app/rss/config.el | 5 +++++ modules/app/rss/packages.el | 1 + 2 files changed, 6 insertions(+) diff --git a/modules/app/rss/config.el b/modules/app/rss/config.el index 7adca8c47..ddb41b1f2 100644 --- a/modules/app/rss/config.el +++ b/modules/app/rss/config.el @@ -80,3 +80,8 @@ easier to scroll through.") (dolist (file (cl-remove-if #'file-exists-p files)) (message "elfeed-org: ignoring %S because it can't be read" file)) (setq rmh-elfeed-org-files (cl-remove-if-not #'file-exists-p files)))))) + +(use-package! elfeed-goodies + :after elfeed + :config + (elfeed-goodies/setup)) diff --git a/modules/app/rss/packages.el b/modules/app/rss/packages.el index 7fc5305e8..9eb71dbde 100644 --- a/modules/app/rss/packages.el +++ b/modules/app/rss/packages.el @@ -2,5 +2,6 @@ ;;; app/rss/packages.el (package! elfeed :pin "162d7d545ed41c27967d108c04aa31f5a61c8e16") +(package! elfeed-goodies :pin "95b4ea632fbd5960927952ec8f3394eb88da4752") (when (featurep! +org) (package! elfeed-org :pin "268efdd0121fa61f63b722c30e0951c5d31224a4")) From 254d6978541986cd08abdff4de8da90221ba2e3f Mon Sep 17 00:00:00 2001 From: Jeetaditya Chatterjee Date: Mon, 27 Sep 2021 01:40:02 +0100 Subject: [PATCH 3/3] docs(rss): update readme - mention `elfeed-goodies` in plugin list - add `g c` binding to keybind table --- modules/app/rss/README.org | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/modules/app/rss/README.org b/modules/app/rss/README.org index 2a872b53d..2cd1f36e9 100644 --- a/modules/app/rss/README.org +++ b/modules/app/rss/README.org @@ -30,6 +30,7 @@ This module has no dedicated maintainers. ** Plugins + [[https://github.com/skeeto/elfeed][elfeed]] ++ [[https://github.com/algernon/elfeed-goodies][elfeed-goodies]] + =+org= + [[https://github.com/remyhonig/elfeed-org][elfeed-org]] @@ -72,20 +73,21 @@ When using ~+org~ flag then configuration is easier. You can use ~org-mode~ to c ** Keybindings + General - | Key | Mode | Description | - |---------+--------------------+------------------------| - | =S-RET= | Elfeed-search-mode | Open link into browser | - | =RET= | Elfeed-search-mode | Open item | - | =s= | Elfeed-search-mode | Filter | - | =C-j= | Elfeed-show-mode | Move to next item | - | =C-k= | Elfeed-show-mode | Move to previous item | + | Key | Mode | Description | + |---------+--------------------+--------------------------------| + | =S-RET= | Elfeed-search-mode | Open link into browser | + | =RET= | Elfeed-search-mode | Open item | + | =s= | Elfeed-search-mode | Filter | + | =C-j= | Elfeed-show-mode | Move to next item | + | =C-k= | Elfeed-show-mode | Move to previous item | + If ~:editor evil +everywhere~ | Key | Description | |-----+-----------------------------| | q | elfeed-kill-buffer | | r | elfeed-search-update--force | - + | g c | Copy link of current entry | + ** News filtering + Time filtering + ~@2-days-ago~ Past two days