Un blog estático que traduce sus propias URLs a ocho idiomas

/ Artículo

Traducción automática. Leer el original en inglés: A static blog that translates its own URLs into eight languages →

Esta es la primera entrada, así que bien puede explicar la máquina que la publicó. Todo el sitio son archivos estáticos — no hay servidor, ni base de datos, ni nada que mantener en funcionamiento.

Escribir una entrada

Coloca un archivo Markdown en src/content/blog/en/. El nombre del archivo se convierte en la URL, así que how-i-removed-greptile.md se publica en /blog/how-i-removed-greptile. El frontmatter es breve:

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

Pon draft: true mientras sigas trabajando en ella. Los borradores se renderizan con npm run dev pero se excluyen de la compilación.

Traducción

Cuando una entrada llega a main, una GitHub Action la envía a DeepSeek V4 Flash y escribe ocho traducciones de vuelta al repositorio como archivos Markdown normales. El slug también se traduce, así que la versión turca de esta entrada vive en una URL turca en lugar de una inglesa pegada a un prefijo /tr.

Cada archivo traducido registra un hash del original en inglés del que proviene. En la siguiente ejecución, las entradas cuyo hash sigue coincidiendo se saltan — así que editar una entrada retraduce una entrada, no todo el archivo.

Capa Opción
Framework Astro, salida estática
Alojamiento Activos estáticos de Cloudflare Workers
Traducción DeepSeek V4 Flash en Fireworks
Contenido Markdown en git

Despliegue

Fusionar a main ejecuta el pase de traducción, confirma lo que haya cambiado, compila y despliega. La compilación dura unos segundos y el resultado es una carpeta de HTML.

La mejor propiedad de un sitio estático es que los modos de fallo son aburridos. Nada puede caerse a las 3 de la mañana, porque no hay nada en ejecución.

Pulsa T para alternar entre modo claro y oscuro, y B, A, G o L para saltar por el sitio.