テンプレート(HTML + α)のインデントについて
Discussion
Closed
質問
HTMLと他の言語が混在している状況で、インデントはどのように揃えていますか?
例えばウェブテンプレートエンジン(blade、twig、EJSなど)を利用している時です。
私が思いつくのは次の3パターンです。
- ひとまとめにして揃える
- それぞれで揃える1
- それぞれで揃える2
こちらが良い、私はこうしているなどのご意見お待ちしております。
1.ひとまとめにして揃える例
<div class="hoge">
<ul>
{% for row in list %}
{% if not row.isDeleted %}
<li>{{ row.name }}</li>
{% endif %}
{% endfor %}
</ul>
</div>
{% if isFuga %}
<div class="fuga">
</div>
{% endif %}
2.それぞれで揃える例1
テンプレートエンジンの構文はHTMLのインデントに近いところに記述します。
<div class="hoge">
<ul>
{% for row in list %}
{% if not row.isDeleted %}
<li>{{ row.name }}</li>
{% endif %}
{% endfor %}
</ul>
</div>
{% if isFuga %}
<div class="fuga">
</div>
{% endif %}
3.それぞれで揃える例2
「それぞれで揃える例1」とは違ってテンプレートエンジンの構文もインデント無しから始めます。
<div class="hoge">
<ul>
{% for row in list %}
{% if not row.isDeleted %}
<li>{{ row.name }}</li>
{% endif %}
{% endfor %}
</ul>
</div>
{% if isFuga %}
<div class="fuga">
</div>
{% endif %}
私の揃え方
まず最終的な出力であるHTMLのインデントを重視する、という点で「それぞれで揃える」を選択しています。
しかし、テンプレートエンジンの構文をどこから始めるかが悩みどころです。
変更など
私の揃え方を追記しました。
「それぞれで揃える例」を2つに分けました。