From 72a483dc7f296d5ec9b056fe8b5af6c358af0fb7 Mon Sep 17 00:00:00 2001 From: richarddushime Date: Mon, 9 Mar 2026 23:31:23 +0100 Subject: [PATCH 1/3] fix:image preview --- config/_default/params.toml | 2 +- static/img/FORRTbanner.webp | Bin 0 -> 41988 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 static/img/FORRTbanner.webp diff --git a/config/_default/params.toml b/config/_default/params.toml index ffaf9de74ad..fcaeb94d414 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -125,7 +125,7 @@ show_related = {docs = true, page = true, post = true, project = true, publicati ############################ # Default image for social sharing and search engines. Place image in `static/` folder and specify 'img/[image name]' here. -sharing_image = "img/FORRT_banner.svg" +sharing_image = "img/FORRTbanner.webp" # Twitter username (without @). Used when a visitor shares your site on Twitter. twitter = "FORRTproject" diff --git a/static/img/FORRTbanner.webp b/static/img/FORRTbanner.webp new file mode 100644 index 0000000000000000000000000000000000000000..961b6fe25cc2121f1374bf879eb37655d8e5cda3 GIT binary patch literal 41988 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
    CX*%6)F%fMem@;#v#6<1)jmH{sH}sV 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 literal 0 HcmV?d00001 From 99ff084e57058a547544b8b769cefe9df02a26e6 Mon Sep 17 00:00:00 2001 From: richarddushime Date: Tue, 10 Mar 2026 00:05:07 +0100 Subject: [PATCH 2/3] fix. Open Graph issues and preview long texts --- config/_default/params.toml | 5 ++-- layouts/partials/site_head.html | 43 ++++++++++++++++++++++++--------- 2 files changed, 33 insertions(+), 15 deletions(-) diff --git a/config/_default/params.toml b/config/_default/params.toml index fcaeb94d414..bc462b219d5 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -126,9 +126,8 @@ show_related = {docs = true, page = true, post = true, project = true, publicati # Default image for social sharing and search engines. Place image in `static/` folder and specify 'img/[image name]' here. sharing_image = "img/FORRTbanner.webp" - -# Twitter username (without @). Used when a visitor shares your site on Twitter. -twitter = "FORRTproject" +# Alt text for the sharing image (accessibility and og:image:alt). Defaults to site title if unset. +sharing_image_alt = "FORRT - Framework for Open and Reproducible Research Training" ############################ ## Regional Settings diff --git a/layouts/partials/site_head.html b/layouts/partials/site_head.html index c4498ce01cb..421e6db8c47 100644 --- a/layouts/partials/site_head.html +++ b/layouts/partials/site_head.html @@ -54,6 +54,15 @@ {{ $desc = $superuser_role }} {{ end }} + {{/* Shorter description for social previews (avoids mid-word truncation). */}} + {{ $og_desc := "" }} + {{ if .Params.sharing_description }} + {{ $og_desc = .Params.sharing_description }} + {{ else if .Params.og_description }} + {{ $og_desc = .Params.og_description }} + {{ else }} + {{ $og_desc = printf "%.200s" $desc }} + {{ end }} {{ range .Translations }} @@ -186,36 +195,46 @@ {{ $avatar_image := (.Resources.ByType "image").GetMatch "avatar*" }} {{ $has_logo := fileExists "assets/images/logo.webp" | or (fileExists "assets/images/logo.svg") }} {{ $og_image := "" }} - {{ $twitter_card := "summary_large_image" }} + {{ $og_image_width := 0 }} + {{ $og_image_height := 0 }} {{ if (and (eq .Kind "taxonomy") $avatar_image) }} - {{ $og_image = ($avatar_image.Fill "270x270 Center").Permalink }}{{/* Match image proc in About widget. */}} - {{ $twitter_card = "summary" }} + {{ $avatar_fill := $avatar_image.Fill "270x270 Center" }} + {{ $og_image = $avatar_fill.Permalink }} + {{ $og_image_width = $avatar_fill.Width }} + {{ $og_image_height = $avatar_fill.Height }} {{ else if $featured_image }} {{ $og_image = $featured_image.Permalink }} + {{ $og_image_width = $featured_image.Width }} + {{ $og_image_height = $featured_image.Height }} {{ else if .Params.header.image }} {{ $og_image = printf "%s/%s" $media_dir .Params.header.image | absURL }} {{ else if site.Params.sharing_image }} {{ $og_image = site.Params.sharing_image | absURL }} + {{ with images.Config (printf "/static/%s" site.Params.sharing_image) }} + {{ $og_image_width = .Width }} + {{ $og_image_height = .Height }} + {{ end }} {{ else if $has_logo }} {{ $og_image = (partial "functions/get_logo" (dict "constraint" "fit" "size" 300)).Permalink }} - {{ $twitter_card = "summary" }} {{ else }} {{ $og_image = (partial "functions/get_icon" 512).Permalink }} - {{ $twitter_card = "summary" }} {{ end }} {{ $scr.Set "og_image" $og_image }}{{/* Set `og_image` globally for `rss.xml`. */}} - - {{ with site.Params.twitter }} - - - {{ end }} + {{ $og_image_alt := site.Params.sharing_image_alt | default site.Title }} + {{ if .Params.sharing_image_alt }}{{ $og_image_alt = .Params.sharing_image_alt }}{{ end }} - + {{- with $og_image -}} - + {{- if (and (gt $og_image_width 0) (gt $og_image_height 0)) -}} + + + {{- end -}} + {{- with $og_image_alt -}} + + {{- end -}} {{- end -}} {{ if .IsPage }} From a291fbfda2d38fe0286829a2d18b521322b2df0c Mon Sep 17 00:00:00 2001 From: richarddushime Date: Tue, 10 Mar 2026 00:20:22 +0100 Subject: [PATCH 3/3] preview Page title | Site name --- layouts/partials/site_head.html | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/layouts/partials/site_head.html b/layouts/partials/site_head.html index 421e6db8c47..0f45cd7cdca 100644 --- a/layouts/partials/site_head.html +++ b/layouts/partials/site_head.html @@ -224,7 +224,18 @@ {{ if .Params.sharing_image_alt }}{{ $og_image_alt = .Params.sharing_image_alt }}{{ end }} - + {{/* Sharing title: allow override, else append site name for context in previews. */}} + {{ $og_title := "" }} + {{ if .Params.sharing_title }} + {{ $og_title = .Params.sharing_title }} + {{ else if .Params.og_title }} + {{ $og_title = .Params.og_title }} + {{ else if .IsHome }} + {{ $og_title = site.Title }} + {{ else }} + {{ $og_title = printf "%s | %s" .Title site.Title }} + {{ end }} + {{- with $og_image -}}