summaryrefslogtreecommitdiff
path: root/layouts/partials/json-ld.html
diff options
context:
space:
mode:
authorAlexandre Vicenzi <vicenzi.alexandre@gmail.com>2020-10-17 14:40:58 +0200
committerAlexandre Vicenzi <vicenzi.alexandre@gmail.com>2020-10-17 14:40:58 +0200
commitb607c6857a95b49df2e71042b82b41ca15d26eb3 (patch)
treec6dda838ab985454d1ca1bd06a32c231d5ecf1d9 /layouts/partials/json-ld.html
parentcd5751ef1425db3ed7e46fcaa7fafe53e494c286 (diff)
Layout improvements
- Tagline - Share buttons - JSON LD - Tags - Style Fixes
Diffstat (limited to 'layouts/partials/json-ld.html')
-rw-r--r--layouts/partials/json-ld.html134
1 files changed, 134 insertions, 0 deletions
diff --git a/layouts/partials/json-ld.html b/layouts/partials/json-ld.html
new file mode 100644
index 0000000..3976d43
--- /dev/null
+++ b/layouts/partials/json-ld.html
@@ -0,0 +1,134 @@
+{{ $ISO8601 := "2006-01-02T15:04:05-07:00" }}
+<script type="application/ld+json">
+{
+ "@context": "https://schema.org",
+ "@graph": [
+ {
+ "@type":"Person",
+ "@id": {{ .Site.BaseURL | printf "%s#author" }},
+ "name": {{ .Site.Params.author }},
+ "image": {
+ "@type":"ImageObject",
+ {{ with .Site.Params.gravatar -}}
+ "url": {{ md5 . | printf `"https://www.gravatar.com/avatar/%s?s=400&d=mp"` | safeJS }}
+ {{- else }}
+ {{ with .Site.Params.profilePicture -}}
+ "url": {{ . | absURL | printf `"%s"` | safeJS }}
+ {{ end -}}
+ {{ end }}
+ },
+ "description": {{ .Site.Params.description }}
+ },
+ {
+ "@type": "WebSite",
+ "@id": {{ .Site.BaseURL | printf "%s#website" }},
+ "url": {{ .Site.BaseURL }},
+ "name": {{ .Site.Title }},
+ "description": {{ .Site.Params.description }},
+ "publisher": {
+ "@id": {{ $.Site.BaseURL | printf "%s#author" }}
+ },
+ "inLanguage": {{ .Site.LanguageCode }}
+ },
+ {{- with .Site.Params.images -}}
+ {{- range . }}
+ {
+ "@type": "ImageObject",
+ "url": {{ . | absURL | printf `"%s"` | safeJS }},
+ "caption": {{ $.Site.Title }}
+ },
+ {{- end }}
+ {{- end }}
+ {
+ "@type": "WebPage",
+ "@id": {{ .Permalink | printf "%s#webpage" }},
+ "url": {{ .Permalink }},
+ "name": {{ .Title }},
+ "isPartOf": {
+ "@id": {{ .Site.BaseURL | printf "%s#website" }}
+ },
+ "about": {
+ "@id": {{ .Site.BaseURL | printf "%s#author" }}
+ },
+ {{- if not .PublishDate.IsZero }}
+ "datePublished": {{ .PublishDate.Format $ISO8601 }},
+ {{- end }}
+ {{- if not .Lastmod.IsZero }}
+ "dateModified": {{ .Lastmod.Format $ISO8601 }},
+ {{- end }}
+ "description": {{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end }},
+ "inLanguage": {{ .Site.LanguageCode }},
+ "potentialAction": [
+ {
+ "@type": "ReadAction",
+ "target": [
+ {{ .Permalink }}
+ ]
+ }
+ ]
+ }{{ if .IsPage }},
+ {
+ "@type": "Article",
+ "isPartOf": {
+ "@id": {{ .Permalink | printf "%s#webpage" }}
+ },
+ "mainEntityOfPage": {
+ "@id": {{ .Permalink | printf "%s#webpage" }}
+ },
+ "headline": {{ .Title }},
+ {{- with .Params.images }}
+ "image": [
+ {{- range $idx, $url := . -}}{{- if $idx -}},{{- end }}
+ {{ $url | absURL -}}
+ {{ end }}
+ ],
+ {{- end }}
+ {{- if not .PublishDate.IsZero }}
+ "datePublished": {{ .PublishDate.Format $ISO8601 }},
+ {{- end }}
+ {{- if not .Lastmod.IsZero }}
+ "dateModified": {{ .Lastmod.Format $ISO8601 }},
+ {{- end }}
+ "publisher": {
+ "@id": {{ .Site.BaseURL | printf "%s#author" }}
+ },
+ "keywords": [
+ {{- if isset .Params "tags" -}}
+ {{- range $idx, $cat := .Params.tags -}}
+ {{- with $.Site.GetPage "tags" -}}
+ {{- with .GetPage $cat -}}{{- if $idx -}},{{- end }}
+ {{ .Title -}}
+ {{ end -}}
+ {{- end -}}
+ {{- end -}}
+ {{- end }}
+ ],
+ "articleSection": [
+ {{- if isset .Params "categories" -}}
+ {{- range $idx, $cat := .Params.categories -}}
+ {{- with $.Site.GetPage "categories" -}}
+ {{- with .GetPage $cat -}}{{- if $idx -}},{{- end }}
+ {{ .Title -}}
+ {{ end -}}
+ {{- end -}}
+ {{- end -}}
+ {{- end }}
+ ],
+ "inLanguage": {{ .Site.LanguageCode }},
+ "author": {
+ "@type": "Person",
+ "name": {{ .Params.author }}
+ },
+ "potentialAction": [
+ {
+ "@type": "CommentAction",
+ "name": "Comment",
+ "target": [
+ {{ .Permalink | printf "%s#comments" }}
+ ]
+ }
+ ]
+ }{{ end }}
+ ]
+}
+</script>