diff options
author | Francesco Tomaselli <tomaselli.fr@gmail.com> | 2025-04-26 13:02:32 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-26 13:02:32 +0200 |
commit | 968e55b308755f6be652a401e0d7d1bc3b17c127 (patch) | |
tree | 3b3f77a702f81225c968a05eff9e1adee213269a /layouts/partials/opengraph.html | |
parent | 4b94b8da8b92c2ceeb23d674c169977f22fc486e (diff) | |
parent | 1790b5684ca8da26894dcb5d0cd7c12163f08a61 (diff) |
Merge pull request #128 from runofthemillgeek/refactor/make-opengraph-normal-partial
Make opengraph.html a normal partial
Diffstat (limited to 'layouts/partials/opengraph.html')
-rw-r--r-- | layouts/partials/opengraph.html | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/layouts/partials/opengraph.html b/layouts/partials/opengraph.html new file mode 100644 index 0000000..d770df1 --- /dev/null +++ b/layouts/partials/opengraph.html @@ -0,0 +1,94 @@ +{{- /* + Original source: https://github.com/gohugoio/hugo/blob/61c39ae63b62667d965c2ff96d085f4eda59bcb2/tpl/tplimpl/embedded/templates/opengraph.html +*/ -}} + +<meta property="og:url" content="{{ .Permalink }}"> + +{{- with or site.Title site.Params.title | plainify }} + <meta property="og:site_name" content="{{ . }}"> +{{- end }} + +{{- /* Source modified to remove pipe to `plainify` */ -}} +{{- with or .Title site.Title site.Params.title }} + <meta property="og:title" content="{{ . }}"> +{{- end }} + +{{- with or .Description .Summary site.Params.description | plainify | htmlUnescape }} + <meta property="og:description" content="{{ trim . "\n\r\t " }}"> +{{- end }} + +{{- with or .Params.locale site.Language.LanguageCode }} + <meta property="og:locale" content="{{ replace . `-` `_` }}"> +{{- end }} + +{{- if .IsPage }} + <meta property="og:type" content="article"> + {{- with .Section }} + <meta property="article:section" content="{{ . }}"> + {{- end }} + {{- $ISO8601 := "2006-01-02T15:04:05-07:00" }} + {{- 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 }} + {{- range .GetTerms "tags" | first 6 }} + <meta property="article:tag" content="{{ .Page.Title | plainify }}"> + {{- end }} +{{- else }} + <meta property="og:type" content="website"> +{{- end }} + +{{- with partial "_funcs/get-page-images" . }} + {{- range . | first 6 }} + <meta property="og:image" content="{{ .Permalink }}"> + {{- end }} +{{- else }} + + {{- /* + Source modified to load `assets/images/og-image.{webp,png,jpg}` files if any of them exists. + og-image.html can be modified in Hugo project if custom image generation logic is desired such + as using an external service. + */ -}} + + {{- if templates.Exists "partials/head/og-image.html" }} + {{- $ogImage := partial "head/og-image.html" . | strings.TrimSpace }} + {{- with $ogImage }} + <meta property="og:image" content="{{ . }}"> + {{- end }} + {{- end }} + +{{- end }} + +{{- with .Params.audio }} + {{- range . | first 6 }} + <meta property="og:audio" content="{{ . | absURL }}"> + {{- end }} +{{- end }} + +{{- with .Params.videos }} + {{- range . | first 6 }} + <meta property="og:video" content="{{ . | absURL }}"> + {{- end }} +{{- end }} + +{{- range .GetTerms "series" }} + {{- range .Pages | first 7 }} + {{- if ne $ . }} + <meta property="og:see_also" content="{{ .Permalink }}"> + {{- end }} + {{- end }} +{{- end }} + +{{- with site.Params.social }} + {{- if reflect.IsMap . }} + {{- with .facebook_app_id }} + <meta property="fb:app_id" content="{{ . }}"> + {{- else }} + {{- with .facebook_admin }} + <meta property="fb:admins" content="{{ . }}"> + {{- end }} + {{- end }} + {{- end }} +{{- end }}
\ No newline at end of file |