{{- $params := .Params | merge .Site.Params.page -}} {{- /* Author data patch */ -}} {{- $authorDefault := dict "name" "" "link" "" "email" "" "avatar" "" -}} {{- $author := .Site.Params.author | merge $authorDefault -}} {{- $authorPost := dict -}} {{- if reflect.IsMap $params.author -}} {{- $authorPost = $params.author -}} {{- else if isset $params "author" -}} {{- warnf "检测到你的 author 参数格式错误,请参考主题文档设置为正常的格式。" -}} {{- $authorPost = dict "name" $params.author -}} {{- end -}} {{- if isset $authorPost "name" | and (ne $authorPost.name .Site.Params.author.name) -}} {{- $author = $authorPost | merge $authorDefault | merge $author -}} {{- else -}} {{- with $authorPost.link -}}{{ $author = dict "link" . | merge $author }}{{- end -}} {{- with $authorPost.email -}}{{ $author = dict "email" . | merge $author }}{{- end -}} {{- with $authorPost.avatar -}}{{ $author = dict "avatar" . | merge $author }}{{- end -}} {{- end -}} {{- $gravatar := .Site.Params.gravatar -}} {{- if $gravatar.enable | and $author.email -}} {{- with $gravatar -}} {{- $author = dict "avatar" (printf "https://%v/avatar/%v?s=32&d=%v" (path.Clean .Host | default "www.gravatar.com") (md5 $author.email) (.Style | default "")) | merge $author -}} {{- end -}} {{- end -}} {{- .Store.Set "author" $author -}} {{- $content := $author.name | default "Anonymous" -}} {{- $icon := dict "Class" "fa-solid fa-user-circle" -}} {{- if $author.avatar | and $params.authorAvatar -}} {{- $content = printf "%v %v" (dict "Src" $author.avatar "Class" "avatar" "Alt" $content | partial "plugin/image.html") $content -}} {{- $icon = "" -}} {{- end -}} {{- if $author.link -}} {{- $options := dict "Class" "author" "Destination" $author.link "Title" (T "single.author") "Rel" "author" "Icon" $icon "Content" $content -}} {{- partial "plugin/link.html" $options -}} {{- else -}} {{- with $icon -}} {{- . | partial "plugin/icon.html" }} {{ end -}} {{- $content | safeHTML -}} {{- end -}} {{- /* EOF */ -}}