Página personal alojada en GitHub Pages. Presentación, barra rotatoria de proyectos, habilidades, y un buscador completo de repositorios; con tema claro/oscuro.
| Archivo | Descripción |
|---|---|
index.html |
Portada: presentación, proyectos destacados (barra rotatoria), sobre mí, habilidades y contacto |
proyectos.html |
Todos los repositorios con buscador, filtro por lenguaje y toggle de forks |
├── index.html → portada
├── proyectos.html → página con todos los proyectos
├── estilo.css → estilos (tokens de color, tema claro/oscuro, responsivo)
├── comun.js → utilidades compartidas por ambas páginas
├── index.js → lógica de la portada (marquee, typing, contacto…)
├── proyectos.js → lógica de la página de proyectos (búsqueda y filtros)
├── a.json → (reservado)
└── assets/ → imágenes
En comun.js, al inicio, se configura el usuario y el comportamiento de los repos:
const GITHUB = {
username: '4lehh',
apiUrl: 'https://api.github.com/users/4lehh/repos?sort=updated&per_page=100',
includeForks: false, // mostrar repos forkeados
maxTopics: 3, // etiquetas por tarjeta
maxMarquee: 12, // cuántos proyectos entran en la barra rotatoria
};- El correo destino aparece en
index.html(hero y contacto) y enindex.js(CONTACT_FALLBACK_EMAIL). - El enlace de LinkedIn está como placeholder; cambia
https://www.linkedin.com/a tu perfil real enindex.html(hero y contacto).
Se cambian desde las variables CSS al inicio de estilo.css (:root para el
tema claro y [data-theme="dark"] para el oscuro).
En index.js quedaron bloques comentados como plantilla:
- Spotify — "Ahora suena" (necesita token).
- Webhook del formulario de contacto — activa
CONFIG.contactWebhook(Formspree, tu propio backend, un bot de Telegram…). Sin webhook, el formulario abre el cliente de correo (mailto:). - Otras ideas: LeetCode, Wakatime, YouTube.
Nota: la API pública de GitHub tiene un límite de 60 requests/hora por IP sin token. Para un límite mayor, usa un token con
Authorization: Bearer <token>o un backend propio como proxy.