Embedding Post: No se pueden leer los selectores CSS de un sitio React

Tengo etiquetas CSS en mi contenido y he identificado los selectores CSS en la configuración de administración de incrustaciones, pero el rastreador no los está detectando. Creo que se debe a que mi sitio está construido con React y los selectores CSS no son accesibles. ¿Cómo puedo usar esta función con un sitio de React?

Eso puede ser cierto, aunque esperaría que la solicitud que hace Discourse al sitio devuelva HTML. Otro aspecto a investigar es que Discourse almacena en caché el contenido extraído del sitio externo durante 10 minutos. Esto significa que si estás ajustando la configuración del sitio «allowed embed selectors», tendrás que esperar hasta 10 minutos para ver los resultados del nuevo valor de la configuración.

Si tu sitio de Discourse aún no está en producción y tienes acceso a la consola de Rails del sitio de Discourse, puedes borrar la caché desde la consola con Rails.cache.clear.

Algunos detalles adicionales sobre esta configuración están aquí: Configuring allowed embed selectors.

Edición: Creo que la incrustación funciona como se espera. Solo es complicado configurarla para algunos sitios. Voy a mover este tema a Support.

Hace unos meses creé un tema en Contribute > Feature sugiriendo que Discourse debería encontrar una mejor manera de analizar las publicaciones incrustadas: Topic embedding needs some love. Le dedicaré algo de tiempo pronto si nadie lo hace antes que yo.

Discourse presenta una vista diferente a los rastreadores. Para verla, deberás visitarla con JavaScript desactivado.

No esperaría que las publicaciones incrustadas fueran rastreadas, ya que no existen en el sitio donde están incrustadas.

Hola, me refiero a cómo Discourse rastrea mi sitio de React con la función de publicaciones integradas. Me cuesta decirle qué contenido incluir en la publicación de Discourse debido a cómo ve mi página de React.

Si ayuda, el código que se utiliza para extraer la publicación externa está aquí: discourse/app/models/topic_embed.rb at main · discourse/discourse · GitHub

Si tiene acceso a la consola de Rails de su sitio, puede probarlo para tener una idea de lo que está sucediendo. Por ejemplo:

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

Donde he tenido problemas es con el método parse_html que se llama al final del método find_remote. Ruby Readability tiene problemas con algunos HTML/CSS.

También es posible que no se esté devolviendo HTML de su sitio de React. Podría confirmarlo ejecutando el código que está en el método find_remote paso a paso desde la consola.

¡Esto es excelente, gracias!