HugoでJSON-LD構造化データを作っている時、{{ .Site.BaseURL }}
がhttps:\/\/example.com
と出力されてしまい少し手こずったのでメモ。
{{ .Site.BaseURL | safeURL }}
でもうまくいかない。
.Site.BaseURL
が https:\/\/
となる
ダメなコード
<script type=application/ld+json>
{
"@context": "https://schema.org",
"@type": "Organization",
"url": "{{ .Site.BaseURL }}", //--> "https:\/\/example.com/"
"logo": "{{ .Site.BaseURL }}logo.jpg" //--> "https:\/\/example.com/logo.jpg"
}
</script>
うまくいくコード
<script type=application/ld+json>
{
"@context": "https://schema.org",
"@type": "Organization",
"url": {{ .Site.BaseURL }}, //--> "https://example.com/"
"logo": {{ add .Site.BaseURL "logo.jpg" }} //--> "https://example.com/logo.jpg"
}
</script>
{{ .Site.BaseURL }}
を"ダブルコーテーション"
で括ってはいけないみたい。出力されるHTMLにはきちんと"ダブルコーテーション"
がつけられる。
.Site.BaseURL
の後にlogo.jpg
を付け加える処理が正しいかわからないけど、一応これで動いた。