3

複数行の文字列を Haml ヘルパーに渡せるようにしたいと考えています。

強調表示する文字列と行番号のセットを受け入れる関数 format_code があります。

この関数の目的は、未加工のソースを、ハイライトされた行、行番号、brs に変換された改行などを含む書式設定された HTML に変換することです。

私はこのようにそれを呼び出す場合:

%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 に答える