mirror of
https://github.com/alanorth/hugo-theme-bootstrap4-blog.git
synced 2024-12-30 14:04:30 +01:00
Alan Orth
c6498a4bfb
The Hugo internal Twitter and OpenGraph templates assume your post images are in the static directory. This tries to look them up in the page bundle first and falls back to the Hugo default behavior.
43 lines
1.7 KiB
HTML
43 lines
1.7 KiB
HTML
<!--
|
|
Import Hugo's internal twitter_cards.html template to add support for resolving
|
|
images in page bundles and with falling back to the default of looking in the
|
|
static assets directory.
|
|
|
|
See: tpl/tplimpl/embedded/templates/twitter_cards.html
|
|
See: https://github.com/gohugoio/hugo/issues/5078
|
|
-->
|
|
{{- with $.Params.images -}}
|
|
<meta name="twitter:card" content="summary_large_image"/>
|
|
{{/* try to get the image from the page bundle */}}
|
|
{{- with $.Page.Resources.GetMatch (printf "*%s*" .) -}}
|
|
<meta name="twitter:image" content="{{ .Permalink }}"/>
|
|
{{- else -}}
|
|
<meta name="twitter:image" content="{{ index . 0 | absURL }}"/>
|
|
{{- end -}}
|
|
{{ else -}}
|
|
{{- $images := $.Resources.ByType "image" -}}
|
|
{{- $featured := $images.GetMatch "*feature*" -}}
|
|
{{- if not $featured }}{{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }}{{ end -}}
|
|
{{- with $featured -}}
|
|
<meta name="twitter:card" content="summary_large_image"/>
|
|
<meta name="twitter:image" content="{{ $featured.Permalink }}"/>
|
|
{{- else -}}
|
|
{{- with $.Site.Params.images -}}
|
|
<meta name="twitter:card" content="summary_large_image"/>
|
|
<meta name="twitter:image" content="{{ index . 0 | absURL }}"/>
|
|
{{ else -}}
|
|
<meta name="twitter:card" content="summary"/>
|
|
{{- end -}}
|
|
{{- 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 -}}"/>
|
|
{{ with .Site.Social.twitter -}}
|
|
<meta name="twitter:site" content="@{{ . }}"/>
|
|
{{ end -}}
|
|
{{ range .Site.Authors }}
|
|
{{ with .twitter -}}
|
|
<meta name="twitter:creator" content="@{{ . }}"/>
|
|
{{ end -}}
|
|
{{ end -}}
|