mirror of
https://github.com/nunocoracao/blowfish.git
synced 2026-10-17 17:25:25 +00:00
fix(schema): resolve article author from data/authors
schema.html always read the author from .Site.Params.Author, so the structured-data author was the site-level author (or empty) regardless of a post's `authors` front matter — even though the theme supports multiple authors via data/authors/. Resolve the first `authors` key against data/authors/ and emit that author's name, image and sameAs (from their social/links), falling back to the site-level author. Single-author output is unchanged apart from the additive image and sameAs fields. Fixes #2943 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
e9699d8c5d
commit
f8cedfbcd8
1 file changed
+19
-1
@@ -17,6 +17,22 @@
|
||||
</script>
|
||||
{{ 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 -}}
|
||||
<script type="application/ld+json">
|
||||
[{
|
||||
"@context": "https://schema.org",
|
||||
@@ -29,7 +45,9 @@
|
||||
"url" : {{ .Permalink }},
|
||||
"author" : {
|
||||
"@type": "Person",
|
||||
"name": "{{ .Site.Params.Author.name | safeJS }}"
|
||||
"name": "{{ $author.name | safeJS }}"{{ with $author.image }},
|
||||
"image": {{ . | absURL }}{{ end }}{{ if $sameAs }},
|
||||
"sameAs": [{{ range $i, $u := $sameAs }}{{ if $i }}, {{ end }}{{ $u }}{{ end }}]{{ end }}
|
||||
},
|
||||
{{ with .PublishDate }}"copyrightYear": "{{ .Format "2006" }}",{{ end }}
|
||||
{{ with .Date }}"dateCreated": "{{ .Format $iso8601 }}",{{ end }}
|
||||
|
||||
Reference in new issue
Block a user