Evolutivo: PokéAPI y multimedia
Estado: fase 2 hecha. Arte oficial (905 + formas), piedras/Balls e iconos de medallas Kanto→Galar, todo en obsidean/assets/ y copiado dentro de Docker. El sitio no llama a PokéAPI en runtime.
Objetivo: ilustrar la wiki (Pokémon, formas, ítems, medallas, regiones, personajes) con material visual, sin hotlinkear en cada visita y sin mezclar datos de Fire Ash con los de los juegos oficiales.
Qué sí da PokéAPI
API: https://pokeapi.co/api/v2/. Sprites reales en el repo PokeAPI/sprites (la API solo devuelve URLs).
| Recurso | Endpoint / URL típica | Uso en esta wiki |
|---|---|---|
| Arte oficial | .../sprites/pokemon/other/official-artwork/{id}.png | Ficha de especie (02-Pokemon/) |
| Sprite de combate | .../sprites/pokemon/{id}.png | Tablas de encuentro, listas compactas |
| Shiny | .../official-artwork/shiny/{id}.png | Opcional, callout o alias |
| Ítems | sprites/items/{slug}.png | Piedras, Poké Balls, objetos de evolución |
| Medallas | sprites/badges/{n}.png (1–58) | Página de medallas y guía; no son ítems de la API |
| Nombres ES | names[] con language.name = es | Complemento de i18n_es.py (no reemplaza el glosario Fire Ash) |
| Cadenas evo | GET /evolution-chain/{id} | Referencia visual; el método canónico sigue siendo Helpful Notes |
Política de PokéAPI: cachear. No pegarle en el build de Quartz ni desde el navegador de cada lector.
Qué no da (hay que otra fuente)
| Pedido | Por qué no alcanza PokéAPI | Camino probable |
|---|---|---|
| Mapas de región / rutas de Fire Ash | /region es texto (pueblos, generaciones), no PNG del romhack | Capturas del juego, o mapas oficiales solo como “así era en main series” |
| Personajes (Ash, líderes, Jessie, Sync) | No hay retratos de NPC | Set curado propio, o diferirlo |
| Formas exclusivas / data de Fire Ash | La API es main series | Seguir generando texto desde Helpful Notes; la imagen es de la especie base o forma regional si existe en la API |
| Overworld tiles, interiors | Fuera de alcance | No buscarlos en PokéAPI |
Cómo encaja en el repo
- Fetcher aparte, no en el request de Quartz:
scripts/fetch_media.py(nuevo). Baja y guarda enobsidean/assets/(Quartz ya emitePlugin.Assets()). - Caché local versionada o al menos gitignored + script reproducible. Preferencia: commitear un subconjunto chico (arte oficial ~905 PNG) o documentar el fetch en el Dockerfile.
build_wiki.pysolo referencia archivos locales, p. ej.enformat_pokemon_page. Si falta el PNG, la ficha queda igual que ahora.- Mapeo nombre Fire Ash → id nacional con el dex que ya sale de Locations (
extra["dex"]). Formas:alolan-raichu,mega-venusaur, etc. (GET /pokemon/{slug}). - Ítems / piedras / medallas: ítems con slug kebab (
thunder-stone,poke-ball); medallas por índice de sprite (boulder-badge→sprites/badges/1.png). Islas Naranja / Ponzoña / Kanto: texto sin icono. - Docker: copiar
obsidean/assetsen el build; no llamar a la red en runtime nginx.
Hotlink directo a raw.githubusercontent.com queda descartado para el sitio publicado (offline, rate limit, rotura de URLs).
Fases
| Fase | Alcance | Criterio de listo |
|---|---|---|
| 1 — Pokémon | Arte oficial en fichas 1–905 + formas con id de API | Hecha |
| 2 — Ítems | Piedras evolutivas, medallas Kanto→Galar, Balls frecuentes | Hecha |
| 3 — Encuentros | Mini-sprite al lado del nombre en tablas | Route 1 se lee con icono + nombre ES |
| 4 — Regiones | Portada de cada 01-Guia/{Region}/index | Mapa oficial etiquetado como main series, o placeholder “mapa Fire Ash TBD” |
| 5 — Personajes | Solo si hay set de imágenes con licencia clara | Sin esto, no inventar URLs |
No mezclar stats/movimientos de PokéAPI con los de Fire Ash. La API es solo media + nombres auxiliares.
Propiedad intelectual
Sprites y arte son de Nintendo / Game Freak / Creatures. Esta wiki es un vault personal del romhack. No republicar el bundle de imágenes como producto. Si se publica Quartz en un dominio, revisar que siga siendo uso de fan no comercial.
Cómo arrancar (cuando se pida implementar)
python scripts/fetch_media.py
python scripts/build_wiki.py
docker compose -f pokewiki/docker-compose.yml up --build -dFase 1–2: arte en fichas, piedras/Balls y medallas. Las fases 3–5 siguen pendientes.