# 2piDev Landing Page Landing institucional de 2piDev construida con Eleventy y Tailwind CSS. El sitio es completamente estático: se genera en `_site/` y se puede servir desde Nginx, Dokploy o cualquier hosting de archivos estáticos. ## Stack - [Eleventy](https://www.11ty.dev/) para generar HTML estático. - [Tailwind CSS](https://tailwindcss.com/) para estilos utilitarios y componentes. - [Bun](https://bun.sh/) como runtime/package manager. - Nginx en producción vía Docker. ## Estructura ```txt . ├── src/ │ ├── index.njk # Landing principal │ ├── css/ │ │ ├── tailwind.css # CSS fuente con directivas Tailwind │ │ └── styles.css # CSS compilado que Eleventy copia al build │ └── images/ # Logos, screenshots, retratos y favicon ├── _site/ # Build local generado, ignorado por Git ├── .eleventy.js # Configuración de Eleventy ├── tailwind.config.js # Configuración de Tailwind ├── postcss.config.js # PostCSS + Tailwind + Autoprefixer ├── Dockerfile # Build estático + runtime Nginx └── package.json # Scripts y dependencias ``` ## Desarrollo Local Instalar dependencias: ```bash bun install ``` Generar el sitio: ```bash bun run build ``` Levantar servidor de desarrollo: ```bash bun run dev ``` Por defecto, Eleventy sirve el sitio en `http://localhost:8080/`. ## Scripts ```json { "build:css": "tailwindcss -i ./src/css/tailwind.css -o ./src/css/styles.css --minify", "build": "bun run build:css && eleventy", "dev": "bun run build:css && eleventy --serve --watch" } ``` Notas: - `src/css/tailwind.css` es el archivo que se edita. - `src/css/styles.css` es generado por Tailwind y se mantiene versionado para que Eleventy pueda copiarlo como asset estático. - `_site/` no se versiona. ## Deploy con Dokploy La forma recomendada para Dokploy es usar el `Dockerfile` incluido. El contenedor: 1. Instala dependencias con Bun. 2. Ejecuta `bun run build`. 3. Copia `_site/` a Nginx. 4. Sirve la landing desde el puerto `80`. En Dokploy: - Tipo de deploy: Dockerfile. - Puerto interno: `80`. - No requiere variables de entorno. - No requiere base de datos ni servicios externos. Build manual de la imagen: ```bash docker build -t 2pidev-landing-page . ``` Ejecución local con Docker: ```bash docker run --rm -p 8080:80 2pidev-landing-page ``` Luego abrir `http://localhost:8080/`. ## Assets Los assets viven en `src/images/` y se copian automáticamente a `_site/images/`. Incluye: - Logo principal y favicon. - Imágenes generadas/originales para hero, resultados y casos de éxito. - Retratos ficticios generados para testimonios. - Logos SVG de tecnologías: `.NET`, TypeScript, React, PostgreSQL y AWS. Para reemplazar una imagen, conservar el mismo nombre de archivo evita cambios en el HTML. Si se cambia el nombre, actualizar la referencia en `src/index.njk`. ## Contenido Principal Toda la landing está en `src/index.njk`. Las secciones actuales son: - Header con navegación y CTA. - Hero principal. - Problemas frecuentes de empresas en crecimiento. - Soluciones digitales. - Resultados y métricas. - Método de trabajo. - Stack tecnológico. - Casos de éxito. - Testimonios. - Formulario de contacto. - Footer. Algunas listas, como servicios, pasos, tecnologías, casos y testimonios, están definidas como arrays dentro del template para facilitar edición rápida. ## Convenciones - Mantener textos visibles con tildes y ortografía en español. - Mantener assets locales siempre que sea posible para evitar dependencias externas. - Usar SVG para logos e íconos de marca cuando exista una fuente confiable. - Antes de commitear, correr: ```bash bun run build ``` ## Git Repositorio remoto: ```bash git remote -v ``` Debe apuntar a: ```txt https://git.2pidev.com/jselesan/landing-2pi.git ``` Flujo sugerido: ```bash git status bun run build git add . git commit -m "Describe el cambio" git push ``` ## Mantenimiento Si se agregan nuevas tecnologías, sumar el SVG a `src/images/` y actualizar el array `techs` en `src/index.njk`. Si se agregan nuevas secciones o componentes visuales, preferir mantenerlos en el mismo template mientras la landing siga siendo simple. Crear layouts/includes de Eleventy solo cuando haya repetición real o más páginas. ## Licencias y Uso de Imágenes Los retratos de testimonios son ficticios y generados para este proyecto. Los logos de tecnologías pertenecen a sus respectivas marcas. Las imágenes de producto/interfaz usadas como visuales de la landing deben mantenerse como assets locales del proyecto para que el deploy sea reproducible.