Astro.js

Francesco Ciannavei

Astro.js

Il frontend di questo sito è in Astro e gira su Cloudflare Workers con l'adapter Cloudflare. Mi ha convinto l'architettura a isole, che genera pagine veloci aggiungendo interattività solo dove serve. Nell'ecosistema Astro ho anche due pull request accettate, una delle quali mi serviva per aggiornare questo sito ad Astro 7.

Come una pagina arriva fino a te

Non c'è una build per ogni contenuto. Quando chiedi una pagina, Astro la genera chiamando l'API REST del CMS in Laravel, e la pagina finisce nella cache standard di Astro su Cloudflare. Le richieste successive arrivano dalla cache.

Quando modifico un contenuto, svuoto la cache: dalla dashboard di Cloudflare, oppure con uno script Bash che parte dal workflow GitHub. Il frontend viene pubblicato su Workers con Wrangler da GitHub Actions, come descritto nella pagina su CI/CD. All'inizio salvavo le pagine anche su R2; ora uso solo la cache di Astro su Cloudflare.

Il passaggio ad Astro 7

Questo sito usa l'integrazione dynamic-import di gratelets, che non supportava le nuove versioni di Astro. Volevo passare ad Astro 7, saltando la 6, così ho aggiunto il supporto per Astro 6 e 7 con la pull request #173, che è stata accettata.

La documentazione in italiano

Con la pull request #13154 alla documentazione di Astro ho tradotto in italiano la navigazione, le stringhe dell'interfaccia e la pagina "Why Astro". È stata accettata. La parte JavaScript del frontend è descritta nella pagina dedicata.

Rating
5/10

Dove l'ho usato: