在happstack中使用html文件作为模板

发布于 2024-11-16 22:59:54 字数 72 浏览 4 评论 0 原文

我可以找到大量有关使用 blitz 和其他编译时模板库与 happstack 的文档,但我想知道如何使用 html 文件作为模板。

I can find plenty of documentation on using blitz and other compiletime templating libraries with happstack but I would like to know how to use html files as templates.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

忆离笙 2024-11-23 22:59:54

虽然有很多选项,但我最喜欢的是 Heist,它允许您定义 splice

> factSplice :: (Monad m) => TemplateMonad m Template
> factSplice = do
>   input <- getParamNode
>   let text = T.unpack $ X.nodeText input
>       n    = read text :: Int
>   return [X.TextNode $ T.pack $ show $ product [1..n]]
>

它可以在动态(在运行时加载) 中使用HTML 模板:

<html>
  <head>
    <title>Factorial Page</title>
  </head>
  <body>
    <h1>Factorial Page</h1>
    <p>The factorial of 6 is <fact>6</fact></p>
  </body>
</html>

要在 happstack 中使用 heist,您需要 happstack-heist 包。有关更多详细信息和其他选项,请参阅使用 Heist

Though there are many options, my favourite would be Heist, which would allow you to define a splice:

> factSplice :: (Monad m) => TemplateMonad m Template
> factSplice = do
>   input <- getParamNode
>   let text = T.unpack $ X.nodeText input
>       n    = read text :: Int
>   return [X.TextNode $ T.pack $ show $ product [1..n]]
>

which could be used in a dynamic (loaded at runtime) HTML template:

<html>
  <head>
    <title>Factorial Page</title>
  </head>
  <body>
    <h1>Factorial Page</h1>
    <p>The factorial of 6 is <fact>6</fact></p>
  </body>
</html>

To use heist in happstack, you'll need the happstack-heist package. For more detail and other options, see Using Heist.

心凉 2024-11-23 22:59:54

HStringTemplate 包提供了一个非常通用的运行时模板系统,不仅适用于 HTML,还适用于任何类型的文本输出:

http://hackage.haskell.org/packages/archive/HStringTemplate/0.6.6/doc/html/Text-StringTemplate.html

HStringTemplate 包通过一些额外的功能与 Happstack 很好地集成可选包提供的实例: http://hackage.haskell.org/package/happstack-hstringtemplate

The HStringTemplate package provides a very general runtime templating system for not only HTML, but any sort of text output:

http://hackage.haskell.org/packages/archive/HStringTemplate/0.6.6/doc/html/Text-StringTemplate.html

The HStringTemplate package integrates with Happstack nicely through a few extra instances provided by an optional package: http://hackage.haskell.org/package/happstack-hstringtemplate

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文