【问题标题】:How can I use Haml with Catalyst?如何将 Haml 与 Catalyst 一起使用?
【发布时间】:2010-12-21 10:51:51
【问题描述】:

是否可以使用Haml 代替带有Catalyst web framework 的模板引擎?

【问题讨论】:

    标签: perl frameworks haml catalyst


    【解决方案1】:

    Text::Haml 现在存在。我正在考虑使用它来代替 HTML。HAML 似乎缺少一些复杂的模板结构,例如条件和循环,所以我正在考虑编写一个 Template::Plugin::HAML 来集成这些额外的结构。

    更新

    我使用Text::Haml 实现了Template::Plugin::Haml,所以现在您可以在Template-Toolkit 模板中使用Haml,这当然很容易在Catalyst 上制作。 (注意:如果它说它不存在,请等待 24 小时,然后再次检查,我刚刚上传了它)

    【讨论】:

    • 我认为没有循环结构是一个优点。主要是因为那样会导致用善意铺成的地狱。当然,也许在 perl 中修改 html 并将其作为变量提供更糟糕,但至少你不会以这种方式在上下文分离的某些概念上自欺欺人。
    • @Kent 对每个人都很好,我认为如果没有它,从数据库中渲染东西会更困难。我想有人也可以编写 Catalyst::View::Haml,当然,仅仅因为它是 TT 并不意味着你必须使用 TT 功能。
    【解决方案2】:

    Perl 版本的 Haml 正在开发中:

    http://github.com/vti/text-haml

    【讨论】:

      【解决方案3】:

      据我所知(作为 Haml 的作者),目前还没有 Perl 实现。

      【讨论】:

      • Text::HAML 建议并非如此,但从表面上看,虽然 HAML 似乎与语言无关,但复杂的模板需求可能必须交给父语言(Ruby、Perl 等) .
      • @MkV 很幸运,您现在可以使用 Template::Plugin::Haml,它允许您将所有复杂的需求交给 TT。 (即将到你附近的cpan镜像(我刚刚上传))
      【解决方案4】:

      也许Template::Declare 可以替代?

      【讨论】:

        【解决方案5】:

        据我所知,HAML 是一个只有 ruby​​ 的东西。像大多数 Ruby“DSL”一样,它实际上只是将 Ruby 语法用作 API,如果不实现所有这些,就无法在 Ruby 之外完成。

        【讨论】:

        • 嗯,有一个PHP port,所以我想可能还有一个 Perl。
        • Haml 与 Ruby 语法没有密切的联系。有几种不同语言的实现,每种都包含该语言的一些语法,但基本的 Haml 语法与语言无关。
        猜你喜欢
        • 2010-10-10
        • 2013-06-12
        • 1970-01-01
        • 2013-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-19
        • 1970-01-01
        相关资源
        最近更新 更多