Build dylanmazzei.com redesign as a static multi-page site

Eight pages (home, about, portfolio, consulting, marketing, business setup,
contact, press) with copy taken verbatim from the content documents, a shared
layout, and a zero-dependency Node build ready for Vercel.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Alejandro Veras
2026-10-01 11:01:00 -04:00
commit ee8e0ab417
19 changed files with 2586 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
# 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)
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` |
| `/contact/` | `src/pages/contact.mjs` |
| `/press/` | `src/pages/press.mjs` |
## Desarrollo
```bash
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:** confirmar el titular exacto del artículo de Gulf Magazine y su URL (`FEATURE` en `src/pages/press.mjs`).
- **Páginas que aún no existen.** Mientras tanto sus botones llevan a `/contact/` (`SITE.pending` en `src/layout.mjs`): Playbook, Poetry, Fractional Roles, Business Optimization, Supply Chain, Cybersecurity y Education.
- **Calendario:** poner el link real de agenda en `SITE.calendar`.
- **Formulario de contacto:** hoy abre el cliente de correo con el mensaje prellenado. Para recibirlo directo hay que conectar un servicio (Formspree, Resend, etc.).