diff options
Diffstat (limited to 'layouts/partials/structured-data.html')
-rw-r--r-- | layouts/partials/structured-data.html | 113 |
1 files changed, 82 insertions, 31 deletions
diff --git a/layouts/partials/structured-data.html b/layouts/partials/structured-data.html index 8d4e917..c55bcdd 100644 --- a/layouts/partials/structured-data.html +++ b/layouts/partials/structured-data.html @@ -1,51 +1,102 @@ +<meta charset="utf-8" /> +<meta name="viewport" content="width=device-width, initial-scale=1" /> {{ $title := print .Site.Title " | " .Title }} {{ if .IsHome }}{{ $title = .Site.Title }}{{ end }} <title>{{ $title }}</title> +{{ $image := "" }} +{{ if (.Resources.ByType "image").GetMatch "*featured*" }} + {{ $image = (.Resources.ByType "image").GetMatch "*featured*" }} +{{ else if resources.Get (index .Params.images 0) }} + {{ $image = resources.Get (index .Params.images 0) }} +{{ end }} -{{ with resources.Get (index .Params.images 0) }} -{{ $image := .Fill (default "400x400" $.Params.image_size) }} -<meta name="twitter:card" content="summary_large_image"/> -<meta name="twitter:image" content="{{ $image.Permalink }}"/> -<meta property="og:image" content="{{ $image.Permalink }}"/> +{{ if and $image (ne $image.MediaType.SubType "svg") }} + {{ $image := $image.Fit (default "768x400" $.Params.image_size) }} + <meta name="twitter:card" content="summary_large_image" /> + <meta name="twitter:image" content="{{ $image.Permalink }}" /> + <meta property="og:image" content="{{ $image.Permalink }}" /> {{ else }} -<meta name="twitter:card" content="summary"/> + <meta name="twitter:card" content="summary" /> {{ end }} -<meta name="twitter:title" content="{{ .Title }}"/> -<meta name="twitter:description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end -}}"/> -{{ with .Site.Social.twitter -}} -<meta name="twitter:site" content="@{{ . }}"/> -{{ end -}} +<meta name="twitter:title" content="{{ .Title }}" /> +<meta + name="twitter:description" + content="{{ with .Description }} + {{ . }} + {{ else }} + {{ if .IsPage }} + {{ .Summary }} + {{ else }} + {{ with .Site.Params.description }}{{ . }}{{ end }} + {{ end }} + {{ end -}}" +/> <meta property="og:title" content="{{ .Title }}" /> -<meta property="og:description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end }}" /> -<meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}" /> +<meta + property="og:description" + content="{{ with .Description }} + {{ . }} + {{ else }} + {{ if .IsPage }} + {{ .Summary }} + {{ else }} + {{ with .Site.Params.description }}{{ . }}{{ end }} + {{ end }} + {{ end }}" +/> +<meta + property="og:type" + content="{{ if .IsPage }} + article + {{ else }} + website + {{ end }}" +/> <meta property="og:url" content="{{ .Permalink }}" /> {{- if .IsPage }} -{{- $iso8601 := "2006-01-02T15:04:05-07:00" -}} -<meta property="article:section" content="{{ .Section }}" /> -{{ with .PublishDate }}<meta property="article:published_time" {{ .Format $iso8601 | printf "content=%q" | safeHTMLAttr }} />{{ end }} -{{ with .Lastmod }}<meta property="article:modified_time" {{ .Format $iso8601 | printf "content=%q" | safeHTMLAttr }} />{{ end }} + {{- $iso8601 := "2006-01-02T15:04:05-07:00" -}} + <meta property="article:section" content="{{ .Section }}" /> + {{ with .PublishDate }} + <meta + property="article:published_time" + {{ .Format $iso8601 | printf "content=%q" | safeHTMLAttr }} + /> + {{ end }} + {{ with .Lastmod }} + <meta + property="article:modified_time" + {{ .Format $iso8601 | printf "content=%q" | safeHTMLAttr }} + /> + {{ end }} {{- end -}} {{- with .Params.audio }}<meta property="og:audio" content="{{ . }}" />{{ end }} -{{- with .Params.locale }}<meta property="og:locale" content="{{ . }}" />{{ end }} -{{- with .Site.Params.title }}<meta property="og:site_name" content="{{ . }}" />{{ end }} -{{- with .Params.videos }}{{- range . }} -<meta property="og:video" content="{{ . | absURL }}" /> -{{ end }}{{ end }} +{{- with .Params.locale }} + <meta property="og:locale" content="{{ . }}" /> +{{ end }} +{{- with .Site.Params.title }} + <meta property="og:site_name" content="{{ . }}" /> +{{ end }} +{{- with .Params.videos }} + {{- range . }} + <meta property="og:video" content="{{ . | absURL }}" /> + {{ end }} +{{ end }} {{- /* If it is part of a series, link to related articles */}} {{- $permalink := .Permalink }} {{- $siteSeries := .Site.Taxonomies.series }} {{- if $siteSeries }} -{{ with .Params.series }}{{- range $name := . }} - {{- $series := index $siteSeries ($name | urlize) }} - {{- range $page := first 6 $series.Pages }} - {{- if ne $page.Permalink $permalink }}<meta property="og:see_also" content="{{ $page.Permalink }}" />{{ end }} - {{- end }} -{{ end }}{{ end }} + {{ with .Params.series }} + {{- range $name := . }} + {{- $series := index $siteSeries ($name | urlize) }} + {{- range $page := first 6 $series.Pages }} + {{- if ne $page.Permalink $permalink }} + <meta property="og:see_also" content="{{ $page.Permalink }}" /> + {{ end }} + {{- end }} + {{ end }} + {{ end }} {{- end }} - -{{- /* Facebook Page Admin ID for Domain Insights */}} -{{- with .Site.Social.facebook_admin }}<meta property="fb:admins" content="{{ . }}" />{{ end }} |