【问题标题】:PHP code filter in Nanoc's HAML codeNanoc 的 HAML 代码中的 PHP 代码过滤器
【发布时间】:2012-12-17 07:18:23
【问题描述】:

我想在我的 nanoc 网站上制作一个联系表格,我需要在我的 .haml 文件中放入一些 php 代码 - 有什么方法(过滤器可能?)可以轻松实现这一点,或者我必须将整个页面保存为.php(并且使用标准的 html 语法而不是 haml 语法?)。

或者也许有纯Ruby的方案(托管在github上就可以实现?)

请帮忙!

【问题讨论】:

    标签: php syntax haml contact-form nanoc


    【解决方案1】:

    Haml 3.2 即将发布(rc3 刚刚是released),并且应该有一个新的haml-contrib gem 随之发布。 haml-contrib 有一个 PHP filter,这可能是您正在寻找的。​​p>

    php 过滤器的文档注释说:

    # A PHP Filter for Haml. This simply wraps code inside <?php ?> tags. While this
    # may seem like a strange idea, some people use Haml to generate mostly static
    # HTML documents that then include small amounts of PHP.
    #
    # This code also serves as an example of how to implement a simple filter for
    # Haml.
    

    它实际上并没有比Kevin Granger’s answer 中的:plain 过滤器做得更多,但可能会使事情变得更容易。

    一个例子:

    $ cat php.haml 
    :php
      foreach ($es as $e) {
        echo $e;
      }
    $ haml -rhaml/filters/php php.haml 
    <?php
      foreach ($es as $e) {
        echo $e;
      }
    ?>
    

    【讨论】:

    • 您是否知道除了普通过滤器之外还可以做任何事情的示例?例如将haml代码的输出分配给PHP变量?
    【解决方案2】:

    您可以使用 :plain 过滤器来保留 php,它不会解析过滤后的文本。这在您保留多行 php 时很有用。

    例如:

    :plain
      <?php foreach ($es as $e) {
        echo $e;
      } ?>
    

    【讨论】:

      猜你喜欢
      • 2011-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-09
      • 1970-01-01
      • 2014-04-09
      • 2017-07-11
      • 1970-01-01
      相关资源
      最近更新 更多