【问题标题】:Templating packages for HaskellHaskell 的模板包
【发布时间】:2011-08-11 19:51:05
【问题描述】:

在 Haskell 中有哪些首选的模板包。类似于 Django 模板或 PHP 的东西。

我不想总是将它与 HTML 一起使用。它可以是任何其他东西。我想我想要的是一个字符串插值库,它还支持循环、过滤器/转义实用程序的注册、if 条件等。

【问题讨论】:

  • 不一定。这是针对生成与 Kindle 兼容的 .mobi 文件(顺便说一下,它们是 HTML 和 XML 文件)的一个小项目。但我还有其他不涉及结构化标记语言的用例。

标签: haskell templating


【解决方案1】:

一些相关的包:

  • Bravo - 静态文本模板生成库
  • chunks - 具有静态安全性的简单模板库
  • halipeto - Haskell 静态网页生成器
  • hamlet - 经过编译时检查的类似 Haml 的模板文件
  • hastache - Mustache 模板的 Haskell 实现
  • heist - 一个 xhtml 模板系统
  • HStringTemplate - Haskell 中的 StringTemplate 实现。
  • Interpolation - 多行字符串、插值和模板。
  • PCLT - Show 扩展:模板、编目、语言、参数等。
  • press - 针对 web / HTML 生成的文本模板库
  • template - 简单的字符串替换
  • twine - 非常简单的模板语言

【讨论】:

  • 感谢您的列表。 Twine 和 Hastache 看起来很不错。
【解决方案2】:

根据 Hackage 流行度统计,到目前为止,排名前三的软件包是(2014 年):

  1. (29,000 次下载)shakespeare -- 替代小村庄。
  2. (27,816 次下载)hamlet -- yesod 框架模板
  3. (10,625 次下载)heist -- snap 框架模板
  4. (7099 次下载)HStringTemplate -- 通用模板

您可以在this question 中查看有关这两个系统的更多信息。

【讨论】:

  • 请注意,这两者都是特定于 HTML/XML 的。
  • 实际上,HStringTemplate 仍然以 4463 次下载量遥遥领先。而且它也不是特定于 html/xml 的 :-)
  • 谢谢。事实上,我想要一些比 HTML/XML 更通用的东西。
  • Hamlet 说它已被弃用,取而代之的是 shakespeare
【解决方案3】:

hastache 似乎设计得很好。 Bravo 是一个很酷的想法,但适合我想要的(循环等),它假定所有参数在某种程度上都是字符串。

【讨论】:

    【解决方案4】:

    interpolatedstring-perl6 提供了一个简单且设计良好的 Quasiquoter,用于从包含任意 Haskell 表达式的模板生成内插字符串/文本。

    【讨论】:

      【解决方案5】:

      还有karver (github) 包,其他答案中没有提到。作者说“它的语法很大程度上受到 Jinja2 的启发”,但“它不像 Jinja 那样全功能或生产就绪”。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-22
      • 1970-01-01
      • 1970-01-01
      • 2016-03-31
      • 2014-07-23
      • 1970-01-01
      • 1970-01-01
      • 2012-03-14
      相关资源
      最近更新 更多