Les mathématiques ne s'affichent pas dans les messages intégrés

J’ai intégré certains messages dans mon site web. Les équations mathématiques qu’ils contiennent ne s’affichent pas correctement dans les embeds.

Avec l’ancien plugin, nous pouvions modifier le fichier embed.js.erb pour que les mathématiques s’affichent. Existe-t-il une solution similaire avec discourse-math pour que cela fonctionne dans les embeds ?

Voici un exemple de ce dont je parle (faites défiler jusqu’en bas).

Merci !

Il semble que la solution se trouve dans le dernier commentaire du fil GitHub que vous avez référencé :

L’avez-vous essayé ?

Oui, et cela fonctionne avec l’ancienne extension tierce discourse-mathjax. Cependant, Discourse a implémenté sa propre extension discourse-math, et cette solution ne fonctionne pas.

Je ne pense pas que le problème vienne du plugin. Le nouveau plugin utilise toujours les spans mathématiques (comme vous pouvez le voir en inspectant le code source de votre page), donc la solution devrait toujours fonctionner. Ce qui a peut-être changé depuis, c’est la façon dont Discourse intègre les messages dans le code ?

Pour être clair, est-ce que vous suggérez que ce correctif devrait toujours fonctionner ?

@@ -70,5 +70,11 @@
   </head>
   <body>
     <%= yield %>
+    <script type="text/x-mathjax-config">
+       MathJax.Hub.Config({
+        extensions: ["jsMath2jax.js"]
+      });
+    </script>
+    <script src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
   </body>
 </html>

Actuellement, je ne vois pas de code dans votre section de commentaires intégrée ?
Pourriez-vous vérifier que vous appliquez bien le correctif ?

./launcher enter app
cat app/views/layouts/embed.html.erb

Le problème avec ce correctif pourrait être qu’il tente de charger du JavaScript depuis mathjax.org, ce que, je crois, la version actuelle de Discourse bloque par défaut ? Vous devrez peut-être ajouter https://cdn.mathjax.org au paramètre du site cors origins.

2 « J'aime »

Cela pourrait être ça ! Maintenant, le paramètre de site cors origins sera-t-il sur mon serveur Discourse ou sur le serveur web où je l’intègre ?

C’est l’un des paramètres de Discourse.

2 « J'aime »

Cela a résolu mon problème ! Merci beaucoup pour votre aide ; je n’aurais jamais pensé aux paramètres de sécurité du site.

Merci infiniment !

2 « J'aime »

Je me demande si nous ne pourrions pas faire quelque chose de mieux ici. @sam, est-il possible pour un plugin de modifier d’une manière ou d’une autre app/views/layouts/embed.html.erb ? Ainsi, Discourse pourrait charger les scripts JS de MathJax/KaTeX à l’intérieur de l’iframe intégrée.

Je soutiens tout à fait un tel changement. Nous devrons peut-être ajouter une sorte de point d’extension dans le cœur, comme : (peut-être un embed_javascripts dans discourse/lib/discourse_plugin_registry.rb at 7829558c6d42b5f0dfbb0c2351fb332a940d651e · discourse/discourse · GitHub).

4 « J'aime »

Ce sujet a été automatiquement fermé après 1236 jours. Les nouvelles réponses ne sont plus autorisées.