diff --git a/layouts/partials/functions/get_author_name.html b/layouts/partials/functions/get_author_name.html new file mode 100644 index 00000000..2c4b4896 --- /dev/null +++ b/layouts/partials/functions/get_author_name.html @@ -0,0 +1,26 @@ +{{/* Get name of primary author. */}} + +{{ $page := . }} + +{{/* Get publisher as fall back. */}} +{{ $publisher := site.Params.org_name | default site.Title }} + +{{ $author := "" }} +{{ $author_username := "" }} + +{{ if and (not $page.Params.authors) ($page.Scratch.Get "superuser_username") }} + {{ $author_username = $page.Scratch.Get "superuser_username" }} +{{ else if $page.Params.authors }} + {{ $author = index $page.Params.authors 0 }} + {{ $author_username = urlize $author }} +{{ end }} + +{{ $taxonomy := "authors" }} +{{ $profile_page := site.GetPage (printf "/%s/%s" $taxonomy $author_username) }} +{{ with $profile_page }} + {{ $author = .Params.name | default .Title }} +{{ else }} + {{ $author = $author | default $publisher }} +{{ end }} + +{{ return $author }} diff --git a/layouts/partials/jsonld/article.html b/layouts/partials/jsonld/article.html index cf08a8c8..79e5f845 100644 --- a/layouts/partials/jsonld/article.html +++ b/layouts/partials/jsonld/article.html @@ -8,20 +8,7 @@ {{ $schema = "BlogPosting" }} {{ end }} -{{/* Get author name. */}} -{{ $author_username := "" }} -{{ if and (not $page.Params.authors) ($page.Scratch.Get "superuser_username") }} - {{ $author_username = $page.Scratch.Get "superuser_username" }} -{{ else if $page.Params.authors }} - {{ $author_username = index $page.Params.authors 0 }} -{{ end }} -{{ $author := "" }} -{{ $taxonomy := "authors" }} -{{ $profile_page := site.GetPage (printf "/%s/%s" $taxonomy $author_username) }} -{{ with $profile_page }} - {{ $author = .Params.name | default .Title }} -{{ end }} - +{{ $author := partial "functions/get_author_name" $page }} {{ $publisher := site.Params.org_name | default site.Title }} {{ $logo_url := printf "img/%s" (site.Params.logo | default "icon-512.png") | absURL }} diff --git a/layouts/partials/jsonld/event.html b/layouts/partials/jsonld/event.html index 92c71bce..a8189451 100644 --- a/layouts/partials/jsonld/event.html +++ b/layouts/partials/jsonld/event.html @@ -1,20 +1,7 @@ {{ $page := .page }} {{ $summary := .summary }} {{ $featured_image := ($page.Resources.ByType "image").GetMatch "*featured*" }} - -{{/* Get author name. */}} -{{ $author_username := "" }} -{{ if and (not $page.Params.authors) ($page.Scratch.Get "superuser_username") }} - {{ $author_username = $page.Scratch.Get "superuser_username" }} -{{ else if $page.Params.authors }} - {{ $author_username = index $page.Params.authors 0 }} -{{ end }} -{{ $author := "" }} -{{ $taxonomy := "authors" }} -{{ $profile_page := site.GetPage (printf "/%s/%s" $taxonomy $author_username) }} -{{ with $profile_page }} - {{ $author = .Params.name | default .Title }} -{{ end }} +{{ $author := partial "functions/get_author_name" $page }}