Предварительный просмотр с использованием mathjax в плагине предварительного просмотра TinyMCE - PullRequest
0 голосов
/ 10 февраля 2019

Как заставить TinyMCE использовать MathJax в своем родном плагине предварительного просмотра?Редактор TinyMCE в интерфейсе внешнего интерфейса устанавливается в файле function.php с использованием кода, аналогичного этому

function editor_settings($args = array()){
return array(
'textarea_name' => 'post_content',
'tinymce'       => array(
                        'plugins' => "preview",
                        'toolbar' => "redo undo bold italic preview",
                        'setup'   => "function(ed){
                                               ed.onChange.add(function(ed, l) {
                                                  var content = ed.getContent();
                                                  if(ed.isDirty() || content === '' ){
                                                     ed.save();
                                                     jQuery(ed.getElement()).blur(); // trigger change event for textarea
                                                  }
                                               }"
));
}

. Я использую копию MathJax для CDN, и мой код конфигурации для MathJax следующий:

<script type="text/x-mathjax-config">
                  MathJax.Hub.Config({
                    tex2jax: {
                      inlineMath: [ ['$','$'],["\\(","\\)"] ],
                      displayMath: [['$$','$$'], ["\\[","\\]"] ],
                      processEscapes: true
                    },
                    "HTML-CSS": { 
                                    matchFontHeight: false,
                                    availableFonts: ["TeX"],
                                    webFont: 'Latin-Modern',
                                    preferredFont: 'Latin-Modern',
                                    scale: 100,
                    },
                    CommonHTML: { 
                                    matchFontHeight: false
                    },
                    SVG: {
                                    matchFontHeight: false
                    }
                  });
</script>

1 Ответ

0 голосов
/ 11 февраля 2019

Я смог решить проблему.Модификация выполняется в файле плагина "plugin.min.js", который можно найти по этому пути /wp-includes/js/tinymce/plugins/preview/ Вам нужно найти

e += '<link type="text/css" rel="stylesheet" href="' + f(c.documentBaseURI.toAbsolute(a)) + '">'

и вставить эти две строки для загрузки и настройки MathJax

e += '<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>'
e += '<script type="text/x-mathjax-config"> MathJax.Hub.Config({ "HTML-CSS": { matchFontHeight: false, availableFonts: ["TeX"], webFont: \'Latin-Modern\', preferredFont: \'Latin-Modern\', scale: 100, }, CommonHTML: { matchFontHeight: false }, SVG: { matchFontHeight: false } }); </script>'
...