🏺 Bottega — pipeline dei progetti di Bottega Radicale
Script per pubblicare le sessioni di lavoro della bottega
(leaphz.net/bottega, submodule _bottega).
Si appoggiano a organize e watermark: questa
è la loro orchestrazione specifica per la struttura a progetti/sessioni.
process-session.sh — una sessione, dall’inizio alla fine
tools/bottega/process-session.sh _bottega/img/<progetto>/<sessione> <sigla>
# es.
tools/bottega/process-session.sh _bottega/img/flux-ferracuti/2024-02-12 ac
In ordine: converte gli eventuali HEIC in jpg (sips, con gli originali
.heic archiviati in raw/ e guard anti-overwrite per i doppi export
iPhone), lancia organize.py (rinomina <sessione>-NN, genera
org/edit/thumb), verifica i conteggi (org = edit = thumb = sorgenti),
elimina i file sorgente ormai duplicati e applica il watermark agli
edit/. Idempotente nel senso che rifiuta di girare se org/ esiste giĂ .
make-hero.py — testata e thumbnail di un progetto
python3 tools/bottega/make-hero.py <foto-sorgente> _bottega/img/<progetto>
# es.
python3 tools/bottega/make-hero.py \
_bottega/img/flux-ferracuti/2024-02-12/ac/org/2024-02-12-16.jpg \
_bottega/img/flux-ferracuti
Genera <progetto>-hero.jpg (1600Ă—800) e <progetto>-t.jpg (800Ă—800) con
taglio centrale (convenzione hero/-t di lazzaro). Sorgente consigliata: il
file in org/ (piena risoluzione); per soggetti verticali il taglio hero
sarà una fascia centrale — sceglere foto orizzontali quando possibile.
cull.sh — sfinimento di una galleria pubblicata
tools/bottega/cull.sh _bottega/img/<progetto>/<sessione> <sigla> NN [NN ...]
# es.
tools/bottega/cull.sh _bottega/img/stoned/2024-09-15-stoned ac 03 07 12
Metodo demote, non delete: per ogni numero sposta org/<sessione>-NN.*
in raw/ (archivio, resta in git) ed elimina solo edit/ e thumb/.
Valida tutti i numeri prima di toccare qualsiasi cosa (niente stati a
metà ), accetta 7 o 07 indifferentemente, verifica l’invariante
org = edit = thumb alla fine. I numeri non vengono mai riassegnati:
i buchi sono ok, gli URL pubblicati restano stabili.
restore.sh — ripescaggio dall’archivio
tools/bottega/restore.sh _bottega/img/<progetto>/<sessione> <sigla> NN [NN ...]
L’inverso esatto di cull.sh: riporta raw/<sessione>-NN.* in org/ e
rigenera edit/ (altezza 1080, watermark incluso) e thumb/ (400) con
gli stessi parametri di organize.py. La foto torna in galleria col suo
numero originale.
Dopo cull/restore: commit in _bottega, push, bump del puntatore nel repo
principale, push → la build Pages pubblica. Conviene raggruppare più
modifiche in un unico giro.