{{ $page := . }} {{ $result := slice }} {{ if $page.Params.authors }} {{ range $page.Params.authors }} {{ $email := "" }} {{ $id := "" }} {{ $name := "" }} {{ $url := "" }} {{ if reflect.IsMap . }} {{ with .author }} {{ $id = . }} {{ $author := index site.Params.authors $id }} {{ $email = $author.email }} {{ $name = $author.name }} {{ $url = $author.url }} {{ else }} {{ $email = .email }} {{ $name = .name }} {{ $url = .url }} {{ end }} {{ else }} {{ $id = . }} {{ $author := index site.Params.authors $id }} {{ $email = $author.email }} {{ $name = $author.name }} {{ $url = $author.url }} {{ end }} {{ $result = $result | append (dict "email" $email "id" $id "name" $name "url" $url) }} {{ end }} {{ else if site.Params.authors }} {{ range $k, $v := site.Params.authors }} {{ if eq $v.default true }} {{ $result = $result | append (dict "email" $v.email "id" $k "name" $v.name "url" $v.url) }} {{ end }} {{ end }} {{ end }} {{ return $result }}