154 lines
5.6 KiB
HTML
154 lines
5.6 KiB
HTML
|
{{- $params := .Scratch.Get "params" -}}
|
||
|
|
||
|
{{- with .Site.Params.verification.google -}}
|
||
|
<meta name="google-site-verification" content="{{ . }}" />
|
||
|
{{- end -}}
|
||
|
{{- with .Site.Params.verification.bing -}}
|
||
|
<meta name="msvalidate.01" content="{{ . }}" />
|
||
|
{{- end -}}
|
||
|
{{- with .Site.Params.verification.yandex -}}
|
||
|
<meta name="yandex-verification" content="{{ . }}" />
|
||
|
{{- end -}}
|
||
|
{{- with .Site.Params.verification.pinterest -}}
|
||
|
<meta name="p:domain_verify" content="{{ . }}" />
|
||
|
{{- end -}}
|
||
|
{{- with .Site.Params.verification.baidu -}}
|
||
|
<meta name="baidu-site-verification" content="{{ . }}" />
|
||
|
{{- end -}}
|
||
|
|
||
|
{{- /* Home SEO */ -}}
|
||
|
{{- if .IsHome -}}
|
||
|
<script type="application/ld+json">
|
||
|
{
|
||
|
"@context": "http://schema.org",
|
||
|
"@type": "WebSite",
|
||
|
"url": "{{ .Permalink }}",
|
||
|
{{- with .Site.LanguageCode -}}
|
||
|
"inLanguage": "{{ . }}",
|
||
|
{{- end -}}
|
||
|
{{- with .Site.Author.name -}}
|
||
|
"author": {
|
||
|
"@type": "Person",
|
||
|
"name": {{ . | safeHTML }}
|
||
|
},
|
||
|
{{- end -}}
|
||
|
{{- with .Site.Params.description -}}
|
||
|
"description": {{ . | safeHTML }},
|
||
|
{{- end -}}
|
||
|
{{- $image := .Site.Params.seo.image -}}
|
||
|
{{- with dict "Path" $image "Resources" .Resources | partial "function/resource.html" -}}
|
||
|
"image": {
|
||
|
"@type": "ImageObject",
|
||
|
"url": "{{ .Permalink }}",
|
||
|
"width": {{ .Width }},
|
||
|
"height": {{ .Height }}
|
||
|
},
|
||
|
{{- else -}}
|
||
|
{{- with $image -}}
|
||
|
"image": "{{ . | absURL }}",
|
||
|
{{- end -}}
|
||
|
{{- end -}}
|
||
|
{{- with .Site.Params.seo.thumbnailUrl -}}
|
||
|
{{- with dict "Path" . "Resources" $.Resources | partial "function/resource.html" -}}
|
||
|
"thumbnailUrl": "{{ .Permalink }}",
|
||
|
{{- else -}}
|
||
|
"thumbnailUrl": "{{ . | absURL }}",
|
||
|
{{- end -}}
|
||
|
{{- end -}}
|
||
|
{{- with .Site.Copyright -}}
|
||
|
"license": "{{ . | safeHTML }}",
|
||
|
{{- end -}}
|
||
|
"name": {{ .Site.Title | safeHTML }}
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
{{- /* Page SEO */ -}}
|
||
|
{{- else if .IsPage -}}
|
||
|
<script type="application/ld+json">
|
||
|
{
|
||
|
"@context": "http://schema.org",
|
||
|
"@type": "BlogPosting",
|
||
|
"headline": {{ .Title | safeHTML }},
|
||
|
"inLanguage": "{{ .Site.LanguageCode }}",
|
||
|
"mainEntityOfPage": {
|
||
|
"@type": "WebPage",
|
||
|
"@id": "{{ .Permalink }}"
|
||
|
},
|
||
|
{{- $images := $params.seo.images | default slice -}}
|
||
|
{{- if not $images -}}
|
||
|
{{- with .Resources.GetMatch "featured-image-preview" -}}
|
||
|
{{- $images = slice "featured-image-preview" -}}
|
||
|
{{- end -}}
|
||
|
{{- with .Resources.GetMatch "featured-image" -}}
|
||
|
{{- $images = slice "featured-image" -}}
|
||
|
{{- end -}}
|
||
|
{{- end -}}
|
||
|
{{- with .Site.Params.seo.image -}}
|
||
|
{{- $images = $images | default (slice .) -}}
|
||
|
{{- end -}}
|
||
|
{{- with $images -}}
|
||
|
"image": [
|
||
|
{{- range $index, $value := . -}}
|
||
|
{{- if gt $index 0 }},{{ end -}}
|
||
|
{{- with dict "Path" $value "Resources" $.Resources | partial "function/resource.html" -}}
|
||
|
{
|
||
|
"@type": "ImageObject",
|
||
|
"url": "{{ .Permalink }}",
|
||
|
"width": {{ .Width }},
|
||
|
"height": {{ .Height }}
|
||
|
}
|
||
|
{{- else -}}
|
||
|
{{- with $value -}}
|
||
|
"{{ . | absURL }}"
|
||
|
{{- end -}}
|
||
|
{{- end -}}
|
||
|
{{- end -}}
|
||
|
],
|
||
|
{{- end -}}
|
||
|
"genre": "{{ .Type }}",
|
||
|
{{- with .Params.tags -}}
|
||
|
"keywords": "{{ delimit . ", " }}",
|
||
|
{{- end -}}
|
||
|
"wordcount": {{ .WordCount }},
|
||
|
"url": "{{ .Permalink }}",
|
||
|
{{- if not .PublishDate.IsZero -}}
|
||
|
"datePublished": {{ .PublishDate.Format "2006-01-02T15:04:05-07:00" | safeHTML }},
|
||
|
{{- else if not .Date.IsZero -}}
|
||
|
"datePublished": {{ .Date.Format "2006-01-02T15:04:05-07:00" | safeHTML }},
|
||
|
{{- end -}}
|
||
|
{{- with .Lastmod -}}
|
||
|
"dateModified": {{ .Format "2006-01-02T15:04:05-07:00" | safeHTML }},
|
||
|
{{- end -}}
|
||
|
{{- with .Site.Copyright -}}
|
||
|
"license": {{ . | safeHTML }},
|
||
|
{{- end -}}
|
||
|
{{- $publisher := .Params.author | default .Site.Author.name | default (T "author") | dict "name" -}}
|
||
|
{{- $publisher = $params.seo.publisher | default dict | merge $publisher -}}
|
||
|
"publisher": {
|
||
|
"@type": "Organization",
|
||
|
"name": {{ $publisher.name | safeHTML }}
|
||
|
{{- $logo := $publisher.logoUrl -}}
|
||
|
{{- with dict "Path" $logo "Resources" .Resources | partial "function/resource.html" -}}
|
||
|
,"logo": {
|
||
|
"@type": "ImageObject",
|
||
|
"url": "{{ .Permalink }}",
|
||
|
"width": {{ .Width }},
|
||
|
"height": {{ .Height }}
|
||
|
}
|
||
|
{{- else -}}
|
||
|
{{- with $logo -}}
|
||
|
,"logo": "{{ . | absURL }}"
|
||
|
{{- end -}}
|
||
|
{{- end -}}
|
||
|
},
|
||
|
{{- with .Params.author | default .Site.Author.name | default (T "author") -}}
|
||
|
"author": {
|
||
|
"@type": "Person",
|
||
|
"name": {{ . | safeHTML }}
|
||
|
},
|
||
|
{{- end -}}
|
||
|
"description": {{ .Description | safeHTML }}
|
||
|
}
|
||
|
</script>
|
||
|
{{- end -}}
|