Newsraft

出自 ArchWiki

Newsraft 是一个受 Newsboat 启发的 ncurses 订阅源阅读器,旨在成为其轻量级替代品。它支持 RSS 2.0 及更低版本、Atom 1.0、RSS Content Module、Media RSS、DublinCore 1.1 Elements 和 JSON Feed。

安装

安装 newsraftAUR 软件包。

配置

Newsraft 的配置是可选的,仅用于更改默认设置或添加功能。这通过 ~/.config/newsraft/config 中的条目完成,包括阅读器和颜色设置,以及内置操作 bind key action 和 shell 命令 bind key exec command 的按键绑定,包括在指定程序中打开链接的选项。可以通过用分号分隔将多个命令与单个绑定关联。

~/.config/newsraft/config
bind f exec feh "%l"
bind key action1; exec command1; action2; exec command2

如果不需要或为了重新利用,可以使用 unbind key 禁用默认按键绑定。最后,与 feeds 文件一样,# 符号表示注释行,将被 Newsraft 忽略。

配置示例

~/.config/newsraft/config
# Colors
set color-list-item-fg red
set color-list-item-unread-fg white

# Settings
set send-user-agent-header false

# Key bindings
bind d mark-read
unbind D
bind m exec mpv "%l"

可用操作、设置和默认值的完整列表可在 newsraft(1) 中找到。

使用

Newsraft 需要先创建一个 feeds 文件才能启动。默认的 feed 文件位置和名称是 ~/.config/newsraft/feeds。一旦使用 feed 链接填充此文件,请使用以下命令启动 Newsraft

$ newsraft

管理订阅源

feeds 文件可以包含三种类型的行。第一种是订阅源 URL,可以使用文本编辑器添加,每行一个订阅源。

~/.config/newsraft/feeds
https://example.org/feed.xml "Lorem Ipsum Blog"

只有 URL 是严格必要的。Newsraft 将尝试根据订阅源提供的信息命名订阅源。如果需要备用名称,可以通过添加用双引号括起来的标题来提供,标题与 URL 之间至少用一个空格分隔。

节标题是下一种类型的行,以 @ 符号开头,后跟至少一个空格,然后是节名称。

~/.config/newsraft/feeds
@ Section Header

feeds 文件中的最后一种类型的条目是注释,以 # 符号开头。

~/.config/newsraft/feeds
# this line is completely ignored by newsraft

订阅源 URL 和节标题都可以设置自动更新频率,单个订阅源频率会覆盖节频率。周期由方括号括起来的分钟数指定。

~/.config/newsraft/feeds
@ Section Header [120]
https://example.org/feed2.xml "Lorem Ipsum Blog" [60]
https://example.org/feed3.xml
https://example.org/feed4.xml [0]

指定 [0] 将禁用自动更新,全局订阅源更新可以通过使用 Global 节标题来指定。在上面的示例中,Section Header 下的所有订阅源每两小时自动更新一次,但 feed2 除外,它每小时更新一次,而 feed4 永远不会自动更新。

基本默认命令

虽然所有这些按键绑定都可以通过 Newsraft 的 配置文件 修改,但以下是基本默认按键绑定及其命令

命令 描述
j - select-next 将选择向下移动到下一个菜单项
k - select-prev 将选择向上移动到上一个菜单项
l - enter 打开选定的菜单项
h - quit 关闭选定的菜单项,返回上一个菜单。如果当前在顶部菜单中,则退出 Newsraft
d - mark-read; jump-to-next 标记选择为已读并移动到下一个菜单项
D - mark-unread; jump-to-next 标记选择为未读并移动到下一个菜单项
^D - mark-read-all 标记所有菜单项为已读
o - open-in-browser 在浏览器中打开选择。如果 'o' 前面没有数字,则打开第一个选择
r - reload 手动更新选定的订阅源
^R - reload-all 手动更新所有订阅源