From ec97808b691b4e1a7f6c131637936c10341a58fd Mon Sep 17 00:00:00 2001 From: Ludovic Fernandez Date: Wed, 3 Sep 2025 22:46:30 +0200 Subject: [PATCH] feat(opengraph): update the partial (#819) * chore: update opengraph partial * docs: improve Open Grapth section --- .../content/docs/guide/configuration.md | 34 +++++-- layouts/_partials/opengraph.html | 89 +++++++++++++++---- 2 files changed, 100 insertions(+), 23 deletions(-) diff --git a/exampleSite/content/docs/guide/configuration.md b/exampleSite/content/docs/guide/configuration.md index c8da6b3..65eab61 100644 --- a/exampleSite/content/docs/guide/configuration.md +++ b/exampleSite/content/docs/guide/configuration.md @@ -456,19 +456,41 @@ The llms.txt file is automatically generated from your content structure and mak ### Open Graph -To add [Open Graph](https://ogp.me/) metadata to a page, add values in the frontmatter params. +To add [Open Graph](https://ogp.me/) metadata, you can: +- add values in the front-matter params of a page +- or add values in the Hugo configuration file As a page can have multiple `image` and `video` tags, place their values in an array. Other Open Graph properties can have only one value. -For example, this page has an `og:image` tag (which configures an image to preview on social shares) and an `og:audio` tag. -```yaml {filename="content/docs/guide/configuration.md"} -title: "Configuration" +{{< tabs items="Page Level, Global Level" >}} +{{< tab >}} + +```md {filename="mypage.md"} +--- +title: "My Page" params: images: - - "/img/config-image.jpg" - audio: "config-talk.mp3" + - "/images/image01.jpg" + audio: "podcast02.mp3" + videos: + - "video01.mp4" +--- + +Page content. ``` +{{< /tab >}} +{{< tab >}} +```yaml {filename="hugo.yaml"} +params: + images: + - "/images/image01.jpg" + audio: "podcast02.mp3" + videos: + - "video01.mp4" +``` +{{< /tab >}} +{{< /tabs >}} ### Banner diff --git a/layouts/_partials/opengraph.html b/layouts/_partials/opengraph.html index aa5dc5b..e60f942 100644 --- a/layouts/_partials/opengraph.html +++ b/layouts/_partials/opengraph.html @@ -1,31 +1,86 @@ -{{/* From https://github.com/gohugoio/gohugoioTheme/blob/master/layouts/partials/opengraph/opengraph.html */}} +{{/* Adapted from https://github.com/gohugoio/hugo/blob/v0.149.0/docs/layouts/_partials/opengraph/opengraph.html */}} - - - - + + + + {{- with $.Params.images -}} -{{- range first 6 . }}{{ end -}} +{{- range first 6 . }} + +{{ end -}} {{- else -}} {{- $featured := "" }} {{- with $featured -}} - + {{- else -}} -{{- with $.Site.Params.images }}{{ end -}} +{{- with $.Site.Params.images }} + +{{ end -}} {{- end -}} {{- end -}} {{- if .IsPage }} {{- $iso8601 := "2006-01-02T15:04:05-07:00" -}} - -{{ with .PublishDate }}{{ end }} -{{ with .Lastmod }}{{ end }} + +{{ with .PublishDate }} + +{{ end }} +{{ with .Lastmod }} + +{{ end }} {{- end -}} -{{- with .Params.audio }}{{ end }} -{{- with .Params.locale }}{{ end }} -{{- with .Site.Params.title }}{{ end }} -{{- with .Params.videos }}{{- range . }} - -{{ end }}{{ end }} +{{- with .Params.audio }}{{ end }} +{{- with .Params.locale }} + +{{ end }} +{{- with .Site.Params.title }} + +{{ end }} +{{- with .Params.videos }} +{{- range . }} + +{{ end }} + +{{ end }} + +{{- /* If it is part of a series, link to related articles */}} +{{- $permalink := .Permalink }} +{{- $siteSeries := .Site.Taxonomies.series }} +{{ with .Params.series }} +{{- range $name := . }} +{{- $series := index $siteSeries ($name | urlize) }} +{{- range $page := first 6 $series.Pages }} +{{- if ne $page.Permalink $permalink }} + +{{ end }} +{{- end }} +{{ end }} + +{{ end }} + +{{- /* Facebook Page Admin ID for Domain Insights */}} +{{- with site.Params.social.facebook_admin }} + +{{ end }}