forked from mCaptcha/website
109 lines
No EOL
3.4 KiB
HTML
109 lines
No EOL
3.4 KiB
HTML
{{ if .IsHome -}}
|
|
{{ if eq .Site.Params.schemaType "Organization" -}}
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "Organization",
|
|
"url": "{{ "/" | absURL }}",
|
|
"name": "{{ .Site.Params.title }}",
|
|
"logo": "{{ "/" | absURL }}{{ .Site.Params.schemaLogo }}",
|
|
"sameAs": [
|
|
"{{ .Site.Params.schemaTwitter | safeURL }}",
|
|
"{{ .Site.Params.schemaLinkedIn | safeURL }}",
|
|
"{{ .Site.Params.schemaGitHub | safeURL }}"
|
|
]
|
|
}
|
|
</script>
|
|
{{ end -}}
|
|
{{ if eq .Site.Params.schemaType "Person" -}}
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "Person",
|
|
"url": "{{ "/" | absURL }}",
|
|
"name": "{{ .Site.Params.title }}",
|
|
"sameAs": [
|
|
"{{ .Site.Params.schemaTwitter | safeURL }}",
|
|
"{{ .Site.Params.schemaLinkedIn | safeURL }}",
|
|
"{{ .Site.Params.schemaGitHub | safeURL }}"
|
|
]
|
|
}
|
|
</script>
|
|
{{ end -}}
|
|
{{ if .Site.Params.siteLinksSearchBox -}}
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "WebSite",
|
|
"url": "{{ "/" | absURL }}",
|
|
"potentialAction": {
|
|
"@type": "SearchAction",
|
|
"target": "{{ "/" | absURL }}?q={search_term_string}",
|
|
"query-input": "required name=search_term_string"
|
|
}
|
|
}
|
|
</script>
|
|
{{ end -}}
|
|
{{ end -}}
|
|
{{ if .IsPage -}}
|
|
{{ if eq .Section .Site.Params.schemaSection -}}
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "Article",
|
|
"mainEntityOfPage": {
|
|
"@type": "WebPage",
|
|
"@id": "{{ .Permalink }}"
|
|
},
|
|
"headline": "{{ .Title }}",
|
|
"image": [{{ range $i, $e := .Params.images }}{{ if $i }}, {{ end }}{{ printf "%s%s" $.Permalink $e }}{{ end }}],
|
|
"datePublished": "{{ .PublishDate.Format "2006-01-02T15:04:05CET" }}",
|
|
"dateModified": "{{ .Lastmod.Format "2006-01-02T15:04:05CET" }}",
|
|
"author": {
|
|
"@type": "{{ .Site.Params.schemaType }}",
|
|
"name": "{{ .Site.Params.title }}"
|
|
},
|
|
"publisher": {
|
|
"@type": "{{ .Site.Params.schemaType }}",
|
|
"name": "{{ .Site.Params.title }}",
|
|
{{ if eq .Site.Params.schemaType "Organization" -}}
|
|
"logo": {
|
|
"@type": "ImageObject",
|
|
"url": "{{ "/" | absURL }}{{ .Site.Params.schemaLogo }}"
|
|
}
|
|
{{ end -}}
|
|
},
|
|
"description": "{{ .Description }}"
|
|
}
|
|
</script>
|
|
{{ end -}}
|
|
{{ end -}}
|
|
|
|
{{ $dot := . -}}
|
|
{{ $dot.Scratch.Set "path" "" -}}
|
|
{{ $dot.Scratch.Set "breadcrumb" slice -}}
|
|
|
|
{{ $url := replace .Permalink ( printf "%s" .Site.BaseURL) "" -}}
|
|
{{ $.Scratch.Add "path" .Site.BaseURL -}}
|
|
|
|
{{ $.Scratch.Add "breadcrumb" (slice (dict "url" .Site.BaseURL "name" "home" "position" 1 )) -}}
|
|
{{ range $index, $element := split $url "/" -}}
|
|
{{ $dot.Scratch.Add "path" $element -}}
|
|
{{ $.Scratch.Add "path" "/" -}}
|
|
{{ if ne $element "" -}}
|
|
{{ $.Scratch.Add "breadcrumb" (slice (dict "url" ($.Scratch.Get "path") "name" . "position" (add $index 2))) -}}
|
|
{{ end -}}
|
|
{{ end -}}
|
|
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "http://schema.org",
|
|
"@type": "BreadcrumbList",
|
|
"itemListElement": [{{ range $.Scratch.Get "breadcrumb" }}{{ if ne .position 1 }},{{ end }}{
|
|
"@type": "ListItem",
|
|
"position": {{ .position }},
|
|
"name": "{{ .name | humanize | title }}",
|
|
"item": "{{ .url }}"
|
|
}{{ end }}]
|
|
}
|
|
</script> |