Files
HugoBlox-kit/wowchemy/layouts/partials/widgets/hero.html
T

94 lines
3.5 KiB
HTML

{{ $ := .root }}
{{ $page := .page }}
{{ $bg := $page.Params.design.background }}
{{ if $page.Params.hero_media }}
<div class="row">
<div class="col-12 col-md-6 text-center text-md-left">
{{ end }}
{{ with $page.Title }}
<h1 class="hero-title">{{ . | markdownify }}</h1>
{{ end }}
{{ with $page.Content }}
<div class="hero-lead">{{ . }}</div>
{{ end }}
{{/* Call-to-action link */}}
{{ if $page.Params.cta.url }}
{{ $pack := or $page.Params.cta.icon_pack "fas" }}
{{ $pack_prefix := $pack }}
{{ if in (slice "fab" "fas" "far" "fal") $pack }}
{{ $pack_prefix = "fa" }}
{{ end }}
{{ $link := $page.Params.cta.url }}
{{ $scheme := (urls.Parse $link).Scheme }}
{{ $target := "" }}
{{ if not $scheme }}
{{ $link = $link | relLangURL }}
{{ else if in (slice "http" "https") $scheme }}
{{ $target = "target=\"_blank\" rel=\"noopener\"" }}
{{ end }}
<p class="cta-btns">
<a href="{{ $link | safeURL }}" {{ $target | safeHTMLAttr }} class="btn {{if $bg.text_color_light}}btn-light{{else}}btn-primary{{end}} btn-lg mb-3 mb-md-1">{{ if $page.Params.cta.icon }}<i class="{{ $pack }} {{ $pack_prefix }}-{{ $page.Params.cta.icon }} pr-1" aria-hidden="true"></i>{{end}}{{ $page.Params.cta.label | markdownify | emojify | safeHTML }}</a>
{{/* Alternative Call-to-action link */}}
{{ if $page.Params.cta_alt.url }}
{{ $link := $page.Params.cta_alt.url }}
{{ $scheme := (urls.Parse $link).Scheme }}
{{ $target := "" }}
{{ if not $scheme }}
{{ $link = $link | relLangURL }}
{{ else if in (slice "http" "https") $scheme }}
{{ $target = "target=\"_blank\" rel=\"noopener\"" }}
{{ end }}
<a href="{{ $link | safeURL }}" {{ $target | safeHTMLAttr }} class="hero-cta-alt btn-lg pl-md-4">{{ $page.Params.cta_alt.label | markdownify | emojify | safeHTML }} <i class="fas fa-angle-right"></i></a>
{{ end }}
</p>
{{ end }}
{{/* Call-to-action note */}}
{{ with $page.Params.cta_note }}
<p class="hero-note text-muted mb-3 mb-md-1">
{{ .label | markdownify | emojify | safeHTML }}
</p>
{{ end }}
{{/* Hero image */}}
{{ if $page.Params.hero_media }}
</div>
<div class="col-12 mx-auto col-md-6 {{if $page.Params.design.flip}}order-md-first{{end}} hero-media">
{{- $image := ($page.Parent.Resources.ByType "image").GetMatch $page.Params.hero_media -}}
{{- if not $image -}}
{{- $image = resources.Get (path.Join "media" $page.Params.hero_media) -}}
{{- end -}}
{{ if $image }}
{{ $isSVG := eq $image.MediaType.SubType "svg" }}
{{ if $isSVG -}}
<img src="{{ $image.RelPermalink }}" alt="{{ $page.Title }}">
{{- else }}
{{ $legacy_img := $image.Resize "400x" }}
{{ $img_src := "" }}
{{ $img_src_set := slice }}
{{ $widths := slice 1200 800 400 }}
{{ range $widths }}
{{ $src_link := ($image.Resize (printf "%dx" .)).RelPermalink }}
{{ if eq $img_src "" }}
{{ $img_src = $src_link }}
{{ end }}
{{ $img_src_set = $img_src_set | append (printf "%s %dw" $src_link .) }}
{{ end }}
{{ $img_src_set = delimit $img_src_set "," }}
<img src="{{ $legacy_img.RelPermalink }}" srcset="{{ $img_src_set }}" width="{{ $image.Width }}" height="{{ $image.Height }}" alt="{{ $page.Title }}">
{{ end }}
{{ end }}
</div>
</div>
{{ end }}