#!/bin/bash # This script converts raw SVG icons to favicons according to the article: # https://evilmartians.com/chronicles/how-to-favicon-in-2021-six-files-that-fit-most-needs set -euo pipefail if ! type "magick"; then echo "ImageMagick ('magick') not found; exiting" exit 1 fi echo "[1/4] Making 'favicon.ico' for legacy browsers..." magick convert -background none assets/pentagon.svg -alpha Set -define icon:auto-resize="32,16" -channel RGBA -depth 8 public/favicon.ico echo "[2/4] Making 'icon.svg' for modern browsers..." cp -f assets/pentagon.svg public/icon.svg echo "[3/4] Making 'apple-touch-icon.png'..." magick convert assets/s2f.svg -resize 140x140 -background white -gravity center -extent 180x180 public/apple-touch-icon.png echo "[4/4] Making 'icon-*.png' icons for PWAs..." magick convert -background none assets/s2f.svg -alpha Set -resize 192x192 public/icon-192.png magick convert -background none assets/s2f.svg -alpha Set -resize 512x512 public/icon-512.png echo "Done."