diff options
| author | ivarlovlie <git@ivarlovlie.no> | 2023-02-25 13:15:44 +0100 |
|---|---|---|
| committer | ivarlovlie <git@ivarlovlie.no> | 2023-02-25 13:15:44 +0100 |
| commit | 900bb5e845c3ad44defbd427cae3d44a4a43321f (patch) | |
| tree | df3d96a93771884add571e82336c29fc3d9c7a1c /code/frontpage/layouts/partials/head/opengraph.html | |
| download | greatoffice-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.html | 69 |
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 -}} |
