From 6357c3c7c98b6d3163d071dc24d48de9dd7ee603 Mon Sep 17 00:00:00 2001 From: Tim Bannister Date: Sat, 11 May 2024 22:43:05 +0100 Subject: [PATCH] Render favicons using Hugo Pipes Manage favicons for the site using Hugo Pipes to render the sizes we want. --- .../images/kubernetes.png | Bin assets/scss/_custom.scss | 2 +- layouts/partials/favicons.html | 40 ++++++++++++++++-- layouts/partials/hooks/head-end.html | 1 + static/images/logo-header.png | Bin 0 -> 24528 bytes 5 files changed, 38 insertions(+), 5 deletions(-) rename static/images/favicon.png => assets/images/kubernetes.png (100%) create mode 100644 layouts/partials/hooks/head-end.html create mode 100644 static/images/logo-header.png diff --git a/static/images/favicon.png b/assets/images/kubernetes.png similarity index 100% rename from static/images/favicon.png rename to assets/images/kubernetes.png diff --git a/assets/scss/_custom.scss b/assets/scss/_custom.scss index f58fa37831..4330fd28e2 100644 --- a/assets/scss/_custom.scss +++ b/assets/scss/_custom.scss @@ -135,7 +135,7 @@ body.td-404 main .error-details { height: 44px; background-repeat: no-repeat; background-size: contain; - background-image: url("/images/favicon.png"); + background-image: url("/images/logo-header.png"); } #hamburger { diff --git a/layouts/partials/favicons.html b/layouts/partials/favicons.html index d32fcd9216..4d95b55d62 100644 --- a/layouts/partials/favicons.html +++ b/layouts/partials/favicons.html @@ -1,4 +1,36 @@ - - - - \ No newline at end of file + + +{{- $logo_raster := resources.Get "images/kubernetes.png" -}} + + +{{- $sizes := slice 64 32 16 -}} +{{- range $sizes -}} +{{- $size := . }} +{{- $favicon := $logo_raster.Fit (printf "%dx%d png" $size $size ) }} +{{- with resources.Copy ( printf "icons/favicon-%d.png" $size ) $favicon -}} +{{- $placed_icon := . -}} + +{{- end -}} +{{- end -}} + +{{- $sizes := slice 256 196 192 180 167 160 152 120 76 -}} +{{- range $sizes -}} +{{- $size := . }} +{{- $apple_icon := $logo_raster.Fit (printf "%dx%d png" $size $size ) }} +{{- with resources.Copy (printf "icons/apple-touch-icon-%dx%d.png" $size $size ) $apple_icon -}} +{{- $placed_icon := . -}} +{{- if eq . 192 -}} + +{{- end -}} + +{{- end -}} +{{- end -}} + +{{- $other_icon := $logo_raster.Fit "128x128 png" }} +{{- with resources.Copy "icons/icon-128x128.png" $other_icon -}} +{{- $placed_icon := . -}} + +{{- end -}} + + + diff --git a/layouts/partials/hooks/head-end.html b/layouts/partials/hooks/head-end.html new file mode 100644 index 0000000000..6918908c35 --- /dev/null +++ b/layouts/partials/hooks/head-end.html @@ -0,0 +1 @@ + diff --git a/static/images/logo-header.png b/static/images/logo-header.png new file mode 100644 index 0000000000000000000000000000000000000000..ef165342337cd3190f99d9d7e1f7cc6d9b628c4c GIT binary patch literal 24528 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