Machinaal vertaald. Lees het Engelse origineel: A static blog that translates its own URLs into eight languages →
Dit is de eerste post, dus dan kan ik net zo goed de machine uitleggen die hem publiceerde. De hele site bestaat uit statische bestanden. Geen server, geen database, niets dat draaiende gehouden moet worden.
Een post schrijven
Gooi een markdown-bestand in src/content/blog/en/. De bestandsnaam wordt de URL, dus how-i-removed-greptile.md wordt gepubliceerd op /blog/how-i-removed-greptile. De frontmatter is kort:
---
title: How I removed Greptile
description: One sentence for search results and social cards.
pubDate: 2026-08-07
tags: [tooling, code-review]
---
Zet draft: true zolang je er nog aan werkt. Concepten worden gerenderd in npm run dev, maar blijven buiten de build.
Vertaling
Wanneer een post op main belandt, stuurt een GitHub Action hem naar DeepSeek V4 Flash en schrijft acht vertalingen terug naar de repo als gewone markdown-bestanden. De slug wordt ook vertaald, dus de Turkse versie van deze post staat op een Turkse URL in plaats van een Engelse met een /tr-prefix eraan vastgeschroefd.
Elk vertaald bestand slaat een hash op van de Engelse bron waar het vandaan komt. Bij de volgende run worden posts waarvan de hash nog overeenkomt overgeslagen, dus het bewerken van één post vertaalt één post opnieuw in plaats van het hele archief.
| Laag | Keuze |
|---|---|
| Framework | Astro, statische output |
| Hosting | Cloudflare Workers static assets |
| Vertaling | DeepSeek V4 Flash op Fireworks |
| Content | Markdown in git |
Deployment
Een merge naar main draait de vertaalslag, commit wat er veranderd is, bouwt en deployt. De build duurt een paar seconden en de output is een map met HTML.
Het mooiste aan een statische site is dat de faalmodi saai zijn. Er kan niets omvallen om 3 uur ’s nachts, want er draait niets.
Druk op T om te wisselen tussen licht en donker, en op B, A, G of L om door de site te springen.