使用Yesod小部件来构建HTML页面

时间:2014-11-18 19:33:43

标签: haskell yesod

我正在开发静态博客生成器作为辅助项目,我想使用Yesod的小部件作为模板引擎。我的问题归结为是否可以做这样的事情。

import Text.Blaze.Html.Renderer.String (renderHtml)
import Yesod

main = putStrLn . renderHtml $ do
    setTitle "Hello World"
    body

body = [whamlet| <span> hello world in body! |]

也就是说,是否可以显示小部件的HTML(打印,使用文本执行IO)?

1 个答案:

答案 0 :(得分:1)

比这更复杂,因为,例如,小部件如何显示将取决于某种布局功能(例如,defaultLayout)。您可以使用widgetToPageContentrunFakeHandler制作适合的内容。但是,我建议调查一种不同的方法:在本地运行一个完整的Yesod站点,然后将它生成的HTML下载到静态文件中。