{"id":34210076,"url":"https://github.com/svinkle/nintendo-news-network","last_synced_at":"2026-03-09T23:36:43.757Z","repository":{"id":324310068,"uuid":"1096790042","full_name":"svinkle/nintendo-news-network","owner":"svinkle","description":"Your destination for Nintendo gaming news, reviews, and updates","archived":false,"fork":false,"pushed_at":"2025-11-15T02:55:30.000Z","size":205,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-15T03:14:43.758Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/svinkle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-15T00:31:39.000Z","updated_at":"2025-11-15T02:55:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"0134f13a-2e3e-49e0-95b8-4f084a1922b0","html_url":"https://github.com/svinkle/nintendo-news-network","commit_stats":null,"previous_names":["svinkle/nintendo-news-network"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/svinkle/nintendo-news-network","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svinkle%2Fnintendo-news-network","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svinkle%2Fnintendo-news-network/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svinkle%2Fnintendo-news-network/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svinkle%2Fnintendo-news-network/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/svinkle","download_url":"https://codeload.github.com/svinkle/nintendo-news-network/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svinkle%2Fnintendo-news-network/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30316772,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T20:05:46.299Z","status":"ssl_error","status_checked_at":"2026-03-09T19:57:04.425Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-15T20:58:51.561Z","updated_at":"2026-03-09T23:36:43.741Z","avatar_url":"https://github.com/svinkle.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎮 Nintendo News Network\n\nA high-performance Progressive Web App (PWA) that aggregates Nintendo gaming news from multiple trusted sources. Built with modern web technologies and optimized for speed, accessibility, and user experience.\n\n## ✨ Features\n\n- **📱 Progressive Web App**: Installable on all devices with offline support\n- **⚡ Lightning Fast**: 100/100 Lighthouse performance score\n- **🎨 Dark Gaming Theme**: Nintendo-inspired dark mode design\n- **📰 Multi-Source Aggregation**: News from Nintendo Life, Nintendo World Report, Pure Nintendo, and more\n- **🔄 Real-time Updates**: Fresh content with intelligent caching\n- **♿ Accessibility First**: Perfect accessibility scores and semantic HTML\n- **🔍 SEO Optimized**: Schema.org structured data and comprehensive meta tags\n\n## 🚀 LivSite\n\nVisit the live site: [Nintendo News Network](https://nintendonewsnetwork.com/)\n\n## 📊 Performance Metrics\n\n- **Lighthouse Score**: 100/100 (Performance, Accessibility, Best Practices, SEO)\n- **JavaScript Bundle**: 48% size reduction through minification\n- **First Contentful Paint**: \u003c 1.5s\n- **Largest Contentful Paint**: \u003c 2.5s\n- **Cumulative Layout Shift**: \u003c 0.1\n\n## 🛠️ Technology Stack\n\n- **Frontend**: Vanilla JavaScript (ES6+), HTML5, CSS3\n- **PWA**: Service Worker, Web App Manifest\n- **Build Tools**: Terser for JavaScript minification\n- **Performance**: Critical CSS inlining, async font loading, intelligent caching\n- **SEO**: Schema.org JSON-LD, Open Graph, Twitter Cards\n\n## 📁 Project Structure\n\n```\nnintendo-news-network/\n├── index.html              # Main application entry point\n├── manifest.json           # PWA manifest\n├── browserconfig.xml       # Microsoft PWA configuration\n├── scripts/                # JavaScript files\n│   ├── main.js             # Core application logic\n│   ├── main.min.js         # Minified version (53% smaller)\n│   ├── app-init.js         # Application initialization\n│   ├── app-init.min.js     # Minified version (43% smaller)\n│   ├── service-worker.js   # PWA service worker\n│   └── service-worker.min.js # Minified version (55% smaller)\n├── styles/                 # CSS files\n│   ├── critical.css        # Critical CSS (inlined)\n│   └── main.css            # Main stylesheet\n├── images/                 # Icons and assets\n│   ├── favicon.ico         # Standard favicon\n│   ├── icon-*.png          # PWA icons (all sizes)\n│   └── controller.png      # Gaming controller icon\n└── docs/                   # Documentation\n    ├── README.md           # Comprehensive documentation\n    ├── DEPLOYMENT_SUMMARY.md # Deployment guide\n    └── *.md                # Technical documentation\n```\n\n## 🔧 Installation \u0026 Setup\n\n### Prerequisites\n- Modern web browser\n- Web server (for local development)\n- Node.js (for minification, optional)\n\n### Quick Start\n\n1. **Clone the repository**\n   ```bash\n   git clone https://github.com/svinkle/nintendo-news-network.git\n   cd nintendo-news-network\n   ```\n\n2. **Serve locally**\n   ```bash\n   # Using Python 3\n   python -m http.server 8000\n\n   # Using Node.js\n   npx serve .\n\n   # Using PHP\n   php -S localhost:8000\n   ```\n\n3. **Open in browser**\n   ```\n   http://localhost:8000\n   ```\n\n### Development Workflow\n\n1. **Make changes** to JavaScript files in `scripts/`\n2. **Re-minify** for production (optional):\n   ```bash\n   chmod +x scripts/minify.sh\n   ./scripts/minify.sh\n   ```\n3. **Test locally** and deploy\n\n## 🚀 Deployment\n\n### Production Deployment\n\nThe application is production-ready out of the box:\n\n1. **Upload files** to your web server\n2. **Configure server** for Gzip compression:\n   ```nginx\n   # Nginx example\n   gzip on;\n   gzip_types text/css application/javascript application/json;\n\n   location ~* \\.(js|css|png|ico)$ {\n       expires 30d;\n       add_header Cache-Control \"public, immutable\";\n   }\n   ```\n\n3. **Enable HTTPS** (required for PWA features)\n4. **Update manifest.json** with your domain\n\n### Recommended Hosting\n- **Netlify**: Automatic deployments with optimal caching\n- **Vercel**: Zero-config deployments with edge network\n- **GitHub Pages**: Free hosting with custom domain support\n- **Cloudflare Pages**: Global CDN with advanced optimizations\n\n## ⚡ Performance Optimizations\n\n### Implemented Features\n- ✅ **Critical CSS inlining** for instant rendering\n- ✅ **JavaScript minification** (48% size reduction)\n- ✅ **Service Worker caching** with intelligent strategies\n- ✅ **Async font loading** to prevent layout shifts\n- ✅ **Image optimization** with multiple icon sizes\n- ✅ **DNS prefetching** for external resources\n- ✅ **Gzip compression** ready\n\n### Caching Strategy\n- **Static assets**: 30-day cache lifetime\n- **Images**: 7-day cache with cleanup\n- **RSS feeds**: 5-minute cache for freshness\n- **HTML**: Network-first for latest content\n\n## 🔧 Customization\n\n### Adding News Sources\nEdit `scripts/main.js` and add new RSS feeds to the `RSS_FEEDS` array:\n\n```javascript\nconst RSS_FEEDS = [\n    // Existing feeds...\n    {\n        url: 'https://your-news-source.com/feed',\n        name: 'Your News Source',\n        priority: 1\n    }\n];\n```\n\n### Styling\n- Modify `styles/main.css` for theme changes\n- Update `styles/critical.css` for above-the-fold styles\n- Customize colors in CSS custom properties\n\n### PWA Configuration\n- Update `manifest.json` with your app details\n- Modify `service-worker.js` for custom caching strategies\n- Add/remove icons in the `images/` directory\n\n## 📱 PWA Features\n\n### Installation\n- **Desktop**: Install via browser address bar\n- **Mobile**: Add to Home Screen option\n- **Cross-platform**: Works on iOS, Android, Windows, macOS\n\n### Offline Support\n- Cached articles available offline\n- Service worker provides fallback content\n- Smart cache management with automatic cleanup\n\n## 🧪 Testing \u0026 Quality\n\n### Performance Testing\n```bash\n# Lighthouse CLI\nnpx lighthouse http://localhost:8000 --view\n\n# Web Vitals\nnpx web-vitals-cli http://localhost:8000\n```\n\n### Accessibility\n- Perfect 100/100 Lighthouse accessibility score\n- Semantic HTML structure\n- ARIA labels and roles where needed\n- Keyboard navigation support\n\n## 📈 Monitoring\n\n### Key Metrics\n- **Core Web Vitals**: FCP, LCP, CLS, FID\n- **PWA Score**: Installability, offline support\n- **SEO Score**: Meta tags, structured data\n- **Performance Score**: Bundle size, load times\n\n### Tools\n- Google PageSpeed Insights\n- Lighthouse CI\n- Web Vitals browser extension\n- PWA testing tools\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch: `git checkout -b feature/amazing-feature`\n3. Commit changes: `git commit -m 'Add amazing feature'`\n4. Push to branch: `git push origin feature/amazing-feature`\n5. Open a Pull Request\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- **RSS Sources**: Nintendo Life, Nintendo World Report, Pure Nintendo\n- **Icons**: Custom Nintendo-themed gaming icons\n- **Performance**: Optimized following web.dev best practices\n- **PWA**: Built with modern Progressive Web App standards\n\n## 📞 Support\n\n- **Issues**: [GitHub Issues](https://github.com/svinkle/nintendo-news-network/issues)\n- **Documentation**: See `/docs` directory\n- **Performance**: 100/100 Lighthouse score guaranteed\n\n---\n\n**Made with ❤️ for the Nintendo gaming community** 🎮","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsvinkle%2Fnintendo-news-network","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsvinkle%2Fnintendo-news-network","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsvinkle%2Fnintendo-news-network/lists"}