2778151656
And let's turn it on in more applications.
267 lines
13 KiB
Org Mode
267 lines
13 KiB
Org Mode
#+title: My RSS Feeds
|
||
#+author: Howard Abrams
|
||
#+date: 2018-08-08 August
|
||
#+tags: emacs
|
||
|
||
A literate programming file for configuring =elfeed= in Emacs.
|
||
|
||
#+begin_src emacs-lisp :exports none
|
||
;;; ha-config --- ElFeed configuration. -*- lexical-binding: t; -*-
|
||
;;
|
||
;; © 2020-2023 Howard X. Abrams
|
||
;; Licensed under a Creative Commons Attribution 4.0 International License.
|
||
;; See http://creativecommons.org/licenses/by/4.0/
|
||
;;
|
||
;; Author: Howard X. Abrams <http://gitlab.com/howardabrams>
|
||
;; Maintainer: Howard X. Abrams
|
||
;; Created: September 10, 2020
|
||
;;
|
||
;; This file is not part of GNU Emacs.
|
||
;;
|
||
;; *NB:* Do not edit this file. Instead, edit the original literate file at:
|
||
;; ~/other/hamacs/ha-feed-reader.org
|
||
;; Using `find-file-at-point', and tangle the file to recreate this one .
|
||
;;
|
||
;;; Code:
|
||
#+end_src
|
||
* Configuring Elfeed
|
||
Let's get our feeds from a collection of org mode files. By default, Doom configures =rmh-elfeed-org-files= to [[file:~/Dropbox/org/elfeed.org][elfeed.org]] in =org-directory=, so that will be fine.
|
||
|
||
#+begin_src emacs-lisp
|
||
(use-package elfeed
|
||
:init
|
||
;; While I would like to share the /status/ of my reads, so ...
|
||
(setq elfeed-db-directory "~/dropbox/.elfeed/")
|
||
|
||
;; While not an elfeed-specific variable, this make reading articles
|
||
;; with images easier:
|
||
(setq pixel-scroll-precision-mode t)
|
||
|
||
:general
|
||
(:states 'normal :keymaps 'elfeed-show-mode-map
|
||
"b" 'elfeed-show-visit
|
||
"n" 'elfeed-show-next
|
||
"p" 'elfeed-show-prev
|
||
"y" 'elfeed-show-yank
|
||
"q" 'kill-buffer
|
||
"o" 'link-hint-open-link ; This is why this package depends on link-hint:
|
||
"Q" 'delete-window)
|
||
(:states 'normal :keymaps 'elfeed-search-mode-map
|
||
"r" 'ha-elfeed-tag-unread
|
||
"R" 'elfeed-search-update--force
|
||
"u" 'elfeed-update
|
||
"U" 'elfeed-unjam))
|
||
|
||
(defun ha-elfeed-tag-unread ()
|
||
(interactive)
|
||
(elfeed-search-untag-all 'unread)
|
||
(elfeed-search-update))
|
||
#+end_src
|
||
|
||
Let’s turn on non-fixed-width fonts to make everything easier to read:
|
||
#+begin_src emacs-lisp :tangle no
|
||
(use-package elfeed
|
||
:hook (elfeed-show-mode . variable-pitch-mode))
|
||
#+end_src
|
||
|
||
According to Ben Maughan and [[http://pragmaticemacs.com/emacs/to-eww-or-not-to-eww/][this Pragmatic Emacs essay]], we could easily browse an article in the GUI browser instead of EWW with capital B:
|
||
|
||
#+begin_src emacs-lisp
|
||
(use-package elfeed
|
||
:config
|
||
(defun elfeed-show-visit-gui ()
|
||
"Wrapper for elfeed-show-visit to use gui browser instead of eww"
|
||
(interactive)
|
||
(let ((browse-url-generic-program "/usr/bin/open"))
|
||
(elfeed-show-visit t)))
|
||
|
||
:bind (:map elfeed-show-mode-map
|
||
("B" . elfeed-show-visit-gui)))
|
||
#+end_src
|
||
|
||
Quick way to start and jump to my world of feeds.
|
||
#+begin_src emacs-lisp
|
||
(defun ha-elfeed-persp-start ()
|
||
"Create an ELFEED workspace and start my ELFEED client."
|
||
(interactive)
|
||
(persp-switch "feeds")
|
||
(elfeed))
|
||
|
||
(defun ha-elfeed-persp-switch ()
|
||
"Switch to the ELFEED workspace and load the next buffer."
|
||
(interactive)
|
||
(persp-switch "feeds"))
|
||
#+end_src
|
||
|
||
And some global keys to display them in the =apps= menu:
|
||
|
||
#+begin_src emacs-lisp
|
||
(ha-leader
|
||
"a f" '("elfeed switch" . ha-elfeed-persp-switch)
|
||
"a F" '("elfeed start" . ha-elfeed-persp-start))
|
||
#+end_src
|
||
* The Feeds :elfeed:
|
||
The [[https://github.com/remyhonig/elfeed-org][elfeed-org]] project configures =elfeed= to read the RSS feeds from an Org file … like this one!
|
||
#+begin_src emacs-lisp
|
||
(use-package elfeed-org
|
||
:after elfeed
|
||
:config
|
||
(setq rmh-elfeed-org-files (list (f-join hamacs-source-dir "ha-feed-reader.org")))
|
||
(elfeed-org))
|
||
#+end_src
|
||
** Personal :personal:
|
||
*** [[http://www.howardism.org/index.xml][Howardisms]] :mustread:
|
||
Clearly, I know what I write, but often good to see how it displays elsewhere.
|
||
*** [[https://getpocket.com/users/howardabrams/feed/all][Get Pocket Choices]]
|
||
Interesting articles I find through various channels gets saved here. Not sure if this is the best approach, but...
|
||
** Software Development :dev:
|
||
*** Emacs :emacs:
|
||
**** [[https://planet.emacslife.com/atom.xml][Planet Emacslife]]
|
||
Currently the best [[https://planet.emacslife.com/][Emacs weblog]] as an aggregator of all things Emacscy. Lots of duplication with what I already follow, so I may have trim things down.
|
||
**** [[http://planet.emacsen.org/atom.xml][Planet Emacsen]]
|
||
Was the best overall [[http://planet.emacsen.org/][Emacs weblog]] (in the traditional sense), but has since been replaced. I'll leave it here for a bit.
|
||
**** [[http://sachachua.com/blog/category/emacs-news/feed][Sacha Chua]]
|
||
Her curated summary of the world of Emacs is quite helpful (to make sure I don't miss something).
|
||
**** [[http://www.masteringemacs.org/feed/][Mickey Petersen]]
|
||
Wrote the wonderful book, [[https://www.masteringemacs.org/][Mastering Emacs]].
|
||
**** [[https://www.with-emacs.com/rss.xml][With-Emacs]]
|
||
Has had some good essays with a bent toward modern updates.
|
||
**** [[http://emacshorrors.com/feed.atom][Emacs Horrors Blog]]
|
||
Lovely peelings of the onion's layers.
|
||
|
||
**** [[https://xenodium.com/rss.xml][Álvaro Ramírez]]
|
||
**** [[http://pragmaticemacs.com/feed/][Ben Maughan]]
|
||
The /Pragmatic Emacs/ blog.
|
||
**** [[http://endlessparentheses.com/atom.xml][Endless Parentheses]]
|
||
Artur Malabarba's blog mostly about Emacs.
|
||
**** [[http://emacs-fu.blogspot.com/feeds/posts/default][Emacs Fu]]
|
||
As [[http://emacs-fu.blogspot.com/2008/12/welcome-to-emacs-fu.html][stated here]], a blog mostly dedicated to Emacs tips and tricks.
|
||
**** [[http://emacsredux.com/atom.xml][Emacs Redux]]
|
||
Bozhidar Batsov's [[http://emacsredux.com][Emacs-focused blog]]. While it hasn't been updated in about a year (end of 2017), we'll leave it here, as well as his newer, personally-focused blog.
|
||
**** [[http://nullprogram.com/feed/][Christopher Wellons]]
|
||
The /null program/ blog, has discussed technical aspects of Emacs, including the use of =elfeed=, which is my current favorite way to read my RSS feeds.
|
||
**** [[http://www.lunaryorn.com/feed.atom][Sebastian Wiesner]]
|
||
A personal blog of a Scala engineer that uses Emacs on MacOS.
|
||
**** [[http://kitchingroup.cheme.cmu.edu/blog/feed/atom][John Kitchin Group]]
|
||
**** [[http://orgmode.org][Org Mode Announcements]]
|
||
**** [[http://yqrashawn.com/feeds/lazyblorg-all.atom_1.0.links-and-teaser.xml][infin]]
|
||
While just starting out, this blogger from China is off to a good start.
|
||
**** [[http://mbork.pl/?action=rss][Marcin Borkowski]]
|
||
The Emacs Polish professor and author of =mbork.pl=, and new book on intermediate Lisp programming.
|
||
**** [[https://irreal.org/blog/?feed=rss2][Irreal]]
|
||
Jon Sander's blog mostly on Emacs.
|
||
**** [[https://oremacs.com/atom.xml][(or emacs]]
|
||
**** [[https://tsdh.org/rss.xml][Tassilo Horn]]
|
||
A self-proclaimed Emacs addict and Free Software enthusiast from Koblenz, Germany. While the blog is currently short, I have high hopes.
|
||
**** [[https://emacstil.com/feed.xml][Emacs TIL]]
|
||
An Emacs-learning blog by Junji Zhi.
|
||
**** [[https://lepisma.xyz/atom.xml][(car nil)]]
|
||
Abhinav Tushar's blog is heavily Emacs and org-focused.
|
||
**** [[https://olddeuteronomy.github.io/index.xml][Emacs Cat]]
|
||
A new blog about Emacs.
|
||
*** Programming :programming:
|
||
**** [[http://swannodette.github.com/atom.xml][David Nolen]] :clojure:clojurescript:
|
||
While he hasn't updated the blog in a while, keep an eye on his [[http://swannodette.github.com][Github projects]].
|
||
**** [[http://gigasquidsoftware.com/atom.xml][Carin Meyer]] :clojure:
|
||
Thoughtful and inspirational, her creative projects are always fun to explore.
|
||
**** [[http://blog.fogus.me/feed/][Mike Fogus]] :clojure:clojurescript:
|
||
/Send More Paramedics/ blog. Wrote /Functional JavaScript/ and, of course, /The Joy of Clojure/.
|
||
**** [[http://batsov.com/atom.xml][Bozhidar Batsov]] :ruby:cider:emacs:
|
||
Most prolific engineer, who ran [[http://emacsredux.com][Emacs Redux]], is the principal mind behind the wonderful Cider project.
|
||
**** [[https://medium.com/feed/@hlship/][Howard Lewis Ship]] :clojure:
|
||
Personal friend who often has fun interesting projects to keep tabs.
|
||
**** [[https://cestlaz.github.io/rss.xml][C'est la Z]]
|
||
Mike Zamansky's posts on Emacs and computer education.
|
||
*** Other
|
||
**** [[https://livelaugh.blog/rss][Jenn Schiffer]]
|
||
Quirky and fun. Looking forward to her new project.
|
||
**** [[http://n-gate.com/index.atom][N-Gate's Webshit Weekly]]
|
||
Irreverent and fun. The summary is hilarious, and often sets my mental state correctly before diving into Hacker News.
|
||
**** [[http://feeds.feedburner.com/InformationIsBeautiful][Information is Beautiful]]
|
||
David McCandless' blog on graphical display of information.
|
||
**** [[http://www.filfre.net/feed/][Digitial Antiquarian]]
|
||
History of technology that is well researched and personal.
|
||
** Science :science:
|
||
Do I need more science articles? Perhaps, but most of my news in this arena comes from my Twitter lists...
|
||
*** Space
|
||
**** [[https://apod.nasa.gov/apod.rss][NASA's Picture of the Day]] :images:
|
||
**** [[http://feeds.feedburner.com/out-there?format=xml][Discover Magazine's Out There]]
|
||
A pretty good blog of interesting articles that post about once a month.
|
||
*** General
|
||
**** [[http://understandinguncertainty.org/rss.xml][Understanding Uncertainty]]
|
||
Essays on the mathematics of combinatorics.
|
||
**** [[http://sciencesushi.com/feed/][Science Sushi]]
|
||
An interesting blog from [[http://www.discovermagazine.com][Discover]] that has moved on with retirement. Hopefully, Dr. Christie Wilcox will continue writing.
|
||
**** [[http://feeds.feedburner.com/SeriouslyScience?format=xml][Seriously, Science?]]
|
||
Another of my favorite science blogs is retiring.
|
||
** Geeky :funny:geeky:
|
||
*** [[http://xkcd.com/rss.xml][XKCD]]
|
||
The penultimate geek cartoon.
|
||
*** [[http://www.smbc-comics.com/rss.php][Saturday Morning Breakfast Cereal]]
|
||
A daily helping of geeky humor.
|
||
*** [[http://feeds.feedburner.com/Foxtrotcom][Foxtrot]]
|
||
Regular Sunday features of this long-running comic is now even more geeky
|
||
*** [[http://cube-drone.com/rss.xml][Cube Drone]]
|
||
Quite geeky.
|
||
*** [[http://rockpapercynic.tumblr.com/rss][Rock, Paper, Cynic]]
|
||
Oddly drawn, quirky and often geeky.
|
||
*** [[http://buttersafe.com/feed/][Buttersafe]]
|
||
Odd and quirky.
|
||
*** [[http://www.dorktower.com/feed/][Dork Tower]]
|
||
A geeky, gaming-theme comic.
|
||
*** [[http://www.commitstrip.com/en/feed/][Commit Strip]]
|
||
Insightful coding strip.
|
||
*** [[http://phdcomics.com/gradfeed.php][PHD Comics]]
|
||
Sure, make me wish I had continued my studies...
|
||
** Political :funny:political:
|
||
*** [[https://www.politicalirony.com/feed/][Political Irony]]
|
||
While Iron Knee requires a break, any time he posts, its a joy.
|
||
*** [[http://www.newyorker.com/feed/cartoons/daily-cartoon][New Yorker Cartoons]]
|
||
Often political, hopefully more political.
|
||
*** [[http://feeds.feedburner.com/ScenesFromAMultiverse][Scenes From A Multiverse]]
|
||
** Smart and Irreligious :funny:
|
||
*** [[http://pbfcomics.com/feed/feed.xml][Perry Bible Fellowship]]
|
||
Smart, inventive and usually hilarious
|
||
*** [[https://www.comicsrss.com/rss/lio.rss][Lio]]
|
||
I've used to enjoy this comic years ago, but had lost track. Love that Mark is still doing work.
|
||
*** [[http://feeds.feedburner.com/oatmealfeed][The Oatmeal]]
|
||
While funny, sometimes blesses with longer thought pieces.
|
||
*** [[https://warandpeas.com/feed/][War and Peas]]
|
||
*** [[http://existentialcomics.com/rss.xml][Existential Comics]]
|
||
Philosophical, and one would be smarter just by following along (and the Twitter feed too).
|
||
*** [[http://www.venganza.org/feed/atom/][Church of the Flying Spaghetti Monster]]
|
||
News from the world of religious favoritism.
|
||
*** [[http://theatheistpig.com/index.php/feed/][Atheist Pig]]
|
||
Irreligious, as one can guess. Hasn't posted for a while. Break?
|
||
*** [[http://www.jesusandmo.net/feed/atom/][Jesus and Mo]]
|
||
Favorite celebrities arguing with Bar Maid.
|
||
|
||
** Role Playing Games :rpg:dnd:
|
||
Interested in both RPGs and Emacs? Probably.
|
||
*** [[https://slyflourish.com/index.xml][Sly Flourish]]
|
||
*** [[https://dmdavid.com/feed/][DM David]]
|
||
*** [[https://www.themonstersknow.com/feed/][The Monsters Know what they are Doing]]
|
||
*** [[https://roleplayingtips.om/feed/][Roleplaying Tips]]
|
||
** Misc :misc:
|
||
*** [[https://medium.com/feed/the-long-now-foundation][The Long Now]]
|
||
Always been fascinated with the ideas associated with making a 10,000 year clock.
|
||
*** [[https://waitbutwhy.com/feed][Wait, But Why?]]
|
||
Has some good, thought-provoking essays.
|
||
* Technical Artifacts :noexport:
|
||
Let's /provide/ a name so we can =require= the file:
|
||
|
||
#+begin_src emacs-lisp :exports none
|
||
(provide 'ha-feed-reader)
|
||
;;; ha-feed-reader.el ends here
|
||
#+end_src
|
||
|
||
#+DESCRIPTION: A literate programming file for configuring elfeed.
|
||
|
||
#+PROPERTY: header-args:sh :tangle no
|
||
#+PROPERTY: header-args:emacs-lisp :tangle yes
|
||
#+PROPERTY: header-args :results none :eval no-export :comments no
|
||
|
||
#+OPTIONS: num:nil toc:t todo:nil tasks:nil tags:nil date:nil
|
||
#+OPTIONS: skip:nil author:nil email:nil creator:nil timestamp:nil
|
||
#+INFOJS_OPT: view:nil toc:t ltoc:t mouse:underline buttons:0 path:http://orgmode.org/org-info.js
|