| Описание | RSS Polling Onebox отображает импорты RSS Polling в виде onebox-ссылок на оригинальные статьи, с необязательными сводками по каналам, описаниями YouTube и форматами заголовков | |
| Ссылка на репозиторий | Peter-Petrik/discourse-rss-onebox | |
| Гид по установке | Как установить плагины в Discourse |
Возможности
- Отображение в виде onebox: импорты RSS Polling в выбранных вами категориях превращаются в onebox-ссылки на URL статьи — с заголовком, изображением и описанием со страницы статьи — вместо обрезанного до первого абзаца содержимого канала. Импорты в других категориях остаются без изменений.
- Скрытие кнопки «Показать полный пост» только в выбранных категориях.
- Сводки по каналам (необязательно): если у страницы статьи нет собственного описания, сводка из канала отображается внутри onebox или под ссылкой, если onebox не может быть сформирован.
- Описания YouTube (необязательно): полное описание видео из канала канала отображается под плеером, с переносами строк и кликабельными ссылками.
- Форматы заголовков (необязательно): отдельные форматы для тем блогов и YouTube с использованием
%{title}и%{source}, например%{source} blog: %{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; совместимость с
mainна сентябрь 2026 года проверена в коде. Более старые версии не тестировались. - Требуется RSS Polling, который входит в состав Discourse.
- Некоторые функции обертывают внутренние механизмы RSS Polling и
TopicEmbed, так как задокументированные хуки еще не существуют; см. RSS Polling: точки расширения для плагинов. - Нативное чтение описаний YouTube в RSS Polling обсуждается в RSS Polling: чтение описания видео из каналов YouTube; если эта функция появится в ядре, этот плагин будет использовать ее.
- Качество onebox зависит от тегов Open Graph каждой страницы статьи.
Вопросы и проблемы: отвечайте здесь или создайте issue на GitHub.


