URI: 
       tpl/tplimpl: Improve embedded opengraph template - hugo - [fork] hugo port for 9front
  HTML git clone git@git.drkhsh.at/hugo.git
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
   DIR commit 2da4ec5738e9b9060aab37247312244e1b8a318d
   DIR parent 6624979e1bd6bdd7edc8e627085fd400ab3950d9
  HTML Author: Joe Mooring <joe.mooring@veriphor.com>
       Date:   Mon,  1 Apr 2024 08:51:32 -0700
       
       tpl/tplimpl: Improve embedded opengraph template
       
       Changes:
       
       - Add tags per documentation
       - Prefer site.Title over site.Params.title
       - Plainify titles, tags, and descriptions
       - Add fallback values for locale
       - Fix pages related by series
       - Improve readability
       
       Closes #8296
       Closes #8698
       Closes #8991
       Closes #9818
       Closes #9866
       Closes #10647
       
       Co-authored-by: tomy0000000 <git@tomy.me>
       Co-authored-by: sean-au <sean@powerfulwebdesign.com.au>
       
       Diffstat:
         M tpl/tplimpl/embedded/templates/ope… |      98 ++++++++++++++++++++-----------
       
       1 file changed, 63 insertions(+), 35 deletions(-)
       ---
   DIR diff --git a/tpl/tplimpl/embedded/templates/opengraph.html b/tpl/tplimpl/embedded/templates/opengraph.html
       @@ -1,44 +1,72 @@
       -<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 }}">
        
       -{{- $images := partial "_funcs/get-page-images" . -}}
       -{{- range first 6 $images -}}
       -  <meta property="og:image" content="{{ .Permalink }}">
       -{{- end -}}
       +{{- with or site.Title site.Params.title | plainify }}
       +  <meta property="og:site_name" content="{{ . }}">
       +{{- end }}
       +
       +{{- with or .Title site.Title site.Params.title | plainify}}
       +  <meta property="og:title" content="{{ . }}">
       +{{- end }}
       +
       +{{- with or .Description .Summary site.Params.description | plainify }}
       +  <meta property="og:description" content="{{ . }}">
       +{{- end }}
       +
       +{{- with or .Params.locale site.Language.LanguageCode site.Language.Lang }}
       +  <meta property="og:locale" content="{{ . }}">
       +{{- end }}
        
        {{- 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 }}
       -{{- end -}}
       -
       -{{- with .Params.audio }}<meta property="og:audio" content="{{ . }}">{{ end }}
       -{{- with .Params.locale }}<meta property="og:locale" 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 }}
       -
       -{{- /* If it is part of a series, link to related articles */}}
       -{{- $permalink := .Permalink }}
       -{{- $siteSeries := .Site.Taxonomies.series }}
       -{{- if $siteSeries }}
       -{{ with .Params.series }}{{- range $name := . }}
       -  {{- $series := index $siteSeries ($name | urlize) }}
       -  {{- range $page := first 6 $series.Pages }}
       -    {{- if ne $page.Permalink $permalink }}<meta property="og:see_also" content="{{ $page.Permalink }}">{{ end }}
       -  {{- end }}
       -{{ end }}{{ end }}
       -{{- end }}
       -
       -{{- /* Facebook Page Admin ID for Domain Insights */}}
       +  <meta property="og:type" content="article">
       +  <meta property="article:section" content="{{ .Section }}">
       +  {{- $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 }}
       +{{- 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_admin }}
       -      <meta property="fb:admins" content="{{ . }}">
       +    {{- with .facebook_app_id }}
       +      <meta property="fb:app_id" content="{{ . }}">
       +    {{- else }}
       +      {{- with .facebook_admin }}
       +        <meta property="fb:admins" content="{{ . }}">
       +      {{- end }}
            {{- end }}
          {{- end }}
        {{- end }}