inital setup
This commit is contained in:
		
							
								
								
									
										67
									
								
								layouts/partials/templates/opengraph.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								layouts/partials/templates/opengraph.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,67 @@ | ||||
| <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 }}" /> | ||||
| {{- if .Params.cover.image -}} | ||||
| {{- if (ne .Params.cover.relative true) }} | ||||
| <meta property="og:image" content="{{ .Params.cover.image | absURL }}" /> | ||||
| {{- else}} | ||||
| <meta property="og:image" content="{{ (path.Join .RelPermalink .Params.cover.image ) | absURL }}" /> | ||||
| {{- end}} | ||||
| {{- else }} | ||||
|  | ||||
| {{- 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 -}} | ||||
| {{- 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 }} | ||||
|  | ||||
| {{- /* Deprecate site.Social.facebook_admin in favor of site.Params.social.facebook_admin */}} | ||||
| {{- $facebookAdmin := "" }} | ||||
| {{- with site.Params.social }} | ||||
|   {{- if reflect.IsMap . }} | ||||
|     {{- $facebookAdmin = .facebook_admin }} | ||||
|   {{- end }} | ||||
| {{- else }} | ||||
|   {{- with site.Social.facebook_admin }} | ||||
|     {{- $facebookAdmin = . }} | ||||
|     {{- warnf "The social key in site configuration is deprecated. Use params.social.facebook_admin instead." }} | ||||
|   {{- end }} | ||||
| {{- end }} | ||||
|  | ||||
| {{- /* Facebook Page Admin ID for Domain Insights */}} | ||||
| {{ with $facebookAdmin }}<meta property="fb:admins" content="{{ . }}" />{{ end }} | ||||
							
								
								
									
										119
									
								
								layouts/partials/templates/schema_json.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										119
									
								
								layouts/partials/templates/schema_json.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,119 @@ | ||||
| {{ if .IsHome }} | ||||
| <script type="application/ld+json"> | ||||
| { | ||||
|   "@context": "https://schema.org", | ||||
|   "@type": "{{- ( site.Params.schema.publisherType | default "Organization") | title -}}", | ||||
|   "name": {{ site.Title }}, | ||||
|   "url": {{ site.Home.Permalink }}, | ||||
|   "description": {{ site.Params.description | plainify | truncate 180 | safeHTML }}, | ||||
|   "thumbnailUrl": {{ site.Params.assets.favicon | default "favicon.ico" | absURL }}, | ||||
|   "sameAs": [ | ||||
|     {{- if site.Params.schema.sameAs }} | ||||
|       {{ range $i, $e := site.Params.schema.sameAs }}{{ if $i }}, {{ end }}{{ trim $e " " }}{{ end }} | ||||
|     {{- else}} | ||||
|       {{ range $i, $e := site.Params.SocialIcons }}{{ if $i }}, {{ end }}{{ trim $e.url " " | safeURL }}{{ end }} | ||||
|     {{- end}} | ||||
|   ] | ||||
| } | ||||
| </script> | ||||
| {{- else if (or .IsPage .IsSection) }} | ||||
| {{/* BreadcrumbList */}} | ||||
| {{- $url := replace .Parent.Permalink ( printf "%s" site.Home.Permalink) "" }} | ||||
| {{- $lang_url := strings.TrimPrefix ( printf "%s/" .Lang) $url }} | ||||
| {{- $bc_list := (split $lang_url "/")}} | ||||
|  | ||||
| {{- $scratch := newScratch }} | ||||
| <script type="application/ld+json"> | ||||
| { | ||||
|   "@context": "https://schema.org", | ||||
|   "@type": "BreadcrumbList", | ||||
|   "itemListElement": [ | ||||
|   {{- range $index, $element := $bc_list }} | ||||
|  | ||||
|     {{- $scratch.Add "path" (printf "%s/" $element ) | safeJS }} | ||||
|     {{- $bc_pg := site.GetPage ($scratch.Get "path") -}} | ||||
|  | ||||
|     {{- if (and ($bc_pg) (gt (len . ) 0))}} | ||||
|     {{- if (and $index)}}, {{end }} | ||||
|     { | ||||
|       "@type": "ListItem", | ||||
|       "position": {{ add 1 $index  }}, | ||||
|       "name": {{ $bc_pg.Name }}, | ||||
|       "item": {{ $bc_pg.Permalink | safeHTML }} | ||||
|     } | ||||
|     {{- end }} | ||||
|  | ||||
|   {{- end }} | ||||
|   {{- /*  self-page addition  */ -}} | ||||
|   {{- if (ge (len $bc_list) 2) }}, {{end }} | ||||
|     { | ||||
|       "@type": "ListItem", | ||||
|       "position": {{len $bc_list}}, | ||||
|       "name": {{ .Name }}, | ||||
|       "item": {{ .Permalink | safeHTML }} | ||||
|     } | ||||
|   ] | ||||
| } | ||||
| </script> | ||||
| {{- if .IsPage }} | ||||
| <script type="application/ld+json"> | ||||
| { | ||||
|   "@context": "https://schema.org", | ||||
|   "@type": "BlogPosting", | ||||
|   "headline": {{ .Title | plainify}}, | ||||
|   "name": "{{ .Title | plainify }}", | ||||
|   "description": {{ with .Description | plainify }}{{ . }}{{ else }}{{ .Summary | plainify  }}{{ end -}}, | ||||
|   "keywords": [ | ||||
|     {{- if .Params.keywords }} | ||||
|     {{ range $i, $e := .Params.keywords }}{{ if $i }}, {{ end }}{{ $e }}{{ end }} | ||||
|     {{- else }} | ||||
|     {{ range $i, $e := .Params.tags }}{{ if $i }}, {{ end }}{{ $e }}{{ end }} | ||||
|     {{- end }} | ||||
|   ], | ||||
|   "articleBody": {{ .Content | safeJS | htmlUnescape | plainify }}, | ||||
|   "wordCount" : "{{ .WordCount }}", | ||||
|   "inLanguage": {{ .Language.Lang | default "en-us" }}, | ||||
|   {{ if .Params.cover.image -}} | ||||
|   "image": | ||||
|     {{- if (ne .Params.cover.relative true) -}} | ||||
|     {{ .Params.cover.image | absURL }}, | ||||
|     {{- else -}} | ||||
|     {{ (path.Join .RelPermalink .Params.cover.image ) | absURL }}, | ||||
|     {{- end}} | ||||
|   {{- end -}} | ||||
|   "datePublished": {{ .PublishDate }}, | ||||
|   "dateModified": {{ .Lastmod }}, | ||||
|   {{- with (.Params.author | default site.Params.author) }} | ||||
|   "author": | ||||
|     {{- if (or (eq (printf "%T" .) "[]string") (eq (printf "%T" .) "[]interface {}")) -}} | ||||
|   [{{- range $i, $v := . -}} | ||||
|   {{- if $i }}, {{end -}} | ||||
|   { | ||||
|     "@type": "Person", | ||||
|     "name": {{ $v }} | ||||
|   } | ||||
|   {{- end }}], | ||||
|     {{- else -}} | ||||
|   { | ||||
|     "@type": "Person", | ||||
|     "name": {{ . }} | ||||
|   }, | ||||
|     {{- end -}} | ||||
|   {{- end }} | ||||
|   "mainEntityOfPage": { | ||||
|     "@type": "WebPage", | ||||
|     "@id": {{ .Permalink | safeHTML }} | ||||
|   }, | ||||
|   "publisher": { | ||||
|     "@type": "{{- ( site.Params.schema.publisherType | default "Organization") | title -}}", | ||||
|     "name": {{ site.Title }}, | ||||
|     "logo": { | ||||
|       "@type": "ImageObject", | ||||
|       "url": {{ site.Params.assets.favicon | default "favicon.ico" | absURL }} | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
| {{- end }}{{/* .IsPage end */}} | ||||
|  | ||||
| {{- end -}} | ||||
							
								
								
									
										50
									
								
								layouts/partials/templates/twitter_cards.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								layouts/partials/templates/twitter_cards.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | ||||
| {{- 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 }} | ||||
| {{- 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 }} | ||||
| {{- 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 }} | ||||
		Reference in New Issue
	
	Block a user