Files
dictia-public/scripts/resize_logo.sh

84 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
# Logo Resizer Script for Speakr (ImageMagick version)
# Resizes a source PNG image to all required icon sizes for PWA and favicon support.
#
# Usage: ./resize_logo.sh <source_image.png>
# Requirements: ImageMagick (sudo apt install imagemagick)
set -e
# Check if source file is provided
if [ $# -eq 0 ]; then
echo "Usage: $0 <source_image.png>"
echo "Example: $0 my_logo.png"
exit 1
fi
SOURCE_FILE="$1"
OUTPUT_DIR="static/img"
# Check if source file exists
if [ ! -f "$SOURCE_FILE" ]; then
echo "Error: Source file '$SOURCE_FILE' not found!"
exit 1
fi
# Check if ImageMagick is installed
if ! command -v convert &> /dev/null; then
echo "Error: ImageMagick is not installed!"
echo "Install it with: sudo apt install imagemagick"
exit 1
fi
# Create output directory if it doesn't exist
mkdir -p "$OUTPUT_DIR"
echo "🎨 Speakr Logo Resizer (ImageMagick)"
echo "=================================================="
echo "Source file: $SOURCE_FILE"
echo "Output directory: $OUTPUT_DIR"
echo
# Define sizes
declare -A SIZES=(
["icon-16x16.png"]=16
["icon-32x32.png"]=32
["icon-180x180.png"]=180
["icon-192x192.png"]=192
["icon-512x512.png"]=512
)
# Resize to each size
for filename in "${!SIZES[@]}"; do
size=${SIZES[$filename]}
output_path="$OUTPUT_DIR/$filename"
convert "$SOURCE_FILE" -resize "${size}x${size}" "$output_path"
echo "✓ Created icon: $filename (${size}x${size})"
done
# Create maskable version with padding
echo "✓ Creating maskable icon with safe zone..."
convert "$SOURCE_FILE" -resize 307x307 -gravity center -extent 512x512 -background transparent "$OUTPUT_DIR/icon-maskable-512x512.png"
echo "✓ Created maskable icon: icon-maskable-512x512.png (512x512)"
# Create favicon.ico (optional)
if command -v convert &> /dev/null; then
echo "✓ Creating favicon.ico..."
convert "$SOURCE_FILE" -resize 16x16 -resize 32x32 -resize 48x48 "$OUTPUT_DIR/favicon.ico"
echo "✓ Created favicon.ico"
fi
echo
echo "🎉 All icons created successfully!"
echo
echo "📁 Files created:"
ls -la "$OUTPUT_DIR"/icon-*.png "$OUTPUT_DIR"/favicon.ico 2>/dev/null || true
echo
echo "Next steps:"
echo "1. Replace static/img/favicon.svg with your SVG version (if you have one)"
echo "2. Clear browser cache and test the new icons"
echo "3. Test PWA installation to verify icons appear correctly"