fix: loghi insanitylab estratti dal pdf figma al posto dei loghi template

- logo-dark.png (600×108) e logo-light.png (600×342) ora estratti da
  FigmaDoc/Homepage.pdf via pdftoppm 300dpi + ImageMagick, con alpha
- scripts/extract-logos.sh: pipeline riproducibile e idempotente (md5 stabile)
- asset-map.json: rimossa sezione fallbacks ../Dati (fonte errata PROWESS++)
- apply-asset-map.mjs: commento pipeline aggiornato a 4 step

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-02 00:25:18 +02:00
parent 810e5d8dcd
commit 4445c422f8
6 changed files with 112 additions and 7 deletions
+2 -1
View File
@@ -1,7 +1,8 @@
// Pipeline asset: extract-fig-images.sh → apply-asset-map.mjs → optimize-assets.sh
// Pipeline asset: extract-fig-images.sh → apply-asset-map.mjs → optimize-assets.sh → extract-logos.sh
// 1. extract-fig-images.sh: estrae hash-named images da .fig → assets-src/
// 2. apply-asset-map.mjs: copia da assets-src/ → destinazioni (src/assets/img, public/img)
// 3. optimize-assets.sh: converte PNG fotografici → JPG q85, ridimensiona ≤1400px
// 4. extract-logos.sh: estrae loghi insanitylab da FigmaDoc/Homepage.pdf → public/img/logo-{dark,light}.png
import { copyFileSync, mkdirSync, existsSync } from 'node:fs';
import { readFileSync } from 'node:fs';
+1 -6
View File
@@ -33,10 +33,5 @@
"c51a49b9be7f1b1a31de6b2f5261c8c5b5fdab52.png": "about-trainer-3.png",
"3341a11b7153349a23c75b1fa2a9a62d48953330.png": "about-trainer-4.png"
},
"fallbacks": {
"public/img": {
"../Dati/logo-dark.png": "logo-dark.png",
"../Dati/logo-light.png": "logo-light.png"
}
}
"_loghi": "logo-dark.png e logo-light.png estratti da extract-logos.sh (FigmaDoc/Homepage.pdf), non da ../Dati"
}
+53
View File
@@ -0,0 +1,53 @@
#!/usr/bin/env bash
# extract-logos.sh — estrae loghi insanitylab dal PDF Figma Homepage
# Pipeline: extract-fig-images.sh → apply-asset-map.mjs → optimize-assets.sh → extract-logos.sh
# Idempotente: stessi file ad ogni esecuzione, coordinate fisse.
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
PDF="$ROOT/../FigmaDoc/Homepage.pdf"
OUT="$ROOT/public/img"
WORK="$(mktemp -d)"
trap 'rm -rf "$WORK"' EXIT
if [[ ! -f "$PDF" ]]; then
echo "ERRORE: PDF non trovato: $PDF" >&2
exit 1
fi
mkdir -p "$OUT"
echo "Estrazione loghi da $PDF..."
# ── Logo DARK (header, su fondo bianco) ─────────────────────────────────────
# Zona: x=104, y=41, W=895, H=250 px a 300dpi (pt: x≈25, y≈10, W≈215, H≈60)
pdftoppm -png -r 300 -f 1 -l 1 \
-x 104 -y 41 -W 895 -H 250 \
"$PDF" "$WORK/hdr"
convert "$WORK/hdr-1.png" \
-fuzz 8% -transparent white \
-trim +repage \
-resize 600x \
-strip \
"$OUT/logo-dark.png"
# ── Logo LIGHT (footer, su fondo scuro #3A2929) ─────────────────────────────
# Zona: x=0, y=35375, W=1800, H=833 px a 300dpi (pt: x≈0, y≈8490, W≈432, H≈200)
# poi crop interno: x=130, y=60, W=850, H=660 per includere solo icona+testo
pdftoppm -png -r 300 -f 1 -l 1 \
-x 0 -y 35375 -W 1800 -H 833 \
"$PDF" "$WORK/ftr"
convert "$WORK/ftr-1.png" \
-crop 850x660+130+60 +repage \
-fuzz 12% -transparent 'srgb(58,41,41)' \
-trim +repage \
-resize 600x \
-strip \
"$OUT/logo-light.png"
echo "Logo dark: $OUT/logo-dark.png $(identify -format '%wx%h' "$OUT/logo-dark.png")"
echo "Logo light: $OUT/logo-light.png $(identify -format '%wx%h' "$OUT/logo-light.png")"
echo "Done."