mirror of
				https://github.com/adityatelange/hugo-PaperMod.git
				synced 2025-11-04 10:22:44 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			120 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			120 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{{ if .IsHome }}
 | 
						|
<script type="application/ld+json">
 | 
						|
{
 | 
						|
  "@context": "https://schema.org",
 | 
						|
  "@type": "{{- ( .Site.Params.schema.publisherType | default "Organization") | title -}}",
 | 
						|
  "name": {{ .Site.Title }},
 | 
						|
  "url": {{ .Site.BaseURL }},
 | 
						|
  "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 " " }}{{ end }}
 | 
						|
    {{- end}}
 | 
						|
  ]
 | 
						|
}
 | 
						|
</script>
 | 
						|
{{- else if (or .IsPage .IsSection) }}
 | 
						|
{{/* BreadcrumbList */}}
 | 
						|
{{- $url := replace .Parent.Permalink ( printf "%s" .Site.BaseURL) "" }}
 | 
						|
{{- $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 -}}
 |