1
Files
2025/layouts/partials/head/metadata.html

69 lines
2.4 KiB
HTML

{{- $title := site.Title -}}
{{- if not .IsHome -}}
{{- $title = printf "%s | %s" .Title site.Title -}}
{{- end -}}
{{- $socialTitle := site.Title -}}
{{- if not .IsHome -}}
{{- $socialTitle = .Title -}}
{{- end -}}
{{- $description := partial "head/description.html" . -}}
{{- $socialImage := partial "head/social-image.html" . -}}
{{- $searchPath := site.Params.search.action | relURL -}}
{{- $isSearchPage := eq .RelPermalink $searchPath -}}
{{- $robots := "max-image-preview:large" -}}
{{- if $isSearchPage -}}
{{- $robots = "noindex, follow" -}}
{{- end -}}
{{- $ogType := "website" -}}
{{- if and .IsPage (not $isSearchPage) -}}
{{- $ogType = "article" -}}
{{- end -}}
{{- $localeCode := site.LanguageCode | default site.Language.LanguageCode | default "fr-FR" -}}
{{- $locale := replace $localeCode "-" "_" -}}
<title>{{ $title }}</title>
{{- with $description }}
<meta name="description" content="{{ . }}">
{{- end }}
<meta name="theme-color" content="{{ site.Params.themeColor | default "#060c14" }}">
<meta name="robots" content="{{ $robots }}">
<link rel="canonical" href="{{ .Permalink }}">
<meta property="og:locale" content="{{ $locale }}">
<meta property="og:site_name" content="{{ site.Title }}">
<meta property="og:type" content="{{ $ogType }}">
<meta property="og:title" content="{{ $socialTitle }}">
<meta property="og:url" content="{{ .Permalink }}">
{{- with $description }}
<meta property="og:description" content="{{ . }}">
{{- end }}
{{- with $socialImage.url }}
<meta property="og:image" content="{{ . }}">
{{- end }}
{{- with $socialImage.width }}
<meta property="og:image:width" content="{{ . }}">
{{- end }}
{{- with $socialImage.height }}
<meta property="og:image:height" content="{{ . }}">
{{- end }}
{{- with $socialImage.alt }}
<meta property="og:image:alt" content="{{ . }}">
{{- end }}
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="{{ $socialTitle }}">
{{- with $description }}
<meta name="twitter:description" content="{{ . }}">
{{- end }}
{{- with $socialImage.url }}
<meta name="twitter:image" content="{{ . }}">
{{- end }}
{{- with $socialImage.alt }}
<meta name="twitter:image:alt" content="{{ . }}">
{{- end }}
{{- if eq $ogType "article" -}}
{{- with .Date }}
<meta property="article:published_time" content="{{ .Format "2006-01-02T15:04:05Z07:00" }}">
{{- end }}
{{- with .Lastmod }}
<meta property="article:modified_time" content="{{ .Format "2006-01-02T15:04:05Z07:00" }}">
{{- end }}
{{- end -}}