Web estática de evoesco.com, publicada automáticamente en Netlify desde la rama main de GitHub.
El proyecto no necesita framework, compilación ni dependencias de producción. HTML, CSS y JavaScript se sirven directamente desde la raíz del repositorio. Esta sencillez es intencionada: reduce puntos de fallo y mantiene el sitio fácil de auditar.
evoesco-kaisei-clone/
├── index.html Entrada, metadatos y carga ordenada de recursos
├── styles.css Sistema visual y comportamiento responsive
├── script.js Navegación, renderizado y comportamiento general
├── journal-data.js Registro y validación del Diario
├── journal-visuals.js Gráficos y figuras editoriales del Diario
├── netlify.toml Publicación, cabeceras y caché de producción
├── package.json Comando estándar de pruebas, sin dependencias
├── assets/ Imágenes utilizadas por la web
│ ├── journal/ Portadas de las entradas del Diario
│ ├── research/ Imágenes de investigación visibles en App
│ └── selected-full/ Selección visual principal optimizada
├── journal/
│ └── entries/ Nueve entradas publicadas de Cuaderno 01
├── research/
│ └── journal/ Fuentes, matrices y auditorías editoriales
├── docs/
│ ├── design-labs/ Comparaciones visuales preservadas
│ └── superpowers/ Especificaciones y planes de implementación
└── tests/ Contratos de contenido, layout e integridad
Netlify sirve la raíz del repositorio, tal como declara netlify.toml. La experiencia visible depende de este conjunto:
index.htmlstyles.cssscript.jsjournal-data.jsjournal-visuals.jsjournal/entries/*.js- los archivos referenciados dentro de
assets/
docs/, research/ y tests/ son material de soporte versionado. No intervienen en el arranque ni aparecen enlazados en la navegación pública.
La aplicación usa rutas hash para poder funcionar como una web estática sin reglas de reescritura:
#home#joan#app#diario#diario/<slug>
script.js interpreta la ruta, renderiza la página y mantiene el estado accesible de la navegación. No se deben renombrar estos destinos sin actualizar las pruebas y comprobar enlaces existentes.
journal-data.js crea el registro global y valida cada entrada. Los módulos de journal/entries/ se cargan en el orden declarado por index.html; script.js debe cargarse después de todos ellos.
Cada entrada conserva por separado:
- el contenido público;
- los datos de sus figuras;
- las fuentes bibliográficas;
- las cautelas y límites de interpretación.
Los documentos paralelos de research/journal/ son el archivo de evidencia. No son duplicados descartables: permiten volver desde una afirmación publicada hasta su revisión editorial.
Los recursos publicados deben estar optimizados y tener una referencia real en HTML o JavaScript.
- Las imágenes fotográficas se conservan como WebP.
- No se guardan PNG de alta resolución junto a un WebP equivalente cuando el PNG no se usa.
assets/cursor-hand-evoesco.pngpermanece porque funciona como favicon.- El cursor visible es SVG inline dentro de
index.html; no depende de una imagen externa.
Las comparaciones tipográficas, de cursor y de logo que merece la pena recuperar están en docs/design-labs/. Son documentos autónomos de decisión visual, no dependencias de producción.
No hay instalación previa. Para abrir el sitio desde un servidor local:
python3 -m http.server 4173Después se visita http://127.0.0.1:4173/. Servirlo por HTTP evita diferencias de seguridad y rutas que pueden aparecer al abrir index.html directamente con file://.
Requisito: Node.js 20 o posterior.
npm testLa suite comprueba:
- navegación y renderizado del Diario;
- contratos científicos y editoriales de las nueve entradas;
- seguridad del HTML generado;
- figuras y gráficos accesibles;
- layout responsive y cursor;
- existencia de cada recurso local referenciado;
- ausencia de residuos y originales PNG sustituidos.
Una compilación no forma parte de este proyecto. La combinación válida antes de publicar es: suite completa en verde y comprobación renderizada en escritorio y móvil.
- Repositorio remoto:
evoesco/evoesco-web - Rama de producción:
main - Proveedor: Netlify
- Carpeta publicada: raíz del repositorio (
.) - Comando de build: ninguno
- Dominio principal:
evoesco.com - Alias:
www.evoesco.com
Cada actualización de main inicia un despliegue automático. Después de publicar se comprueban ambos dominios, la consola, la carga de recursos y el recorrido Inicio → Joan → App → Diario → entrada.
Antes de eliminar un archivo:
- buscar referencias en
index.html, los JavaScript y las pruebas; - confirmar que no forma parte del archivo editorial o de una decisión visual útil;
- comprobar que existe y está versionado el reemplazo correcto;
- ejecutar
npm testdespués del borrado; - revisar la web servida localmente.
Son residuos eliminables cuando no contienen trabajo único: .DS_Store, estados de servidores temporales, carpetas de salida vacías, logs y originales PNG ya sustituidos por WebP. No se reescribe el historial de Git para ahorrar espacio.
La reorganización profesional de julio de 2026 mantiene intactos el diseño, los textos, las rutas y la arquitectura estática. El control automatizado correspondiente está en tests/project-integrity.test.mjs.