feat: update meta tags
This commit is contained in:
		@@ -6,20 +6,34 @@ titleSeparator = "-"
 | 
			
		||||
titleAddition = "Modern Documentation Theme"
 | 
			
		||||
description = "Doks is a Hugo theme helping you build modern documentation websites that are secure, fast, and SEO-ready — by default."
 | 
			
		||||
 | 
			
		||||
## Open Graph + Twitter Cards
 | 
			
		||||
## Open Graph
 | 
			
		||||
images = ["doks.png"]
 | 
			
		||||
twitterSite = "henkverlinde"
 | 
			
		||||
twitterCreator = "henkverlinde"
 | 
			
		||||
facebookAuthor = "verlinde.henk"
 | 
			
		||||
facebookPublisher = "verlinde.henk"
 | 
			
		||||
ogLocale = "en_US"
 | 
			
		||||
domainTLD = "doks.netlify.app"
 | 
			
		||||
titleHome = "Doks Theme"
 | 
			
		||||
 | 
			
		||||
## Twitter Cards
 | 
			
		||||
twitterSite = "@getdoks"
 | 
			
		||||
twitterCreator = "@henkverlinde"
 | 
			
		||||
 | 
			
		||||
## JSON-LD
 | 
			
		||||
# schemaType = "Person"
 | 
			
		||||
schemaType = "Organization"
 | 
			
		||||
schemaName = "Doks"
 | 
			
		||||
schemaAuthor = "Henk Verlinde"
 | 
			
		||||
schemaAuthorTwitter = "https://twitter.com/henkverlinde"
 | 
			
		||||
schemaAuthorLinkedIn = "https://www.linkedin.com/in/henkverlinde/"
 | 
			
		||||
schemaAuthorGitHub = "https://github.com/h-enk"
 | 
			
		||||
schemaLocale = "en-US"
 | 
			
		||||
schemaLogo = "logo-doks.png"
 | 
			
		||||
schemaTwitter = "https://twitter.com/henkverlinde"
 | 
			
		||||
schemaLinkedIn = "https://www.linkedin.com/in/henkverlinde/"
 | 
			
		||||
schemaGitHub = "https://github.com/h-enk"
 | 
			
		||||
schemaLogoWidth = 512
 | 
			
		||||
schemaLogoHeight = 512
 | 
			
		||||
schemaImage = "doks.png"
 | 
			
		||||
schemaImageWidth = 1280
 | 
			
		||||
schemaImageHeight = 640
 | 
			
		||||
schemaTwitter = "https://twitter.com/getdoks"
 | 
			
		||||
schemaLinkedIn = ""
 | 
			
		||||
schemaGitHub = "https://github.com/h-enk/doks"
 | 
			
		||||
schemaSection = "blog"
 | 
			
		||||
 | 
			
		||||
## Sitelinks Search Box
 | 
			
		||||
@@ -37,6 +51,7 @@ lqipWidth = "20x"
 | 
			
		||||
 | 
			
		||||
# Footer
 | 
			
		||||
footer = "Powered by <a href=\"https://www.netlify.com/\">Netlify</a>, <a href=\"https://gohugo.io/\">Hugo</a>, and <a href=\"https://getdoks.org/\">Doks</a>"
 | 
			
		||||
copyRight = "Copyright (c) 2020-2021 Henk Verlinde"
 | 
			
		||||
 | 
			
		||||
# Alert
 | 
			
		||||
alert = false
 | 
			
		||||
 
 | 
			
		||||
@@ -4,19 +4,19 @@
 | 
			
		||||
  {{ range $i, $e := .Data.Pages -}}
 | 
			
		||||
    {{ if ne .Params.sitemap_exclude true }}
 | 
			
		||||
    <url>
 | 
			
		||||
      <loc>{{ .RelPermalink }}</loc>{{ if not .Lastmod.IsZero }}
 | 
			
		||||
      <loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }}
 | 
			
		||||
      <lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}{{ with .Sitemap.ChangeFreq }}
 | 
			
		||||
      <changefreq>{{ . }}</changefreq>{{ end }}{{ if ge .Sitemap.Priority 0.0 }}
 | 
			
		||||
      <priority>{{ .Sitemap.Priority }}</priority>{{ end }}{{ if .IsTranslated }}{{ range .Translations }}
 | 
			
		||||
      <xhtml:link
 | 
			
		||||
                  rel="alternate"
 | 
			
		||||
                  hreflang="{{ .Lang }}"
 | 
			
		||||
                  href="{{ .RelPermalink }}"
 | 
			
		||||
                  href="{{ .Permalink }}"
 | 
			
		||||
                  />{{ end }}
 | 
			
		||||
      <xhtml:link
 | 
			
		||||
                  rel="alternate"
 | 
			
		||||
                  hreflang="{{ .Lang }}"
 | 
			
		||||
                  href="{{ .RelPermalink }}"
 | 
			
		||||
                  href="{{ .Permalink }}"
 | 
			
		||||
                  />{{ end }}
 | 
			
		||||
    </url>
 | 
			
		||||
    {{ end -}}
 | 
			
		||||
@@ -25,19 +25,19 @@
 | 
			
		||||
    {{ range $i, $e := .Data.Pages -}}
 | 
			
		||||
      {{ if ne .Params.sitemap_exclude true -}}
 | 
			
		||||
      <url>
 | 
			
		||||
        <loc>{{ .RelPermalink }}</loc>{{ if not .Lastmod.IsZero }}
 | 
			
		||||
        <loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }}
 | 
			
		||||
        <lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}{{ with .Sitemap.ChangeFreq }}
 | 
			
		||||
        <changefreq>{{ . }}</changefreq>{{ end }}{{ if ge .Sitemap.Priority 0.0 }}
 | 
			
		||||
        <priority>{{ .Sitemap.Priority }}</priority>{{ end }}{{ if .IsTranslated }}{{ range .Translations }}
 | 
			
		||||
        <xhtml:link
 | 
			
		||||
                    rel="alternate"
 | 
			
		||||
                    hreflang="{{ .Lang }}"
 | 
			
		||||
                    href="{{ .RelPermalink }}"
 | 
			
		||||
                    href="{{ .Permalink }}"
 | 
			
		||||
                    />{{ end }}
 | 
			
		||||
        <xhtml:link
 | 
			
		||||
                    rel="alternate"
 | 
			
		||||
                    hreflang="{{ .Lang }}"
 | 
			
		||||
                    href="{{ .RelPermalink }}"
 | 
			
		||||
                    href="{{ .Permalink }}"
 | 
			
		||||
                    />{{ end }}
 | 
			
		||||
      </url>
 | 
			
		||||
      {{ end -}}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
# redirects for Netlify - https://www.netlify.com/docs/redirects/
 | 
			
		||||
{{- range $p := .Site.Pages -}}
 | 
			
		||||
{{- range .Aliases }}
 | 
			
		||||
{{ . }} {{ $p.RelRelPermalink -}}
 | 
			
		||||
{{ . }} {{ $p.RelPermalink -}}
 | 
			
		||||
{{- end }}
 | 
			
		||||
{{- end -}}
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
<meta name="theme-color" content="{{ $.Site.Params.themeColor }}">
 | 
			
		||||
<link rel="apple-touch-icon" sizes="180x180" href="{{ "apple-touch-icon.png" | relURL }}">
 | 
			
		||||
<link rel="icon" type="image/png" sizes="32x32" href="{{ "favicon-32x32.png" | relURL }}">
 | 
			
		||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ "favicon-16x16.png" | relURL }}">
 | 
			
		||||
<link rel="manifest" crossorigin="use-credentials" href="{{ "site.webmanifest" | relURL }}">
 | 
			
		||||
<link rel="apple-touch-icon" sizes="180x180" href="{{ "apple-touch-icon.png" | absURL }}">
 | 
			
		||||
<link rel="icon" type="image/png" sizes="32x32" href="{{ "favicon-32x32.png" | absURL }}">
 | 
			
		||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ "favicon-16x16.png" | absURL }}">
 | 
			
		||||
<link rel="manifest" crossorigin="use-credentials" href="{{ "site.webmanifest" | absURL }}">
 | 
			
		||||
 
 | 
			
		||||
@@ -1,30 +1,15 @@
 | 
			
		||||
<meta property="og:locale" content="{{ .Site.Params.ogLocale }}">
 | 
			
		||||
<meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}">
 | 
			
		||||
<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 }}">
 | 
			
		||||
{{ if $.Scratch.Get "paginator" -}}
 | 
			
		||||
  {{ $paginator := .Paginate (where .Site.RegularPages.ByDate.Reverse "Section" "blog" ) -}}
 | 
			
		||||
  <meta property="og:url" content="{{ .Paginator.URL | relURL }}">
 | 
			
		||||
  <meta property="og:url" content="{{ .Paginator.URL | absURL }}">
 | 
			
		||||
{{ else -}}
 | 
			
		||||
  <meta property="og:url" content="{{ .RelPermalink }}">
 | 
			
		||||
  <meta property="og:url" content="{{ .Permalink }}">
 | 
			
		||||
{{ end -}}
 | 
			
		||||
 | 
			
		||||
{{ with $.Params.images -}}
 | 
			
		||||
  {{ range first 6 . -}}
 | 
			
		||||
  <meta property="og:image" content="{{ $.RelPermalink }}{{ . }}">
 | 
			
		||||
  {{ 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.RelPermalink }}"/>
 | 
			
		||||
  {{ else -}}
 | 
			
		||||
    {{ with $.Site.Params.images -}}
 | 
			
		||||
      <meta property="og:image" content="{{ index . 0 | relURL }}"/>
 | 
			
		||||
    {{ end -}}
 | 
			
		||||
  {{ end -}}
 | 
			
		||||
{{ with .Site.Params.title -}}
 | 
			
		||||
  <meta property="og:site_name" content="{{ . }}">
 | 
			
		||||
{{ end -}}
 | 
			
		||||
 | 
			
		||||
{{ $iso8601 := "2006-01-02T15:04:05-07:00" -}}
 | 
			
		||||
@@ -43,51 +28,42 @@
 | 
			
		||||
  {{ end -}}
 | 
			
		||||
{{ end -}}
 | 
			
		||||
 | 
			
		||||
{{ if eq .Kind "home" -}}
 | 
			
		||||
  {{ .Scratch.Set "title" .Site.Params.titleHome -}}
 | 
			
		||||
{{ else -}}
 | 
			
		||||
  {{ .Scratch.Set "title" .Title -}}
 | 
			
		||||
{{ end -}}
 | 
			
		||||
 | 
			
		||||
{{ with $.Params.images -}}
 | 
			
		||||
  {{ range first 6 . -}}
 | 
			
		||||
  <meta property="og:image" content="{{ $.Permalink }}{{ . }}">
 | 
			
		||||
  {{ 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 }}"/>
 | 
			
		||||
      <meta property="og:image:alt" content="{{ $.Site.Params.title }}">
 | 
			
		||||
    {{ end -}}
 | 
			
		||||
  {{ end -}}
 | 
			
		||||
{{ end -}}
 | 
			
		||||
 | 
			
		||||
{{ with $.Site.Params.images -}}
 | 
			
		||||
  {{ $.Scratch.Set "primaryImage" (index . 0 | absURL) -}}
 | 
			
		||||
{{ 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="{{ . }}">
 | 
			
		||||
  <meta property="og:audio" content="{{ . | absURL }}">
 | 
			
		||||
{{ end -}}
 | 
			
		||||
 | 
			
		||||
{{ with .Params.videos -}}
 | 
			
		||||
  {{ range . -}}
 | 
			
		||||
    <meta property="og:video" content="{{ . | relURL }}">
 | 
			
		||||
    <meta property="og:video" content="{{ . | absURL }}">
 | 
			
		||||
  {{ end -}}
 | 
			
		||||
{{ end -}}
 | 
			
		||||
 | 
			
		||||
{{ $RelPermalink := .RelPermalink -}}
 | 
			
		||||
{{ $siteSeries := .Site.Taxonomies.series -}}
 | 
			
		||||
{{ with .Params.series -}}
 | 
			
		||||
  {{ range $name := . -}}
 | 
			
		||||
    {{ $series := index $siteSeries $name -}}
 | 
			
		||||
    {{ range $page := first 6 $series.Pages -}}
 | 
			
		||||
      {{ if ne $page.RelPermalink $RelPermalink -}}
 | 
			
		||||
        <meta property="og:see_also" content="{{ $page.RelPermalink }}">
 | 
			
		||||
      {{ 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 -}}
 | 
			
		||||
 | 
			
		||||
{{ with .Site.Social.facebook_admin -}}
 | 
			
		||||
  <meta property="fb:admins" content="{{ . }}">
 | 
			
		||||
{{ end -}}
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
<link rel="preload" as="font" href="{{ "fonts/vendor/jost/jost-v4-latin-regular.woff2" | relURL }}" type="font/woff2" crossorigin>
 | 
			
		||||
<link rel="preload" as="font" href="{{ "fonts/vendor/jost/jost-v4-latin-700.woff2" | relURL }}" type="font/woff2" crossorigin>
 | 
			
		||||
<link rel="preload" as="font" href="{{ "fonts/vendor/jost/jost-v4-latin-regular.woff2" | absURL }}" type="font/woff2" crossorigin>
 | 
			
		||||
<link rel="preload" as="font" href="{{ "fonts/vendor/jost/jost-v4-latin-700.woff2" | absURL }}" type="font/woff2" crossorigin>
 | 
			
		||||
{{ if .Site.Params.options.kaTex -}}
 | 
			
		||||
  <link rel="preload" as="font" href="{{ "fonts/KaTeX_Main-Regular.woff2" | relURL }}" type="font/woff2" crossorigin>
 | 
			
		||||
  <link rel="preload" as="font" href="{{ "fonts/KaTeX_Math-Italic.woff2" | relURL }}" type="font/woff2" crossorigin>
 | 
			
		||||
  <link rel="preload" as="font" href="{{ "fonts/KaTeX_Main-Regular.woff2" | absURL }}" type="font/woff2" crossorigin>
 | 
			
		||||
  <link rel="preload" as="font" href="{{ "fonts/KaTeX_Math-Italic.woff2" | absURL }}" type="font/woff2" crossorigin>
 | 
			
		||||
{{ end -}}
 | 
			
		||||
@@ -2,11 +2,11 @@
 | 
			
		||||
  <meta name="robots" content="noindex, follow">
 | 
			
		||||
{{ else -}}
 | 
			
		||||
  {{ with .Params.robots -}}
 | 
			
		||||
  <meta name="robots" content="{{ . }}">
 | 
			
		||||
    <meta name="robots" content="{{ . }}">
 | 
			
		||||
  {{ else -}}
 | 
			
		||||
  <meta name="robots" content="index, follow">
 | 
			
		||||
  <meta name="googlebot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
 | 
			
		||||
  <meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
 | 
			
		||||
    <meta name="robots" content="index, follow">
 | 
			
		||||
    <meta name="googlebot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
 | 
			
		||||
    <meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
 | 
			
		||||
  {{ end -}}
 | 
			
		||||
{{ end -}}
 | 
			
		||||
 | 
			
		||||
@@ -23,28 +23,22 @@
 | 
			
		||||
{{ end -}}
 | 
			
		||||
 | 
			
		||||
{{ if $.Scratch.Get "paginator" }}
 | 
			
		||||
  <link rel="canonical" href="{{ .Paginator.URL | relURL }}">
 | 
			
		||||
  <link rel="canonical" href="{{ .Paginator.URL | absURL }}">
 | 
			
		||||
  {{ if .Paginator.HasPrev -}}
 | 
			
		||||
    <link rel="prev" href="{{ .Paginator.Prev.URL | relURL }}">
 | 
			
		||||
    <link rel="prev" href="{{ .Paginator.Prev.URL | absURL }}">
 | 
			
		||||
  {{ end -}}
 | 
			
		||||
  {{ if .Paginator.HasNext -}}
 | 
			
		||||
    <link rel="next" href="{{ .Paginator.Next.URL | relURL }}">
 | 
			
		||||
    <link rel="next" href="{{ .Paginator.Next.URL | absURL }}">
 | 
			
		||||
  {{ end -}}
 | 
			
		||||
{{ else -}}
 | 
			
		||||
  <link rel="canonical" href="{{ .RelPermalink }}">
 | 
			
		||||
{{ else  -}}
 | 
			
		||||
  <link rel="canonical" href="{{ .Permalink }}">
 | 
			
		||||
{{ end -}}
 | 
			
		||||
 | 
			
		||||
{{ partial "head/twitter_cards.html" . }}
 | 
			
		||||
<meta name="twitter:site" content="@{{ .Site.Params.twitterSite }}">
 | 
			
		||||
<meta name="twitter:creator" content="@{{ .Site.Params.twitterCreator }}">
 | 
			
		||||
 | 
			
		||||
{{ partial "head/opengraph.html" . }}
 | 
			
		||||
<meta property="article:publisher" content="https://www.facebook.com/{{ .Site.Params.facebookPublisher }}">
 | 
			
		||||
<meta property="article:author" content="https://www.facebook.com/{{ .Site.Params.facebookAuthor }}">
 | 
			
		||||
<meta property="og:locale" content="{{ .Site.Params.ogLocale }}">
 | 
			
		||||
{{ partial "head/twitter_cards.html" . }}
 | 
			
		||||
 | 
			
		||||
{{ range .AlternativeOutputFormats -}}
 | 
			
		||||
  <link rel="{{ .Rel }}" type="{{ .MediaType.Type }}" href="{{ .RelPermalink | safeURL }}">
 | 
			
		||||
  <link rel="{{ .Rel }}" type="{{ .MediaType.Type }}" href="{{ .Permalink | safeURL }}">
 | 
			
		||||
{{ end -}}
 | 
			
		||||
 | 
			
		||||
{{ partial "head/structured-data.html" . }}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,89 +1,10 @@
 | 
			
		||||
{{ if .IsHome -}}
 | 
			
		||||
  {{ if eq .Site.Params.schemaType "Organization" -}}
 | 
			
		||||
    <script type="application/ld+json">
 | 
			
		||||
    {
 | 
			
		||||
      "@context": "https://schema.org",
 | 
			
		||||
      "@type": "Organization",
 | 
			
		||||
      "url": "{{ "/" | relURL }}",
 | 
			
		||||
      "name": "{{ .Site.Params.title }}",
 | 
			
		||||
      "logo": "{{ "/" | relURL }}{{ .Site.Params.schemaLogo }}",
 | 
			
		||||
      "sameAs": [
 | 
			
		||||
        "{{ .Site.Params.schemaTwitter | safeURL }}",
 | 
			
		||||
        "{{ .Site.Params.schemaLinkedIn | safeURL }}",
 | 
			
		||||
        "{{ .Site.Params.schemaGitHub | safeURL }}"
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
    </script>
 | 
			
		||||
  {{ end -}}
 | 
			
		||||
  {{ if eq .Site.Params.schemaType "Person" -}}
 | 
			
		||||
    <script type="application/ld+json">
 | 
			
		||||
    {
 | 
			
		||||
      "@context": "https://schema.org",
 | 
			
		||||
      "@type": "Person",
 | 
			
		||||
      "url": "{{ "/" | relURL }}",
 | 
			
		||||
      "name": "{{ .Site.Params.title }}",
 | 
			
		||||
      "sameAs": [
 | 
			
		||||
        "{{ .Site.Params.schemaTwitter | safeURL }}",
 | 
			
		||||
        "{{ .Site.Params.schemaLinkedIn | safeURL }}",
 | 
			
		||||
        "{{ .Site.Params.schemaGitHub | safeURL }}"
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
    </script>
 | 
			
		||||
  {{ end -}}
 | 
			
		||||
  {{ if .Site.Params.siteLinksSearchBox -}}
 | 
			
		||||
    <script type="application/ld+json">
 | 
			
		||||
    {
 | 
			
		||||
      "@context": "https://schema.org",
 | 
			
		||||
      "@type": "WebSite",
 | 
			
		||||
      "url": "{{ "/" | relURL }}",
 | 
			
		||||
      "potentialAction": {
 | 
			
		||||
        "@type": "SearchAction",
 | 
			
		||||
        "target": "{{ "/" | relURL }}?q={search_term_string}",
 | 
			
		||||
        "query-input": "required name=search_term_string"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    </script>
 | 
			
		||||
  {{ end -}}
 | 
			
		||||
{{ end -}}
 | 
			
		||||
{{ if .IsPage -}}
 | 
			
		||||
  {{ if eq .Section .Site.Params.schemaSection -}}
 | 
			
		||||
    <script type="application/ld+json">
 | 
			
		||||
    {
 | 
			
		||||
      "@context": "https://schema.org",
 | 
			
		||||
      "@type": "Article",
 | 
			
		||||
      "mainEntityOfPage": {
 | 
			
		||||
        "@type": "WebPage",
 | 
			
		||||
        "@id": "{{ .RelPermalink }}"
 | 
			
		||||
      },
 | 
			
		||||
      "headline": "{{ .Title }}",
 | 
			
		||||
      "image": [{{ range $i, $e := .Params.images }}{{ if $i }}, {{ end }}{{ printf "%s%s" $.RelPermalink $e }}{{ end }}],
 | 
			
		||||
      "datePublished": "{{ .PublishDate.Format "2006-01-02T15:04:05CET" }}",
 | 
			
		||||
      "dateModified": "{{ .Lastmod.Format "2006-01-02T15:04:05CET" }}",
 | 
			
		||||
      "author": {
 | 
			
		||||
        "@type": "{{ .Site.Params.schemaType }}",
 | 
			
		||||
        "name": "{{ .Site.Params.title }}"
 | 
			
		||||
      },
 | 
			
		||||
      "publisher": {
 | 
			
		||||
        "@type": "{{ .Site.Params.schemaType }}",
 | 
			
		||||
        "name": "{{ .Site.Params.title }}",
 | 
			
		||||
        {{ if eq .Site.Params.schemaType "Organization" -}}
 | 
			
		||||
        "logo": {
 | 
			
		||||
          "@type": "ImageObject",
 | 
			
		||||
          "url": "{{ "/" | relURL }}{{ .Site.Params.schemaLogo }}"
 | 
			
		||||
        }
 | 
			
		||||
        {{ end -}}
 | 
			
		||||
      },
 | 
			
		||||
      "description": "{{ .Description }}"
 | 
			
		||||
    }
 | 
			
		||||
    </script>
 | 
			
		||||
  {{ end -}}
 | 
			
		||||
{{ end -}}
 | 
			
		||||
{{ $baseURL := "/" | absURL -}}
 | 
			
		||||
 | 
			
		||||
{{ $dot := . -}}
 | 
			
		||||
{{ $dot.Scratch.Set "path" "" -}}
 | 
			
		||||
{{ $dot.Scratch.Set "breadcrumb" slice -}}
 | 
			
		||||
 | 
			
		||||
{{ $url := replace .RelPermalink ( printf "%s" .Site.BaseURL) "" -}}
 | 
			
		||||
{{ $url := replace .Permalink ( printf "%s" .Site.BaseURL) "" -}}
 | 
			
		||||
{{ $.Scratch.Add "path" .Site.BaseURL -}}
 | 
			
		||||
 | 
			
		||||
{{ $.Scratch.Add "breadcrumb" (slice (dict "url" .Site.BaseURL "name" "home" "position" 1 )) -}}
 | 
			
		||||
@@ -97,13 +18,193 @@
 | 
			
		||||
 | 
			
		||||
<script type="application/ld+json">
 | 
			
		||||
{
 | 
			
		||||
  "@context": "http://schema.org",
 | 
			
		||||
  "@type": "BreadcrumbList",
 | 
			
		||||
  "itemListElement": [{{ range $.Scratch.Get "breadcrumb" }}{{ if ne .position 1 }},{{ end }}{
 | 
			
		||||
  "@context": "https://schema.org",
 | 
			
		||||
  "@graph": [
 | 
			
		||||
    {
 | 
			
		||||
      {{ if eq .Site.Params.schemaType "Organization" -}}
 | 
			
		||||
        "@type": "Organization",
 | 
			
		||||
        "@id": {{ print $baseURL "#/schema/organization/1" }},
 | 
			
		||||
      {{ else -}}
 | 
			
		||||
        "@type": "Person",
 | 
			
		||||
        "@id": {{ print $baseURL "#/schema/person/1" }},
 | 
			
		||||
      {{ end -}}
 | 
			
		||||
      "name": "{{ .Site.Params.schemaName }}",
 | 
			
		||||
      "url": {{ print $baseURL }},
 | 
			
		||||
      "sameAs": [
 | 
			
		||||
        {{ with .Site.Params.schemaTwitter -}}
 | 
			
		||||
        {{ . }}
 | 
			
		||||
        {{ end -}}
 | 
			
		||||
        {{ with .Site.Params.schemaLinkedIn -}}
 | 
			
		||||
        , {{ . }}
 | 
			
		||||
        {{ end -}}
 | 
			
		||||
        {{ with .Site.Params.schemaGitHub -}}
 | 
			
		||||
        , {{ . }}
 | 
			
		||||
        {{ end -}}
 | 
			
		||||
      ],
 | 
			
		||||
      {{ if eq .Site.Params.schemaType "Organization" -}}
 | 
			
		||||
        "logo": {
 | 
			
		||||
          "@type": "ImageObject",
 | 
			
		||||
          "@id": {{ print $baseURL "#/schema/image/1"}},
 | 
			
		||||
          "url": {{ print $baseURL .Site.Params.schemaLogo }},
 | 
			
		||||
          "width": {{ .Site.Params.schemaLogoWidth }},
 | 
			
		||||
          "height": {{ .Site.Params.schemaLogoHeight }},
 | 
			
		||||
          "caption": "{{ .Site.Params.schemaName }}"
 | 
			
		||||
        },
 | 
			
		||||
        "image": {
 | 
			
		||||
          "@id": {{ print $baseURL "#/schema/image/1" }}
 | 
			
		||||
        }
 | 
			
		||||
      {{ else -}}
 | 
			
		||||
        "image": {
 | 
			
		||||
          "@type": "ImageObject",
 | 
			
		||||
          "@id": {{ print $baseURL "#/schema/image/1"}},
 | 
			
		||||
          "url": {{ print $baseURL .Site.Params.schemaImage }},
 | 
			
		||||
          "width": {{ .Site.Params.schemaImageWidth }},
 | 
			
		||||
          "height": {{ .Site.Params.schemaImageHeight }},
 | 
			
		||||
          "caption": "{{ .Site.Params.schemaName }}"
 | 
			
		||||
        }
 | 
			
		||||
      {{ end -}}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "@type": "WebSite",
 | 
			
		||||
      "@id": {{ print $baseURL "#/schema/website/1" }},
 | 
			
		||||
      "url": {{ print $baseURL }},
 | 
			
		||||
      "name": "{{ .Site.Params.title }}",
 | 
			
		||||
      "description": "{{ .Site.Params.description }}",
 | 
			
		||||
      {{ if eq .Site.Params.schemaType "Organization" -}}
 | 
			
		||||
        "publisher": {
 | 
			
		||||
          "@id": {{ print $baseURL "#/schema/organization/1" }}
 | 
			
		||||
        }
 | 
			
		||||
      {{ else -}}
 | 
			
		||||
        "publisher": {
 | 
			
		||||
          "@id": {{ print $baseURL "#/schema/person/1" }}
 | 
			
		||||
        }
 | 
			
		||||
      {{ end -}}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      {{ if and (ne .Kind "taxonomy") (ne .Kind "term") -}}
 | 
			
		||||
        "@type": "WebPage",
 | 
			
		||||
      {{ else -}}
 | 
			
		||||
        "@type": "CollectionPage",
 | 
			
		||||
      {{ end -}}
 | 
			
		||||
      "@id": {{ .Permalink }},
 | 
			
		||||
      "url": {{ .Permalink }},
 | 
			
		||||
      "name": "{{ .Title }}",
 | 
			
		||||
      "description": "{{ .Description }}",
 | 
			
		||||
      "isPartOf": {
 | 
			
		||||
        "@id": {{ print $baseURL "#/schema/website/1" }}
 | 
			
		||||
      },
 | 
			
		||||
      {{ if eq .Site.Params.schemaType "Organization" -}}
 | 
			
		||||
        "about": {
 | 
			
		||||
          "@id": {{ print $baseURL "#/schema/organization/1" }}
 | 
			
		||||
        },
 | 
			
		||||
      {{ else -}}
 | 
			
		||||
        "about": {
 | 
			
		||||
          "@id": {{ print $baseURL "#/schema/person/1" }}
 | 
			
		||||
        },
 | 
			
		||||
      {{ end -}}
 | 
			
		||||
      "datePublished": "{{ .PublishDate.Format "2006-01-02T15:04:05CET" }}",
 | 
			
		||||
      "dateModified": "{{ .Lastmod.Format "2006-01-02T15:04:05CET" }}",
 | 
			
		||||
      "breadcrumb": {
 | 
			
		||||
        "@id": {{ print .Permalink "#/schema/breadcrumb/1" }}
 | 
			
		||||
      },
 | 
			
		||||
      "primaryImageOfPage": {
 | 
			
		||||
        "@id": {{ print .Permalink "#/schema/image/2" }}
 | 
			
		||||
      },
 | 
			
		||||
      "inLanguage": "{{ .Site.Params.schemaLocale }}",
 | 
			
		||||
      "potentialAction": [{
 | 
			
		||||
        "@type": "ReadAction", "target": [{{ .Permalink }}]
 | 
			
		||||
      }]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "@type": "BreadcrumbList",
 | 
			
		||||
      "@id": {{ print .Permalink "#/schema/breadcrumb/1" }},
 | 
			
		||||
      "name": "Breadcrumbs",
 | 
			
		||||
      "itemListElement": [{{ $list := $.Scratch.Get "breadcrumb" }}{{ $len := (len $list) }}{{ range $index, $element := $list }}{{ if ne .position 1 }},{{ end }}{
 | 
			
		||||
        "@type": "ListItem",
 | 
			
		||||
        "position": {{ .position }},
 | 
			
		||||
        "name": "{{ .name | humanize | title }}",
 | 
			
		||||
        "item": "{{ .url }}"
 | 
			
		||||
    }{{ end }}]
 | 
			
		||||
        "item": {
 | 
			
		||||
          {{ if ne (add $index 1) $len -}}
 | 
			
		||||
          "@type": "WebPage",
 | 
			
		||||
          "@id": {{ .url }},
 | 
			
		||||
          "url": {{ .url }},
 | 
			
		||||
          "name": "{{ .name | humanize | title }}"
 | 
			
		||||
          {{ else -}}
 | 
			
		||||
          "@id": {{ .url }}
 | 
			
		||||
          {{ end -}}
 | 
			
		||||
        }
 | 
			
		||||
        }{{ end }}]
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    {{ if and (eq .Kind "page") (or (eq .Section "blog") (eq .Section "docs") (eq .Section "tutorial") (eq .Section "showcase")) -}}
 | 
			
		||||
    {
 | 
			
		||||
      "@context": "https://schema.org",
 | 
			
		||||
      "@graph": [
 | 
			
		||||
        {
 | 
			
		||||
          "@type": "Article",
 | 
			
		||||
          "@id": {{ print $baseURL "#/schema/article/1" }},
 | 
			
		||||
          "headline": "{{ .Title }}",
 | 
			
		||||
          "description": "{{ .Description }}",
 | 
			
		||||
          "isPartOf": {
 | 
			
		||||
            "@id": {{ .Permalink }}
 | 
			
		||||
          },
 | 
			
		||||
          "mainEntityOfPage": {
 | 
			
		||||
            "@id": {{ .Permalink }}
 | 
			
		||||
          },
 | 
			
		||||
          "datePublished": "{{ .PublishDate.Format "2006-01-02T15:04:05CET" }}",
 | 
			
		||||
          "dateModified": "{{ .Lastmod.Format "2006-01-02T15:04:05CET" }}",
 | 
			
		||||
          "author": {
 | 
			
		||||
            "@id": {{ print $baseURL "#/schema/person/2" }}
 | 
			
		||||
          },
 | 
			
		||||
          {{ if eq .Site.Params.schemaType "Organization" -}}
 | 
			
		||||
            "publisher": {
 | 
			
		||||
              "@id": {{ print $baseURL "#/schema/organization/1" }}
 | 
			
		||||
            },
 | 
			
		||||
          {{ else -}}
 | 
			
		||||
            "publisher": {
 | 
			
		||||
              "@id": {{ print $baseURL "#/schema/person/1" }}
 | 
			
		||||
            },
 | 
			
		||||
          {{ end -}}
 | 
			
		||||
          "image": {
 | 
			
		||||
            "@id": {{ print .Permalink "#/schema/image/2" }}
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "@context": "https://schema.org",
 | 
			
		||||
      "@graph": [
 | 
			
		||||
        {
 | 
			
		||||
          "@type": "Person",
 | 
			
		||||
          "@id": {{ print $baseURL "#/schema/person/2" }},
 | 
			
		||||
          "name": {{ .Site.Params.schemaAuthor }},
 | 
			
		||||
          "sameAs": [
 | 
			
		||||
            {{ with .Site.Params.schemaAuthorTwitter -}}
 | 
			
		||||
            {{ . }}
 | 
			
		||||
            {{ end -}}
 | 
			
		||||
            {{ with .Site.Params.schemaAuthorLinkedIn -}}
 | 
			
		||||
            , {{ . }}
 | 
			
		||||
            {{ end -}}
 | 
			
		||||
            {{ with .Site.Params.schemaAuthorGitHub -}}
 | 
			
		||||
            , {{ . }}
 | 
			
		||||
            {{ end -}}
 | 
			
		||||
          ]
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
    {{ end -}}
 | 
			
		||||
    {
 | 
			
		||||
      "@context": "https://schema.org",
 | 
			
		||||
      "@graph": [
 | 
			
		||||
        {
 | 
			
		||||
          "@type": "ImageObject",
 | 
			
		||||
          "@id": {{ print .Permalink "#/schema/image/2" }},
 | 
			
		||||
          "url": {{ $.Scratch.Get "primaryImage" }},
 | 
			
		||||
          "contentUrl": {{ $.Scratch.Get "primaryImage" }},
 | 
			
		||||
          "caption": "{{ .Title }}"
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
@@ -1,11 +1,11 @@
 | 
			
		||||
{{ if eq (hugo.Environment) "development" -}}
 | 
			
		||||
  {{ $options := (dict "targetPath" "main.css" "enableSourceMap" true "includePaths" (slice "node_modules")) -}}
 | 
			
		||||
  {{ $css := resources.Get "scss/app.scss" | toCSS $options -}}
 | 
			
		||||
  <link rel="stylesheet" href="{{ $css.RelPermalink }}">
 | 
			
		||||
  <link rel="stylesheet" href="{{ $css.Permalink }}">
 | 
			
		||||
{{ else -}}
 | 
			
		||||
  {{ $options := (dict "targetPath" "main.css" "outputStyle" "compressed" "includePaths" (slice "node_modules")) -}}
 | 
			
		||||
  {{ $css := resources.Get "scss/app.scss" | toCSS $options | postCSS (dict "config" "config/postcss.config.js") -}}
 | 
			
		||||
  {{ $secureCSS := $css | resources.Fingerprint "sha512" -}}
 | 
			
		||||
  <link rel="stylesheet" href="{{ $secureCSS.RelPermalink }}" integrity="{{ $secureCSS.Data.Integrity }}" crossorigin="anonymous">
 | 
			
		||||
  <link rel="stylesheet" href="{{ $secureCSS.Permalink }}" integrity="{{ $secureCSS.Data.Integrity }}" crossorigin="anonymous">
 | 
			
		||||
{{ end -}}
 | 
			
		||||
<noscript><style>img.lazyload { display: none; }</style></noscript>
 | 
			
		||||
@@ -1,6 +1,10 @@
 | 
			
		||||
<meta name="twitter:card" content="summary_large_image">
 | 
			
		||||
<meta name="twitter:site" content="{{ .Site.Params.twitterSite }}">
 | 
			
		||||
<meta name="twitter:creator" content="{{ .Site.Params.twitterCreator }}">
 | 
			
		||||
<meta name="twitter:title" content="{{ .Title }}">
 | 
			
		||||
<meta name="twitter:description" content="{{ .Description }}">
 | 
			
		||||
{{ with $.Params.images -}}
 | 
			
		||||
  <meta name="twitter:card" content="summary_large_image">
 | 
			
		||||
  <meta name="twitter:image" content="{{ $.RelPermalink }}{{ index . 0 }}">
 | 
			
		||||
  <meta name="twitter:image" content="{{ $.Permalink }}{{ index . 0 }}">
 | 
			
		||||
{{ else -}}
 | 
			
		||||
  {{ $images := $.Resources.ByType "image" -}}
 | 
			
		||||
  {{ $featured := $images.GetMatch "*feature*" -}}
 | 
			
		||||
@@ -8,26 +12,13 @@
 | 
			
		||||
    {{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" -}}
 | 
			
		||||
  {{ end -}}
 | 
			
		||||
  {{ with $featured -}}
 | 
			
		||||
    <meta name="twitter:card" content="summary_large_image">
 | 
			
		||||
    <meta name="twitter:image" content="{{ $featured.RelPermalink }}">
 | 
			
		||||
    <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 | relURL }}">
 | 
			
		||||
      <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 -}}
 | 
			
		||||
<meta name="twitter:image:alt" content="{{ .Title }}">
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
 | 
			
		||||
  <channel>
 | 
			
		||||
    <title>{{ if eq  .Title  .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }}</title>
 | 
			
		||||
    <link>{{ .RelPermalink }}</link>
 | 
			
		||||
    <link>{{ .Permalink }}</link>
 | 
			
		||||
    <description>Recent content {{ if ne  .Title  .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}</description>
 | 
			
		||||
    <generator>Hugo -- gohugo.io</generator>{{ with .Site.LanguageCode }}
 | 
			
		||||
    <language>{{.}}</language>{{end}}{{ with .Site.Author.email }}
 | 
			
		||||
@@ -11,15 +11,15 @@
 | 
			
		||||
    <copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
 | 
			
		||||
    <lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
 | 
			
		||||
    {{ with .OutputFormats.Get "RSS" }}
 | 
			
		||||
        {{ printf "<atom:link href=%q rel=\"self\" type=%q />" .RelPermalink .MediaType | safeHTML }}
 | 
			
		||||
        {{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
 | 
			
		||||
    {{ end }}
 | 
			
		||||
    {{ range .Pages }}{{ if ne .Params.feed_exclude true }}
 | 
			
		||||
    <item>
 | 
			
		||||
      <title>{{ .Title }}</title>
 | 
			
		||||
      <link>{{ .RelPermalink }}</link>
 | 
			
		||||
      <link>{{ .Permalink }}</link>
 | 
			
		||||
      <pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
 | 
			
		||||
      {{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}}
 | 
			
		||||
      <guid>{{ .RelPermalink }}</guid>
 | 
			
		||||
      <guid>{{ .Permalink }}</guid>
 | 
			
		||||
      <description>{{ .Summary | html }}</description>
 | 
			
		||||
    </item>
 | 
			
		||||
    {{ end }}{{ end }}
 | 
			
		||||
 
 | 
			
		||||
@@ -3,19 +3,19 @@
 | 
			
		||||
  xmlns:xhtml="http://www.w3.org/1999/xhtml">
 | 
			
		||||
  {{ range .Data.Pages }}{{ if ne .Params.sitemap_exclude true }}
 | 
			
		||||
  <url>
 | 
			
		||||
    <loc>{{ .RelPermalink }}</loc>{{ if not .Lastmod.IsZero }}
 | 
			
		||||
    <loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }}
 | 
			
		||||
    <lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}{{ with .Sitemap.ChangeFreq }}
 | 
			
		||||
    <changefreq>{{ . }}</changefreq>{{ end }}{{ if ge .Sitemap.Priority 0.0 }}
 | 
			
		||||
    <priority>{{ .Sitemap.Priority }}</priority>{{ end }}{{ if .IsTranslated }}{{ range .Translations }}
 | 
			
		||||
    <xhtml:link
 | 
			
		||||
                rel="alternate"
 | 
			
		||||
                hreflang="{{ .Lang }}"
 | 
			
		||||
                href="{{ .RelPermalink }}"
 | 
			
		||||
                href="{{ .Permalink }}"
 | 
			
		||||
                />{{ end }}
 | 
			
		||||
    <xhtml:link
 | 
			
		||||
                rel="alternate"
 | 
			
		||||
                hreflang="{{ .Lang }}"
 | 
			
		||||
                href="{{ .RelPermalink }}"
 | 
			
		||||
                href="{{ .Permalink }}"
 | 
			
		||||
                />{{ end }}
 | 
			
		||||
  </url>
 | 
			
		||||
  {{ end }}{{ end }}
 | 
			
		||||
 
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 972 B After Width: | Height: | Size: 972 B  | 
		Reference in New Issue
	
	Block a user