Математика не отображается во встроенных постах

У меня на сайте есть встроенные посты. Формулы в них не отображаются внутри вставок.

С помощью старого плагина мы могли исправить файл embed.js.erb, чтобы математика стала отображаться. Можно ли что-то сделать с discourse-math, чтобы это работало во встроенных элементах?

Вот пример того, о чём я говорю (прокрутите в самый низ).

Спасибо!

Похоже, решение находится в последнем комментарии в ветке на GitHub, на которую вы сослались:

Вы его уже попробовали?

Да, и это работает со старым сторонним расширением discourse-mathjax. Однако в Discourse реализовано собственное расширение discourse-math, и это решение не работает.

Я не думаю, что проблема в плагине. Новый плагин всё ещё использует математические спаны (вы можете убедиться в этом, просмотрев исходный код вашей страницы), поэтому решение должно по-прежнему работать. Возможно, с тех пор изменилось то, как Discourse встраивает посты?

Чтобы прояснить: вы предлагаете, что этот патч всё ещё должен работать?

@@ -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>

В настоящее время я не вижу кода в вашем встроенном разделе комментариев?
Можете ли вы подтвердить, что вы действительно применяете патч?

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

Проблема с этим патчем может заключаться в том, что он пытается загрузить JavaScript с сайта mathjax.org, который, как мне кажется, текущая версия Discourse блокирует по умолчанию? Возможно, вам потребуется добавить https://cdn.mathjax.org в настройку сайта cors origins.

Возможно, всё именно так! Теперь вопрос: настройка cors origins будет находиться на моём сервере Discourse или на веб-сервере, куда я встраиваю форум?

Это один из параметров Discourse.

Это помогло мне! Большое спасибо за помощь; я и не подумал бы о настройках безопасности сайта.

Огромное спасибо!

Интересно, можно ли здесь что-то улучшить. @sam, есть ли способ, чтобы плагин каким-то образом мог модифицировать app/views/layouts/embed.html.erb? Чтобы Discourse мог загружать JS MathJax/KaTeX внутри встроенного iframe?

Я определенно поддерживаю внесение таких изменений. Однако, возможно, нам потребуется добавить в ядро какой-то хук, например: (возможно, embed_javascripts в discourse/lib/discourse_plugin_registry.rb at 7829558c6d42b5f0dfbb0c2351fb332a940d651e · discourse/discourse · GitHub).