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 ブロック前後の改行文字が消えてしまうよう。
これで合っているのかなぁ・・・。