もうJavaScript全盛の世でWebページをテンプレートエンジンで書くとかは少なくなってきたが、他のとこではJinja2をよく使う。とくに業務改善を引き取ることの多いわたしは付き合うことが多い。
SELECT
column1,
column2,
{%- block append_columns %}{% endblock %}
FROM
みたいなさあ、%記号の前にハイフン入れて前後の空白をアレコレするじゃん。
そういうもんだしなと思って使ってはいた。
が、やはりめんどくさい。うまくいかないときに問題の箇所がわかりにくい。
一通り文字列として取り出した後に以下の手順を通すだけでいいと今更気づいた。
意図的に改行残したいんだよーって箇所もあるが、そこは「ホントは改行だよー」みたいな文字列を書いておいて、あとで改行に変換したらいい。
- 空白だけの行は改行のみに変換する
- 改行だけの行は消す
- 改行として残したい文字列を見つけて改行に変換する
最初からこうやったらよかった。
自分が管理するテンプレートなら別にいいんだけど、よく分かってない人に移譲しちゃうテンプレートだとこのほうが問題起きにくい。