如何在 Heroku 上启用 MathJax 功能

How enable MathJax functionality on Heroku

我对 Python 语言和 web-app 部署的 Heroku Web 界面有点陌生。我的背景是工程和 MATLAB 编程,所以整个 rails/web 场景对我来说都是全新的。但是我正在尝试学习即将进行的项目的基础知识。为此,在网络上一些教程的帮助下,我已经成功地构建了几个 Python/NumPy + Flask 基础应用程序:

https://matrix-spectrum.herokuapp.com/

https://plot-damped-sinusoid.herokuapp.com/

但是正如您已经看到的,在第二个 link 中,LaTeX/MathJax mark-up 显示不正确。每当我 运行 它在我的本地主机上时它都能正常工作 (heroku local web),但是一旦部署它 MathJax 就不会显示。

我该如何解决这个问题?为什么不添加:

<script type="text/x-mathjax-config">
MathJax.Hub.Config({
  TeX: {
     equationNumbers: {  autoNumber: "AMS"  },
     extensions: ["AMSmath.js", "AMSsymbols.js", "autobold.js", "color.js"]
  }
});
</script>
<script type="text/javascript"
 src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>

在header工作?我能找到的最接近的 question/answer 是:

https://groups.google.com/forum/#!topic/mathjax-users/Rpa_WQ6rMkE

但这已经有 5 年左右的历史了,我怀疑应该有更多的近期发展,例如:

https://github.com/pmq20/mathjax-rails

但我没有使用 "rails" 的经验。

那些 link 使用 HTTPS(加密 HTTP)协议,但如果主连接已加密,现代浏览器通常会拒绝加载未加密的内容。这叫做mixed content.

用于加载 MathJax 库的 link 硬编码未加密的 HTTP 连接:

<script type="text/javascript"
 src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>

可以 http:// 切换为 https://,但更好的方法可能是简单地使用 //:

<script type="text/javascript"
 src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>

这使您的 link 协议相对;它将使用与页面本身相同的协议加载。

我鼓励您了解您的 browser's developer tools,这是进行 Web 开发时的重要资源。那里包含的控制台经常显示此类问题。