Bienvenidos a Mi Portafolio
27 |Aquí aprenderemos a crear una página web desde cero.
28 |├── portfolio ├── images │ ├── carmen.jpg │ └── hero-image.png ├── script.js ├── about.html ├── fonts.css ├── index.html └── styles.css ├── dia-1 ├── script.js ├── README.md ├── ejercicios │ ├── ejercicio-1-figma.md │ ├── ejercicio-3-css-basico.md │ └── ejercicio-2-html.md ├── style.css ├── index.html └── teoria │ ├── 2-html-semantico.md │ ├── 3-css-fundamentos.md │ ├── 0-diseno-web.md │ ├── 2-html-semantico.html │ ├── 1-figma-fundamentos.html │ ├── 3-css-fundamentos.html │ ├── 0-teoria-completa.html │ └── 0-diseno-web.html ├── dia-2 ├── ejercicios │ ├── ejercicio-5-animaciones.md │ ├── ejercicio-4-responsive.md │ └── ejercicio-6-deploy.md ├── README.md └── teoria │ ├── 5-deploy.md │ ├── 4-animaciones.md │ ├── 3-flexbox-grid.md │ ├── 5-deploy.html │ ├── 4-animaciones.html │ ├── 6-portfolio-template.html │ ├── 3-flexbox-grid.html │ └── 7-portfolio-template-v2.html ├── README.md ├── public └── vite.svg ├── style.css ├── styles └── main.css └── index.html /portfolio/images/carmen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carmenansio/workshop-portfolio/HEAD/portfolio/images/carmen.jpg -------------------------------------------------------------------------------- /dia-1/script.js: -------------------------------------------------------------------------------- 1 | // Este archivo se utilizará para añadir interactividad 2 | console.log('¡Bienvenido al taller de diseño web!'); -------------------------------------------------------------------------------- /portfolio/images/hero-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carmenansio/workshop-portfolio/HEAD/portfolio/images/hero-image.png -------------------------------------------------------------------------------- /portfolio/script.js: -------------------------------------------------------------------------------- 1 | const header = document.querySelector('header'); 2 | 3 | window.addEventListener('scroll', () => { 4 | if (window.scrollY > 50) { 5 | header.classList.add('scrolled'); 6 | } else { 7 | header.classList.remove('scrolled'); 8 | } 9 | }); 10 | -------------------------------------------------------------------------------- /dia-1/README.md: -------------------------------------------------------------------------------- 1 | # Día 1: Fundamentos de Diseño Web y HTML 2 | 3 | ## 📚 Contenido 4 | 5 | 1. Introducción al Diseño Web 6 | - Principios básicos de diseño 7 | - Wireframing con Figma 8 | - Diseño responsive 9 | 10 | 2. HTML Básico 11 | - Estructura básica de una página 12 | - Etiquetas principales 13 | - Semántica HTML 14 | 15 | ## 🎯 Ejercicios 16 | 17 | Los ejercicios se encuentran en la carpeta `ejercicios/` -------------------------------------------------------------------------------- /dia-2/ejercicios/ejercicio-5-animaciones.md: -------------------------------------------------------------------------------- 1 | # Ejercicio 5: Animaciones Simples 2 | 3 | ## 🎯 Objetivo 4 | Añadir interactividad básica a tu portfolio. 5 | 6 | ## 📝 Instrucciones 7 | 8 | 1. Añade estas animaciones: 9 | - Hover en botones y enlaces 10 | - Fade-in al cargar las secciones 11 | - Transición suave en el menú móvil 12 | - Hover en las tarjetas de proyectos 13 | 14 | ## 💡 Tips 15 | - Mantén las animaciones sutiles 16 | - No más de 0.3s de duración 17 | - Usa transform y opacity para mejor rendimiento -------------------------------------------------------------------------------- /dia-2/README.md: -------------------------------------------------------------------------------- 1 | # Día 2: CSS Avanzado y Publicación 2 | 3 | ## 📚 Contenido 4 | 5 | 1. CSS Avanzado 6 | - Flexbox y Grid 7 | - Animaciones y transiciones 8 | - Media queries 9 | 10 | 2. Ejemplos de Portfolio 11 | - [Portfolio Template Básico](teoria/6-portfolio-template.html) 12 | - [Portfolio con shadcn/ui](teoria/6-portfolio-template-shadcn.html) 13 | 14 | 3. Publicación 15 | - Configuración de GitHub Pages 16 | - Despliegue en Netlify 17 | - Mantenimiento básico 18 | 19 | ## 🎯 Ejercicios 20 | 21 | Los ejercicios se encuentran en la carpeta `ejercicios/` -------------------------------------------------------------------------------- /dia-2/ejercicios/ejercicio-4-responsive.md: -------------------------------------------------------------------------------- 1 | # Ejercicio 4: Diseño Responsive 2 | 3 | ## 🎯 Objetivo 4 | Hacer que tu portfolio se vea bien en todos los dispositivos. 5 | 6 | ## 📝 Instrucciones 7 | 8 | 1. Añade media queries para: 9 | - Móvil (hasta 768px) 10 | - Tablet (768px - 1024px) 11 | - Desktop (1024px+) 12 | 13 | 2. Ajusta: 14 | - Tamaño de fuentes 15 | - Layout de la navegación 16 | - Disposición de proyectos 17 | - Márgenes y padding 18 | 19 | ## 💡 Tips 20 | - Prueba en diferentes dispositivos 21 | - Usa unidades relativas (rem, em, %) 22 | - Mobile-first approach -------------------------------------------------------------------------------- /dia-1/ejercicios/ejercicio-1-figma.md: -------------------------------------------------------------------------------- 1 | # Ejercicio 1: Wireframe en Figma 2 | 3 | ## 🎯 Objetivo 4 | Crear un wireframe básico para tu portafolio personal usando Figma. 5 | 6 | ## 📝 Instrucciones 7 | 8 | 1. Abre Figma y crea un nuevo proyecto 9 | 2. Crea un frame para desktop (1440x900) 10 | 3. Diseña las siguientes secciones: 11 | - Header con navegación 12 | - Hero section 13 | - Sección "Sobre Mí" 14 | - Galería de proyectos 15 | - Formulario de contacto 16 | - Footer 17 | 18 | ## ✨ Consejos 19 | - Usa formas básicas (rectángulos, círculos) 20 | - Mantén un diseño simple y limpio 21 | - Piensa en la jerarquía visual -------------------------------------------------------------------------------- /dia-1/ejercicios/ejercicio-3-css-basico.md: -------------------------------------------------------------------------------- 1 | # Ejercicio 3: Estilos CSS Básicos 2 | 3 | ## 🎯 Objetivo 4 | Dar estilo básico a tu portfolio usando CSS. 5 | 6 | ## 📝 Instrucciones 7 | 8 | 1. Define tu paleta de colores (máximo 3 colores principales) 9 | 2. Estiliza las siguientes partes: 10 | - Fondo y color de texto principal 11 | - Navegación responsive 12 | - Títulos y subtítulos 13 | - Espaciado entre secciones 14 | - Formulario de contacto 15 | 16 | ## 🎨 Paletas Recomendadas 17 | - Minimalista: #ffffff, #000000, #4a90e2 18 | - Profesional: #f8f9fa, #212529, #0d6efd 19 | - Creativa: #ffffff, #ff6b6b, #339af0 20 | 21 | ## 💡 Tips 22 | - Menos es más 23 | - Usa variables CSS para los colores 24 | - Mantén el contraste para la accesibilidad -------------------------------------------------------------------------------- /dia-1/ejercicios/ejercicio-2-html.md: -------------------------------------------------------------------------------- 1 | # Ejercicio 2: Estructura HTML del Portfolio 2 | 3 | ## 🎯 Objetivo 4 | Crear la estructura HTML básica de tu portfolio siguiendo el wireframe que diseñaste en Figma. 5 | 6 | ## 📝 Instrucciones 7 | 8 | 1. Abre el archivo `index.html` en tu editor 9 | 2. Crea las siguientes secciones: 10 | - Header con tu nombre/logo 11 | - Sección "Hero" con una frase que te describa 12 | - Sección "Sobre Mí" con un párrafo sobre ti 13 | - Sección "Proyectos" (aunque aún no tengas, prepara la estructura) 14 | - Sección "Contacto" con un formulario simple 15 | - Footer con tus redes sociales 16 | 17 | ## 💡 Tips 18 | - Usa etiquetas semánticas (`header`, `section`, `footer`) 19 | - No te preocupes por el diseño aún, solo por la estructura 20 | - Asegúrate de que el contenido tenga sentido sin estilos -------------------------------------------------------------------------------- /dia-2/teoria/5-deploy.md: -------------------------------------------------------------------------------- 1 | # Publicación y Mantenimiento 2 | 3 | ## 1. Preparación para Producción 4 | 5 | ### 1.1 Optimización 6 | - Minificación de CSS/JS 7 | - Optimización de imágenes 8 | - Compresión de archivos 9 | - Caché del navegador 10 | 11 | ### 1.2 SEO Básico 12 | - Meta tags 13 | - Open Graph 14 | - Sitemap 15 | - Robots.txt 16 | 17 | ## 2. Deployment 18 | 19 | ### 2.1 Netlify 20 | - Ventajas 21 | - Configuración básica 22 | - Dominios personalizados 23 | - HTTPS automático 24 | 25 | ### 2.2 Formularios 26 | - Configuración en Netlify 27 | - Validación 28 | - Spam protection 29 | - Notificaciones 30 | 31 | ## 3. Mantenimiento 32 | 33 | ### 3.1 Analytics 34 | - Google Analytics 35 | - Netlify Analytics 36 | - Métricas importantes 37 | 38 | ### 3.2 Actualizaciones 39 | - Contenido 40 | - Dependencias 41 | - Seguridad 42 | - Backups -------------------------------------------------------------------------------- /dia-1/style.css: -------------------------------------------------------------------------------- 1 | /* Estilos base */ 2 | :root { 3 | --primary-color: #4a90e2; 4 | --text-color: #333; 5 | --background-color: #fff; 6 | } 7 | 8 | * { 9 | margin: 0; 10 | padding: 0; 11 | box-sizing: border-box; 12 | } 13 | 14 | body { 15 | font-family: 'Arial', sans-serif; 16 | line-height: 1.6; 17 | color: var(--text-color); 18 | background-color: var(--background-color); 19 | } 20 | 21 | /* Navegación */ 22 | nav { 23 | display: flex; 24 | justify-content: space-between; 25 | align-items: center; 26 | padding: 1rem; 27 | background-color: var(--primary-color); 28 | } 29 | 30 | nav ul { 31 | display: flex; 32 | list-style: none; 33 | } 34 | 35 | nav ul li a { 36 | color: white; 37 | text-decoration: none; 38 | padding: 0.5rem 1rem; 39 | } 40 | 41 | /* Secciones principales */ 42 | section { 43 | padding: 2rem; 44 | max-width: 1200px; 45 | margin: 0 auto; 46 | } 47 | 48 | /* Footer */ 49 | footer { 50 | text-align: center; 51 | padding: 1rem; 52 | background-color: #f5f5f5; 53 | } -------------------------------------------------------------------------------- /dia-1/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 | 7 |Aquí aprenderemos a crear una página web desde cero.
28 |