tinymce - 在 TinyMCE 的原生预览插件中使用 mathjax 进行预览
问题描述
如何让 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>
解决方案
我能够解决这个问题。修改是在插件的文件“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>'
推荐阅读
- javascript - javascript setTimeout() 无法正常工作
- c# - 未能在 MimeMessage (rotativa) 中添加附件以发送邮件
- reactjs - 使用 react-redux,通过 redux 状态将回调函数传递给通用组件的最佳实践是什么?
- java - 使用 FrameBuffer 和 SpriteBatch 时的纹理拉伸
- javascript - 如何从字符串中提取方程并求解,然后将答案放回 javascript 中的字符串中?
- c - 创建一个指向 11 个字符串的 char 指针数组,但在打印它们时遇到问题
- function - 使用 console.log 调用函数
- python - 如何使用方法 Pop 在 Python 中更改字典的键?
- javascript - 如果日期与选项卡名称相同,则 Google Sheets Apps 脚本复制数据行
- verilog - Machxo 2280C 上的块内存始终读取零