3fff3cd2f8
apps/sito passa in radice, apps/platforms si toglie: vive in gitea:Adriano/InsanityLab-platforms, con la storia del repo comune. I piani e le specifiche di Longevity e Campus lasciano docs/ e seguono le piattaforme. README e compose: deploy da /opt/docker/insanitylab/src; al primo deploy .env va spostato da apps/sito/.env alla radice. Refs #20 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
41 lines
1.4 KiB
Bash
Executable File
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)."
|