Yesod:我如何提供动态生成的CSS?

时间:2012-02-17 11:49:03

标签: css yesod

好的,我的HTML处理程序的类型为Handler RepHtml。我还看到RepXmlRepJsonRepPlain。我如何为这个问题提供CSS或Javascript?

如果接近,我可以得到的最接近的是$(luciusFile "template.lucius"),但这会扩展为类型为CssUrl <Foundation>的内容。

1 个答案:

答案 0 :(得分:3)

如果你想发送一个孤独的CSS或javascript文件,那么我想你可以像这样创建RepCss和RepJS类型:

import Yesod.Content

newtype RepCss = RepCss Content
instance HasReps RepCss where
    chooseRep (RepCss c) _ = return (typeCss, c)

您还可以创建功能:

luciusToContent :: CssUrl (Route master) -> GHandler sub master Content

luciusToRepCss :: CssUrl (Route master) -> GHandler sub master RepCss

以与函数hamletToContenthamletToRepHtml相同的方式在模块Yesod.Handler中定义,并使用它们来创建lucius文件的输出