逆引きマニュアル: Hugoテンプレート: 出力されるHTMLを整形する

投稿日:

やりたいこと

Hugoが出すコードを綺麗に整形する方法です。 半分くらいは自己満足ですが、HTMLが見やすいとメンテナンスしやすいです。

前提条件

Hugo 0.31で確認しています。

手順

Goテンプレートの空白制御機能を使います。

  • {{-: この区切りの前の空白を削除
  • -}}: この区切りの後の空白を削除

基本は以下のように、を削除です({{-)。

<ul>
  {{- range . }}
  <li><a href="{{ .URL }}">{{ .Title }}</a></li>
  {{- end }}
</ul>

partial/shortcodeで余計な改行が付くのを修正する

以下のようにpartial/shortcodeを使う場合に、最後に無駄な改行が付く場合は、 partial/shortcodeの最後に{{ "" -}}を付けると良い場合があります1

<ul>
  {{- range . }}
  {{ partial "li" . }}
  {{- end }}
</ul>

  1. partial/shortcodeファイルの最後が改行で終わらないようにしてもいいですが、あまりよろしくないので。。。 ↩︎

外部サイト

マニュアル