mirror of
https://github.com/thegeeklab/hugo-geekblog.git
synced 2024-11-25 14:30:39 +00:00
91 lines
3.3 KiB
HTML
91 lines
3.3 KiB
HTML
{{- if eq .Kind "home" }}
|
|
{{- $thumbnail := default (default "brand.svg" .Site.Params.logo) (index (default slice .Site.Params.images) 0) | absURL -}}
|
|
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "http://schema.org",
|
|
"@type": "WebSite",
|
|
{{ with .Site.Params.GeekblogAuthor -}}
|
|
{{ with index $.Site.Data.authors . }}"author": "{{ .name }}",{{ end }}
|
|
{{- end }}
|
|
"name": "{{ .Site.Title }}",
|
|
"url": "{{ .Site.BaseURL }}",
|
|
{{- with partial "utils/description" . }}
|
|
"description": "{{ trim (. | plainify) "\n" | safeHTML }}",
|
|
{{- end }}
|
|
"thumbnailUrl": "{{ $thumbnail }}"
|
|
{{- with .Site.Params.GeekblogContentLicense }},
|
|
"license": "{{ .name }}"
|
|
{{- end }}
|
|
}
|
|
</script>
|
|
{{- else if .IsPage }}
|
|
{{- $authors := default (slice .Site.Params.GeekblogAuthor) .Params.authors -}}
|
|
{{- $ac := 0 -}}
|
|
{{- $ac_max := default 0 (len $authors) -}}
|
|
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "http://schema.org",
|
|
"@type": "BlogPosting",
|
|
"articleSection": "{{ .Section | humanize | title }}",
|
|
"name": "{{ (partial "utils/title" .) | safeJS }}",
|
|
"headline": "{{ (partial "utils/title" .) | safeJS }}",
|
|
{{- with .Params.lead }}
|
|
"alternativeHeadline": "{{ . }}",
|
|
{{- end }}
|
|
{{- with partial "utils/description" . }}
|
|
"description": "{{ trim (. | plainify) "\n" | safeHTML }}",
|
|
{{- end }}
|
|
"inLanguage": {{ .Site.Language.Lang }},
|
|
"isFamilyFriendly": "true",
|
|
"mainEntityOfPage": {
|
|
"@type": "WebPage",
|
|
"@id": "{{ .Permalink }}"
|
|
},
|
|
{{- with $authors }}
|
|
"author" : [
|
|
{{- range sort . }}
|
|
{{- with . -}}
|
|
{{- $ac = (add $ac 1) }}
|
|
{{- $author := index $.Site.Data.authors . }}
|
|
{
|
|
"@type": "Person",
|
|
"name": "{{ $author.name }}"
|
|
}{{ if lt $ac $ac_max }},{{ end }}
|
|
{{- end -}}
|
|
{{- end }}
|
|
],
|
|
{{- end }}
|
|
"copyrightHolder" : "{{ .Site.Title }}",
|
|
"copyrightYear" : "{{ .Date.Format "2006" }}",
|
|
"dateCreated": "{{ .Date.Format "2006-01-02T15:04:05.00Z" | safeJS }}",
|
|
"datePublished": "{{ .PublishDate.Format "2006-01-02T15:04:05.00Z" | safeJS }}",
|
|
"dateModified": "{{ .Lastmod.Format "2006-01-02T15:04:05.00Z" | safeJS }}",
|
|
"publisher":{
|
|
"@type":"Organization",
|
|
"name": {{ .Site.Title }},
|
|
"url": {{ .Site.BaseURL }},
|
|
"logo": {
|
|
"@type": "ImageObject",
|
|
"url": "{{ (default "brand.svg" .Site.Params.logo) | absURL }}",
|
|
"width":"32",
|
|
"height":"32"
|
|
}
|
|
},
|
|
{{- with $images := $.Resources.ByType "image" }}
|
|
"image": [ {{ range $i, $image := $images }}{{ if $i }}, {{ end }}"{{ $image.Permalink | absURL }}" {{ end }}],
|
|
{{- else }}
|
|
{{- with $images := .Params.images }}
|
|
"image": [ {{ range $i, $image := $images }}{{ if $i }}, {{ end }}"{{ $image | absURL }}" {{ end }}],
|
|
{{- end }}
|
|
{{- end }}
|
|
"url" : "{{ .Permalink }}",
|
|
"wordCount" : "{{ .WordCount }}",
|
|
{{- with $tags := .Params.tags }}
|
|
"genre" : [ {{ range $i, $tag := $tags }}{{ if $i }}, {{ end }}"{{ $tag }}" {{ end }}]
|
|
{{- end }}
|
|
}
|
|
</script>
|
|
{{- end }}
|