-}}
  {{- $len := len .Page.Params.contributor -}}
  {{- range $index, $element := .Page.Params.contributor -}}
    {{- if and (eq $len 1) (eq $index 0) -}}
    {{ template "contrib-name-reverse-last" (dict "site" $.Site "page" . )}}{{- else if eq $index 0 -}}
    {{ template "contrib-name-reverse" (dict "site" $.Site "page" . )}}, {{ end -}}

    {{- if or (and (eq $len 2) (eq $index 1)) (and (eq $len 3) (eq $index 2)) -}}
    and {{ template "contrib-name-last" (dict "site" $.Site "page" . )}}
    {{- end