【问题标题】:Ghost mathjax inlining not workingGhost mathjax内联不起作用
【发布时间】:2017-02-16 22:10:43
【问题描述】:

我已经阅读了这篇关于如何将内联数学模式添加到 ghost 的帖子:

http://ghost-rkingsbury.rhcloud.com/how-to-add-mathjax-to-a-ghost-blog/

我已经添加到设置 -> 代码注入:

<script type="text/x-mathjax-config">  
   MathJax.Hub.Config({
     tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']],
     processEscapes: true}          
   });
</script>  
<script type="text/javascript" async  
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML">  
</script>

但收到错误:

jquery.fitvids.js:16 Uncaught TypeError: Cannot read property 'fn' of undefined
    at jquery.fitvids.js:16
    at jquery.fitvids.js:67
index.js:56 Uncaught ReferenceError: jQuery is not defined
    at index.js:56
localhost/:3 Uncaught SyntaxError: Invalid or unexpected token
    at eval (<anonymous>)
    at EVAL (MathJax.js:19)
    at Function.execute (MathJax.js:19)
    at cb (MathJax.js:19)
    at Object.Process (MathJax.js:19)
    at Object.Push (MathJax.js:19)
    at Object.ConfigBlocks (MathJax.js:19)
    at Function.execute (MathJax.js:19)
    at cb (MathJax.js:19)
    at Object.Process (MathJax.js:19)

删除:

<script type="text/x-mathjax-config">  
   MathJax.Hub.Config({
     tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']],
     processEscapes: true}          
   });
</script>  

允许渲染 MathJax,但 $...$ 未被识别为内联数学语句

在代码注入中添加 jQuery 库:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

<script type="text/x-mathjax-config">  
   MathJax.Hub.Config({
     tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']],
     processEscapes: true}          
   });
</script>  
<script type="text/javascript" async  
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML">  
</script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

导致错误:

VM411:3 Uncaught SyntaxError: Invalid or unexpected token
    at eval (<anonymous>)
    at EVAL (MathJax.js?config=TeX-MML-AM_CHTML:19)
    at Function.execute (MathJax.js?config=TeX-MML-AM_CHTML:19)
    at cb (MathJax.js?config=TeX-MML-AM_CHTML:19)
    at Object.Process (MathJax.js?config=TeX-MML-AM_CHTML:19)
    at Object.Push (MathJax.js?config=TeX-MML-AM_CHTML:19)
    at Object.ConfigBlocks (MathJax.js?config=TeX-MML-AM_CHTML:19)
    at Function.execute (MathJax.js?config=TeX-MML-AM_CHTML:19)
    at cb (MathJax.js?config=TeX-MML-AM_CHTML:19)
    at Object.Process (MathJax.js?config=TeX-MML-AM_CHTML:19)
EVAL @ MathJax.js?config=TeX-MML-AM_CHTML:19
execute @ MathJax.js?config=TeX-MML-AM_CHTML:19
cb @ MathJax.js?config=TeX-MML-AM_CHTML:19
Process @ MathJax.js?config=TeX-MML-AM_CHTML:19
Push @ MathJax.js?config=TeX-MML-AM_CHTML:19
ConfigBlocks @ MathJax.js?config=TeX-MML-AM_CHTML:19
execute @ MathJax.js?config=TeX-MML-AM_CHTML:19
cb @ MathJax.js?config=TeX-MML-AM_CHTML:19
Process @ MathJax.js?config=TeX-MML-AM_CHTML:19
call @ MathJax.js?config=TeX-MML-AM_CHTML:19
WAITEXECUTE @ MathJax.js?config=TeX-MML-AM_CHTML:19
cb @ MathJax.js?config=TeX-MML-AM_CHTML:19
Execute @ MathJax.js?config=TeX-MML-AM_CHTML:19
loadComplete @ MathJax.js?config=TeX-MML-AM_CHTML:19
(anonymous) @ TeX-MML-AM_CHTML.js?V=2.7.0:68

我是否错过了尝试在 Ghost 中嵌入内联功能的步骤?

【问题讨论】:

  • 您是否有指向显示问题的实时示例的链接?
  • @PeterKrautzberger 我没有现场示例,因为我只是在本地运行 Ghost。
  • 如果不能重现问题,很难说太多。
  • 我的回答有帮助吗?
  • 来自未来的注意事项:cdn.mathjax.org 的生命周期即将结束,参见。 mathjax.org/cdn-shutting-down.

标签: mathjax ghost-blog ghost


【解决方案1】:

我正在为我的blog 使用 Ghost。

  1. MathJax.Hub.Config 和脚本源需要在一个脚本块中才能使异步正常工作,否则 MathJax.Hub.Config 将在 MathJax.js 可用之前定义并生成错误。
  2. 在代码注入中使用双引号(")。这可能是由于 Ghost 模板解析。如果使用单引号 ('),则在第一个引号后立即截断该行。

Ghost 演示页面:https://johnsiu.com/mathjax-test/

演示页面原始数据:

Inline : $ y = \int_0^1 {1\over x} dx $
Standalone: $$ y = \int_0^1 {1\over x} dx $$

<script type="text/javascript" async src="//cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_CHTML">
MathJax.Hub.Config({
    tex2jax: {
        inlineMath: [["$", "$"], ["\\(", "\\)"]],
        processEscapes: true
    }
});
</script>

如果您在身边大量使用mathjax,请将脚本块移动到Ghost Setting-&gt;Code Injection 页眉或页脚中。

用 FF 和 Chrome 浏览器测试。

【讨论】:

  • 来自未来的注意事项:cdn.mathjax.org 的生命周期即将结束,参见。 mathjax.org/cdn-shutting-down.
  • @PeterKrautzberger 感谢您的信息!我更新了使用 cdnjs 开源 cdn 的答案。
  • 感谢您的回答。它帮助我在我的博客上使用内联 MathJax - blog.vcillusion.co.in
猜你喜欢
  • 2015-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多