Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 如何从本地Happstack服务器为MathJax提供服务?_Haskell_Mathjax_Happstack - Fatal编程技术网

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

Haskell 如何从本地Happstack服务器为MathJax提供服务?,haskell,mathjax,happstack,Haskell,Mathjax,Happstack,我不是开发人员/程序员。我只是一个想用来做笔记的人。我已经知道它在Windows上运行了,但是使用MathJax的数学效果最好。我不想依靠远程CDN让MathJax工作(这里停电和互联网断开非常频繁)。该应用程序的作者提到它可以在Happstack中的“4行代码”中设置: mathjax-script: https://d3eoax9i5htok0.cloudfront.net/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML # sp

我不是开发人员/程序员。我只是一个想用来做笔记的人。我已经知道它在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.js
文件,并将其放置在
data/static/js/MathJax.js
中。然后将您引用的配置更改为:

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

好的,我让MathJax使用便携式Apache和从下载的MathJax归档文件工作。URL的格式必须是(假设您将文件解压缩到apache2/htdocs/MathJax中):

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


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

从文档中可以看出,静态的
目录应该可以正常工作:

在收到请求时,gitit总是在静态视图中首先查看 目录(或在中为静态目录指定的任何目录中) 配置文件)。如果找到与请求相对应的文件 在那里,马上就可以上菜了。如果在static中找不到该文件, gitit接下来查看gitit数据文件的静态子目录 ($CABALDIR/share/giti-x.y.z/data)。这是默认css、图像、, 并存储Java脚本。如果在那里也找不到该文件, gitit将该请求视为对wiki页面或wiki命令的请求

因此,您可以静态地抛出任何您想要得到的服务(例如 例如,静态目录中的robots.txt文件或favicon.ico)。 您可以覆盖gitit的任何默认css、javascript或图像 通过将具有相同相对路径的文件放入静态。注 gitit有一个默认的robots.txt文件,它排除了所有URL 以/\开头


(来源:)

但是我首先应该如何设置localhost:1234?对不起,如果我不清楚。对不起,没有看到你说的端口5001不是1234。我尝试了这个,但无法让它工作。Gitt根目录中有一个data/static/js目录结构,我试图将文件放在那里。但基本URL localhost:5001似乎实际上指向wiki/wikidata目录。我试着把文件放在那里,但也没用。也许我做错了。此外,URL的格式必须是(在Apache中)
http://localhost/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLOMML
指向MathJax CDN的链接已过时。尝试将
d3eoax9i5htok0.cloudfront.net
替换为
cdn.mathjax.org
。要从您自己的服务器上运行MathJax,请参阅中的文档。注意:cdn.MathJax.org即将结束,请查看MathJax.org/cdn-shutting-down以了解迁移技巧。
http://localhost/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML