JailDesigner e337d7bc45 Implementación completa del sitio JAILGAMES (bloques A–J)
Sitio estático generado con Eleventy (11ty) + Nginx en Docker:
- Plantillas Nunjucks con layout base, tarjetas y fichas individuales
- Datos de juegos en YAML, colección ordenada por fecha
- CSS con tema oscuro gaming y diseño responsive (3/2/1 columnas)
- Lightbox vanilla JS para capturas de pantalla
- Build multi-stage Docker (node:20-alpine → nginx:alpine)
- 2 juegos de ejemplo con imágenes SVG placeholder

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 12:58:55 +02:00

JAILGAMES

Sitio web estático para publicar y descargar juegos indie del estudio JAILGAMES. Generado con Eleventy (11ty) y servido con Nginx en Docker.


Requisitos previos

  • Node.js 18+ (para el build local)
  • Docker + Docker Compose (para despliegue)

Instalación

npm ci

Desarrollo local

npm run serve

Abre http://localhost:8080 en el navegador. Eleventy reconstruye automáticamente al guardar cambios.


Build estático

npm run build

El resultado queda en _site/. Para limpiar:

npm run clean

Añadir un juego nuevo

  1. Crear el archivo YAML del juego:

    src/games/<slug>.yaml
    

    Copiar de un juego existente y modificar los campos. El slug es el identificador URL (solo letras minúsculas, números y guiones).

  2. Crear la carpeta de imágenes:

    static/games/<slug>/
    

    Copiar: logo.png (o .svg), screenshot-1.png, screenshot-2.png, ...

  3. Crear la carpeta de descargas:

    downloads/<slug>/
    

    Copiar los binarios: <slug>-v<version>-<plataforma>.<ext>

  4. Verificar que las rutas en el YAML coinciden exactamente con los archivos copiados.

  5. Regenerar el sitio:

    npm run build
    
  6. Verificar localmente:

    npm run serve
    

    Abrir http://localhost:8080 y comprobar el juego nuevo.

  7. Reconstruir el contenedor Docker:

    docker compose up --build -d
    

Despliegue con Docker

docker compose up --build -d

Acceder en http://localhost.

Para detener:

docker compose down

Despliegue sin internet (ferias)

En la máquina con internet:

docker compose build
docker save jailgames-web:latest | gzip > jailgames-image.tar.gz

Copiar jailgames-image.tar.gz al portátil de la feria (USB).

En el portátil de la feria (sin internet):

gunzip -c jailgames-image.tar.gz | docker load
docker run -d -p 80:80 \
  -v /ruta/local/downloads:/usr/share/nginx/html/downloads:ro \
  --name jailgames jailgames-web:latest

Abrir http://localhost en cualquier navegador.


Estructura de carpetas

jailgames/
├── src/
│   ├── _data/site.json        # Datos globales del sitio
│   ├── _includes/
│   │   ├── base.njk           # Layout base HTML
│   │   ├── game-card.njk      # Tarjeta de juego (home)
│   │   └── game-page.njk      # Ficha individual de juego
│   ├── games/                 # Un archivo YAML por juego
│   ├── css/style.css          # Estilos globales
│   ├── js/main.js             # JS mínimo (lightbox)
│   ├── index.njk              # Página principal
│   ├── game.njk               # Generador de fichas individuales
│   └── 404.njk                # Página de error 404
├── static/
│   ├── logo/                  # Logo del sitio
│   └── games/<slug>/          # Imágenes de cada juego
├── downloads/<slug>/          # Binarios descargables
├── _site/                     # Build generado (no versionar)
├── .eleventy.js               # Configuración de Eleventy
├── package.json
├── Dockerfile
├── docker-compose.yml
└── nginx.conf
S
Description
codi per a la web de jailgames
Readme 39 MiB
Languages
CSS 51.8%
Nunjucks 23.2%
JavaScript 19.3%
Shell 3.5%
Dockerfile 2.2%