Hugoでアイキャッチ画像を取り扱う場合、ページのfront matterでアイキャッチ画像を指定し、ページレベルパラメタで取得するのが確実だが、アイキャッチ画像が指定されていない場合、記事内の画像をアイキャッチ画像として扱えれば便利なケースが多い。

layouts/partials/summary.html
{{- $image := index (findRE "<img.*?src=([^>]*)?>" .Content 1) 0 }}
{{- if $image }}
<figure class="ellipsis card_img">
{{ $image | safeHTML }}
</figure>
{{- else }}
<p class="ellipsis card_summary">
{{ .Summary }}
</p>
{{- end }}

上のコードは正規表現でタグを検索し存在すれば画像を出力し、存在しなければサマリを出力するもの。