bunteshaus.de/themes/buha/layouts/partials/snippets/banner.html
2022-06-15 13:46:50 +02:00

124 lines
4.9 KiB
HTML

{{ $title := .Title }}
{{ $title = singularize $title }}
{{ $title = i18n $title }}
{{ if not $title }}
{{ $title = .Title }}
{{ end }}
{{ $good_w := "1920"}}
{{ $good_h := "850"}}
{{ $what := "none" }}
{{ $missing := "" }}
{{ $banner := "" }}
{{ $img := "none" }}
{{ if eq .Kind "home" }}
{{ $what = "home" }}
{{ $banner = "home" }}
{{ else if eq .Kind "page" }}
{{ with .File }}
{{ $what = .File.ContentBaseName }}
{{ $banner = $what }}
{{ end }}
{{ else if or (eq .Kind "term") (eq .Kind "taxonomy") }}
{{ if (eq .Kind "taxonomy") }}
{{ $what = .Data.Singular | lower }}
{{ else }}
{{ $what = .Name | lower }}
{{ end }}
{{ $banner = string (printf "/images/banner/%s/%s*" .Kind $what) }}
{{ end }}
{{ $missing := $banner }}
{{ $title_class := safeCSS "title" }}
{{ $css := safeCSS "b" }}
{{ if .IsHome }}
{{ $css = safeCSS "b_index" }}
{{ $title_class = safeCSS "title_index" }}
{{ end }}
{{ if resources.GetMatch $banner }}
{{ $img = resources.GetMatch $banner }}
{{ end }}
{{ $single := false }}
{{ if and (in .File "news/") (not (in .File "_index"))}}
{{ $single = true }}
{{ end }}
{{ if and (ne $img "none") (ne .Params.banner false) }}
<div style="background-image: url({{- $img.Permalink -}})" class="banner {{ $css }}">
{{ if not .IsHome }}<h1 class="{{ $title_class }}">{{ $title }}</h1> {{ end }}
{{ if eq hugo.Environment "development" }}
<div style="color: red;">
{{ $w := (resources.GetMatch $banner).Width }}
{{ $h := (resources.GetMatch $banner).Height }}
{{ if lt (int $w) $good_w }}
{{ if eq hugo.Environment "development" }}
Width: {{ $w }}px: too small, must be {{ $good_w -}}px in width<br>
{{ end }}
{{ else if gt (int $w) $good_w }}
{{ if eq hugo.Environment "development" }}
Width: {{ $w }}px: too big, must be {{ $good_w -}}px in width<br>
{{ end }}
{{ end }}
{{ if lt (int $h) $good_h }}
{{ if eq hugo.Environment "development" }}
Height: {{ $h }}px: too small, must be {{ $good_h -}}px in height<br>
{{ end }}
{{ else if gt (int $h) $good_h }}
{{ if eq hugo.Environment "development" }}
Height: {{ $h }}px: too big, must be {{ $good_h -}}px in height<br>
{{ end }}
{{ end }}
</div>
{{ end }}
</div>
{{ else if and (.Resources.Match "banner*") (ne .Params.banner false) }}
{{ $img = .Resources.GetMatch "banner*" }}
<div style="background-image:url({{- $img.Permalink -}})" class="banner {{ $css }}">
{{ if not .IsHome }}<h1 class="{{ $title_class }}">{{ $title }}</h1> {{ end }}
{{ if eq hugo.Environment "development" }}
<div style="color: red;">
{{ $w := (index (.Resources.Match "banner*") 0).Width }}
{{ $h := (index (.Resources.Match "banner*") 0).Height }}
{{ if lt (int $w) $good_w }}
{{ if eq hugo.Environment "development" }}
Width: {{ $w }}px: too small, must be {{ $good_w -}}px in width<br>
{{ end }}
{{ else if gt (int $w) $good_w }}
{{ if eq hugo.Environment "development" }}
Width: {{ $w }}px: too big, must be {{ $good_w -}}px in width<br>
{{ end }}
{{ end }}
{{ if lt (int $h) $good_h }}
{{ if eq hugo.Environment "development" }}
Height: {{ $h }}px: too small, must be {{ $good_h -}}px in height<br>
{{ end }}
{{ else if gt (int $h) $good_h }}
{{ if eq hugo.Environment "development" }}
Height: {{ $h }}px: too big, must be {{ $good_h -}}px in height<br>
{{ end }}
{{ end }}
</div>
{{ end }}
</div>
{{ else }}
<div class="banner non_banner_height">
{{ if not .IsHome }}<h1 class="{{ $title_class }}">{{ $title }}</h1> {{ end }}
{{ if eq hugo.Environment "development" }}
{{ $str1 := printf "assets%s missing.." $missing }}
{{ $str2 := "" }}
{{ with .File }}
{{ $str2 = printf "content/%sbanner* missing.." .Dir }}
{{ end }}
<p>
{{ if eq .Params.banner false }}
banner is off
{{ else }}
{{ if eq $single true }}
{{ $str2 }}
{{ else if eq $single false }}
{{ $str1 }}
{{ end }}
{{ end }}
</p>
{{ end }}
</div>
{{ end }}