{{- $assetBusting := partialCached "assetbusting.gotmpl" . }} {{- $faviconMatch := false }} {{- $svg := dict "ext" "svg" "type" "type=\"image/svg+xml\"" }} {{- $png := dict "ext" "png" "type" "type=\"image/png\"" }} {{- $ico := dict "ext" "ico" "type" "type=\"image/x-icon\" sizes=\"any\"" }} {{- $faviconTypes := slice $svg $png $ico }} {{- $faviconNames := slice "favicon" "logo" }} {{- $normal := dict "suffix" "" "media" "" }} {{- $light := dict "suffix" "-light" "media" " media=\"(prefers-color-scheme: light\")" }} {{- $dark := dict "suffix" "-dark" "media" " media=\"(prefers-color-scheme: dark\")" }} {{- $faviconVariants := slice $normal $light $dark }} {{- range $faviconNames }} {{- $faviconName := . }} {{- range $faviconTypes }} {{- $faviconType := . }} {{- range $faviconVariants }} {{- $faviconVariant := . }} {{- with (resources.Get (printf "/images/%s%s.%s" $faviconName $faviconVariant.suffix $faviconType.ext)) }} {{- $faviconMatch = true }} {{- else }} {{- if (fileExists (printf "/static/images/%s%s.%s" $faviconName $faviconVariant.suffix $faviconType.ext)) }} {{- $faviconMatch = true }} {{- end }} {{- end }} {{- end }} {{- end }} {{- if $faviconMatch }} {{- break }} {{- end }} {{- end }}