diff --git a/layouts/partials/schema.html b/layouts/partials/schema.html index 76d6ea0c..0962d439 100644 --- a/layouts/partials/schema.html +++ b/layouts/partials/schema.html @@ -17,6 +17,22 @@ {{ else }} {{- $iso8601 := "2006-01-02T15:04:05-07:00" -}} + {{- /* Resolve the author: first `authors` front matter key looked up in data/authors/, else the site author. */ -}} + {{- $author := .Site.Params.Author -}} + {{- with .Params.authors -}} + {{- with index site.Data.authors (index . 0 | lower) -}} + {{- $author = . -}} + {{- end -}} + {{- end -}} + {{- /* sameAs from social profiles: data/authors uses `social`, the site author uses `links` (each a {platform: url} map). */ -}} + {{- $sameAs := slice -}} + {{- range (or $author.social $author.links) -}} + {{- range $platform, $url := . -}} + {{- if not (strings.HasPrefix $url "mailto:") -}} + {{- $sameAs = $sameAs | append $url -}} + {{- end -}} + {{- end -}} + {{- end -}}