aboutsummaryrefslogtreecommitdiffstats
path: root/code/frontpage/layouts/partials/head/opengraph.html
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2023-02-25 13:15:44 +0100
committerivarlovlie <git@ivarlovlie.no>2023-02-25 13:15:44 +0100
commit900bb5e845c3ad44defbd427cae3d44a4a43321f (patch)
treedf3d96a93771884add571e82336c29fc3d9c7a1c /code/frontpage/layouts/partials/head/opengraph.html
downloadgreatoffice-900bb5e845c3ad44defbd427cae3d44a4a43321f.tar.xz
greatoffice-900bb5e845c3ad44defbd427cae3d44a4a43321f.zip
feat: Initial commit
Diffstat (limited to 'code/frontpage/layouts/partials/head/opengraph.html')
-rw-r--r--code/frontpage/layouts/partials/head/opengraph.html69
1 files changed, 69 insertions, 0 deletions
diff --git a/code/frontpage/layouts/partials/head/opengraph.html b/code/frontpage/layouts/partials/head/opengraph.html
new file mode 100644
index 0000000..6127e82
--- /dev/null
+++ b/code/frontpage/layouts/partials/head/opengraph.html
@@ -0,0 +1,69 @@
+<meta property="og:locale" content="{{ .Site.Params.ogLocale }}">
+<meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ 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 }}">
+{{ if $.Scratch.Get "paginator" -}}
+ {{ $paginator := .Paginate (where .Site.RegularPages.ByDate.Reverse "Section" "blog" ) -}}
+ <meta property="og:url" content="{{ .Paginator.URL | absURL }}">
+{{ else -}}
+ <meta property="og:url" content="{{ .Permalink }}">
+{{ end -}}
+{{ with .Site.Params.title -}}
+ <meta property="og:site_name" content="{{ . }}">
+{{ end -}}
+
+{{ $iso8601 := "2006-01-02T15:04:05-07:00" -}}
+{{ if .IsPage -}}
+ {{ if not .PublishDate.IsZero -}}
+ <meta property="article:published_time" {{ .PublishDate.Format $iso8601 | printf "content=%q" | safeHTMLAttr }}>
+ {{ else if not .Date.IsZero -}}
+ <meta property="article:published_time" {{ .Date.Format $iso8601 | printf "content=%q" | safeHTMLAttr }}>
+ {{ end -}}
+ {{ if not .Lastmod.IsZero -}}
+ <meta property="article:modified_time" {{ .Lastmod.Format $iso8601 | printf "content=%q" | safeHTMLAttr }}>
+ {{ end -}}
+{{ else -}}
+ {{ if not .Date.IsZero -}}
+ <meta property="og:updated_time" {{ .Lastmod.Format $iso8601 | printf "content=%q" | safeHTMLAttr }}>
+ {{ end -}}
+{{ end -}}
+
+{{ if eq .Kind "home" -}}
+ {{ .Scratch.Set "title" .Site.Params.titleHome -}}
+{{ else -}}
+ {{ .Scratch.Set "title" .Title -}}
+{{ end -}}
+
+{{ with $.Params.images -}}
+ {{ range first 6 . -}}
+ <meta property="og:image" content="{{ $.Permalink }}{{ . }}">
+ {{ end -}}
+{{ else -}}
+ {{ $images := $.Resources.ByType "image" -}}
+ {{ $featured := $images.GetMatch "*feature*" -}}
+ {{ if not $featured -}}
+ {{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }}
+ {{ end -}}
+ {{ with $featured -}}
+ <meta property="og:image" content="{{ $featured.Permalink }}"/>
+ {{ else -}}
+ {{ with $.Site.Params.images -}}
+ <meta property="og:image" content="{{ index . 0 | absURL }}"/>
+ <meta property="og:image:alt" content="{{ $.Site.Params.title }}">
+ {{ end -}}
+ {{ end -}}
+{{ end -}}
+
+{{ with $.Site.Params.images -}}
+ {{ $.Scratch.Set "primaryImage" (index . 0 | absURL) -}}
+{{ end -}}
+
+{{ with .Params.audio -}}
+ <meta property="og:audio" content="{{ . | absURL }}">
+{{ end -}}
+
+{{ with .Params.videos -}}
+ {{ range . -}}
+ <meta property="og:video" content="{{ . | absURL }}">
+ {{ end -}}
+{{ end -}}