people.html 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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>{{ . }}</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" "authors") ".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 := "" }}
  24. {{ with site.GetPage (printf "/authors/%s" (path.Base (path.Split .Path).Dir)) }}
  25. {{ $link = .RelPermalink }}
  26. {{ end }}
  27. <div class="col-12 col-sm-auto people-person">
  28. {{ $src := "" }}
  29. {{ if site.Params.gravatar }}
  30. {{ $src = printf "https://s.gravatar.com/avatar/%s?s=200" (md5 .Params.email) }}
  31. {{ else if $avatar }}
  32. {{ $avatar_image := $avatar.Fill "150x150 Center" }}
  33. {{ $src = $avatar_image.RelPermalink }}
  34. {{ end }}
  35. {{ if $src }}
  36. {{with $link}}<a href="{{.}}">{{end}}<img class="portrait" src="{{ $src }}" alt="Avatar">{{if $link}}</a>{{end}}
  37. {{ end }}
  38. <div class="portrait-title">
  39. <h2>{{with $link}}<a href="{{.}}">{{end}}{{ .Params.name }}{{if $link}}</a>{{end}}</h2>
  40. {{ with .Params.role }}<h3>{{ . | markdownify | emojify }}</h3>{{ end }}
  41. {{ with .Params.interests }}<p class="people-interests">{{ delimit . ", " | markdownify | emojify }}</p>{{ end }}
  42. </div>
  43. </div>
  44. {{ end }}
  45. {{ end }}
  46. </div>