| 概要 | 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} blog: %{title}。名前の変更はサイレント(リビジョン、バンプ、通知なし)で行われ、古いリンクは引き続き機能します。 - 表示名: 管理画面のページでは、公開されている名前付きのすべての RSS Polling フィードがリスト表示され、
%{source}に使用される名前を設定できます。保存すると、そのフィードのタイトルが再レンダリングされます。 - フィード更新からの保護: 編集されたソース投稿や変更されたフィード形式により、onebox 化されたトピックが上書きされなくなります。
- 既存トピック用の Rake タスク:
rss_onebox:convertは以前のインポートを onebox に変換し、rss_onebox:enhanceは概要、説明、タイトルをバックフィルします。どちらもデフォルトではドライランです。
背景
私たちは、メンバーのブログと YouTube チャンネルを1つのカテゴリに集めるフォーラムを運営しています。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での互換性はコード内で検証されています。古いバージョンは未テストです。 - Discourse に同梱されている RSS Polling が必要です。
- 一部の機能は、文書化されたフックが存在しないため、RSS Polling と
TopicEmbedの内部をラップしています。RSS Polling: extension points for plugins を参照してください。 - RSS Polling での YouTube 説明のネイティブ読み取りは、RSS Polling: read the video description from YouTube channel feeds で議論中です。コアに実装された場合、このプラグインはそれを使用します。
- Onebox の品質は、各記事ページの Open Graph タグに依存します。
質問や問題がある場合は、ここに返信するか、GitHub で issue を開いてください。


