#!/usr/bin/env bash # Passo 3 della pipeline asset (dopo apply-asset-map.mjs). # Converte PNG fotografici in src/assets/img/ → JPG q85 e ridimensiona a ≤1400px larghezza. # I PNG partner-* (loghi con trasparenza) restano PNG. # Idempotente: se il .png non esiste (già convertito), salta. set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" IMG_DIR="$ROOT/src/assets/img" cd "$IMG_DIR" # --- PNG fotografici → JPG q85 + resize ≤1400px --- shopt -s nullglob converted=0 for png in *.png; do [[ "$png" == partner-* ]] && continue jpg="${png%.png}.jpg" convert "$png" -quality 85 -resize '1400x>' "$jpg" rm "$png" echo " PNG→JPG: $png → $jpg" (( converted++ )) || true done # --- Resize JPG già esistenti se >1400px --- resized=0 for jpg in *.jpg; do w=$(identify -format '%w' "$jpg") if (( w > 1400 )); then mogrify -resize '1400x>' "$jpg" echo " Resize: $jpg (era ${w}px → ≤1400px)" (( resized++ )) || true fi done echo "Ottimizzazione completata: ${converted} PNG→JPG, ${resized} JPG ridimensionati."