RSS Polling Onebox

:information_source: Описание RSS Polling Onebox отображает импорты RSS Polling в виде onebox-ссылок на оригинальные статьи, с необязательными сводками по каналам, описаниями YouTube и форматами заголовков
:hammer_and_wrench: Ссылка на репозиторий Peter-Petrik/discourse-rss-onebox
:open_book: Гид по установке Как установить плагины в Discourse

Возможности

  1. Отображение в виде onebox: импорты RSS Polling в выбранных вами категориях превращаются в onebox-ссылки на URL статьи — с заголовком, изображением и описанием со страницы статьи — вместо обрезанного до первого абзаца содержимого канала. Импорты в других категориях остаются без изменений.
  2. Скрытие кнопки «Показать полный пост» только в выбранных категориях.
  3. Сводки по каналам (необязательно): если у страницы статьи нет собственного описания, сводка из канала отображается внутри onebox или под ссылкой, если onebox не может быть сформирован.
  4. Описания YouTube (необязательно): полное описание видео из канала канала отображается под плеером, с переносами строк и кликабельными ссылками.
  5. Форматы заголовков (необязательно): отдельные форматы для тем блогов и YouTube с использованием %{title} и %{source}, например %{source} blog: %{title}. Переименования выполняются незаметно — без ревизий, поднятия темы или уведомлений — и старые ссылки продолжают работать.
  6. Отображаемые имена: на административной странице перечислены все каналы RSS Polling с их опубликованными именами, где вы можете установить имя, используемое для %{source}. Сохранение изменений приводит к повторному рендерингу заголовков этого канала.
  7. Защита от обновлений каналов: отредактированный исходный пост или измененный формат канала больше не перезаписывают тему, отображенную в виде onebox.
  8. Rake-задачи для существующих тем: rss_onebox:convert превращает предыдущие импорты в onebox, а rss_onebox:enhance добавляет сводки, описания и заголовки. По умолчанию обе задачи выполняются в режиме «сухого прогона» (dry run).

Обоснование

Мы ведем форум, который собирает блоги участников и их каналы YouTube в одной категории. Фрагменты RSS Polling отображали многие каналы некорректно — сломанное форматирование, отсутствующие изображения, кнопка «Показать полный пост», которая повторно скрапила страницу — в то время как та же URL, вставленная в пост, создавала аккуратный onebox. Этот плагин заставляет каждый импорт выглядеть как эта вставленная ссылка и заполняет то, чего не могли предоставить сами страницы.

Настройка

После установки перейдите в Администрирование → Плагины → RSS Polling Onebox:

  1. Настройки: включите плагин, выберите категории, импорты в которых должны отображаться в виде onebox, и активируйте необязательные функции.
  2. Отображаемые имена: установите имя, используемое для %{source} в заголовках, для каждого канала, или оставьте поле пустым, чтобы использовать имя, публикуемое каналом. Обновить опубликованные имена читает все включенные каналы.

Для тем, импортированных до установки, выполните rake rss_onebox:convert, а затем rake rss_onebox:enhance внутри контейнера (обе задачи в режиме «сухого прогона»; добавьте APPLY=1 для записи). В README задокументированы все настройки и задачи, а в CHANGELOG перечислены все релизы.

Ограничения

  1. Тестировалось на Discourse 2026.7 ESR; совместимость с main на сентябрь 2026 года проверена в коде. Более старые версии не тестировались.
  2. Требуется RSS Polling, который входит в состав Discourse.
  3. Некоторые функции обертывают внутренние механизмы RSS Polling и TopicEmbed, так как задокументированные хуки еще не существуют; см. RSS Polling: точки расширения для плагинов.
  4. Нативное чтение описаний YouTube в RSS Polling обсуждается в RSS Polling: чтение описания видео из каналов YouTube; если эта функция появится в ядре, этот плагин будет использовать ее.
  5. Качество onebox зависит от тегов Open Graph каждой страницы статьи.

Вопросы и проблемы: отвечайте здесь или создайте issue на GitHub.

3 лайка

Мне это нравится, и я задумался, а что если использовать это вместе с LLM, чтобы создавать продуманные и тщательно выверенные резюме, а не произвольные выдержки?

Это могло бы стать золотой серединой, потому что, по моему скромному мнению, просто вставлять ссылки, по сути, разрушает саму суть форума.

Спасибо за то, что поделились!

1 лайк

Выглядит отлично. Я хотел спросить: если ваш сайт публичный, можем ли мы заглянуть на него, чтобы посмотреть, как он работает в деле?

Поскольку для работы требуется плагин RSS Polling, нужно ли настраивать ленту в обоих плагинах? Или только в вашем?