Avez-vous essayé cela ? L’écriture d’une onebox spécifique à votre cas pourrait vous permettre de fournir une image onebox au message cuisiné ? Les miniatures fonctionneraient alors automatiquement.
Je note que les onebox Youtube sont, je crois, du contenu statique sur le site, jusqu’à ce que vous cliquiez sur le bouton de lecture, puis qu’elles affichent un iframe. Le contenu présenté avant le clic comprend une image qui est capturée puis mise en miniature. Évidemment, Discourse ne peut pas lire à partir d’un iframe, donc cette technique est une bonne approche.
Je note que votre exemple inclut une balise og:image dans les balises d’en-tête, ce qui est parfait.
Ma suggestion est de vous éloigner de javascript ici et de cuisiner dans Rails.
Le seul inconvénient sera que votre image sera statique jusqu’à ce que vous reconstruisiez le message, en supposant que l’image cible soit également mise à jour. Ainsi, si vous espérez montrer une miniature qui change dynamiquement, vous devrez peut-être faire preuve d’encore plus de créativité.
