133 lines
4.9 KiB
HTML
133 lines
4.9 KiB
HTML
|
{{ "<!-- title -->" | safeHTML }}
|
||
|
<title itemprop="name">{{ .Title }} • {{ .Site.Title }}</title>
|
||
|
<meta property="og:title" content="{{ .Title }}" />
|
||
|
<meta name="twitter:title" content="{{ .Title }}" />
|
||
|
<meta name="application-name" content="{{ .Site.Title }}" />
|
||
|
<meta property="og:site_name" content="{{ .Site.Title }}" />
|
||
|
|
||
|
{{- with or .Description .Summary .Site.Params.description }}
|
||
|
{{ "<!-- description -->" | safeHTML }}
|
||
|
<meta name="description" content="{{.}}">
|
||
|
<meta itemprop="description" content="{{.}}" />
|
||
|
<meta property="og:description" content="{{.}}" />
|
||
|
<meta name="twitter:description" content="{{.}}" />
|
||
|
{{ end -}}
|
||
|
{{ "<!-- url -->" | safeHTML }}
|
||
|
<base href="{{ .Permalink | absURL }}">
|
||
|
<link rel="canonical" href="{{ .Permalink | absURL }}" itemprop="url" />
|
||
|
<meta name="url" content="{{ .Permalink | absURL }}" />
|
||
|
<meta name="twitter:url" content="{{ .Permalink | absURL }}" />
|
||
|
<meta property="og:url" content="{{ .Permalink | absURL }}" />
|
||
|
|
||
|
{{- $cover := ($.Resources.ByType "image").GetMatch "{*cover*,*thumbnail*,*featured*}" -}}
|
||
|
{{ $icon := resources.GetMatch (default "" .Site.Params.icon) -}}
|
||
|
{{- $staticIcon := "icon.png" | absURL -}}
|
||
|
{{- with or .Params.cover $cover $icon }}
|
||
|
{{ "<!-- image -->" | safeHTML }}
|
||
|
<meta itemprop="image" content='{{ .Permalink | absURL }}' />
|
||
|
<meta property="og:image" content='{{ .Permalink | absURL }}' />
|
||
|
{{- with .Width }}
|
||
|
<meta property="og:image:width" content='{{ . }}' />
|
||
|
{{- end }}
|
||
|
{{- with .Height }}
|
||
|
<meta property="og:image:height" content='{{ . }}' />
|
||
|
{{- end }}
|
||
|
<meta name="twitter:image" content='{{ .Permalink | absURL }}' />
|
||
|
<meta name="twitter:image:src" content='{{ .Permalink | absURL }}' />
|
||
|
{{- else }}{{/* no image found */}}
|
||
|
{{ "<!-- image -->" | safeHTML }}
|
||
|
<meta itemprop="image" content='{{ $staticIcon }}' />
|
||
|
<meta property="og:image" content='{{ $staticIcon }}' />
|
||
|
<meta name="twitter:image" content='{{ $staticIcon }}' />
|
||
|
<meta name="twitter:image:src" content='{{ $staticIcon }}' />
|
||
|
{{- end -}}
|
||
|
|
||
|
{{/*=== author ===*/}}
|
||
|
{{ with or .Params.author .Site.Params.author -}}
|
||
|
{{ "<!-- author -->" | safeHTML }}
|
||
|
<meta property="article:publisher" content="{{ . }}" />
|
||
|
<meta property="og:article:author" content="{{ . }}" />
|
||
|
<meta property="article:author" content="{{ . }}" />
|
||
|
<meta name="author" content="{{ . }}" />
|
||
|
{{- end -}}
|
||
|
|
||
|
{{/*=== published and updated ===*/}}
|
||
|
{{ "<!-- time -->" | safeHTML }}
|
||
|
{{- with .Date }}
|
||
|
<meta property="og:article:published_time" content={{ .Format "2006-01-02T15:04:05Z0700" | safeHTML }} />
|
||
|
<meta property="article:published_time" content={{ .Format "2006-01-02T15:04:05Z0700" | safeHTML }} />
|
||
|
{{ end -}}
|
||
|
{{ with .Lastmod -}}
|
||
|
<meta property="og:updated_time" content={{ .Format "2006-01-02T15:04:05Z0700" | safeHTML }} />
|
||
|
{{ end -}}
|
||
|
|
||
|
{{/*=== section and keywords ===*/}}
|
||
|
{{- with.Params.category -}}
|
||
|
<meta name="news_keywords" content="{{ . }}" />
|
||
|
<meta property="article:section" content="{{ . }}" />
|
||
|
{{- end -}}
|
||
|
{{- with .Params.tags }}
|
||
|
<meta name="keywords" content='{{ delimit . " "}}'>
|
||
|
{{- end -}}
|
||
|
|
||
|
{{- if isset .Params "date" -}}
|
||
|
{{ "<!-- article metadata -->" | safeHTML }}
|
||
|
<meta property="og:type" content="article" />
|
||
|
<script defer type="application/ld+json">
|
||
|
{
|
||
|
"@context": "http://schema.org",
|
||
|
"@type": "Article",
|
||
|
"headline": {{ .Title }},
|
||
|
"author": {
|
||
|
"@type": "Person",
|
||
|
"name": "{{ or .Params.author .Site.Params.author }}"
|
||
|
},
|
||
|
"datePublished": "{{ .Date.Format "2006-01-02" }}",
|
||
|
"description": {{ or .Description .Summary }},
|
||
|
"wordCount": {{ .WordCount }},
|
||
|
"mainEntityOfPage": "True",
|
||
|
"dateModified": "{{ .Lastmod.Format "2006-01-02" }}",
|
||
|
"image": {
|
||
|
"@type": "imageObject",
|
||
|
"url": "{{ with or .Params.cover $cover $icon }}{{ .Permalink | absURL }}{{ end }}"
|
||
|
},
|
||
|
"publisher": {
|
||
|
"@type": "Person",
|
||
|
"name": "{{ or .Params.author .Site.Params.author .Site.Title }}",
|
||
|
"logo": {
|
||
|
"@type": "imageObject",
|
||
|
"url": {{with $icon}}{{.Permalink}}{{else}}{{$staticIcon}}{{end}}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
</script>
|
||
|
{{- else -}}
|
||
|
{{ "<!-- webpage metadata -->" | safeHTML }}
|
||
|
<meta property="og:type" content="website" />
|
||
|
<script defer type="application/ld+json">
|
||
|
{
|
||
|
"@context": "http://schema.org",
|
||
|
"@type": "WebSite",
|
||
|
"url": {{ .Permalink }},
|
||
|
"name": "{{ .Site.Title }}",
|
||
|
"logo": {{with $icon}}{{.Permalink}}{{else}}{{$staticIcon}}{{end}}
|
||
|
}
|
||
|
</script>
|
||
|
{{- end -}}
|
||
|
|
||
|
{{/* auxiliary info */}}
|
||
|
{{ "<!-- site presentation -->" | safeHTML }}
|
||
|
{{- with $icon }}
|
||
|
<link rel="shortcut icon" href='{{ .Permalink }}' sizes="{{.Width}}x{{.Height}}">
|
||
|
{{- else }}
|
||
|
<link rel="shortcut icon" href='{{ $staticIcon }}' sizes="512x512">
|
||
|
{{- end }}
|
||
|
<meta name="theme-color" content="#ffffff" />
|
||
|
<meta name="msapplication-TileColor" content="#ffffff" />
|
||
|
<link rel="sitemap" type="application/xml" title="Sitemap" href="{{ .Site.BaseURL }}sitemap.xml" />
|
||
|
{{ with .OutputFormats.Get "RSS" -}}
|
||
|
<link href="{{ .Permalink }}" rel="feed alternate" type="application/rss+xml" title="{{ $.Site.Title }}" />
|
||
|
{{- end }}
|
||
|
<meta name="robots" content="index,follow" />
|
||
|
<meta name="googlebot" content="index,follow" />
|