{{ $dateFormat := default "Mon Jan 2, 2006" (index .Site.Params "date_format") }} {{/* get three random posts: 1 for large feature, 2 for small features */}} {{ range $index, $element := first 3 (where .Site.RegularPages "Section" "in" .Site.Params.mainSections) | shuffle }} {{ if eq $index 0 }} <div class="p-4 p-md-5 mb-4 text-white rounded bg-dark"> <div class="col-md-6 px-0"> <h1 class="display-4 font-italic">{{ .Title }}</h1> <p class="lead my-3">{{ substr .Description 0 110 }}</p> <p class="lead mb-0"><a href="{{ .Permalink }}" class="text-white fw-bold">Continue reading...</a></p> </div> </div> {{ end }} {{ if eq $index 1 }} <div class="row mb-2"> {{ end }} {{ if or (eq $index 1) (eq $index 2) }} <div class="col-md-6"> <div class="row g-0 border rounded overflow-hidden flex-md-row mb-4 shadow-sm h-md-300 position-relative"> <div class="col p-4 d-flex flex-column position-static"> <strong class="d-inline-block mb-2 text-primary">World</strong> <h3 class="mb-0">{{ .Title }}</h3> <div class="mb-1 text-muted">{{ if not .PublishDate.IsZero }}<time {{ .Date.Format "2006-01-02T15:04:05Z07:00" | printf "datetime=%q" | safeHTMLAttr }}>{{ .Date.Format $dateFormat }}</time>{{ end }}</div> <p class="card-text mb-auto">{{ substr .Description 0 110 }}</p> <a href="{{ .Permalink }}" class="stretched-link">Continue reading</a> </div> <div class="col-auto d-none d-lg-block"> {{ range first 1 (.Resources.ByType "image") }} {{/* get a local variable for the image because we will change context below */}} {{ $image := . }} {{/* set orientation to 1 just in case it doesnt exist in Exif */}} {{ $orientation := 1 }} {{ with .Exif }} {{ $orientation = .Tags.Orientation }} {{ if eq $orientation 8 }} {{/* Rotate image before cropping because Hugo's "Smart" cropping crops differently if we do it at the same time as .Fill with a rotation) and use 2x dimensions to keep the thumbnail crisp */}} {{ $RotatedImage := $image.Resize "480x600 r90" }} <img src={{ ($RotatedImage.Fill "480x600").RelPermalink }} width="240" height="300" /> {{ else }} <img src={{ ($image.Fill "480x600").RelPermalink }} width="240" height="300" /> {{ end }} {{ else }} <img src={{ ($image.Fill "480x600").RelPermalink }} width="240" height="300" /> {{ end }} {{ end }} </div> </div> </div> {{ end }} {{ end }} </div> {{- /* vim: set ts=2 sw=2 et: */}}