fix: limite altezza in optimize-assets, pesi immagini e report dimensioni
- optimize-assets.sh: resize da 1400x> a 1400x1600> (vincola anche altezza); qualità JPG 85→83; tutti i JPG esistenti ri-codificati (non solo PNG→JPG) - asset-map.json: aggiunta chiave _nota con avviso conversione PNG→JPG - apply-asset-map.mjs: skip chiavi JSON con prefisso _ (chiavi meta) - src/assets/img: 11 MB → 3.7 MB, nessun file >500 KB (max: quote-bg 460 KB) - task-2-report.md: sezione "Dimensioni finali" corretta + "Fix round 2" Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+16
-13
@@ -1,8 +1,10 @@
|
||||
#!/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.
|
||||
# Converte PNG fotografici in src/assets/img/ → JPG q83 e ridimensiona a ≤1400x1600px.
|
||||
# I PNG partner-* (loghi con trasparenza) restano PNG.
|
||||
# Idempotente: se il .png non esiste (già convertito), salta.
|
||||
# Tutti i JPG esistenti vengono ri-codificati a q83 con vincolo 1400x1600>
|
||||
# (larghezza ≤1400 px E altezza ≤1600 px, aspect ratio preservato).
|
||||
# Idempotente se abbinato a apply-asset-map.mjs (che ripristina i sorgenti originali).
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
@@ -11,27 +13,28 @@ IMG_DIR="$ROOT/src/assets/img"
|
||||
|
||||
cd "$IMG_DIR"
|
||||
|
||||
# --- PNG fotografici → JPG q85 + resize ≤1400px ---
|
||||
# --- PNG fotografici → JPG q83 + resize ≤1400x1600 ---
|
||||
shopt -s nullglob
|
||||
declare -A just_converted
|
||||
converted=0
|
||||
for png in *.png; do
|
||||
[[ "$png" == partner-* ]] && continue
|
||||
jpg="${png%.png}.jpg"
|
||||
convert "$png" -quality 85 -resize '1400x>' "$jpg"
|
||||
convert "$png" -quality 83 -resize '1400x1600>' "$jpg"
|
||||
rm "$png"
|
||||
echo " PNG→JPG: $png → $jpg"
|
||||
just_converted["$jpg"]=1
|
||||
(( converted++ )) || true
|
||||
done
|
||||
|
||||
# --- Resize JPG già esistenti se >1400px ---
|
||||
resized=0
|
||||
# --- Ri-codifica JPG esistenti a q83 + vincolo 1400x1600 ---
|
||||
# Skip file appena convertiti (già a q83), elabora tutti gli altri.
|
||||
reencoded=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
|
||||
[[ -n "${just_converted[$jpg]+x}" ]] && continue
|
||||
mogrify -quality 83 -resize '1400x1600>' "$jpg"
|
||||
echo " Ricodificato: $jpg"
|
||||
(( reencoded++ )) || true
|
||||
done
|
||||
|
||||
echo "Ottimizzazione completata: ${converted} PNG→JPG, ${resized} JPG ridimensionati."
|
||||
echo "Ottimizzazione completata: ${converted} PNG→JPG, ${reencoded} JPG ricodificati (q83, ≤1400x1600)."
|
||||
|
||||
Reference in New Issue
Block a user