Alejandro Veras d99d86a269 Remove Spirits from the home page
Drops the Spirits venture from the hero icons, the ventures tabs and its 3D bottle,
and from the home copy and meta description, with matching ES/AR translations.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 11:30:05 -04:00
2026-10-16 11:30:05 -04:00
2026-10-16 11:30:05 -04:00

dylanmazzei.com

Sitio de Dylan Mazzei, Founder & Operator. HTML estático generado con un script de Node sin dependencias.

Estructura

src/layout.mjs        Layout compartido: <head>, nav, footer, iconos y helpers
src/pages/*.mjs       Una página por archivo (texto literal del documento de contenido)
src/service.mjs       Bloques compartidos de las páginas de servicios de Consulting
static/               Se copia tal cual a dist/ (CSS, JS, imágenes, favicon)
build.mjs             Genera dist/ + sitemap.xml + robots.txt + 404.html
Ruta Archivo
/ src/pages/home.mjs
/about/ src/pages/about.mjs
/portfolio/ src/pages/portfolio.mjs
/consulting/ src/pages/consulting.mjs
/consulting/marketing/ src/pages/marketing.mjs
/consulting/business-setup/ src/pages/business-setup.mjs
/consulting/business-optimization/ src/pages/business-optimization.mjs
/consulting/supply-chain/ src/pages/supply-chain.mjs
/consulting/cybersecurity/ src/pages/cybersecurity.mjs
/consulting/education/ src/pages/education.mjs
/consulting/fractional/ src/pages/fractional.mjs
/contact/ src/pages/contact.mjs
/contact/book/ src/pages/book.mjs
/press/ src/pages/press.mjs

Idiomas

El sitio sale en inglés (/), español (/es/) y árabe (/ar/, de derecha a izquierda), con selector EN · ES · AR en la barra de navegación, hreflang en cada página y un sitemap.xml multilingüe.

Las páginas se escriben en inglés. Al construir, build.mjs genera las versiones traducidas sustituyendo cada texto por su traducción de src/i18n/es.json y src/i18n/ar.json (clave = texto en inglés). Los textos que ponen los scripts del navegador están en JS_STRINGS (src/i18n.mjs). Los ajustes de diseño para árabe están en static/assets/rtl.css.

Si cambias un texto en inglés, su traducción deja de coincidir y esa frase se ve en inglés en /es/ y /ar/. El build lo avisa; para listar lo que falta:

node scripts/i18n-extract.mjs              # cuántos textos faltan por idioma
node scripts/i18n-extract.mjs es falta.json  # los textos en español que faltan, para traducir
npm run build -- --strict                  # falla si falta alguna traducción

El formulario y el calendario de GoHighLevel se muestran tal como están configurados en GoHighLevel (en inglés).

Desarrollo

npm run build     # genera dist/
npm run dev       # build + servidor local

Deploy en Vercel

Importa el repo en Vercel. vercel.json ya define el build (npm run build), la salida (dist) y las URLs limpias con slash final. No hace falta configurar nada más.

Pendientes de contenido

  • Press: falta el link del artículo de Gulf Insider y confirmar su titular exacto (FEATURE en src/pages/press.mjs).
  • Korrith: falta el cargo de Dylan (el tercer campo, vacío, en src/pages/portfolio.mjs).
  • Páginas fuera del alcance actual: Playbook y Poetry no forman parte del sitio. Sus secciones se muestran sin botón; si se crean esas páginas, se añade el botón con su texto original del documento.
  • Formulario y agenda (GoHighLevel): los IDs están en SITE.ghl (src/layout.mjs). En GoHighLevel, el formulario "Dylan – Lead Form" debe redirigir a https://dylanmazzei.com/contact/book/ al enviarse.
S
Description
dylanmazzei.com static site
Readme 8.9 MiB
Languages
HTML 92%
CSS 6.1%
JavaScript 1.9%