3

我希望能够将多行字符串传递给 haml 助手。

我有一个函数 format_code,它接受一个字符串和一组要突出显示的行号。

此函数的目的是将原始源代码转换为格式化的 HTML,其中突出显示的行、行号、换行符转换为 brs 等。

如果我这样称呼它:

%p Some HAMl

=format_code("def something
  a = b
  b = c
end", :highlight_line => 2)

%p Some more HAML

这样做的原因是将代码示例嵌入到 HAML 文档中。

HAML 抱怨纯文本中的嵌套。嵌套发生在一个字符串中,所以我认为这没问题。同样的调用在 irb 中运行良好。

我会使用一个助手,但我希望能够传递一个参数哈希。有什么想法吗?

4

2 回答 2

2

我假设您想将代码示例硬编码到 HAML 模板中,因此您确实想要我立即响应的内容:“您不想要这个”。在这种情况下,我可能会选择:

:ruby
  code = <<-CODE
    def something
      a = b
      b = c
    end
  CODE

%p Some HAMl

=format_code(code, :highlight_line => 2)

%p Some more HAML
于 2012-05-31T12:57:59.757 回答
0

我尝试了不同的变体,我认为最简单的变体如下(代码直接取自你的):

%p Some HAMl

=format_code("def something\t  a = b\t  b = c\tend", :highlight_line => 2)

%p Some more HAML

这至少应该是多行的问题......

于 2012-05-31T12:39:50.537 回答