{{ $version := .Get "version" }} {{ if not $version }} {{ errorf "missing value for param 'version': %s" .Position }} {{ end }} {{ $flatVersion := replace $version "." "" }} {{ $date := .Get "date" }} {{ if not $date }} {{ errorf "missing value for param 'date': %s" .Position }} {{ end }} {{ if ne (len (split $date "-")) 3 }} {{ errorf "invalid number of components for param 'date': %s" .Position }} {{ end }} {{ $exclude := split (.Get "exclude") "," }} {{ $showChecksum := .Get "showChecksum" }} {{ $version }} {{ $date }} {{ template "dl" (dict "exclude" $exclude "version" $version "platform" "linux" "ext" "tar.gz" "display" "Linux") }} {{ template "dl" (dict "exclude" $exclude "version" $version "platform" "darwin" "ext" "tar.gz" "display" "macOS") }} {{ template "dl" (dict "exclude" $exclude "version" $version "platform" "windows" "ext" "zip" "display" "Windows") }} {{ template "checksum" (dict "showChecksum" $showChecksum "version" $version) }} {{ define "dl" }} {{ if in .exclude .platform }} unavailable {{ else }} {{ .display }} {{ end }} {{ end }} {{ define "checksum" }} {{ if .showChecksum }} Checksums {{ else }} -- {{ end }} {{ end }}