Volviendo a tomarle el gusto
Herramientas para trabajar con Svelte profesionalmente
Proyecto del curso y estado del arte de Svelte
Setup inicial con Sapper
Estructura de un proyecto en Sapper
Estructura de rutas con Sapper
Sistema de rutas y rutas dinámicas en Sapper
Layout y estructura principal de nuestro blog
Ruta 404 con animaciones
Rutas principales del blog: about, contact y tags
Construye el Layout y Newsletter del blog
Diseño y maquetación del Header
Diseño y maquetación del Nav
Diseño y maquetación del Sidebar y Footer
Construye un Newsletter para el blog
Estructura de los blogposts
Sección principal del blog y blogposts
Integración de analytics, comentarios y tiempo de lectura en tu blog
Integración con Google Analytics
Calcula el tiempo de lectura de cada blogpost
Muestra un emoji aleatorio en cada blogpost
Manejo de fechas dentro del blog con JavaScript Vainilla
Estructura del blogpost con comentarios
Integración con Disqus para agregar comentarios
Construye tu API usando Ghost CMS
Instalación de Ghost
Configuración de Ghost en Heroku
Ghost Core API
Integra la API de Ghost en tu blog con Svelte
Guardando la información de nuestros blogposts
Terminando la integración
Despliega tu aplicación
Compra de un dominio y manejo del DNS con Cloudflare
Deploy a Netlify
Deploy a Heroku
SEO y optimización de tu sitio web
Metadatos y optimización del SEO
Transforma tu blog en una PWA
RSS
Terminando el RSS
Sitemap
Agrega pruebas de integración con Cypress
Cómo continúa tu camino profesional con Svelte
Siguientes pasos con Svelte
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Oscar Barajas Tavares
Aportes 4
Preguntas 2
Volviendo a tomarle el gusto
Nav.svelte
<script>
export let segment;
</script>
<style>
.Nav{
border-bottom: 1px solid rgba(255,0,121,0.2);
font-weight: 300;
background-color: #fafbfc;
color: #191a22;
}
.Nav-container{
display: grid;
grid-template-columns: minmax(auto,1024px);
justify-content: center;
align-items: center;
}
.Nav-content{
display: flex;
justify-content: space-between;
}
ul {
margin: 0;
padding: 0;
}
/* clearfix */
ul::after {
content: '';
display: block;
clear: both;
}
li {
display: block;
float: left;
}
[aria-current] {
position: relative;
display: inline-block;
}
[aria-current]::after {
position: absolute;
content: '';
width: calc(100% - 1em);
height: 2px;
background-color: rgb(255,62,0);
display: block;
bottom: -1px;
}
a {
text-decoration: none;
padding: 1em 1em 1em 0;
display: block;
font-size: 14px;
font-weight: 300;
transition: all 0.3s ease-in-out 0s;
color:rgba(25,26,34,0.7);
}
a:hover{
color:rgba(25,26,34,1);
}
</style>
<nav class="Nav">
<div class="Nav-container">
<div class="Nav-content">
<div class="Nav-social">
<ul>
<li><a aria-current="{segment === undefined ? 'page' : undefined}" href=".">home</a></li>
<li><a aria-current="{segment === 'about' ? 'page' : undefined}" href="about">about</a></li>
<li><a aria-current="{segment === 'contact' ? 'page' : undefined}" href="contact">contact</a></li>
<li><a aria-current="{segment === 'general' ? 'page' : undefined}" href="general">general</a></li>
<li><a rel=prefetch aria-current="{segment === 'blog' ? 'page' : undefined}" href="blog">blog</a></li>
</ul>
</div>
</div>
</div>
</nav>
.Nav{
border-bottom: 1px solid rgba(255,0,121,0.2);
font-weight: 300;
background-color: #fafbfc;
color: #191a22;
}
.Nav-container{
display: grid;
grid-template-columns: minmax(auto,1024px);
justify-content: center;
align-items: center;
}
.Nav-content{
display: flex;
justify-content: space-between;
}
a {
text-decoration: none;
padding: 1em 1em 1em 0;
display: block;
font-size: 14px;
font-weight: 300;
transition: all 0.3s ease-in-out 0s;
color:rgba(25,26,34,0.7);
}
a:hover{
color:rgba(25,26,34,1);
}
Sigamos!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?