Merge branch 'main' into 40c3
Some checks failed
/ build (pull_request) Failing after 15s
/ accessibility (pull_request) Failing after 25s

This commit is contained in:
Stefan Bethke 2026-10-17 09:44:11 +02:00
commit c496f8bbfb
5 changed files with 46 additions and 0 deletions

View file

@ -0,0 +1,40 @@
{{- /*
Open Graph image for link previews. The theme's head/meta.html writes og:image only for the
"image" param; without it, this uses the first image in the page's Markdown, scaled down to at
most 1200 pixels wide, with its alt text as og:image:alt.
*/ -}}
{{- if not ($.Param "image") -}}
{{- with findRESubmatch `!\[([^\]]*)\]\(\s*<?([^\s)>]+)` .RawContent 1 -}}
{{- $alt := index . 0 1 -}}
{{- $dest := index . 0 2 -}}
{{- $url := "" -}}
{{- $width := 0 -}}
{{- $height := 0 -}}
{{- $resource := false -}}
{{- if findRE `^https?://` $dest -}}
{{- $url = $dest -}}
{{- else -}}
{{- $resource = or ($.Resources.Get (strings.TrimPrefix "./" $dest)) (resources.Get $dest) -}}
{{- end -}}
{{- with $resource -}}
{{- $image := . -}}
{{- if and (eq .ResourceType "image") (ne .MediaType.SubType "svg") -}}
{{- if gt .Width 1200 }}{{ $image = .Resize "1200x" }}{{ end -}}
{{- $width = $image.Width -}}
{{- $height = $image.Height -}}
{{- end -}}
{{- $url = $image.Permalink -}}
{{- end -}}
{{- with $url }}
<meta property="og:image" content="{{ . }}">
{{- with $width }}
<meta property="og:image:width" content="{{ . }}">
<meta property="og:image:height" content="{{ $height }}">
{{- end }}
{{- with $alt }}
<meta property="og:image:alt" content="{{ . }}">
{{- end }}
<meta name="twitter:card" content="summary_large_image">
{{- end -}}
{{- end -}}
{{- end -}}