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. Sin servidor, sin base de datos, nada que mantener en marcha.

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 corto:

---
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 en el 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 de la fuente inglesa de la que proviene. En la siguiente ejecución, las entradas cuyo hash sigue coincidiendo se omiten, así que editar una entrada vuelve a traducir una entrada en lugar de 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 en main ejecuta el paso de traducción, confirma lo que haya cambiado, compila y despliega. La compilación tarda unos segundos y el resultado es una carpeta de HTML.

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

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