4
A
回答
7
hamlet
产生评估为blaze
表达式的准量表。使用Text.Blaze.Html.Renderer.String.renderHtml
可以将它们渲染为一个字符串。
让我们先从简单的非HTML例如:
{-# LANGUAGE QuasiQuotes #-}
import Text.Blaze.Html.Renderer.String (renderHtml)
import Text.Hamlet
greet name = [shamlet|Hello world #{name}|]
-- This prints "Hello world John Foo"
main = putStrLn $ renderHtml $ greet "John Foo"
为了提高效率,你也可以使用Text
代替String
Text.Blaze.Html.Renderer.Text.renderHtml
写这一个文件是不是从标准Haskell的不同做法。例如,您可以使用writeFile
而不是putStrLn
来完成此操作。你只需要修改的最后一行
main = do writeFile "greet.txt" $ renderHtml $ greet "John Foo"
现在我们只需要添加HTML标记,而不是使用纯文本的。请参阅the Shakespeare documentation作进一步参考。
{-# LANGUAGE QuasiQuotes #-}
import Text.Blaze.Html.Renderer.String (renderHtml)
import Text.Hamlet
greet name = [shamlet|
$doctype 5
<html>
<head>
<title>Greeting for #{name}
<body>
<h2>
Hello world #{name}|]
main = writeFile "greet.html" $ renderHtml $ greet "John Foo"
greet.html
现在包含静态呈现的问候HTML。
相关问题
- 1. 哈姆雷特中的捕捉渲染列表
- 2. $如果哈姆雷特
- 3. 如何链接到哈姆雷特的静态文件?
- 4. 链接到哈姆雷特的一个静态文件
- 5. Sails.js静态html渲染器
- 6. 错误渲染静态html
- 7. 哈姆雷特文件和18N
- 8. 卡修斯和哈姆雷特
- 9. 哈姆雷特库缺少进口
- 10. 使用哈姆雷特的$案件的记录和ADT
- 11. 初始静态React HTML渲染与Webpack
- 12. 如何将HamletSettings应用于哈姆雷特的quasiquote?
- 13. 耶索德哈姆雷特getHomeR找不到引用
- 14. 测试用户是否已登录哈姆雷特模板
- 15. Selectize.js使用静态html自定义渲染
- 16. bottle.py渲染静态文件
- 17. GEVENT静态文件渲染
- 18. 如何打印与哈姆雷特的逗号分隔列表?
- 19. 哈姆雷特自动访问变量范围
- 20. 编译时间与哈姆雷特模板
- 21. Yesod直播哈姆雷特与GHCI而不是GHC?
- 22. 雷鸟:不渲染内联
- 23. 我可以使用模板Haskell生成哈姆雷特代码吗?
- 24. 在没有Yesod的情况下在Haskell中使用哈姆雷特
- 25. 渲染一个部分与露营和哈姆
- 26. ExpressJS使用哈希渲染路径
- 27. Magento活动。捕捉静态块渲染或指定块渲染
- 28. 渲染反应的组分和静态HTML
- 29. 渲染静态的html页面我的基地Django的模板
- 30. 渲染管理员静态文件 - DJANGO