#!/bin/bash # Generate the SVG favicon echo "Generating SVG favicon..." node generate-favicon.js # Check if the SVG was generated if [ ! -f "favicon.svg" ]; then echo "Error: favicon.svg was not generated." exit 1 fi # Create a temporary directory for favicon files mkdir -p favicon_tmp # Convert SVG to PNG files of different sizes echo "Converting SVG to PNG files of various sizes..." for size in 16 32 48 64 128 256; do # Using ImageMagick's convert command if available if command -v convert > /dev/null; then convert -background none -size ${size}x${size} favicon.svg favicon_tmp/favicon-${size}.png else echo "ImageMagick not found. Please install it to convert SVG to PNG." exit 1 fi done # Create favicon.ico from the PNG files echo "Creating favicon.ico..." if command -v convert > /dev/null; then convert favicon_tmp/favicon-16.png favicon_tmp/favicon-32.png favicon_tmp/favicon-48.png favicon.ico else echo "ImageMagick not found. Please install it to create favicon.ico." exit 1 fi # Create apple-touch-icon.png (for iOS) echo "Creating apple-touch-icon.png..." cp favicon_tmp/favicon-128.png apple-touch-icon.png # Create favicon-32x32.png and favicon-16x16.png (for modern browsers) echo "Creating standard browser favicons..." cp favicon_tmp/favicon-32.png favicon-32x32.png cp favicon_tmp/favicon-16.png favicon-16x16.png # Clean up temporary directory echo "Cleaning up temporary files..." rm -rf favicon_tmp echo "Favicon generation complete!" echo "Created: favicon.ico, favicon-16x16.png, favicon-32x32.png, apple-touch-icon.png"