UP | HOME

▼ 本文更新于 [2026-05-03 日 19:50]

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" 的,我挪到一个自定义的目录下了。

  (elfeed-db-directory "~/emacs-local/elfeed")

进入elfeed时,一般进入的是 elfeed-search 界面,添加一个hook以便进入时自动更新一次

  :config
  (add-hook 'elfeed-search-mode-hook   #'elfeed-update)

自定义一个函数 my/elfeed-search-toggle-star 并将其绑定到 elfeed-search-modem 键上,实现按m键切换收藏tag的功能。

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

接下来将elfeed接入fever api。

(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

  (elfeed-protocol-enable))

3. 使用说明

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

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

4. 配置文件

(files--ensure-directory my/desktop-path)
(let ((file "elfeed-protocol-config.txt"))
  (org-babel-tangle-file (buffer-file-name) (concat my/desktop-path file) "elisp")
  (format "[[https://blog.prayhand13013.top/%s][一键查看上述配置代码汇总]]" file))

一键查看上述配置代码汇总

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