mirror of
				https://github.com/adityatelange/hugo-PaperMod.git
				synced 2025-11-04 10:22:44 +01:00 
			
		
		
		
	for `opengraph`, `schema` and `twitter_cards` templates
The page images selection order as follows:
1. Page's images parameter, image resources are supported.
2. Page's image resources that naming in *feature*, *cover* or *thumbnail* pattern.
3. If no page images specified, then the first one of site's images will be used as the fallback, supports site resources.
cherry-picked from 14d85ec136
++ compatibility fixes for PaperMod
Co-authored-by: Aditya Telange <21258296+adityatelange@users.noreply.github.com>
		
	
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{{- if .Params.cover.image -}}
 | 
						|
<meta name="twitter:card" content="summary_large_image" />
 | 
						|
{{- if (ne $.Params.cover.relative true) }}
 | 
						|
<meta name="twitter:image" content="{{ .Params.cover.image | absURL }}" />
 | 
						|
{{- else }}
 | 
						|
<meta name="twitter:image" content="{{ (path.Join .RelPermalink .Params.cover.image ) | absURL }}" />
 | 
						|
{{- end}}
 | 
						|
{{- else }}
 | 
						|
{{- $images := partial "partials/templates/_funcs/get-page-images" . -}}
 | 
						|
{{- with index $images 0 -}}
 | 
						|
<meta name="twitter:card" content="summary_large_image" />
 | 
						|
<meta name="twitter:image" content="{{ .Permalink }}" />
 | 
						|
{{- else -}}
 | 
						|
<meta name="twitter:card" content="summary"/>
 | 
						|
{{- end -}}
 | 
						|
{{- end }}
 | 
						|
<meta name="twitter:title" content="{{ .Title }}"/>
 | 
						|
<meta name="twitter:description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end -}}"/>
 | 
						|
{{- /* Deprecate site.Social.twitter in favor of site.Params.social.twitter */}}
 | 
						|
{{- $twitterSite := "" }}
 | 
						|
{{- with site.Params.social }}
 | 
						|
  {{- if reflect.IsMap . }}
 | 
						|
    {{- $twitterSite = .twitter }}
 | 
						|
  {{- end }}
 | 
						|
{{- else }}
 | 
						|
  {{- with site.Social.twitter }}
 | 
						|
    {{- $twitterSite = . }}
 | 
						|
    {{- warnf "The social key in site configuration is deprecated. Use params.social.twitter instead." }}
 | 
						|
  {{- end }}
 | 
						|
{{- end }}
 | 
						|
 | 
						|
{{- with $twitterSite }}
 | 
						|
  {{- $content := . }}
 | 
						|
  {{- if not (strings.HasPrefix . "@") }}
 | 
						|
    {{- $content = printf "@%v" $twitterSite }}
 | 
						|
  {{- end }}
 | 
						|
<meta name="twitter:site" content="{{ $content }}"/>
 | 
						|
{{- end }}
 |