#!/usr/bin/env bash # Regenerates the raster brand assets from the SVG sources (needs librsvg: `brew install librsvg`). set -euo pipefail cd "$(dirname "$0")/.." r() { rsvg-convert -w "$2" -h "$3" "$1" -o "$4"; echo " $4"; } echo "Rendering brand assets…" r public/icon.svg 32 32 public/favicon-32.png r public/icon.svg 16 16 public/favicon-16.png r public/icon.svg 180 180 public/apple-icon.png r public/icon.svg 192 192 public/icon-192.png r public/icon.svg 512 512 public/icon-512.png r public/brand/icon-maskable.svg 512 512 public/icon-maskable-512.png r public/brand/og.svg 1200 630 public/og.png # Multi-size ICO for legacy user agents (Pillow optional). python3 - <<'PY' || echo " (Pillow missing — favicon.ico skipped)" from PIL import Image im = Image.open("public/icon-512.png").convert("RGBA") im.save("public/favicon.ico", sizes=[(16,16),(32,32),(48,48),(64,64)]) print(" public/favicon.ico") PY