summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał M. Sapka <michal@sapka.me>2023-05-06 19:51:42 +0200
committerMichał M. Sapka <michal@sapka.me>2023-05-06 19:51:42 +0200
commita9bab9ba1ed253573c38c619ac8c117585424c4c (patch)
treee3f0a36a455ea63720f0499a7f9ef28b029c5295
parente3cc74c4b20169e6346f701192e9b0d7f5a3f692 (diff)
feat: article for 2023-05-06
-rw-r--r--assets/content_images/elfeed-details.pngbin0 -> 2327424 bytes
-rw-r--r--assets/content_images/elfeed-list.pngbin0 -> 566755 bytes
-rw-r--r--content/2023/moving-my-rss-reading-to-emacs-with-elfeed.md61
-rw-r--r--resources/_gen/images/elfeed-details_hu61baf84d0328661405d829e336561098_2327424_1060x0_resize_q90_h2_box_3.webpbin0 -> 94042 bytes
-rw-r--r--resources/_gen/images/elfeed-details_hu61baf84d0328661405d829e336561098_2327424_534x0_resize_q90_h2_box_3.webpbin0 -> 32416 bytes
-rw-r--r--resources/_gen/images/elfeed-list_hu6a798cfc345ac34e59e915f8a760dcea_566755_1060x0_resize_q90_h2_box_3.webpbin0 -> 118614 bytes
-rw-r--r--resources/_gen/images/elfeed-list_hu6a798cfc345ac34e59e915f8a760dcea_566755_534x0_resize_q90_h2_box_3.webpbin0 -> 35636 bytes
7 files changed, 61 insertions, 0 deletions
diff --git a/assets/content_images/elfeed-details.png b/assets/content_images/elfeed-details.png
new file mode 100644
index 0000000..d0cbc9b
--- /dev/null
+++ b/assets/content_images/elfeed-details.png
Binary files differ
diff --git a/assets/content_images/elfeed-list.png b/assets/content_images/elfeed-list.png
new file mode 100644
index 0000000..6c26e9d
--- /dev/null
+++ b/assets/content_images/elfeed-list.png
Binary files differ
diff --git a/content/2023/moving-my-rss-reading-to-emacs-with-elfeed.md b/content/2023/moving-my-rss-reading-to-emacs-with-elfeed.md
new file mode 100644
index 0000000..de5bff4
--- /dev/null
+++ b/content/2023/moving-my-rss-reading-to-emacs-with-elfeed.md
@@ -0,0 +1,61 @@
+---
+title: "Moving My RSS Reading to Emacs With Elfeed"
+category: "software"
+abstract: It's even better now than it newsboat.
+date: 2023-05-06T19:44:40+02:00
+year: 2023
+draft: false
+tags:
+- Emacs
+- elfeed
+- RSS
+- newsboat
+---
+Since Emacs became my [shell of choice](/2023/emacs-as-a-shell/), I am abandoning more and more dedicated applications in favor of different packages. As it turns out, Emacs packages are very feature rich. This time: I moved my RSS reading from [newsboat](https://newsboat.org/) to [elfeed](https://github.com/skeeto/elfeed).
+
+Elfeed has very simple keybindings:
+- g will refresh the items list
+- G will refresh the items list and fetch new items
+- r will mark currently selected item is read (remove unread tag)
+- b will open item in the browser
+
+The "r" key messes with my muscle memory, as [notmuch](/tags/notmuch/) uses "ku" for the same action while "r" will start composing a reply.
+
+One huge upside of elfeed compared to newsboat is image support. Emacs is a GUI application, so all images are present in their glory!
+
+{{<img-center "elfeed-details.png" "Images!">}}
+
+My setup is near stock. I have a few dozen feeds that are auto-tagged. Three essential tags are "important", "news", and "company". I want to read each "important", then I want to see all normal, and finally I can just skim "news" and "company". Adding auto-tagging is very simple: just define the tag when defining the RSS feed list:
+
+```
+("https://rubenerd.com/feed/" blog important)
+("https://www.pine64.org/feed/" company)
+```
+
+Now, each new article will be tagged with matching tags. Elfeed allows to define of custom faces that will be applied to items matching tag:
+
+```
+(defface important-elfeed-entry
+ '((t :foreground "#f77"))
+ "Marks an important Elfeed entry."
+ :group 'elfeed)
+
+(defface nonimportant-elfeed-entry
+ '((t :foreground "#C0C0C0"))
+ "Marks an nonimportant Elfeed entry."
+ :group 'elfeed)
+
+(push '(important important-elfeed-entry)
+ elfeed-search-face-alist)
+(push '(company nonimportant-elfeed-entry)
+ elfeed-search-face-alist)
+(push '(news nonimportant-elfeed-entry)
+ elfeed-search-face-alist)
+```
+
+Now important items will be dark red, while company & news will be dark gray (please note that my elisp-fu not good).
+
+{{<img-center "elfeed-list.png" "No important things to read at this moment.">}}
+
+Elfeed has a few packages expanding its functionality, but I found the default behavior to be exactly right.
+
diff --git a/resources/_gen/images/elfeed-details_hu61baf84d0328661405d829e336561098_2327424_1060x0_resize_q90_h2_box_3.webp b/resources/_gen/images/elfeed-details_hu61baf84d0328661405d829e336561098_2327424_1060x0_resize_q90_h2_box_3.webp
new file mode 100644
index 0000000..704861e
--- /dev/null
+++ b/resources/_gen/images/elfeed-details_hu61baf84d0328661405d829e336561098_2327424_1060x0_resize_q90_h2_box_3.webp
Binary files differ
diff --git a/resources/_gen/images/elfeed-details_hu61baf84d0328661405d829e336561098_2327424_534x0_resize_q90_h2_box_3.webp b/resources/_gen/images/elfeed-details_hu61baf84d0328661405d829e336561098_2327424_534x0_resize_q90_h2_box_3.webp
new file mode 100644
index 0000000..dbefab4
--- /dev/null
+++ b/resources/_gen/images/elfeed-details_hu61baf84d0328661405d829e336561098_2327424_534x0_resize_q90_h2_box_3.webp
Binary files differ
diff --git a/resources/_gen/images/elfeed-list_hu6a798cfc345ac34e59e915f8a760dcea_566755_1060x0_resize_q90_h2_box_3.webp b/resources/_gen/images/elfeed-list_hu6a798cfc345ac34e59e915f8a760dcea_566755_1060x0_resize_q90_h2_box_3.webp
new file mode 100644
index 0000000..b0b1e63
--- /dev/null
+++ b/resources/_gen/images/elfeed-list_hu6a798cfc345ac34e59e915f8a760dcea_566755_1060x0_resize_q90_h2_box_3.webp
Binary files differ
diff --git a/resources/_gen/images/elfeed-list_hu6a798cfc345ac34e59e915f8a760dcea_566755_534x0_resize_q90_h2_box_3.webp b/resources/_gen/images/elfeed-list_hu6a798cfc345ac34e59e915f8a760dcea_566755_534x0_resize_q90_h2_box_3.webp
new file mode 100644
index 0000000..9f56599
--- /dev/null
+++ b/resources/_gen/images/elfeed-list_hu6a798cfc345ac34e59e915f8a760dcea_566755_534x0_resize_q90_h2_box_3.webp
Binary files differ