Onebox de Polling RSS

:information_source: Resumo O RSS Polling Onebox renderiza as importações do RSS Polling como oneboxes do artigo original, com resumos de feed, descrições do YouTube e formatos de título opcionais
:hammer_and_wrench: Link do Repositório Peter-Petrik/discourse-rss-onebox
:open_book: Guia de Instalação Como instalar plugins no Discourse

Funcionalidades

  1. Renderização de Onebox: As importações do RSS Polling nas categorias que você escolher se tornam uma onebox da URL do artigo - título, imagem e descrição da página do artigo - em vez do corpo do feed truncado no primeiro parágrafo. Importações em outras categorias permanecem inalteradas.
  2. “Mostrar Post Completo” oculto apenas nas categorias escolhidas.
  3. Resumos de feed (opcional): quando uma página de artigo não possui uma descrição própria, o resumo do feed aparece dentro da onebox, ou abaixo do link se não for possível criar uma onebox.
  4. Descrições do YouTube (opcional): a descrição completa do vídeo do feed do canal aparece abaixo do player, com quebras de linha e links clicáveis.
  5. Formatos de título (opcional): formatos separados para tópicos de blog e YouTube usando %{title} e %{source}, por exemplo %{source} blog: %{title}. As renomeações são silenciosas - sem revisão, bump ou notificação - e os links antigos continuam funcionando.
  6. Nomes de exibição: uma página de administrador lista todos os feeds do RSS Polling com seu nome publicado, onde você pode definir o nome usado para %{source}. Salvar re-renderiza os títulos daquele feed.
  7. Proteção contra atualizações de feed: um post de origem editado ou um formato de feed alterado não sobrescreve mais um tópico que já foi convertido em onebox.
  8. Tarefas Rake para tópicos existentes: rss_onebox:convert converte importações anteriores em oneboxes, e rss_onebox:enhance preenche resumos, descrições e títulos. Ambos têm execução simulada (dry run) por padrão.

Racional

Operamos um fórum que traz os blogs e canais do YouTube dos membros para uma única categoria. Os trechos do RSS Polling renderizavam muitos feeds de forma ruim - formatação quebrada, imagens faltando, um botão “Mostrar Post Completo” que refazia o scraping da página - enquanto a mesma URL colada em um post gerava uma onebox limpa. Este plugin faz com que cada importação pareça com aquele link colado, e preenche o que as páginas sozinhas não podiam fornecer.

Configuração

Após a instalação, vá em Admin → Plugins → RSS Polling Onebox:

  1. Configurações: ative o plugin, selecione as categorias cujas importações devem ser convertidas em onebox e ative os recursos opcionais.
  2. Nomes de exibição: defina o nome usado para %{source} nos títulos, por feed, ou deixe em branco para usar o nome que o feed publica. Atualizar nomes publicados lê todos os feeds habilitados.

Para tópicos importados antes da instalação, execute rake rss_onebox:convert e depois rake rss_onebox:enhance dentro do contêiner (ambos em modo de execução simulada; adicione APPLY=1 para gravar). O README documenta todas as configurações e tarefas, e o CHANGELOG lista todas as versões.

Ressalvas

  1. Testado no Discourse 2026.7 ESR; a compatibilidade com o main até setembro de 2026 é verificada no código. Versões mais antigas não foram testadas.
  2. Requer o RSS Polling, que é incluído com o Discourse.
  3. Alguns recursos envolvem os internos do RSS Polling e do TopicEmbed porque os ganchos documentados ainda não existem; veja RSS Polling: pontos de extensão para plugins.
  4. A leitura nativa de descrições do YouTube no RSS Polling está em discussão em RSS Polling: ler a descrição do vídeo dos feeds de canais do YouTube; se for implementado no núcleo, este plugin o utilizará.
  5. A qualidade da onebox depende das tags Open Graph de cada página de artigo.

Perguntas e problemas: responda aqui, ou abra uma issue no GitHub.

1 curtida

Eu gostei da ideia e me pergunto o que acham de usá-la com LLMs para criar um resumo bem elaborado, em vez de um trecho arbitrário?

Poderia ser um meio-termo, porque, na minha humilde opinião, apenas colar links parece quebrar o propósito de um fórum.

Obrigado por compartilhar!