このページではHTMLを生成するJavaScript製テンプレートエンジンのPugについて解説します。
※Pugは元々Jadeという名称でしたが2016年3月、Pugという名称に変更されました。

for文

Pugでは、forループを使用する際はJavaScriptのfor文を利用します。
文頭に半角ハイフン-をつけることで、JavaScriptのコードとして機能します。

■Pug
- for (var i = 0; i < 3; i++)
  p 本文テキスト
■HTML
<p>本文テキスト</p>
<p>本文テキスト</p>
<p>本文テキスト</p>

each in文

配列要素ごとの繰り返しにはeach inが用意されています。こちらはPugの文法ですので、文頭の半角ハイフン-なしで使用することが可能です。
eachの後に変数を1〜2個指定します。一つ目の変数には要素の値が、二つ目の変数には0から始まるインデックス番号が格納されます。

■Pug
- var list = ['link', 'image', 'text']

each item, index in list
  p #{item + index}
- var list = ['link', 'image', 'text']

for item, index in list
  p #{item + index}
■HTML
<p>link0</p>
<p>image1</p>
<p>text2</p>

PugがJadeという名前だった頃の名残で、each inの代わりにfor inという書き方も可能になっていますが、現在公式ドキュメントからは記述が無くなっています。

公式ドキュメント
https://pugjs.org/language/iteration.html

Pugではその他に、while文によるループが可能です。

while文 – Pug入門
http://necosystem.hirokihomma.com/archives/170/