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 spiegare la macchina che lo ha pubblicato. L’intero sito è composto da file statici — niente server, niente database, niente da tenere in esecuzione.
Scrivere un post
Basta inserire 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. I draft vengono renderizzati con npm run dev ma sono esclusi 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 a un URL turco anziché a un URL inglese con prefisso /tr.
Ogni file tradotto registra un hash della fonte inglese da cui proviene. All’esecuzione successiva, i post il cui hash corrisponde vengono saltati — quindi modificare un post ritraduce solo quel post, non tutto l’archivio.
| Livello | Scelta |
|---|---|
| Framework | Astro, output statico |
| Hosting | Cloudflare Workers, asset statici |
| Traduzione | DeepSeek V4 Flash su Fireworks |
| Contenuto | Markdown in git |
Deploy
Unire su main esegue il passaggio di traduzione, committa le eventuali modifiche, builda e fa il deploy. La build richiede pochi secondi e l’output è una cartella di HTML.
La proprietà più bella di un sito statico è che le modalità di fallimento sono noiose. Niente può crollare alle 3 di notte, perché non c’è niente in esecuzione.
Premi T per passare dalla modalità chiara a quella scura, e B, A, G o L per saltare tra le sezioni del sito.