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?

Ese podría ser el caso, aunque esperaría que la solicitud que Discourse hace al sitio devuelva HTML. Otra cosa a investigar es que Discourse almacena en caché el contenido que extrae del sitio externo durante 10 minutos. Eso significa que si está ajustando la configuración del sitio allowed embed selectors (selectores de incrustación permitidos), tendrá que esperar hasta 10 minutos para ver los resultados del nuevo valor de la configuración.

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

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

Editar: Creo que la incrustación está funcionando como se esperaba. Simplemente es complicado de configurar para algunos sitios. Voy a mover este tema a Support.

Creé un tema Feature hace unos meses 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 se me adelanta.

3 Me gusta

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.

2 Me gusta

¡Esto es excelente, gracias!