{{ $page := .page }}
{{ $author_page := .author_page }}
{{ $site_type := site.Params.site_type | default "Person" }}
{{- $has_profile := not (eq nil $author_page.Params.superuser) -}}

{{/* Check an author profile exists. */}}
{{ if $has_profile }}
  {{/* If it's a personal site and primary page author is superuser, link to the homepage rather than their profile page. */}}
  {{ $profile_url := $author_page.RelPermalink }}
  {{ if and (eq $site_type "Person") (eq $author_page.Params.superuser true) }}
    {{ $profile_url = site.BaseURL }}
  {{ end }}
  {{ $avatar := ($author_page.Resources.ByType "image").GetMatch "*avatar*" }}
  {{ $avatar_shape := site.Params.avatar.shape | default "circle" }}
  <div class="media author-card content-widget-hr">
    {{ if and site.Params.avatar.gravatar $author_page.Params.email }}
      {{if $profile_url}}<a href="{{$profile_url}}">{{end}}<img class="avatar mr-3 {{if eq $avatar_shape "square"}}avatar-square{{else}}avatar-circle{{end}}" src="https://s.gravatar.com/avatar/{{ md5 $author_page.Params.email }}?s=200" alt="{{$author_page.Title}}">{{if $profile_url}}</a>{{end}}
    {{ else if $avatar }}
      {{ $avatar_image := $avatar.Fill "270x270 Center" }}
      {{if $profile_url}}<a href="{{$profile_url}}">{{end}}<img class="avatar mr-3 {{if eq $avatar_shape "square"}}avatar-square{{else}}avatar-circle{{end}}" src="{{ $avatar_image.RelPermalink }}" alt="{{$author_page.Title}}">{{if $profile_url}}</a>{{end}}
    {{ end }}

    <div class="media-body">
      <h5 class="card-title">{{if $profile_url}}<a href="{{$profile_url}}">{{end}}{{$author_page.Title}}{{if $profile_url}}</a>{{end}}</h5>
      {{ with $author_page.Params.role }}<h6 class="card-subtitle">{{. | markdownify | emojify}}</h6>{{end}}
      {{ with $author_page.Params.bio }}<p class="card-text">{{. | markdownify | emojify}}</p>{{end}}
      {{ partial "social_links" $author_page }}
    </div>
  </div>
{{end}}{{/* Profile page block */}}