Files
InsanityLab-web/apps/sito/scripts/optimize-assets.sh
T
AdrianoDev 510d7ca4ec Struttura: il sito esistente si sposta sotto apps/sito
Primo passo della separazione sito / piattaforme decisa da Adriano il 03/09:
due applicazioni autosufficienti, senza workspace di root, cosi' che ognuna
resti un progetto Astro completo ed estraibile.

Qui non cambia niente del codice: solo la radice. I pattern del .gitignore
che avevano una barra erano ancorati alla radice e dopo lo spostamento non
avrebbero piu' coperto niente (data/*.db*, uploads/*): resi validi a
qualunque profondita'.

Suite: 45 file, 347 test verdi prima e dopo lo spostamento.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EndnceRA5WnA6rvA5iV9WL
2026-09-03 11:05:54 +00:00

41 lines
1.4 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 q83 e ridimensiona a ≤1400x1600px.
# I PNG partner-* (loghi con trasparenza) restano PNG.
# 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)"
ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
IMG_DIR="$ROOT/src/assets/img"
cd "$IMG_DIR"
# --- 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 83 -resize '1400x1600>' "$jpg"
rm "$png"
echo " PNG→JPG: $png$jpg"
just_converted["$jpg"]=1
(( converted++ )) || true
done
# --- 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
[[ -n "${just_converted[$jpg]+x}" ]] && continue
mogrify -quality 83 -resize '1400x1600>' "$jpg"
echo " Ricodificato: $jpg"
(( reencoded++ )) || true
done
echo "Ottimizzazione completata: ${converted} PNG→JPG, ${reencoded} JPG ricodificati (q83, ≤1400x1600)."