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を付け加える処理が正しいかわからないけど、一応これで動いた。
