summary refs log tree commit diff
path: root/emacs/custom
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2022-04-30 09:21:00 -0700
committerFranck Cuny <franck@fcuny.net>2022-04-30 09:21:08 -0700
commit8f11816c0ec05168018310784e6c9902584c0e10 (patch)
tree9044cb069153b055ea4f2a95c3d94a6dccda9326 /emacs/custom
parentelfeed: remove a bunch of feeds (diff)
downloademacs.d-8f11816c0ec05168018310784e6c9902584c0e10.tar.gz
elfeed: start refactoring
Diffstat (limited to 'emacs/custom')
-rw-r--r--emacs/custom/my-elfeed.el168
1 files changed, 83 insertions, 85 deletions
diff --git a/emacs/custom/my-elfeed.el b/emacs/custom/my-elfeed.el
index c774f20..9d4125e 100644
--- a/emacs/custom/my-elfeed.el
+++ b/emacs/custom/my-elfeed.el
@@ -1,96 +1,94 @@
 ;;; my-elfeed.el --- Configure elfeed -*- lexical-binding: t -*-
+
 ;;; Commentary:
+
 ;;; Code:
 
-(require 'use-package)
-
-(use-package elfeed
-  :ensure t
-  :init
-  (setq elfeed-db-directory (expand-file-name "var/elfeed" user-emacs-directory))
-  :config
-  (eval-after-load 'elfeed-search
-    '(define-key elfeed-search-mode-map (kbd "*") 'elfeed-toggle-star)))
-
-(use-package elfeed-org
-  :ensure t
-  :config
-  (elfeed-org)
-  (setq rmh-elfeed-org-files (list (expand-file-name "etc/elfeed.org" user-emacs-directory))))
-
-(defun copy-elfeed-link-title-to-org (entry)
-  "Copy the ENTRY title and URL as org link to the clipboard."
-  (interactive)
-  (let* ((link (elfeed-entry-link entry))
-         (title (elfeed-entry-title entry))
-         (titlelink (concat "[[" link "][" title "]]")))
-    (when titlelink
-      (kill-new titlelink)
-      (x-set-selection 'PRIMARY titlelink)
-      (message "Yanked: %s" titlelink))))
-
-(defun elfeed-show-quick-url-note ()
-  "Fastest way to capture entry link to org agenda from elfeed show mode"
-  (interactive)
-  (copy-elfeed-link-title-to-org elfeed-show-entry)
-  (org-capture nil "n")
-  (yank)
-  (org-capture-finalize))
-
-(defun elfeed-search-quick-url-note ()
-  "In search mode, capture the title and link for the selected
-entry or entries in org aganda."
-  (interactive)
-  (let ((entries (elfeed-search-selected)))
-    (cl-loop for entry in entries
-             do (elfeed-untag entry 'unread)
-             when (elfeed-entry-link entry)
-             do (copy-elfeed-link-title-to-org entry)
-             do (org-capture nil "f")
-             do (yank)
-             do (org-capture-finalize)
-             (mapc #'elfeed-search-update-entry entries))
-    (unless (use-region-p) (forward-line))))
+(require 'elfeed)
+(require 'elfeed-org)
+
+(with-eval-after-load 'elfeed-search
+  '(define-key elfeed-search-mode-map (kbd "*") 'elfeed-toggle-star))
+
+(add-hook 'after-init-hook 'elfeed-org)
+
+(customize-set-variable 'elfeed-search-filter "@4-months-ago +unread")
+(customize-set-variable 'rmh-elfeed-org-files (list (expand-file-name "etc/elfeed.org" user-emacs-directory)))
 
 (defalias 'elfeed-toggle-star
   (elfeed-expose #'elfeed-search-toggle-all 'star))
 
-(defface elfeed-search-mustread-title-face
-  '((t :foreground "red"))
-  "Marks a mustread Elfeed entry.")
-
-(defun my/elfeed-eww-open (&optional use-generic-p)
-  "open with eww"
-  (interactive "P")
-  (let ((entries (elfeed-search-selected)))
-    (cl-loop for entry in entries
-             do (elfeed-untag entry 'unread)
-             when (elfeed-entry-link entry)
-             do (eww-browse-url it))
-    (mapc #'elfeed-search-update-entry entries)
-    (unless (use-region-p) (forward-line))))
-
-
-(defun my/yt-dlp-it (url)
-  "Downloads the URL in an async shell"
-  (let ((default-directory "~/media/videos"))
-    (async-shell-command (format "yt-dlp %s" (shell-quote-argument url)))))
-
-(defun my/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 (my/yt-dlp-it it))
-    (mapc #'elfeed-search-update-entry entries)
-    (unless (use-region-p) (forward-line))))
-
-(define-key elfeed-search-mode-map (kbd "d") 'my/elfeed-youtube-dl)
-(define-key elfeed-search-mode-map (kbd "t") 'my/elfeed-eww-open)
-
-(push '(mustread elfeed-search-must-read-title-face) elfeed-search-face-alist)
+(defface elfeed-face-tag-mustread
+  '((t :foreground "#f00"))
+  "This is a custom font face for the `mustread' tag in Elfeed."
+  :group 'elfeed)
+
+(push '(mustread elfeed-face-tag-mustread)
+      elfeed-search-face-alist)
+
+;; (defun copy-elfeed-link-title-to-org (entry)
+;;   "Copy the ENTRY title and URL as org link to the clipboard."
+;;   (interactive)
+;;   (let* ((link (elfeed-entry-link entry))
+;;          (title (elfeed-entry-title entry))
+;;          (titlelink (concat "[[" link "][" title "]]")))
+;;     (when titlelink
+;;       (kill-new titlelink)
+;;       (x-set-selection 'PRIMARY titlelink)
+;;       (message "Yanked: %s" titlelink))))
+
+;; (defun elfeed-show-quick-url-note ()
+;;   "Fastest way to capture entry link to org agenda from elfeed show mode"
+;;   (interactive)
+;;   (copy-elfeed-link-title-to-org elfeed-show-entry)
+;;   (org-capture nil "n")
+;;   (yank)
+;;   (org-capture-finalize))
+
+;; (defun elfeed-search-quick-url-note ()
+;;   "In search mode, capture the title and link for the selected
+;; entry or entries in org aganda."
+;;   (interactive)
+;;   (let ((entries (elfeed-search-selected)))
+;;     (cl-loop for entry in entries
+;;              do (elfeed-untag entry 'unread)
+;;              when (elfeed-entry-link entry)
+;;              do (copy-elfeed-link-title-to-org entry)
+;;              do (org-capture nil "f")
+;;              do (yank)
+;;              do (org-capture-finalize)
+;;              (mapc #'elfeed-search-update-entry entries))
+;;     (unless (use-region-p) (forward-line))))
+
+
+;; (defun my/elfeed-eww-open (&optional use-generic-p)
+;;   "open with eww"
+;;   (interactive "P")
+;;   (let ((entries (elfeed-search-selected)))
+;;     (cl-loop for entry in entries
+;;              do (elfeed-untag entry 'unread)
+;;              when (elfeed-entry-link entry)
+;;              do (eww-browse-url it))
+;;     (mapc #'elfeed-search-update-entry entries)
+;;     (unless (use-region-p) (forward-line))))
+
+
+;; (defun my/yt-dlp-it (url)
+;;   "Downloads the URL in an async shell."
+;;   (let ((default-directory "~/media/videos"))
+;;     (async-shell-command (format "yt-dlp %s" (shell-quote-argument url)))))
+
+;; (defun my/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 (my/yt-dlp-it it))
+;;     (mapc #'elfeed-search-update-entry entries)
+;;     (unless (use-region-p) (forward-line))))
 
 (provide 'my-elfeed)
+
 ;;; my-elfeed.el ends here