~~/.doom.d -> ~/.config/doom
This commit is contained in:
13
Doom/.config/doom/modules/private/rss/README.org
Normal file
13
Doom/.config/doom/modules/private/rss/README.org
Normal file
@@ -0,0 +1,13 @@
|
||||
#+TITLE: private/rss
|
||||
#+DATE: May 2, 2020
|
||||
|
||||
* Description
|
||||
This module allows the manipulation and usage of the /newsticker/ system. This is a nice RSS reader inbuilt to Emacs.
|
||||
|
||||
Use =+rss/set-feed-urls= to set the urls for use in newsticker. Bind
|
||||
=+rss/open-newsticker= =+rss/close-newsticker= to appropriate bindings.
|
||||
* Prerequisites
|
||||
None
|
||||
* Requirements
|
||||
- cl-lib
|
||||
- newsticker
|
||||
51
Doom/.config/doom/modules/private/rss/config.el
Normal file
51
Doom/.config/doom/modules/private/rss/config.el
Normal file
@@ -0,0 +1,51 @@
|
||||
;;; private/rss/config.el -*- lexical-binding: t; -*-
|
||||
|
||||
(require 'seq)
|
||||
(require 'cl-lib)
|
||||
|
||||
(defvar +rss/feed-urls '(("Arch Linux" "https://www.archlinux.org/feeds/news/" Linux)
|
||||
("LEMMiNO" "https://www.youtube.com/feeds/videos.xml?channel_id=UCRcgy6GzDeccI7dkbbBna3Q" YouTube)
|
||||
("Gamer from Mars" "https://www.youtube.com/feeds/videos.xml?channel_id=UCJ6z_yj_dDNrhn-c8ZyKV4g" YouTube)
|
||||
("Pop Culture Detective" "https://www.youtube.com/feeds/videos.xml?channel_id=UCHiwtz2tCEfS17N9A-WoSSw" YouTube)
|
||||
("Dark Sominium" "https://www.youtube.com/feeds/videos.xml?channel_id=UC_e39rWdkQqo5-LbiLiU10g" YouTube Stories)
|
||||
("Dark Sominium Music" "https://www.youtube.com/feeds/videos.xml?channel_id=UCkLiZ_zLynyNd5fd62hg1Kw" YouTube Music)
|
||||
("Nexpo" "https://www.youtube.com/feeds/videos.xml?channel_id=UCpFFItkfZz1qz5PpHpqzYBw" YouTube)
|
||||
("Techquickie" "https://www.youtube.com/feeds/videos.xml?channel_id=UC0vBXGSyV14uvJ4hECDOl0Q" YouTube)
|
||||
("3B1B" "https://www.youtube.com/feeds/videos.xml?channel_id=UCYO_jab_esuFRV4b17AJtAw" YouTube)))
|
||||
|
||||
|
||||
(when (featurep! +elfeed)
|
||||
(after! elfeed
|
||||
(setq elfeed-feeds (cl-map 'list (lambda (item) (append (list (nth 1 item)) (cdr (cdr item)))) +rss/feed-urls))))
|
||||
|
||||
(when (featurep! +newsticker)
|
||||
(defun +rss/set-feed-urls (LIST)
|
||||
"Set the newsticker-url-list to LIST. LIST should have format =(TAG URL START_TIME INTERVAL)="
|
||||
(setq newsticker-url-list LIST))
|
||||
|
||||
(defun +rss/get-newsticker-buffers ()
|
||||
"Using seq, filter the buffer list for newsticker buffers"
|
||||
(seq-remove (lambda (buffer)
|
||||
(not (and (cl-search "*Newsticker" (buffer-name buffer))
|
||||
(= (cl-search "*Newsticker" (buffer-name buffer))))))
|
||||
(buffer-list)))
|
||||
|
||||
(defun +rss/close-newsticker()
|
||||
"Routine to close the newsticker system"
|
||||
(interactive)
|
||||
(newsticker-stop)
|
||||
(dolist (buf (+rss/get-newsticker-buffers))
|
||||
(kill-buffer buf))
|
||||
(+workspace/delete "RSS"))
|
||||
|
||||
(use-package! newsticker
|
||||
:config
|
||||
(+rss/set-feed-urls ; Format is =(TAG URL START_TIME INTERVAL)=
|
||||
(cl-map 'list (lambda (item) (list (nth 0 item) (nth 1 item) nil 3600)) +rss/feed-urls))
|
||||
|
||||
(defun +rss/open-newsticker ()
|
||||
"Routine to start and open the newsticker"
|
||||
(interactive)
|
||||
(newsticker-start)
|
||||
(+workspace/new "RSS")
|
||||
(newsticker-treeview))))
|
||||
4
Doom/.config/doom/modules/private/rss/packages.el
Normal file
4
Doom/.config/doom/modules/private/rss/packages.el
Normal file
@@ -0,0 +1,4 @@
|
||||
;; -*- no-byte-compile: t; -*-
|
||||
;;; private/rss/packages.el
|
||||
|
||||
(package! elfeed)
|
||||
Reference in New Issue
Block a user