Jadeでeachすると前後の改行文字が消える
2014年3月15日
例えば、このような Plain Text 用の foo.text.jade テンプレートがあるとする:
| line 1 | line 2 each v in [3, 4] | line #{v} | line 5 | line 6
以下の様な出力を期待していたが:
$cat foo.text.jade | jade line 1 line 2 line 3 line 4 line 5 line 6
実際はこうである:
$cat foo.text.jade | jade line 1 line 2line 3line 4line 5 line 6
解決策としては、以下のように手動でLFを挿入する:
| line 1 | line 2#{'\n'} each v in [3, 4] | line #{v}#{'\n'} | line 5 | line 6
期待通りに出力される:
$cat foo.text.jade | jade line 1 line 2 line 3 line 4 line 5 line 6
もし、途中の配列が空でも以下の通り:
$cat foo.text.jade | jade line 1 line 2 line 5 line 6
仕組みはわからないけど、とりあえず each ブロック前後の改行文字が消えてしまうよう。
これで合っているのかなぁ・・・。