如何在snap中使用html文件?

时间:2016-02-21 08:17:24

标签: haskell haskell-snap-framework

我开始学习快照框架。我试图以简单的方式呈现html文件和布局html文件("模板")。也就是说,我有一个共享的html文件,我想用作我网站中所有页面的模板。我怎样才能做到这一点?而且,类似的问题,如何呈现html文件?

更新:

我不想添加新的水平。有没有避免使用Heist?

1 个答案:

答案 0 :(得分:1)

提供静态文件的最简单方法是使用serveFile。你的路线可能会有这样的东西:

library(dplyr)
Individ %>% 
     group_by(Participant, Condition, Location) %>% 
     do(head(., -3))
#  Participant  Time Condition Location Power
#       (fctr) (dbl)    (fctr)   (fctr) (dbl)
#1        Bill     1      Expr     Away   608
#2        Bill     1   Placebo     Home   400
#3        Bill     2   Placebo     Home   250
#4        Jane     1      Expr     Home   600
#5        Jane     2      Expr     Home   512
#6        Jane     3      Expr     Home   300
#7        Jane     1   Placebo     Home   402
#8        Jane     2   Placebo     Home   210
#9        Jane     3   Placebo     Home   130

这使得当用户转到[ ...your routes here , ("markup", serveFile "mymarkup.html") ] 时,您运行应用程序的任何目录中的文件http://yoursite/markup都会被提供。如果您尝试提供许多不同的HTML文件,则更好的解决方案是serveDirectory。您可以这样使用它:

mymarkup.html

这使得当用户转到[ ...your routes here , ("static", serveDirectory "html") ] 时,文件http://yoursite/static/mymarkup.html就会被提供。

关于如何将一个文件作为所有页面的模板的问题,这正是Heist为您所做的事情!肯定有办法避免使用Heist,但你可能会重新发明Heist为你做的很多事情。在你问的基本层面上,Heist非常简单。所有有效的HTML文件都是有效的Heist模板。我建议像Bakuriu提到的tutorial一样阅读。我相信Heist的html/mymarkup.html标签几乎就是你要找的东西。