mako なストリップなぬーらいん

しょーもないネタ2

一つ前のやつの追記にちょろっと書いたが、「いつものやつ」にまつわる問題。Jinja2 の方では以前書いた「お馴染みの」問題ね。

ポイントは2つだけ。一つは Newline Filters。なので、Python code block を挟んだ前後なんかに残ってしまう空行はこれで取り除ける:

1 % for e in elems: 
2     % if flag: 
3 <% 
4         .. some multiline 
5         python code .. 
6 %>\ 
7 .. template output .. 
8     % endif 
9 % endfor

問題はもう一つで、<%text>を使う場合。以下だと余計な空行が残るわけだ:

1 <%text>
2 #! /bin/sh
3 # -*- coding: utf-8 -*-
4 ffmpeg="${ffmpeg:-c:/Program Files/ffmpeg-4.1-win64-shared/bin/ffmpeg}"
5 </%text>

残念だけどこれの解はこれしかなさそう:

1 <%text>#! /bin/sh
2 # -*- coding: utf-8 -*-
3 ffmpeg="${ffmpeg:-c:/Program Files/ffmpeg-4.1-win64-shared/bin/ffmpeg}"
4 </%text>\

テンプレートが読みにくくなるのもイヤらしいことではあるんだけれど、まぁ仕方ないか…。