My personal configuration files for Doom emacs
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

79 lines
3.8 KiB

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