mirror of
				https://github.com/Wonderfall/hugo-WonderMod.git
				synced 2025-10-31 03:45:24 +01:00 
			
		
		
		
	templates: Add Twitter Cards, OpenGraph, Schema
This code is licensed under Apache License 2.0 and is part of https://github.com/gohugoio/hugo
This commit is contained in:
		
							
								
								
									
										57
									
								
								layouts/partials/templates/opengraph.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								layouts/partials/templates/opengraph.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,57 @@ | |||||||
|  | <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 }}" /> | ||||||
|  | {{ with $.Params.images }}{{ range first 6 . -}} | ||||||
|  | <meta property="og:image" content="{{ . | absURL }}" /> | ||||||
|  | {{ end }}{{ else -}} | ||||||
|  | {{- $images := $.Resources.ByType "image" -}} | ||||||
|  | {{- $featured := $images.GetMatch "*feature*" -}} | ||||||
|  | {{- if not $featured }}{{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }}{{ end -}} | ||||||
|  | {{- with $featured -}} | ||||||
|  | <meta property="og:image" content="{{ $featured.Permalink }}"/> | ||||||
|  | {{ else -}} | ||||||
|  | {{- with $.Site.Params.images -}} | ||||||
|  | <meta property="og:image" content="{{ index . 0 | absURL }}"/> | ||||||
|  | {{ end }}{{ end }}{{ end }} | ||||||
|  |  | ||||||
|  | {{- $iso8601 := "2006-01-02T15:04:05-07:00" -}} | ||||||
|  | {{- if .IsPage }} | ||||||
|  | {{- if not .PublishDate.IsZero }}<meta property="article:published_time" {{ .PublishDate.Format $iso8601 | printf "content=%q" | safeHTMLAttr }} /> | ||||||
|  | {{ else if not .Date.IsZero }}<meta property="article:published_time" {{ .Date.Format $iso8601 | printf "content=%q" | safeHTMLAttr }} /> | ||||||
|  | {{ end }} | ||||||
|  | {{- if not .Lastmod.IsZero }}<meta property="article:modified_time" {{ .Lastmod.Format $iso8601 | printf "content=%q" | safeHTMLAttr }} />{{ end }} | ||||||
|  | {{- else }} | ||||||
|  | {{- if not .Date.IsZero }}<meta property="og:updated_time" {{ .Lastmod.Format $iso8601 | printf "content=%q" | safeHTMLAttr }} /> | ||||||
|  | {{- end }} | ||||||
|  | {{- end }}{{/* .IsPage */}} | ||||||
|  |  | ||||||
|  | {{- 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 }}{{ with .Params.series }} | ||||||
|  | {{- range $name := . }} | ||||||
|  |   {{- $series := index $siteSeries $name }} | ||||||
|  |   {{- range $page := first 6 $series.Pages }} | ||||||
|  |     {{- if ne $page.Permalink $permalink }}<meta property="og:see_also" content="{{ $page.Permalink }}" />{{ end }} | ||||||
|  |   {{- end }} | ||||||
|  | {{ end }}{{ end }} | ||||||
|  |  | ||||||
|  | {{- if .IsPage }} | ||||||
|  | {{- range .Site.Authors }}{{ with .Social.facebook }} | ||||||
|  | <meta property="article:author" content="https://www.facebook.com/{{ . }}" />{{ end }}{{ with .Site.Social.facebook }} | ||||||
|  | <meta property="article:publisher" content="https://www.facebook.com/{{ . }}" />{{ end }} | ||||||
|  | <meta property="article:section" content="{{ .Section }}" /> | ||||||
|  | {{- with .Params.tags }}{{ range first 6 . }} | ||||||
|  | <meta property="article:tag" content="{{ . }}" />{{ end }}{{ end }} | ||||||
|  | {{- end }}{{ end }} | ||||||
|  |  | ||||||
|  | {{- /* Facebook Page Admin ID for Domain Insights */}} | ||||||
|  | {{- with .Site.Social.facebook_admin }}<meta property="fb:admins" content="{{ . }}" />{{ end }} | ||||||
							
								
								
									
										23
									
								
								layouts/partials/templates/schema.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								layouts/partials/templates/schema.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | |||||||
|  | <meta itemprop="name" content="{{ .Title }}"> | ||||||
|  | <meta itemprop="description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end }}"> | ||||||
|  |  | ||||||
|  | {{- if .IsPage }}{{ $ISO8601 := "2006-01-02T15:04:05-07:00" }}{{ if not .PublishDate.IsZero }} | ||||||
|  | <meta itemprop="datePublished" {{ .PublishDate.Format $ISO8601 | printf "content=%q" | safeHTMLAttr }} />{{ end }} | ||||||
|  | {{ if not .Lastmod.IsZero }}<meta itemprop="dateModified" {{ .Lastmod.Format $ISO8601 | printf "content=%q" | safeHTMLAttr }} />{{ end }} | ||||||
|  | <meta itemprop="wordCount" content="{{ .WordCount }}"> | ||||||
|  | {{ with $.Params.images }}{{ range first 6 . -}} | ||||||
|  | <meta itemprop="image" content="{{ . | absURL }}"> | ||||||
|  | {{ end }}{{ else -}} | ||||||
|  | {{- $images := $.Resources.ByType "image" -}} | ||||||
|  | {{- $featured := $images.GetMatch "*feature*" -}} | ||||||
|  | {{- if not $featured }}{{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }}{{ end -}} | ||||||
|  | {{- with $featured -}} | ||||||
|  | <meta itemprop="image" content="{{ $featured.Permalink }}"> | ||||||
|  | {{ else -}} | ||||||
|  | {{- with $.Site.Params.images -}} | ||||||
|  | <meta itemprop="image" content="{{ index . 0 | absURL }}"/> | ||||||
|  | {{ end }}{{ end }}{{ end }} | ||||||
|  |  | ||||||
|  | <!-- Output all taxonomies as schema.org keywords --> | ||||||
|  | <meta itemprop="keywords" content="{{ if .IsPage}}{{ range $index, $tag := .Params.tags }}{{ $tag }},{{ end }}{{ else }}{{ range $plural, $terms := .Site.Taxonomies }}{{ range $term, $val := $terms }}{{ printf "%s," $term }}{{ end }}{{ end }}{{ end }}" /> | ||||||
|  | {{- end }} | ||||||
							
								
								
									
										29
									
								
								layouts/partials/templates/twitter_cards.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								layouts/partials/templates/twitter_cards.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | |||||||
|  | {{- with $.Params.images -}} | ||||||
|  | <meta name="twitter:card" content="summary_large_image"/> | ||||||
|  | <meta name="twitter:image" content="{{ index . 0 | absURL }}"/> | ||||||
|  | {{ 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 -}} | ||||||
		Reference in New Issue
	
	Block a user
	 Aditya Telange
					Aditya Telange