people.html 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. {{ $ := .root }}
  2. {{ $page := .page }}
  3. <div class="row justify-content-center people-widget">
  4. {{ with $page.Title }}
  5. <div class="col-md-12 section-heading">
  6. <h1>{{ . | markdownify | emojify }}</h1>
  7. {{ if $page.Params.subtitle }}<p>{{ $page.Params.subtitle | markdownify | emojify }}</p>{{ end }}
  8. </div>
  9. {{ end }}
  10. {{ with $page.Content }}
  11. <div class="col-md-12">
  12. <p>{{ . | markdownify }}</p>
  13. </div>
  14. {{ end }}
  15. {{ range $page.Params.user_groups }}
  16. <div class="col-md-12">
  17. <h2 class="mb-4">{{ . | markdownify }}</h2>
  18. </div>
  19. {{ $query := where (where $.Site.Pages "Section" "author") ".Params.user_groups" "intersect" (slice .) }}
  20. {{ range $query }}
  21. {{ $avatar := (.Resources.ByType "image").GetMatch "*avatar*" }}
  22. {{/* Get link to user's profile page. */}}
  23. {{ $link := printf "/authors/%s" (path.Base (path.Split .Path).Dir) | relURL }}
  24. <div class="col-12 col-sm-auto people-person">
  25. {{ $src := "" }}
  26. {{ if $.Site.Params.gravatar }}
  27. {{ $src = printf "https://s.gravatar.com/avatar/%s?s=200" (md5 .Params.email) }}
  28. {{ else if $avatar }}
  29. {{ $avatar_image := $avatar.Fill "150x150 Center" }}
  30. {{ $src = $avatar_image.RelPermalink }}
  31. {{ end }}
  32. {{ if $src }}
  33. <a href="{{ $link}}"><img class="portrait" src="{{ $src }}" alt="Avatar"></a>
  34. {{ end }}
  35. <div class="portrait-title">
  36. <h2><a href="{{ $link }}">{{ .Params.name }}</a></h2>
  37. {{ with .Params.role }}<h3>{{ . | markdownify | emojify }}</h3>{{ end }}
  38. {{ with .Params.interests }}<p class="people-interests">{{ delimit . ", " | markdownify | emojify }}</p>{{ end }}
  39. </div>
  40. </div>
  41. {{ end }}
  42. {{ end }}
  43. </div>