UP | HOME

▼ 本文更新于 [2026-04-22 三 20:58]

emacs-用elfeed查看miniflux内容


miniflux是一个自建的RSS阅读器,网上有很多教程,这里就不赘述搭建过程了。

假设我们已经建好了miniflux,如何在Emacs中读取同步miniflux抓取的内容呢?

1. miniflux配置

在miniflux的 设置 -> 集成 中,点击 Fever ,勾选 「启用Fever API」,并在下面输入你自定义的用户名和密码并更新,这里假设用户名为 user ,密码为 mima ,miniflux的访问地址为 http://miniflux.com

2. emacs配置

安装 elfeedelfeed-protocol ,直接启动就行,代码说明见注释

(use-package elfeed :demand t
  :custom
  ;; 在电脑本地路径存储elfeed的数据库
  (elfeed-db-directory "~/emacs-local/elfeed")
  :config
  ;; 进入elfeed时更新
  (add-hook 'elfeed-search-mode-hook   #'elfeed-update)
  ;; 配置一个快捷切换收藏的按键
  (defun my/elfeed-search-toggle-star ()
    "在 elfeed-search 模式下为选中的条目切换 'star' 标签。"
    (interactive)
    (let* ((entries (elfeed-search-selected))
           (tag 'star))
      (dolist (entry entries)
        (if (member tag (elfeed-entry-tags entry))
            (elfeed-untag entry tag)
          (elfeed-tag entry tag)
          (elfeed-untag entry 'unread))
        (next-line)
        (elfeed-search-update-entry entry))))
  :bind
  ;; 将切换收藏的函数绑定到m键
  (:map elfeed-search-mode-map
        ("m" . my/elfeed-search-toggle-star)))
  
(use-package elfeed-protocol
  :demand t
  :after elfeed
  :config
  ;; 下面这些是elfeed-protocol官方推荐的
  (setq elfeed-feeds nil)
  (setq elfeed-use-curl t)
  (setq elfeed-protocol-fever-update-unread-only t)
  (setq elfeed-protocol-fever-fetch-category-as-tag t)
  (elfeed-set-timeout 36000)
  ;; 这里配置miniflux fever api的路径、用户名和密码
  (setq elfeed-protocol-feeds
        `(("fever+https://user@http://miniflux.com"
           :api-url "http://miniflux.com/fever/"
           :password "mima")))
  (elfeed-protocol-enable))

3. 使用说明

由于我的miniflux中订阅源很多,每日消息约3000条,所以我习惯每次粗略扫一扫条目,将想看的标记为收藏,然后再在网页版中查看。

所以我会执行 M-x elfeed ,按 r 将不感兴趣的标为已读,按 m 将有兴趣的标为收藏。清理完未读后再在网页版的miniflux中快捷查看。

© Published by Emacs 31.0.50 (Org mode 10.0-pre) | RSS Comment