{{ $id := delimit (slice "carousel" (partial "functions/uid.html" .) (now.UnixNano)) "-" }} {{ $aspect := default "16-9" (.Get "aspectRatio") }} {{ $interval := default "2000" (.Get "interval") }} {{ $carouselItemCSS := printf ` #%s [data-twe-carousel-item] { transition-duration: %sms !important; }` $id $interval }} {{ $carouselInitCSS := printf ` #%s [data-twe-carousel-init] { --twe-carousel-interval: %s; }` $id $interval }} {{ $cssContent := printf "%s%s" $carouselItemCSS $carouselInitCSS }} {{ $css := resources.FromString (printf "css/carousel-%s.css" $id) $cssContent | minify | resources.Fingerprint (.Site.Params.fingerprintAlgorithm | default "sha512") }} {{ $page := .Page.Resources }} {{ $imagesTemp := .Get "images" }} {{ $imagesTemp = strings.TrimPrefix "{" $imagesTemp }} {{ $imagesTemp = strings.TrimSuffix "}" $imagesTemp }} {{ $imagesTemp := strings.Split $imagesTemp "," }} {{ $images := slice }} {{ range $imagesTemp }} {{ if or (strings.HasPrefix . "http:") (strings.HasPrefix . "https:") }} {{ $images = $images | append (resources.GetRemote .) }} {{ else }} {{ $images = $images | append ($page.Match .) }} {{ end }} {{ end }}
{{ $num := 0 }} {{ range $images }} {{ $num = add $num 1 }} {{ end }}
{{ range $index, $image := $images }} {{ $hiddenClass := cond (eq $index 0) "" "hidden" }}
carousel image {{ add $index 1 }}
{{ end }}