PugをコンパイルしたHTMLで、一部コードをコメントアウトしたい時に少し迷ったのでメモ。
サンプルコード
以下のような商品リストがあり、商品Bを一時的にコメントアウトしたいとします。
Pug
ul.list
  li.list-item
    a(href="") アイテムA
  li.list-item
    a(href="") アイテムB
  li.list-item
    a(href="") アイテムC
HTML
<ul class="list"> <li class="list-item"><a href="">アイテムA</a></li> <li class="list-item"><a href="">アイテムB</a></li> <li class="list-item"><a href="">アイテムC</a></li> </ul>
コメントアウトを外すのはPugを使用しない環境で行うため、コメントアウトした中身はHTMLタグが入っている必要があります。
コンパイル後も残る記述のコメントアウトで、以下のように記述してみます。
Pug
ul.list
  li.list-item
    a(href="") アイテムA
  //
    li.list-item
      a(href="") アイテムB
  li.list-item
    a(href="") アイテムC
コンパイルを行うと、コメントアウト内はコンパイル前の状態で出力されました。
HTML
<ul class="list">
  <li class="list-item"><a href="">アイテムA</a></li>
  <!--
  li.list-item
    a(href="") アイテムB
  -->
  <li class="list-item"><a href="">アイテムC</a></li>
</ul>
コメントアウト内もコンパイルさせたい場合、Pugで用意されているコメントアウトを使うのではなく、バーティカルバー(|)でコメント開始と終了を記述するとよさそうです。
Pug
ul.list
  li.list-item
    a(href="") アイテムA
  | <!--
  li.list-item
    a(href="") アイテムB
  | -->
  li.list-item
    a(href="") アイテムC
これをコンパイルすると、意図した形でコメントアウトができました。
HTML
<ul class="list"> <li class="list-item"><a href="">アイテムA</a></li><!-- <li class="list-item"><a href="">アイテムB</a></li>--> <li class="list-item"><a href="">アイテムC</a></li> </ul>
【参考サイト】
コメントが承認されるまで時間がかかります。