RSS Polling Onebox

:information_source: Summary RSS Polling Onebox renders RSS Polling imports as oneboxes of the original article, with optional feed summaries, YouTube descriptions, and title formats
:hammer_and_wrench: Repository Link Peter-Petrik/discourse-rss-onebox
:open_book: Install Guide How to install plugins in Discourse

Features

  1. Onebox rendering: RSS Polling imports in the categories you choose become a onebox of the article URL - title, image, and description from the article page - instead of the feed body truncated to its first paragraph. Imports in other categories are unchanged.
  2. “Show Full Post” hidden in the chosen categories only.
  3. Feed summaries (optional): when an article page has no description of its own, the summary from the feed appears inside the onebox, or below the link if no onebox can be built.
  4. YouTube descriptions (optional): the full video description from the channel feed appears below the player, with line breaks and clickable links.
  5. Title formats (optional): separate formats for blog and YouTube topics using %{title} and %{source}, for example %{source} blog: %{title}. Renames are silent - no revision, bump, or notification - and old links keep working.
  6. Display names: an admin page lists every RSS Polling feed with its published name, where you can set the name used for %{source}. Saving re-renders that feed’s titles.
  7. Protection against feed updates: an edited source post or a changed feed format no longer overwrites a oneboxed topic.
  8. Rake tasks for existing topics: rss_onebox:convert turns earlier imports into oneboxes, and rss_onebox:enhance backfills summaries, descriptions, and titles. Both default to a dry run.

Rationale

We run a forum that pulls members’ blogs and YouTube channels into one category. RSS Polling’s excerpts rendered many feeds poorly - broken formatting, missing images, a “Show Full Post” button that re-scraped the page - while the same URL pasted into a post produced a clean onebox. This plugin makes every import look like that pasted link, and fills in what the pages alone could not provide.

Configuration

After installing, go to Admin → Plugins → RSS Polling Onebox:

  1. Settings: enable the plugin, select the categories whose imports should be oneboxed, and turn on the optional features.
  2. Display names: set the name used for %{source} in titles, per feed, or leave it blank to use the name the feed publishes. Refresh published names reads every enabled feed.

For topics imported before installing, run rake rss_onebox:convert and then rake rss_onebox:enhance inside the container (both dry runs; add APPLY=1 to write). The README documents every setting and task, and the CHANGELOG lists every release.

Caveats

  1. Tested on Discourse 2026.7 ESR; compatibility with main as of September 2026 is verified in code. Older versions are untested.
  2. Requires RSS Polling, which is bundled with Discourse.
  3. Some features wrap RSS Polling and TopicEmbed internals because documented hooks do not exist yet; see RSS Polling: extension points for plugins.
  4. Reading YouTube descriptions natively in RSS Polling is under discussion in RSS Polling: read the video description from YouTube channel feeds; if it lands in core, this plugin will use it.
  5. Onebox quality depends on each article page’s Open Graph tags.

Questions and issues: reply here, or open an issue on GitHub.