Sito Web

vtesitaly.com

Online PersonaleVisita il sito

Il portale della comunità italiana di Vampire: The Eternal Struggle: calendario, principati regionali, circuiti competitivi e iniziative della community, in italiano e in inglese.

Il calendario non ha una seconda lista da tenere allineata. Gli eventi sono articoli con il frontmatter strutturato, e il componente che disegna il calendario legge da lì: il sito è la fonte di verità, non una copia di qualcos'altro.

Un evento sbagliato non arriva online. Le categorie sono un'unione discriminata: un Gran Premio, una tappa di Tour, una lega e un articolo hanno campi obbligatori diversi, e sbagliarne uno ferma la build invece di produrre una pagina monca. Lo stesso vale per le classifiche, che parlano tre dialetti e vengono rilette a ogni test: un nome di giocatore scritto male o un riferimento appeso cadono lì.

Le locandine sono grandi il triplo di come si vedono. Le sorgenti stanno sopra i mille pixel, le schede le mostrano a centoventi: uno script genera una copia da 240 e il codice sostituisce il percorso al momento del disegno, tornando all'originale quando la miniatura non c'è ancora, così aggiungere un'immagine in sviluppo non produce un 404.

mar 2026primo commit
3circuiti competitivi
3dialetti di classifica

Piattaforma

Generatore
Astro 6, sito statico bilingue con l'italiano come lingua predefinita
Contenuti
Markdown con unione discriminata Zod sulla categoria dell'evento
Ricerca
Pagefind, indicizzata sul solo corpo dell'articolo
Installabile
service worker con nome di cache nuovo a ogni rilascio, e avviso di aggiornamento localizzato

Contenuti

Calendario
il sito è la fonte di verità: il componente legge dai contenuti, non da un elenco a parte
Circuiti
Italian Tour a tappe, Gran Premi, Campionato Nazionale
Comunità
principati regionali, cartoline, gemellaggi, leghe e articoli
Classifiche
in JSON, tre dialetti riconosciuti dallo stesso schema: torneo, tour, lega

Controlli

Test
154 fra unità, schemi e componenti, questi ultimi disegnati con la Container API di Astro
Copertura
gate bloccante: 90% di righe, 95% di funzioni, 85% di rami
Schemi
ogni classifica riletta e ogni riferimento risolto: un nome sbagliato cade al test, non in produzione
Lighthouse
otto pagine, accessibilità e SEO bloccanti, prestazioni a 0.75

Rilascio

Pipeline
GitHub Actions, un solo flusso: controlli, Lighthouse, pubblicazione
Trasferimento
tar-pipe via SSH, con l'impronta dell'host fissata nei segreti
Immagini
miniature da 240px generate a build per le schede che le mostrano a 120

Stack

Tecnologie
AstroTypeScriptCSS

Codice e immagini: https://github.com/danilofruttaldo/VtesItaly.Site