我正在开发静态博客生成器作为辅助项目,我想使用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)?
答案 0 :(得分:1)
比这更复杂,因为,例如,小部件如何显示将取决于某种布局功能(例如,defaultLayout
)。您可以使用widgetToPageContent和runFakeHandler制作适合的内容。但是,我建议调查一种不同的方法:在本地运行一个完整的Yesod站点,然后将它生成的HTML下载到静态文件中。