如何从本地Happstack服务器提供MathJax?

时间:2016-01-06 10:52:20

标签: haskell mathjax happstack

我不是开发人员/程序员。我只是想尝试使用Gitit做笔记的人。我已经达到了在Windows上运行的程度,但使用MathJax时数学效果最好。我不想依靠远程CDN来使MathJax工作(断电和互联网断开非常频繁)。该应用程序的作者提到它可以在" 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来提供此脚本

3 个答案:

答案 0 :(得分:1)

好的,我使用便携式Apache和从docs.mathjax.org下载的MathJax存档使MathJax工作。 URL必须是表单(假设您将文件解压缩到apache2 / htdocs / MathJax):

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

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

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

答案 1 :(得分:1)

从文档中,static目录应该可以正常工作:

  

收到请求后,gitit总是先查看静态   目录(或在任何目录中为static-dir指定的   配置文件)。如果找到与请求对应的文件   在那里,它立即服务。如果在静态中找不到该文件,   gitit next在gitit数据文件的static子目录中查找   ($ CABALDIR /股/ gitit-X.Y.Z /数据)。这是默认的css,图像,   和javascripts存储。如果在那里找不到文件,   gitit将请求视为对wiki页面或wiki命令的请求。

     

所以,你可以抛出任何你想要静态服务的东西(for   例如,静态目录中的robots.txt文件或favicon.ico)。   您可以覆盖任何gitit的默认css,javascript或图像   通过在静态中放置具有相同相对路径的文件来放置文件。注意   该gitit有一个默认的robots.txt文件,它排除了所有网址   以/_.

开头

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

答案 2 :(得分:0)

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

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