RSS 订阅源
Macro Deck 自带关注 RSS 和 Atom 订阅源,在组件中显示最新文章,并在有新文章时做出响应。
订阅源列表组件和精选文章组件,显示来自 Tech News 订阅源的示例文章
- 关注任意 RSS 2.0 或 Atom 订阅源,数量不限
- 订阅源列表和精选文章组件
- 在点击的设备上打开文章
- 新文章和更新失败的触发器
- 每个订阅源的关键词和分类筛选
RSS 订阅源集成可以关注新闻网站、博客、播客以及其他任何发布 RSS 2.0 或 Atom 订阅源的内容。Macro Deck 会在后台检查订阅源,保存最新的文章并在组件中显示。无需账户,订阅源的数量也不限。
组件、动作和触发器
订阅源列表 组件会列出最新文章的标题和日期,还可以显示正文开头和一张小图。精选文章 组件以大图显示一篇文章,也可以轮流显示最新的几篇文章。每个组件可以显示所有订阅源、单个订阅源或一组订阅源。点击文章会在所点击设备的浏览器中打开它,例如使用网页客户端的手机,或者在对话框中显示文章详情。
更新订阅源 动作会立即检查一个或所有订阅源。触发器会在订阅源出现 订阅源新文章、订阅源已更新、更新失败以及有人在组件上点击文章时做出响应。它们运行的动作可以使用文章的值,例如 {{ event.title }} 或 {{ event.url }}。
每个订阅源还会提供变量,例如 feeds_<feed>_latest_title 和 feeds_<feed>_unread_count,另外还有汇总所有订阅源的 feeds_all_unread_count。
示例设置:
- 一个使用分组
News的 订阅源列表 组件,显示三个新闻网站的最新文章。 - 一个 精选文章 组件,每 10 秒切换到最新五篇文章中的下一篇。
- 一个针对播客订阅源、在 订阅源新文章 时运行的自动化,通过 Discord Webhook 集成的 发送 Discord Webhook 消息 将节目标题发布到 Discord 频道。
- 一个在晨间例行开始前运行 更新订阅源 的按键。
更新方式
每个订阅源按各自的间隔检查,默认每 30 分钟一次,最短间隔为 5 分钟。Macro Deck 会询问服务器订阅源自上次检查以来是否有变化,因此未变化的订阅源几乎不产生开销。检查失败时,Macro Deck 会在 1 分钟后重试,之后每次失败都会等待更久,最长 1 小时。组件会在每次刷新后自动更新,并且只显示 Macro Deck 已经获取的内容,因此增加组件不会增加请求。
添加订阅源时其中已有的文章永远不会触发 订阅源新文章,重启后也不会再次触发。为了安全,除非为该订阅源允许,否则 Macro Deck 会拒绝局域网和私有网络中的订阅源地址。
准备工作
- Windows、macOS 或 Linux 上的 Macro Deck 3
- 运行 Macro Deck 的电脑可以连接互联网
- 一个 RSS 2.0 或 Atom 订阅源的地址
设置步骤
第 1 步: 打开 RSS 订阅源集成
在 Macro Deck 中,点击侧边栏中的 集成,然后点击 RSS 订阅源。在 概览 选项卡的 配置 部分中点击 添加配置。打开右上角的开关也会打开同一个对话框。
第 2 步: 添加订阅源
填写 添加订阅源 对话框:
- 订阅源地址:订阅源的地址,通常是网站 RSS 图标背后的链接,例如
https://example.com/feed.xml。 - 配置名称:订阅源在组件、触发器和变量中的名称。留空则使用订阅源自身的标题。
- 分组:可选,例如
News。属于同一分组的订阅源可以在一个组件中一起显示。 - 刷新间隔(分钟):Macro Deck 检查订阅源的频率,最短 5 分钟。
在 高级配置 下,可以设置 仅包含以下内容的文章、跳过包含以下内容的文章 和 仅限以下分类(均为以逗号分隔的列表),以及用于自己网络中所提供订阅源的 允许局域网地址。点击 继续。Macro Deck 会在保存前读取一次订阅源。
- 订阅源地址:订阅源的地址,通常是网站 RSS 图标背后的链接,例如
第 3 步: 如有需要,添加更多订阅源
每添加一个订阅源,就再次点击 添加配置。配置列表会显示每个订阅源上次刷新是否成功。
第 4 步: 添加订阅源组件
在 面板 页面上,在面板解锁的状态下(右上角显示 锁定 按钮),添加一个 订阅源列表 或 精选文章 组件。在 显示 下选择 所有订阅源、单个订阅源 或 单个分组,并设置 文章数、显示描述、显示图片 和 点击时。
第 5 步: 为按键添加刷新动作
如需随时检查新文章,请在 面板 页面上点击一个按键。编辑器打开时已选中 短按。点击 + 添加动作,在 添加动作 对话框左侧选择 RSS 订阅源,然后选择 更新订阅源。选择一个 订阅源,或留空以刷新所有订阅源。
第 6 步: 查看结果
读取订阅源后,组件会显示最新文章。点击文章即可在所点击的设备上打开。添加订阅源后新到达且尚未点击过的文章以粗体显示。
动作1
可以放在按键上,也可以在流程中运行。
- 更新订阅源
- 立即在所有订阅源或仅在所选订阅源中检查新文章,并最多等待 2 分钟获取结果。
触发器4
按键或流程可以对这些事件做出响应。
- 订阅源新文章
- 订阅源中出现了之前没有的文章。一次有很多新文章时,会为最新的 20 篇触发。
- 订阅源已更新
- 刷新时订阅源的文章发生了变化。附带最新的文章。
- 订阅源更新失败
- 无法刷新订阅源,附带
timeout或http-404等错误代码。 - 已打开订阅源文章
- 在订阅源列表或精选文章组件上点击了一篇文章。可选择仅限某一个组件。
变量7
在按键和组件上显示这些值,或在条件中使用它们。
feeds_<feed>_latest_title,feeds_<feed>_latest_url,feeds_<feed>_latest_description,feeds_<feed>_latest_author- 订阅源最新文章的标题、链接、描述和作者。
feeds_<feed>_latest_published- 最新文章的发布时间,采用 ISO 8601 格式。
feeds_<feed>_item_count- Macro Deck 为该订阅源保存的文章数量,最多 50 篇。
feeds_<feed>_unread_count- 添加订阅源后新到达、且尚未在组件中点击过的文章数量。
feeds_<feed>_last_updated- 上次成功检查订阅源的时间,采用 ISO 8601 格式。
feeds_<feed>_update_status- 上次检查的结果:
ok、not-modified、error,首次检查前为pending。 feeds_all_item_count,feeds_all_unread_count- 所有订阅源合计的文章数量和未读文章数量。
组件2
从组件选择器中将它们添加到面板。
- 订阅源列表
- 列出所有订阅源、单个订阅源或单个分组中最多 10 篇最新文章。
- 精选文章
- 以大图显示最新文章,也可以轮流显示最新的几篇文章。
常见问题解答
点击文章后,它会在哪里打开?
使用 在浏览器中打开 时,文章会在所点击设备的浏览器中打开,而不是在运行 Macro Deck 的电脑上打开。如果该设备无法打开链接,例如硬件面板,Macro Deck 会改为显示包含地址的详情。要更改此行为,请在 点击时 下选择 显示详情 或 仅运行组件的动作。
为什么 Macro Deck 拒绝了订阅源地址?
Macro Deck 会拒绝局域网和私有网络中的地址,例如 localhost 或 192.168.…,订阅源重定向到这些地址时也是如此。如果订阅源由自己提供,例如来自 NAS,请在该订阅源的 高级配置 下打开 允许局域网地址。其他错误会说明订阅源未及时响应、无法访问、不是 RSS 或 Atom 订阅源,或者大于 5 MB。
变量是如何命名的?
每个订阅源的变量以添加时的配置名称命名,例如 feeds_tech_news_latest_title。之后重命名配置,变量名称保持不变。集成的 变量 选项卡会显示确切的名称。
为什么旧文章没有触发订阅源新文章?
添加订阅源时其中已有的文章永远不会触发 订阅源新文章,被筛选条件排除的文章也视为已看过。更改订阅源的地址会重新开始,就像添加了一个新的订阅源。
Macro Deck 会向订阅源服务器发送什么?
Macro Deck 只会连接所添加的订阅源及其图片所在的服务器,发送的只是获取订阅源的普通请求。文章文本以纯文本显示,订阅源中的脚本和嵌入内容永远不会运行。
“智能家居和网络”分类中的更多集成
Home Assistant
Macro Deck 自带在面板上开关灯光、运行场景和脚本,并显示 Home Assistant 的实时状态。
AdGuard Home
Macro Deck 自带开启、关闭或暂停 AdGuard Home 防护,并在面板上显示其统计信息。
HTTP
Macro Deck 自带通过按键发送 HTTP 请求,并将响应中的值保存到变量中。
天气
Macro Deck 自带在面板上显示各个位置的当前天气和预报,无需 API 密钥。