Sobre el proyecto
GeeksPulse es un agregador de noticias para desarrolladores de código abierto que recopila artículos de aproximadamente 50 feeds RSS y Atom seleccionados manualmente y los presenta en una única interfaz rápida. El proyecto se describe a sí mismo como libre de anuncios, muros de pago y rastreadores publicitarios, y es construido y mantenido por un desarrollador individual.
Cómo funciona
Un pipeline de compilación en Node.js (scripts/build-feed.mjs más módulos bajo scripts/lib/) obtiene y normaliza los feeds configurados, luego escribe cachés JSON estáticos en public/. El frontend es HTML, CSS y JavaScript vanilla ES modules, por lo que el sitio puede servirse como archivos estáticos sin un servidor de aplicaciones. Un flujo de trabajo de GitHub Actions ejecuta la compilación del feed según un cronograma (documentado como cada 30 minutos) para mantener la caché actualizada. Si el archivo de feed precompilado falta o está vacío, la aplicación recurre a obtener los feeds directamente en el navegador a través de proxies CORS; el README describe esto como una ruta de emergencia en lugar de la ruta de carga normal.
Contenido y categorías
Los feeds se listan en data/feeds.json y se agrupan en 11 categorías: General, Seguridad, IA/ML, Python, JavaScript, Java, DevOps, Código Abierto, Rust, Go y Arquitectura. Las fuentes con nombre incluyen Hacker News, Lobsters, Ars Technica, The Register, IEEE Spectrum, Krebs on Security, Bleeping Computer, Google AI Blog, Planet Python, JavaScript Weekly, blogs de Docker y Kubernetes, LWN.net, Rust Blog, Go Blog, Martin Fowler, Netflix Tech Blog y Cloudflare Blog, entre otros. Agregar un feed implica editar data/feeds.json y regenerar la caché.
Características
- Diseños de cuadrícula y lista con la preferencia almacenada en localStorage
- Intervalos de autoactualización configurables de 1 minuto a 1 hora
- Resúmenes por IA bajo demanda, usando fragmentos pre-cacheados o un respaldo local de Ollama
- Marcadores guardados localmente, más tiempo estimado de lectura en las tarjetas
- Atajos de teclado: / para buscar, j/k para navegar, o para abrir, r para actualizar, Esc para limpiar
- Panel de salud del feed que muestra la hora de la última actualización y conteos de feeds en línea/fallidos
- Cargadores de esqueleto, compartir mediante la API de Compartir Web con respaldo al portapapeles
- Trabajo de accesibilidad: roles y etiquetas ARIA, navegación por teclado, soporte para prefers-reduced-motion
- Tema oscuro cyberpunk con acentos neón, animaciones de glitch y scanline
Las salidas de compilación incluyen public/feed.json (hasta 300 artículos deduplicados ordenados por más recientes primero), public/feed-health.json, public/version.json, un sitemap.xml solo para la página de inicio y artículos de respaldo SEO inyectados en index.html.
Pruebas y herramientas
El repositorio documenta una suite de pruebas por capas: pruebas unitarias, de integración y DOM de Vitest (reportadas como 171 pruebas) más pruebas de humo de extremo a extremo de Playwright (10 pruebas) contra Chromium, con happy-dom para pruebas del lado del navegador y umbrales de cobertura V8. El pipeline de CI ejecuta primero las pruebas, luego el trabajo de compilación y despliegue, y finalmente las pruebas de extremo a extremo; una prueba unitaria o de integración fallida bloquea el pipeline. El desarrollo usa Vite 6 como servidor de desarrollo y empaquetador de producción, con fast-xml-parser y ollama como dependencias en tiempo de compilación.
Privacidad y soporte
El README indica que el sitio usa Google Analytics para conocimientos básicos de tráfico pero sin rastreadores publicitarios, y no vende datos de usuarios ni personaliza anuncios. El proyecto acepta contribuciones mediante issues y pull requests y ofrece un enlace opcional de soporte vía PayPal.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.