140925 木曜 メールのテンプレートの話。

仕事ではメールソフトに Becky を使っている。 Becky はテンプレート機能があって予め用意したひな形を使ってメールを作成できる。仕事で書くメールのほぼ 9 割はテンプレートを利用して書いているといっても過言ではないくらい多用しているが、だんだんテンプレートの数が増えると管理が行き届かなくなってくる。ほぼ同じだけど一部だけ異なるメールについてそれぞれ別のテンプレートを用意すると、最初はいいのだが、いずれどこかしら文面を変更することが出てくる。各テンプレート固有の部分ならいくら修正してもいいのだが、共通している部分だとやっかいだ。同じ文面を使っているテンプレートをすべてひとつずつ修正していかなければならない。

Web プログラミングで出てくるテンプレートエンジンのように共通部分は別のテンプレートにしておいて各テンプレートから include というか継承というか、別途読み込むようにできたらいいのになとずっと思っていた。そうすれば当該箇所を修正すればそれを読み込んでいるテンプレートで作成したメール文面はすべて修正が効いていることになる。

ローカルでさくっと実現するにはどうすればいいのか、たまに考えていたのだけれど、 JavaScript のテンプレートエンジンを調べてみたらいくつかあってそういうのを使えばやりたいことが実現できそうな感じだった。素人ながら見比べてみたところ Handlebars.js というのが比較的目的に合致した特徴を備えているようだったのでこれを使うことにする。うまくできるかな。