Creando una aplicación sencilla en html
Taller de Creación de Router para Single Page App con JavaScript
Contenido del curso
Jonathan Mancilla
Gonzalo Pimentel
José Heriberto López Ruiz
David Flores
ProfesorJuan Jose Vega
Santiago Lopera Naranjo
Abril Darynka Tapia Sosa
Jimmy Buriticá Londoño
Juan Felipe Ángel Martínez Bernal
Jhon Paul Montoya Rodriguez
Ruth Lucy Campos Huamantica
Wandy Rafael Santana Evangelista
Luis E. Gama Ramirez
Roberto Carlos Moreira España
Erick Martinez
JuanFe Peralta
Team PlatziJuan Jiménez
Mario Peña
Sergio Estrella
ProfesorJesus Velez Flores
Andres Ramirez
Juan Esteban Galvis
jorge llanque
Reynaldo Francisco Moreno Briceño
Diego Grueso
Ramdhei López Arcila
Sebastián Buitrago
Hola, les comparto mi repositorio de una página que hice para este proyecto, la puedan usar con la práctica!
Si quieren diseñar sus propias páginas les recomiendo el Curso de Diseño de Interfaces
Esta bacán!
Chingón. Felicidades. También puedes mejorarlo el responsive en pantallas gigantes. Tengo una pantalla 4K, y el nav con el hero se ven pegados a la izquierda, a diferencia de las cards de abajo, que sí se ven bien centradas. Creo que podría verse aún mejor si todo estuviera centrado.
Aquí les deje un menu para le que lo quiera usar
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Curso SPA</title> </head> <style> body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } .menu { display: grid; grid-template-columns: repeat(3, 1fr); justify-items: center; } .menu--item { cursor: pointer; } .menu--item:hover { color: limegreen; text-decoration: underline; } </style> <body> <header class="menu"> <div class="menu--item" onclick=""> <p>Home</p> </div> <div class="menu--item" onclick=""> <p>Contact</p> </div> <div class="menu--item" onclick=""> <p>About me</p> </div> </header> </body> </html>
Gracias!
Gracias amigo!
 {
this.routes = routes;
this._loadInitialRoute();
}
loadRoute(...urlSegs){
const matchedRoute = this._matchUrlToRoute(urlSegs);
const url = `/${urlSegs.join('/')}`;
history.pushState({},'this works', url);
const routerOutElm = document.querySelectorAll('[data-router]')[0];
routerOutElm.innerHTML = matchedRoute.template;
}
_matchUrlToRoute(urlSegs){
const matchedRoute = this.routes.find(route => {
const routePathSegs = route.path.split('/').slice(1)
if (routePathSegs.length !== urlSegs.length){
return false;
}
return routePathSegs
.every((routePathSeg, i) => routePathSeg === urlSegs[i]);
});
return matchedRoute;
}
_loadInitialRoute() {
const pathNameSplit = window.location.pathname.split('/');
const pathSegs = pathNameSplit.length > 1 ? pathNameSplit.slice(1): '';
this.loadRoute(...pathSegs);
}
}
Oye brou que tema de VS estas utilizando ?
Creo que debe ser alguno de estos dos temas:
"Va a estar feo, te lo advierto de una vez" jajaja
Un header y un section básico. Contiene una animación de transform scale por cada elemento del menú. OJO: Los links no tienen un valor de href y tiene un atributo onclick sin usar para futuras clases.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Router for SPA with JS Vanilla</title> <style> * { margin: 0; padding: 0; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } .menu-list { height: 100px; background-color: #162447; color: white; display: flex; align-items: center; justify-content: space-around; } .links { color: white; text-decoration: none; transition: 100ms; } .links:active { transform: scale(0.9); } .list-item { list-style: none; } .content { margin-top: 50px; text-align: center; } </style> </head> <body> <header> <nav> <ul class="menu-list"> <a href="" class="links" onclick=""> <li class="list-item"> <h3>HOME</h3> </li> </a> <a href="" class="links" onclick=""> <li class="list-item"> <h3>CONTACT</h3> </li> </a> <a href="" class="links" onclick=""> <li class="list-item"> <h3>ABOUT</h3> </li> </a> </ul> </nav> </header> <section> <div class="content"> <h1>Welcome to the SPA Router Course at JavaScript Vanilla</h1> </div> </section> </body> </html>
"Te lo advierto, va a estar feo" Al menos es sensato 😅
Que bien, yo estoy trabajando en mi portafolio y en proyectos para añadir a este. Esto me viene super bien :)
Bien
Hice una plantilla sencilla:
Si alguno la quiere usar dejo el repositorio: https://github.com/JuanesGalvis/Router-SPA
Increíble
Recurden siempre usar HTML semantico, asi quedaria la estructura.
<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Router SPA</title> </head> <body> <header> <ul> <li><button>Home</button></li> <li><button>Contacto</button></li> <li><button>About Me</button></li> </ul> </header> <main> <h2>Hola Estudiante! Estas en el Home.</h2> </main> </body> </html>
Mi implementación, algo corto y sencillo.
Después de llevar ya un tiempo con profes que trabajan en Linux y Mac ver un curso con Ricardo en Windows se me hace raro jejejeje
jajaaja si son muy pocos los que usan window, antes lo usaba hasta que lo borre y empece a usar linux, y hoy en dia amo la consola