Post de Incorporação: Não consigo ler seletores CSS de um site React

Tenho tags CSS no meu conteúdo e identifiquei os seletores CSS nas configurações de administração de incorporação, mas eles não estão sendo capturados pelo rastreador. Acredito que seja porque meu site é construído com React e os seletores CSS não são acessíveis. Como posso usar este recurso com um site React?

Esse pode ser o caso, embora eu esperasse que a solicitação que o Discourse faz ao site retornasse HTML. Outra coisa a investigar é que o Discourse armazena em cache o conteúdo extraído do site externo por 10 minutos. Isso significa que, se você estiver ajustando a configuração do site allowed embed selectors, terá que esperar até 10 minutos para ver os resultados do novo valor da configuração.

Se o seu site Discourse ainda não estiver em produção e você tiver acesso ao console Rails do site Discourse, poderá limpar o cache do console com Rails.cache.clear

Alguns detalhes adicionais sobre a configuração estão aqui: Configuring allowed embed selectors.

Editar: Eu acho que a incorporação está funcionando como esperado. É apenas complicado de configurar para alguns sites. Vou mover este tópico para Support.

Criei um tópico Feature alguns meses atrás sugerindo que o Discourse deveria encontrar uma maneira melhor de analisar posts incorporados: Topic embedding needs some love. Dedicarei algum tempo a isso em breve, se ninguém o fizer antes de mim.

3 curtidas

O Discourse apresenta uma visualização diferente para os rastreadores. Para vê-la, você precisará visitar com o JavaScript desativado.

Eu não esperaria que posts incorporados fossem rastreados, pois eles não existem no site onde são incorporados.

Olá, estou me referindo a como o Discourse rastreia meu site React com o recurso de posts incorporados. Estou tendo dificuldade em dizer a ele qual conteúdo incluir no post do Discourse por causa de como ele vê minha página React.

Se ajudar, o código usado para buscar o post externo está aqui: discourse/app/models/topic_embed.rb at main · discourse/discourse · GitHub

Se você tiver acesso ao console Rails do seu site, poderá testá-lo para ter uma ideia do que está acontecendo. Por exemplo:

TopicEmbed.find_remote("https://blog.discourse.org/2023/04/introducing-discourse-ai/")

Onde encontrei problemas foi com o método parse_html que é chamado no final do método find_remote. Ruby Readability tem dificuldades com alguns HTML/CSS.

Também é possível que o HTML não esteja sendo retornado do seu site React. Você pode confirmar isso executando o código que está no método find_remote em etapas a partir do console.

2 curtidas

Isto é excelente, obrigado!