【Hugo】Partial Templateでは複数returnを記述する早期Returnを使えない
更新日:2025.04.19
作成日:2025.04.19
Partial Templateを関数代わりに使おうとしたときに、return
を複数記述するとエラーになった。
{{ if isset .Params "img" }}
{{ return .Params.img }}
{{ else }}
{{ return "images/nopicture.png" | absURL }}
{{ end }}
ドキュメント
Partial templates
を確認すると、確かに1つのpartialファイルに1つのreturn
だけが許されていると明記されていた。
Only one
return
statement is allowed per partial file.
早期リターンはせずに、最後に返すようにする。
{{ $image := "" }}
{{ if isset .Params "img" }}
{{ if strings.HasPrefix .Params.img "http" }}
{{ $image = .Params.img }}
{{ else }}
{{ $image = (print .Params.img | absURL) }}
{{ end }}
{{ else if eq .Section "blog" }}
{{ $image = partial "functions/getOgpImageBlog.html" . }}
{{ else if eq .Section "poetry" -}}
{{ $image = partial "functions/getOgpImagePoetry.html" . }}
{{ else }}
{{ $image = "images/nopicture.png" | absURL }}
{{ end }}
{{ return $image }}
Related contents

2024.01.05
ObsidianのためにHugoのエイリアス機能を無効化する

2023.07.29
Hugoトピックノート

2023.07.29
Hugoプロジェクトでprettierの設定を整える

2023.04.30
Obsidian x Hugo

TECH
2023.02.03
Hugo v0.109.0でパンくずリストをシンプルに実装する

TECH
2022.09.03
【Hugo】Render Hooks for Code Blocksを利用してコードブロックにファイル名を表示する

TECH
2022.08.29
Hugoでブログカードを作成する(resources.GetRemote利用)

TECH
2022.08.14
GitHub PagesからCloudflare Pagesへの移行