551957e2e1
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
38 lines
1.1 KiB
Bash
Executable File
38 lines
1.1 KiB
Bash
Executable File
#!/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."
|