なぜ
動的に設定ファイルを作るときに単純な変数展開程度ならシェルスクリプトのヒアドキュメントで十分ですが、ループが必要になるとテンプレートエンジンを使いたくなってきます。
ということで、Djangoテンプレート言語のテンプレートファイルにjsonデータを適用するコマンドラインツールを作ってみました。
ソースは
https://github.com/hnakamur/dte
にあります。
インストール
OS X, Linux, WindowsではバイナリファイルをダウンロードすればOKです。
OS X
curl -O https://hnakamur.github.io/dte/download/darwin_amd64/dte
Linux 64bit
curl -O https://hnakamur.github.io/dte/download/linux_amd64/dte
Linux 32bit
curl -O https://hnakamur.github.io/dte/download/linux_386/dte
Windows 64bit
curl -O https://hnakamur.github.io/dte/download/windows_amd64/dte
Windows 32bit
curl -O https://hnakamur.github.io/dte/download/windows_386/dte
使い方の例
example/data.json
{
"persons": [
{"name": "Alice"},
{"name": "Bob"},
{"name": "Charlie"}
]
}
example/hello.tpl
{% for person in persons %}{% if not forloop.First %}
{% endif %}Hello, {{ person.name }}!{% endfor %}
実行例
$ ./dte -j example/data.json example/hello.tpl
Hello, Alice!
Hello, Bob!
Hello, Charlie!