marzipano/layouts/shortcodes/slider.html

34 lines
1.5 KiB
HTML
Raw Normal View History

2024-10-02 20:01:42 +02:00
{{ $dir := (.Get "dir") }}
{{ if $dir }}
<div class="shortcode card border-primary rounded-3">
<div class="carousel slide mb-0" data-bs-ride="true" id="slider-{{ md5 $dir }}">
{{ $images := slice }}
{{ range readDir (print "/static" $dir) }}
{{ if (lower .Name | findRE "\\.(gif|jpg|jpeg|tiff|png|bmp|webp|avif|jxl)") }}
{{ $images = $images | append . }}
{{ end }}
{{ end }}
<div class="carousel-indicators mb-0">
{{ range $index, $image := $images }}
<button type="button mb-5" data-bs-target="#slider-{{ md5 $dir }}" data-bs-slide-to="{{ $index }}" {{ if eq $index 0 }}class="active"{{ end }}></button>
{{ end }}
</div>
<div class="carousel-inner mb-0">
{{ range $index, $image := $images }}
<div class="carousel-item mb-0 {{ if eq $index 0 }}active{{end}}">
<img src="{{ print $.Site.BaseURL $dir `/` $image.Name | absURL }}" class="d-block w-100 mb-0 rounded-3">
</div>
{{ end }}
</div>
<button class="carousel-control-prev mb-0" type="button" data-bs-target="#slider-{{ md5 $dir }}" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Zurück</span>
</button>
<button class="carousel-control-next mb-0" type="button" data-bs-target="#slider-{{ md5 $dir }}" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Vor</span>
</button>
</div>
</div>
{{ end }}