読者です 読者をやめる 読者になる 読者になる

anti scroll

ブラウザと小説の新しい関係を模索する

jingooの更新(white space controll用のシンタックス追加、およびスレッド版パッケージの分離)

ほぼjinja2互換なocaml template engineであるところのjingooなのですが、久しぶりにいくつかの修正を加えました。

  1. {%- と -%} のサポート(white space controll)
  2. マルチスレッドバージョンとノーマルバーションのパッケージを分離

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がリンクされるようになります。