Web/portfolio de VISUARTE Studio (diseño, imprenta, audiovisual y digital). Cara pública del estudio. Astro (estático, cero JavaScript servido).
Este repo es la web. No confundir con
github.com/visuarte/visuarte, que es el perfil de GitHub de la marca (solo README + assets). Corregido el 24 Oct 2026.
- URL: https://visuarte.es (apex = dominio primario;
wwwredirige al apex). - Rama de producción:
main. Verificado por el bundle servido, no por lo que diga un documento (24 Oct 2026: build limpio demain= JS servido; 25 Oct: los tokens CSS vivos--accent-texto #A8441A / #CD5320coinciden consrc/styles/design-tokens.css). - Deploy: Vercel, integración nativa de Git. Push a
main→ Vercel construye y publica solo.vercel.jsonfijaoutputDirectory: dist(se despliega solo el build, nunca la raíz del repo). dist/es build local e ignorado.
⚠️ Redireccionesvercel.json(25 Oct 2026). Se retiraron/trabajo/:idy/trabajo/sabores-rizzo: eran del sitio React anterior y se comían las rutas de caso de estudio (Vercel evalúa los redirects antes de servir el estático). Medido en producción:/trabajo/sabores-rizzodaba 308 → /trabajo en vez de 404. Las demás redirecciones de URLs viejas (/cine,/trabajo/camiart,/proyecto/:id…) se quedan.
⚠️ El GitHub Action.github/workflows/deploy.ymlse retiró el 14 Oct 2026. Era una segunda vía de deploy que nunca funcionó (faltaba el secretVERCEL_TOKEN→ fallaba en 0 s en cada push desde el 24 jun) y era redundante con la integración nativa. No volver a montarlo: Vercel ya despliega solo en cada push amain.
main— producción (es la única que se publica).www— no es rama: es un dominio que redirige al apex.
src/
layouts/Layout.astro cabecera, SEO (canonical · og · JSON-LD), fuentes
pages/ 9 ficheros → 8 rutas públicas + 404
components/ Faq · Icono · Lightbox · Muestra
data/site.ts CONTENIDO ÚNICO (servicios, proyectos, contacto, trabajo)
styles/ design-tokens.css (SSOT del color) + base.css
public/
fonts/ · hero/ · marcas/ · obras/ · territorios/ · logo/ imágenes y tipografías PROPIAS
llms.txt · robots.txt · sitemap.xml · og-image.jpg
_legacy/ el proyecto anterior (Vite + React), archivado — no se construye
diagnostico/ material de análisis (no se publica)
- Tokens:
src/styles/design-tokens.css— canonpaletas.jsonv0.5.1, rama madre Visuarte (familia fuego). Mood híbrido por sección:brasa(clara) para texto,llama(oscura) para portfolio. Prohibido hex suelto fuera de ese archivo. - Contenido único:
src/data/site.ts. No se escribe texto en los.astrosi vive ensite.ts. - Cero peticiones a terceros: Poppins se sirve desde
/fonts, la cabecera se genera en local. - Legal (canon legal web):
src/pages/legal/aviso.astro+privacidad.astro, NIF en el pie. Perfil de la web registrado en MAPICP:data/catalogos/canon-legal-web.json. - Redirects de la web anterior: en
vercel.json(10, todos permanentes).
npm install
npm run dev # local
npm run build # producción (astro build → dist/)
npm run preview # sirve el buildNo hay npm run lint: no se ha montado linter en este repo (el anterior lo tenía en _legacy/).
- Nunca editar
betapensando que es producción.betaes obsoleta y no se publica. - Se mide por contenido, no por código HTTP. Un 200 no prueba nada: buscar un marcador del texto en el HTML servido.
- La foto de la obra de un cliente entra cuando el cliente autoriza. Lo que no está
autorizado se cuenta en ficha, no se disfraza (
site.ts, comentario de la sección TRABAJO).