ほぼjinja2互換なocaml template engineであるところのjingooなのですが、久しぶりにいくつかの修正を加えました。
- {%- と -%} のサポート(white space controll)
- マルチスレッドバージョンとノーマルバーションのパッケージを分離
1.{%- と -%}のサポート(white space controll)
{%-
は、このマーク「以前」にある空白改行を削除し、-%}
は、このマーク「以後」にある空白改行を削除するためのシンタックスです。
参考:http://jinja.pocoo.org/docs/templates/#whitespace-control
だから例えば
aaa {% for i in [1,2,3] -%} {{i}} {% endfor -%} bbb
とすれば、
aaa 1 2 3 bbb
と出力するし、
aaa {%- for i in [1,2,3] -%} {{i}} {%- endfor -%} bbb
とすれば、
aaa123bbb
と一切の改行空白が無い表示が出力されます。
これでまた一歩、jinja2に近づいたかな……
マルチスレッドバージョンとのパッケージ分離
次にマルチスレッド対応パッケージを分離したことについてですが、今まではスレッドを使わないプログラムでもコンパイル時に「-thread」というコマンドラインオプションを強要してました。
これがスレッドを使わないプログラムでjingooをリンクしたい人にとって不満だったらしく、これに対応した形です。
今後は「-thread」をつけなかったときはjingoo.cm[x]a
がリンクされ、つけたときはjingoo.threads.cm[x]a
がリンクされるようになります。