2024-02-17 04:16:30 +00:00
{{ $base := resources.Get "og_base.png" }}
{{ $font := resources.Get "/FiraMono-Regular.ttf" }}
2024-02-16 22:51:25 +00:00
< 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 }}" / >
2023-08-21 21:11:42 +00:00
< meta property = "og:locale" content = "{{ .Lang }}" / >
{{- if .IsHome }}
2024-02-17 04:16:30 +00:00
{{ $img := $base.Filter (images.Text .Site.Params.Description (dict
"color" "#d8d8d8"
"size" 64
"linespacing" 2
"x" 40
"y" 300
"font" $font
))}}
{{ $img = resources.Copy "og.png" $img }}
2024-02-17 04:29:30 +00:00
{{ .Scratch.Set "og_image" $img }}
2023-08-21 21:11:42 +00:00
{{- end }}
2024-02-16 22:51:25 +00:00
{{- 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 }}
2024-02-18 22:02:03 +00:00
{{ with .Params.thumbnail }}
{{/* $thumbPath := (add $.Page.RelPermalink . ) */}}
{{ $thumbnail := $.Resources.Get . }}
{{ with $thumbnail }}
{{ $img := $base.Filter (images.Overlay (.Process "fit 300x250") 875 38 )}}
{{ $img = $img.Filter (images.Text $.Page.Title (dict
"color" "#d8d8d8"
"size" 64
"linespacing" 2
"x" 40
"y" 300
"font" $font
))}}
{{ $img = resources.Copy (path.Join $.Page.RelPermalink "og.png") $img }}
{{ $.Scratch.Set "og_image" $img }}
{{ end }}
{{ else }}
2024-02-16 22:51:25 +00:00
{{ $img := $base.Filter (images.Text .Page.Title (dict
"color" "#d8d8d8"
"size" 64
"linespacing" 2
"x" 40
2024-02-18 22:02:03 +00:00
"y" 300
2024-02-16 22:51:25 +00:00
"font" $font
))}}
2024-02-18 22:02:03 +00:00
{{ $img = resources.Copy (path.Join $.Page.RelPermalink "og.png") $img }}
2024-02-17 04:29:30 +00:00
{{ .Scratch.Set "og_image" $img }}
2024-02-18 22:02:03 +00:00
{{ end }}
2024-02-17 04:29:30 +00:00
{{- end -}}
{{ $img := .Scratch.Get "og_image" }}
2024-02-16 22:51:25 +00:00
< meta property = "og:image" content = "{{$img.Permalink}}" >
< meta property = "og:image:width" content = "{{$img.Width}}" / >
< meta property = "og:image:height" content = "{{$img.Height}}" / >
< meta name = "twitter:card" content = "summary_large_image" / >
< 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 name = "twitter:image" content = "{{$img.Permalink}}" / >
2024-02-17 04:16:30 +00:00
{{- with .Params.audio }}< meta property = "og:audio" 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 }}