| 摘要 | RSS Polling Onebox 将 RSS Polling 的导入内容渲染为原始文章的 Onebox,支持可选的源摘要、YouTube 描述以及标题格式 | |
| 仓库链接 | Peter-Petrik/discourse-rss-onebox | |
| 安装指南 | 如何在 Discourse 中安装插件 |
功能
- Onebox 渲染:在您选定的分类中,RSS Polling 导入的内容将显示为文章 URL 的 Onebox——包含文章页面的标题、图片和描述——而不是截断至第一段的源正文。其他分类中的导入内容保持不变。
- 隐藏“显示完整帖子”:仅在选定的分类中隐藏该按钮。
- 源摘要(可选):当文章页面本身没有描述时,源中的摘要会显示在 Onebox 内部;如果无法构建 Onebox,则显示在链接下方。
- YouTube 描述(可选):来自频道源的视频完整描述会显示在播放器下方,保留换行和可点击的链接。
- 标题格式(可选):为博客和 YouTube 主题提供独立的格式,使用
%{title}和%{source},例如%{source} 博客: %{title}。重命名操作是静默的——不产生修订记录、不提升主题、不发送通知——且旧链接依然有效。 - 显示名称:管理页面列出所有 RSS Polling 源及其发布名称,您可以在此设置用于
%{source}的名称。保存后,该源的标题将重新渲染。 - 防止源更新覆盖:已编辑的源帖子或更改的源格式不再覆盖已 Onebox 化的主题。
- Rake 任务(针对现有主题):
rss_onebox:convert将早期导入转换为 Onebox,rss_onebox:enhance则回填摘要、描述和标题。两者默认均为试运行(dry run)。
设计初衷
我们运营一个论坛,将成员的博客和 YouTube 频道拉取到同一个分类中。RSS Polling 的摘录渲染了许多源的效果不佳——格式错乱、图片缺失、以及一个会重新抓取页面的“显示完整帖子”按钮——而将相同的 URL 粘贴到帖子中却能生成干净的 Onebox。此插件使所有导入内容看起来都像那个粘贴的链接,并补充了仅靠页面本身无法提供的信息。
配置
安装后,前往 管理 → 插件 → RSS Polling Onebox:
- 设置:启用插件,选择应进行 Onebox 渲染的分类,并开启可选功能。
- 显示名称:为每个源设置用于标题中
%{source}的名称,或留空以使用源发布的名称。刷新发布名称 会读取所有已启用的源。
对于安装前已导入的主题,请在容器内运行 rake rss_onebox:convert,然后运行 rake rss_onebox:enhance(两者均为试运行;添加 APPLY=1 以写入更改)。README 记录了所有设置和任务,CHANGELOG 列出了所有发布版本。
注意事项
- 已在 Discourse 2026.7 ESR 上测试;截至 2026 年 9 月,代码已验证与
main分支兼容。旧版本未经验证。 - 需要 RSS Polling,该功能已随 Discourse 捆绑提供。
- 由于文档化的钩子尚不存在,某些功能封装了 RSS Polling 和
TopicEmbed的内部机制;请参阅 RSS Polling:插件扩展点。 - 在 RSS Polling 中原生读取 YouTube 描述正在 RSS Polling:从 YouTube 频道源读取视频描述 中讨论;如果该功能进入核心,此插件将使用它。
- Onebox 的质量取决于每个文章页面的 Open Graph 标签。
问题和反馈:请在此回复,或在 GitHub 上提交 issue。


