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