|
;;; setup-elfeed.el -*- lexical-binding: t; -*-
|
|
|
|
|
|
(map! ;; "C-x C-l e" to launch is defined in =config.el=
|
|
:map elfeed-search-mode-map
|
|
"a" #'(lambda () (interactive) (elfeed-search-set-filter ""))
|
|
"e" #'(lambda () (interactive) (elfeed-search-set-filter "+emacs"))
|
|
"x" #'(lambda () (interactive) (elfeed-search-set-filter "xkcd"))
|
|
"v" #'(lambda () (interactive) (elfeed-search-set-filter "+youtube"))
|
|
"=" #'elfeed-search-set-filter)
|
|
|
|
(use-package! elfeed
|
|
:init
|
|
(setq elfeed-feeds
|
|
'(
|
|
("https://insideevs.com/rss/make/tesla/" news tesla ev)
|
|
("https://insideevs.com/rss/make/rivian/" news rivian ev)
|
|
("https://insideevs.com/rss/category/battery-tech/" news battery ev)
|
|
("https://www.google.com/alerts/feeds/13353713273807811484/17577790586956417498" news google cybertruck tesla ev)
|
|
("https://www.google.com/alerts/feeds/13353713273807811484/2710948715805064535" news google tesla ev)
|
|
("https://www.google.com/alerts/feeds/13353713273807811484/17638090915837343269" news google pixel4)
|
|
|
|
("https://teslapodcast.libsyn.com/rss" podcast tesla ev)
|
|
("http://feeds.twit.tv/sn.xml" podcast security twit)
|
|
("https://feeds.fireside.fm/linuxunplugged/rss" podcast linux)
|
|
("https://latenightlinux.com/feed/all" podcast linux)
|
|
|
|
("https://feeds.fireside.fm/linuxunplugged/rss" podcast linux jb) ;; Linux Unplugged
|
|
("https://feeds.fireside.fm/office/rss" podcast linux jb) ;; Office Hours
|
|
("https://feeds.fireside.fm/linuxactionnews/rss" podcast linux jb) ;; Linux Action News
|
|
("https://feeds.fireside.fm/selfhosted/rss" podcast linux jb) ;; Self Hosted
|
|
("https://feeds.fireside.fm/coder/rss" podcast linux jb) ;; Coder Radio
|
|
("https://feeds.fireside.fm/extras/rss" podcast linux jb) ;; Extras
|
|
|
|
("https://www.youtube.com/feeds/videos.xml?channel_id=UCbgBDBrwsikmtoLqtpc59Bw" youtube tech) ;; teaching tech
|
|
("https://www.youtube.com/feeds/videos.xml?channel_id=UCBJycsmduvYEL83R_U4JriQ" youtube tech) ;; mkbhd
|
|
("https://www.youtube.com/feeds/videos.xml?channel_id=UCUHW94eEFW7hkUMVaZz4eDg" youtube science) ;; minute physics
|
|
("https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA" youtube commentary) ;; luke smith
|
|
("https://www.youtube.com/feeds/videos.xml?channel_id=UCUQo7nzH1sXVpzL92VesANw" youtube diy) ;; DIY perks
|
|
("https://www.youtube.com/feeds/videos.xml?channel_id=UCzgkOWKcwy0uhYilE6bd1Lg" youtube emacs) ;; Zaiste Programming
|
|
("https://www.youtube.com/feeds/videos.xml?channel_id=UCtI0Hodo5o5dUb67FeUjDeA" youtube science tech) ;; SpaceX
|
|
|
|
("http://www.reddit.com/r/emacs/.rss" emacs)
|
|
|
|
("http://telescoper.wordpress.com/feed/" daily)
|
|
("http://xkcd.com/rss.xml" daily)
|
|
("http://pragmaticemacs.com/feed/" emacs)
|
|
("http://endlessparentheses.com/atom.xml" emacs)
|
|
("http://feeds.feedburner.com/XahsEmacsBlog" emacs)
|
|
("http://emacs.stackexchange.com/feeds" emacs)
|
|
))
|
|
:config
|
|
(defun yt-dl-it (url)
|
|
"Downloads the URL in an async shell"
|
|
(let ((default-directory "/Users/Levi_Olson/Videos"))
|
|
(async-shell-command (format "youtube-dl %s" url))))
|
|
|
|
(defun elfeed-youtube-dl (&optional use-generic-p)
|
|
"Youtube-DL link"
|
|
(interactive "P")
|
|
(let ((entries (elfeed-search-selected)))
|
|
(cl-loop for entry in entries
|
|
do (elfeed-untag entry 'unread)
|
|
when (elfeed-entry-link entry)
|
|
do (yt-dl-it it))
|
|
(mapc #'elfeed-search-update-entry entries)
|
|
(unless (use-region-p) (forward-line))))
|
|
|
|
(define-key elfeed-search-mode-map (kbd "d") 'elfeed-youtube-dl)
|
|
(elfeed-update))
|
|
|
|
|
|
|
|
(use-package! elfeed-goodies
|
|
:ensure t
|
|
:config
|
|
(elfeed-goodies/setup))
|
|
|
|
(provide 'setup-elfeed)
|