;;; 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)