【问题标题】:How do I serve MathJax from a local Happstack server?如何从本地 Happstack 服务器提供 MathJax?
【发布时间】:2016-01-06 10:52:19
【问题描述】:

我不是开发人员/程序员。我只是想用Gitit 做笔记的人。我已经让它在 Windows 上运行,但使用 MathJax 的数学看起来最好。我不想依赖远程 CDN 来让 MathJax 正常工作(这里经常断电和断网)。该应用程序的作者提到它可以在 Happstack 的“4行代码”中设置:

mathjax-script: https://d3eoax9i5htok0.cloudfront.net/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML
# specifies the path to MathJax rendering script.
# You might want to use your own MathJax script to render formulas without
# Internet connection or if you want to use some special LaTeX packages.
# Note: path specified there cannot be an absolute path to a script on your hdd, 
# instead you should run your (local if you wish) HTTP server which will 
# serve the MathJax.js script. You can easily (in four lines of code) serve
# MathJax.js using http://happstack.com/docs/crashcourse/FileServing.html
# Do not forget the "http://" prefix (e.g. http://localhost:1234/MathJax.js)

本教程的链接已损坏,因此我将不胜感激。是否需要更改任何 MathJax 配置,或者只需提取文件即可?我会用 gitit 写很多数学。我不想设置 Apache 等来服务 MathJax。 Gitit 已经使用 Happstack,我更喜欢使用它。谢谢!

编辑:为了清楚起见,我不确定如何分配端口 1234 来服务这个脚本

【问题讨论】:

  • MathJax 的 CDN 链接已过时。尝试将d3eoax9i5htok0.cloudfront.net 替换为cdn.mathjax.org。要从您自己的服务器运行 MathJax,请参阅docs.mathjax.org/en/latest/installation.html 的文档。
  • 未来注意事项:cdn.mathjax.org 即将结束生命周期,请查看 mathjax.org/cdn-shutting-down 以了解迁移提示。

标签: haskell mathjax happstack


【解决方案1】:

好的,我使用便携式 Apache 和从 docs.mathjax.org 下载的 MathJax 存档让 MathJax 工作。 URL 需要采用以下格式(假设您将文件提取到 apache2/htdocs/MathJax):

http://localhost/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML

我想通过重用与 Gitit 相同的 Happstack 实例来保持这种轻量级,但这似乎超出了我现在的技能/可用时间。

编辑:刚刚发现 ghc 在构建时会将所有内容打包到一个 exe 中。所以我怀疑甚至可以使用相同的 Happstack 实例,因为服务器的根目录不存在?

【讨论】:

    【解决方案2】:

    根据文档,static 目录应该可以正常工作:

    在收到请求时,gitit 总是先在静态中查找 目录(或在为 static-dir 指定的任何目录中) 配置文件)。如果找到与请求对应的文件 在那里,它立即送达。如果静态文件没有找到, gitit 接下来查看 gitit 数据文件的静态子目录 ($CABALDIR/share/gitit-x.y.z/data)。这是默认 css、图像、 和javascripts被存储。如果那里也找不到该文件, gitit 将请求视为对 wiki 页面或 wiki 命令的请求。

    所以,你可以抛出任何你想静态服务的东西(例如 例如,静态目录中的 robots.txt 文件或 favicon.ico)。 您可以覆盖任何 gitit 的默认 css、javascript 或图像 通过将具有相同相对路径的文件放在静态文件中。笔记 那个 gitit 有一个默认的 robots.txt 文件,它排除了所有的 URL 以 /_ 开头。

    (来源:https://github.com/jgm/gitit

    【讨论】:

      【解决方案3】:

      从例如下载MathJax.js 文件。 cdn.mathjax.org 并将其放在 data/static/js/MathJax.js 中。然后将您引用的配置更改为:

      mathjax-script: http://localhost:5001/js/MathJax.js
      

      【讨论】:

      • 但是我首先要如何设置 localhost:1234 呢?对不起,如果我不清楚。
      • 抱歉没看到你说端口 5001 不是 1234
      • 我试过这个,但不能让它工作。 gitit根目录里面有一个data/static/js目录结构,我试着把文件放在那里。但似乎基本 URL localhost:5001 实际上指向 wiki/wikidata 目录。我尝试将文件放在那里,但它也不起作用。也许我做错了。此外,URL 必须采用以下形式(在 Apache 中)http://localhost/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML
      猜你喜欢
      • 2015-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多