diff --git a/ha-config.org b/ha-config.org index 1362a51..d6540e7 100644 --- a/ha-config.org +++ b/ha-config.org @@ -310,13 +310,13 @@ I'm not trying an experiment where specially-placed function keys on my fancy er :config (general-evil-setup t) (general-create-definer ha-leader - :keymaps 'normal + :keymaps '(normal visual) :prefix "SPC" :non-normal-prefix "M-SPC" :global-prefix "")) #+END_SRC *** Top-Level Operations -Let's try this general "space" prefix by defining some top-level operations, including hitting ~space~ twice brings up the =M-x= collection of functions: +Let's try this general "space" prefix by defining some top-level operations, including hitting ~space~ twice to bring up the =M-x= collection of functions: #+BEGIN_SRC emacs-lisp (ha-leader "SPC" '("M-x" . execute-extended-command) @@ -1013,55 +1013,16 @@ Web pages look pretty good with EWW, but I'm having difficulty getting it to ren :config (ace-link-setup-default))) #+END_SRC -** Feed Reader - -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. - -By setting this variable, we configure elfeed to use elfeed: - #+BEGIN_SRC emacs-lisp -(setq rmh-elfeed-org-files (list (f-join hamacs-source-dir "my-feeds.org"))) -#+END_SRC - -While I would like to share the /status/ of my reads, so ... - -#+BEGIN_SRC emacs-lisp -(use-package elfeed - :config - (setq elfeed-db-directory "~/dropbox/.elfeed/") - (evil-define-key 'normal elfeed-show-mode-map (kbd "q") 'delete-window) - (evil-define-key 'normal elfeed-search-mode-map (kbd "r") 'ha/elfeed-tag-unread) - (evil-define-key 'normal elfeed-search-mode-map (kbd "R") 'elfeed-search-update--force) - - (use-package elfeed-org :config - (elfeed-org))) - -(defun ha/elfeed-tag-unread () - (interactive) - (elfeed-search-untag-all 'unread) - (elfeed-search-update)) #+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 -(defun bjm/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))) - -(define-key elfeed-show-mode-map (kbd "B") 'bjm/elfeed-show-visit-gui) -#+END_SRC - ** VTerm I'm not giving up on Eshell, but I am playing around with [[https://github.com/akermu/emacs-libvterm][vterm]], and it is pretty good, but I use it primarily as a more reliable approach to [[file:ha-remoting.org][a remote shell]]. -VTerm has an issue (at least for me) with M-Backspace not deleting the previous word, and yeah, I want to make sure that both keystrokes do the same thing. +VTerm has an issue (at least for me) with ~M-Backspace~ not deleting the previous word, and yeah, I want to make sure that both keystrokes do the same thing. -#+BEGIN_SRC emacs-lisp +#+BEGIN_SRC emacs-lisp :tangle no (use-package vterm :init (setq vterm-shell "/usr/local/bin/fish") diff --git a/ha-feed-reader.org b/ha-feed-reader.org new file mode 100644 index 0000000..f59be6f --- /dev/null +++ b/ha-feed-reader.org @@ -0,0 +1,236 @@ +#+TITLE: My RSS Feeds +#+AUTHOR: Howard Abrams +#+EMAIL: howard.abrams@gmail.com +#+DATE: 2018-08-08 August +#+FILETAGS: :elfeed: + +A literate programming file for configuring =elfeed= in Emacs. + +#+BEGIN_SRC emacs-lisp :exports none +;;; ha-config.org --- A literate programming file for configuring elfeed. -*- lexical-binding: t; -*- +;; +;; Copyright (C) 2020-2021 Howard X. Abrams +;; +;; Author: Howard X. Abrams +;; 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. + +By setting this variable, we configure elfeed to use elfeed: + +#+BEGIN_SRC emacs-lisp +(setq rmh-elfeed-org-files (list (f-join hamacs-source-dir "ha-feed-reader.org"))) +#+END_SRC + +While I would like to share the /status/ of my reads, so ... + +#+BEGIN_SRC emacs-lisp + (use-package elfeed + :config + (setq elfeed-db-directory "~/dropbox/.elfeed/") + (evil-define-key 'normal elfeed-show-mode-map (kbd "q") 'delete-window) + (evil-define-key 'normal elfeed-search-mode-map (kbd "r") 'ha-elfeed-tag-unread) + (evil-define-key 'normal elfeed-search-mode-map (kbd "R") 'elfeed-search-update--force) + + ;; And let's make the Space pull of my general leader: + (general-unbind elfeed-show-mode-map "SPC") + (general-unbind elfeed-search-mode-map "SPC") + + (use-package elfeed-org + :config + (elfeed-org))) + + (defun ha-elfeed-tag-unread () + (interactive) + (elfeed-search-untag-all 'unread) + (elfeed-search-update)) +#+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 +(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))) + +(define-key elfeed-show-mode-map (kbd "B") 'elfeed-show-visit-gui) +#+END_SRC +Finally, we can add it to the =apps= menu: +#+BEGIN_SRC emacs-lisp +(ha-leader "a e" 'elfeed) +#+END_SRC +* The Feeds :elfeed: +** 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. +**** [[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. +*** 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. + +** Nice and Sweet :funny:sweet: +*** [[http://birdandmoon.tumblr.com/rss][Bird and Moon]] +nature-inspired comics +*** [[http://www.yourwildcity.com/feed/][Your Wild City]] +nature-insired comics +*** [[http://sheldoncomics.com/index.xml][Sheldon Comics]] +sweet Family Circus style comics +** Role Playing Games :rpg:dnd: +Interested in both RPGs and Emacs? Probably. +*** [[https://www.belloflostsouls.net/category/dungeonsdragons/feed][Bell of Lost Souls]] +Lots of essays, and sometimes good content. +*** [[https://www.dndbeyond.com/posts.rss][D&D Beyond Posts]] +Good content, focused on Dungeons and Dragons, obviously. +*** [[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:nil todo:nil tasks:nil tags:nil date:nil +#+OPTIONS: skip:nil author:nil email:nil creator:nil timestamp:nil +#+INFOJS_OPT: view:nil toc:nil ltoc:t mouse:underline buttons:0 path:http://orgmode.org/org-info.js