如何在 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 开发时的重要资源。那里包含的控制台经常显示此类问题。
我对 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 开发时的重要资源。那里包含的控制台经常显示此类问题。