diff options
Diffstat (limited to 'layouts/partials/structured-data.html')
-rw-r--r-- | layouts/partials/structured-data.html | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/layouts/partials/structured-data.html b/layouts/partials/structured-data.html new file mode 100644 index 0000000..c55bcdd --- /dev/null +++ b/layouts/partials/structured-data.html @@ -0,0 +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 }} + +{{ 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" /> +{{ 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: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 }} +{{- 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 }} + +{{- /* 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 }} +{{- end }} |