Ein statischer Blog, der seine URLs in acht Sprachen übersetzt

/ Artikel

Maschinell übersetzt. Zum englischen Original: A static blog that translates its own URLs into eight languages →

Dies ist der erste Beitrag, also kann er gleich die Maschine erklären, die ihn veröffentlicht hat. Die gesamte Website besteht aus statischen Dateien. Kein Server, keine Datenbank, nichts, was am Laufen gehalten werden muss.

Einen Beitrag schreiben

Lege eine Markdown-Datei in src/content/blog/en/ ab. Der Dateiname wird zur URL, also erscheint how-i-removed-greptile.md unter /blog/how-i-removed-greptile. Das Frontmatter ist kurz:

---
title: How I removed Greptile
description: One sentence for search results and social cards.
pubDate: 2026-08-07
tags: [tooling, code-review]
---

Setze draft: true, solange du noch daran arbeitest. Entwürfe werden in npm run dev gerendert, aber beim Build ausgelassen.

Übersetzung

Wenn ein Beitrag auf main landet, schickt eine GitHub Action ihn an DeepSeek V4 Flash und schreibt acht Übersetzungen als gewöhnliche Markdown-Dateien zurück ins Repository. Der Slug wird ebenfalls übersetzt, sodass die türkische Version dieses Beitrags unter einer türkischen URL liegt, statt unter einer englischen mit angehängtem /tr-Präfix.

Jede übersetzte Datei speichert einen Hash der englischen Quelle, von der sie stammt. Beim nächsten Lauf werden Beiträge übersprungen, deren Hash noch übereinstimmt. So führt das Bearbeiten eines Beitrags nur zur Neuübersetzung dieses einen Beitrags, nicht des gesamten Archivs.

Ebene Wahl
Framework Astro, statischer Output
Hosting Cloudflare Workers statische Assets
Übersetzung DeepSeek V4 Flash auf Fireworks
Inhalt Markdown in git

Deployment

Ein Merge auf main führt den Übersetzungslauf aus, committet alles Geänderte, baut und deployed. Der Build dauert ein paar Sekunden und die Ausgabe ist ein Ordner mit HTML.

Die schönste Eigenschaft einer statischen Website ist, dass die Fehlermodi langweilig sind. Nichts kann um 3 Uhr nachts umkippen, weil nichts läuft.

Drücke T, um zwischen Hell und Dunkel zu wechseln, und B, A, G oder L, um durch die Website zu springen.