Skip to content

feat: add static wallpaper gallery site for GitHub Pages (/docs) - #16

Open
rootagi wants to merge 19 commits into
dharmx:mainfrom
rootagi:main
Open

feat: add static wallpaper gallery site for GitHub Pages (/docs)#16
rootagi wants to merge 19 commits into
dharmx:mainfrom
rootagi:main

Conversation

@rootagi

@rootagi rootagi commented Aug 12, 2026

Copy link
Copy Markdown

Overview

This PR adds a static, buildless GitHub Pages web gallery in /docs to browse, search, and download all wallpapers across the repository's 52 categories.

  • Live Demo (Fork): https://rootagi.github.io/walls
  • Zero Media Duplication: Total site output in /docs is only ~660 KB. 0 MB of images/videos are stored in /docs — media streams dynamically via jsDelivr CDN with raw GitHub fallbacks.

Key Features

  • 🖼️ Fast Grid & Lazy Loading: Batched infinite scroll with IntersectionObserver lazy-loading and reserved aspect-ratio to eliminate masonry layout shifts.
  • Resized Thumbnail Proxy: Grid cards load ~400px thumbnails via images.weserv.nl proxy for fast load times and minimal bandwidth; Lightbox modal loads ~1600px previews.
  • Full Originals for Downloads: "Download Wallpaper" and "Copy Link" buttons always resolve to the full-resolution original CDN files.
  • 🔍 Live Search & Filter: Real-time filename search across all categories with result counts and deep hash-routing (#category/, #search/, #wallpaper/).
  • 🌗 Light & Dark Theme: Full theme toggle with system preference sync, localStorage persistence, and zero-FOUC inline detection.
  • 📱 Responsive & Mobile-First: Mobile header layout, touch swipe gestures in Lightbox, and a "Browse All 52 Categories" modal.
  • Keyboard & Reduced-Motion: Focus-visible outlines, full keyboard navigation (Tab, Enter, Space, Esc, , ), and static marquee fallbacks for prefers-reduced-motion.
  • ⚙️ Automated Manifest Workflow: Includes scripts/generate-manifest.mjs and a GitHub Action (.github/workflows/update-manifest.yml) to auto-update docs/manifest.json whenever wallpapers are added or updated.

Instructions for Maintainer

After merging this PR:

  1. Go to Settings → Pages.
  2. Under Build and deployment → Source, select Deploy from a branch.
  3. Set Branch to main and folder to /docs.
  4. Click Save. The site will be live at https://dharmx.github.io/walls.

@boringgeek

Copy link
Copy Markdown

This is a solid add. Not sure the maintainer saw the PR, but definitely a +1 on this if they're willing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants