summaryrefslogtreecommitdiffstats
path: root/layouts/partials
diff options
context:
space:
mode:
Diffstat (limited to 'layouts/partials')
-rw-r--r--layouts/partials/author.html6
-rw-r--r--layouts/partials/schema.org/article.html6
-rw-r--r--layouts/partials/site-author.html34
3 files changed, 42 insertions, 4 deletions
diff --git a/layouts/partials/author.html b/layouts/partials/author.html
index 2bfddb3..4ca1209 100644
--- a/layouts/partials/author.html
+++ b/layouts/partials/author.html
@@ -1,3 +1,5 @@
+{{- $siteAuthor := partial "site-author.html" . -}}
+
{{- /* First, check for current page author(s) */}}
{{- if .Params.author }}
{{- $author_type := (printf "%T" .Params.author) }}
@@ -7,6 +9,6 @@
{{- .Params.author }}
{{- end }}
{{- /* Otherwise, get site authors */}}
-{{- else if site.Author.name }}
- {{- site.Author.name }}
+{{- else if $siteAuthor.name }}
+ {{- $siteAuthor.name }}
{{- end -}}
diff --git a/layouts/partials/schema.org/article.html b/layouts/partials/schema.org/article.html
index fcec66b..f4112b6 100644
--- a/layouts/partials/schema.org/article.html
+++ b/layouts/partials/schema.org/article.html
@@ -13,6 +13,8 @@
{{- $logo := resources.Get (site.Params.assets.logo | default "/img/open-graph-logo.png") -}}
{{- $logo = $logo.Resize "96x96" }}
+{{- $siteAuthor := partial "site-author.html" . }}
+
<script type="application/ld+json" id="schema-data">
{
"@context": "https://schema.org",
@@ -51,10 +53,10 @@
],
{{- end }}
{{- else }}
- {{- with site.Author.name }}
+ {{- with $siteAuthor.name }}
"author": {
"@type": "Person",
- "name": {{ . }}{{ with site.Author.twitter }},
+ "name": {{ . }}{{ with $siteAuthor.twitter }},
"url": "https://twitter.com/{{ . }}"{{ end }}
},
{{- end }}
diff --git a/layouts/partials/site-author.html b/layouts/partials/site-author.html
new file mode 100644
index 0000000..1ddd06c
--- /dev/null
+++ b/layouts/partials/site-author.html
@@ -0,0 +1,34 @@
+{{- /*
+
+This partial is used to get the site author information.
+
+In Hugo v0.124.0, the site.Author variable was deprecated. Instead, it is recommended to use
+the "author" parameters in the site configuration file.
+
+This partial checks for the presence of author information in both site.Author and site.Params.author.
+If both are present, preference is given to site.Params.author.
+
+The result is stored in the $siteAuthor variable and returned by the partial.
+
+Usage:
+
+ {{ $siteAuthor := partial "site-author.html" . }}
+
+ {{ with $siteAuthor.name }} {{ . }} {{ end }}
+ {{ with $siteAuthor.email }} {{ . }} {{ end }}
+ {{ with $siteAuthor.github }} {{ . }} {{ end }}
+ {{ with $siteAuthor.twitter }} {{ . }} {{ end }}
+ {{ with $siteAuthor.location }} {{ . }} {{ end }}
+
+For more information, see: https://github.com/gohugoio/hugo/releases/tag/v0.124.0
+*/ -}}
+
+{{- $siteAuthor := dict "name" "" "email" "" "github" "" "twitter" "" "location" "" -}}
+
+{{- if site.Params.author -}}
+ {{- $siteAuthor = merge $siteAuthor site.Params.author -}}
+{{- else if site.Author -}}
+ {{- $siteAuthor = merge $siteAuthor site.Author -}}
+{{- end -}}
+
+{{- return $siteAuthor -}}