blog.bouzuya.net

2024-05-15 bouzuya/tempura

bouzuya/tempura をつくってみた。完成しなさそう。

Rust で書かれたファイルシステム用のテンプレートエンジン。 {{name}}.txtHello,{{name}} と書いておいて、 {"name":"World"} を渡すと World.txtHello,World という出力がされる……そんな感じ。ファイル名やディレクトリ名にもテンプレートの変数が使える、というのが「ファイルシステム用」の意味するところ。

echo '{"name":"World"}' | tempura tmpl のようなコマンドになる予定。引数はテンプレート。標準入力でデータを受け取る。出力先はカレントディレクトリ。オプションも機能も最小限にする。

以前に似たようなものを実装していて bouzuya/rust-sandbox の b の new サブコマンドがそう。これを外に切り出したもの……になる予定。

最初は README に example 書いておいて手で試せばいいやと思っていたけど、 crates:assert_cmdcrates:tempdir を使ってテストをできるようにした。面倒でも書いたほうがいいな、テスト。


今日のコミット。