Tradotto automaticamente. Leggi l’originale in inglese: A static blog that translates its own URLs into eight languages →
Questo è il primo post, quindi tanto vale che spieghi la macchina che lo ha pubblicato. L’intero sito è fatto di file statici. Niente server, niente database, nulla da tenere in esecuzione.
Scrivere un post
Basta lasciare un file markdown in src/content/blog/en/. Il nome del file
diventa l’URL, quindi how-i-removed-greptile.md viene pubblicato su
/blog/how-i-removed-greptile. Il frontmatter è breve:
---
title: How I removed Greptile
description: One sentence for search results and social cards.
pubDate: 2026-08-07
tags: [tooling, code-review]
---
Imposta draft: true mentre ci stai ancora lavorando. Le bozze vengono
renderizzate in npm run dev ma vengono escluse dalla build.
Traduzione
Quando un post arriva su main, una GitHub Action lo invia a DeepSeek V4 Flash
e scrive otto traduzioni nel repository come normali file markdown. Anche lo
slug viene tradotto, quindi la versione turca di questo post vive su un URL
turco invece che su uno inglese attaccato a un prefisso /tr.
Ogni file tradotto registra un hash della fonte inglese da cui proviene. All’esecuzione successiva, i post il cui hash corrisponde ancora vengono saltati, quindi modificare un post ritraduce un post invece dell’intero archivio.
| Livello | Scelta |
|---|---|
| Framework | Astro, output statico |
| Hosting | asset statici Cloudflare Workers |
| Traduzione | DeepSeek V4 Flash su Fireworks |
| Contenuti | Markdown in git |
Deployment
Il merge su main esegue il passaggio di traduzione, committa tutto ciò che è
cambiato, compila e pubblica. La build richiede pochi secondi e l’output è una
cartella di HTML.
La proprietà più bella di un sito statico è che le modalità di errore sono noiose. Niente può cadere alle 3 di notte, perché non c’è nulla in esecuzione.
Premi T per passare da chiaro a scuro, e B, A, G o L per spostarti
nel sito.