update service worker to use correct url pattern

Hunter
Friday, July 11th, 2025 at 9:49 PM

generate_image_manifest.py+2-2
image-manifest.json+11-11
sw.js+5-5

generate_image_manifest.py
28      
29      for file_path in images_dir.iterdir():
30          if file_path.is_file() and file_path.suffix.lower() in image_extensions:
   -            # Create relative path from web root
   -            relative_path = f"/images/{file_path.name}"
31 +            # Create relative path from web root (GitHub Pages subdirectory)
32 +            relative_path = f"/web_workshop/images/{file_path.name}"
33              image_files.append(relative_path)
34      
35      # Sort for consistent output
image-manifest.json
 1  {
 2    "generated_at": "auto-generated by GitHub Actions",
 3    "images": [
   -    "/images/ceedee.gif",
   -    "/images/floppy.gif",
   -    "/images/mac.png",
   -    "/images/pika_construction.gif",
   -    "/images/pizza.gif",
   -    "/images/rollerskate.png",
   -    "/images/scared_mouse.gif",
   -    "/images/sun.png",
   -    "/images/underconstruction.gif",
   -    "/images/welcome.gif",
   -    "/images/windows.gif"
 4 +    "/web_workshop/images/ceedee.gif",
 5 +    "/web_workshop/images/floppy.gif",
 6 +    "/web_workshop/images/mac.png",
 7 +    "/web_workshop/images/pika_construction.gif",
 8 +    "/web_workshop/images/pizza.gif",
 9 +    "/web_workshop/images/rollerskate.png",
10 +    "/web_workshop/images/scared_mouse.gif",
11 +    "/web_workshop/images/sun.png",
12 +    "/web_workshop/images/underconstruction.gif",
13 +    "/web_workshop/images/welcome.gif",
14 +    "/web_workshop/images/windows.gif"
15    ],
16    "total_images": 11
17  }
sw.js
   -const CACHE_NAME = 'web-workshop-v4';
 1 +const CACHE_NAME = 'web-workshop-v5';
 2  const urlsToCache = [
   -  '/',
   -  '/index.html',
   -  '/manifest.json',
 3 +  '/web_workshop/',
 4 +  '/web_workshop/index.html',
 5 +  '/web_workshop/manifest.json',
 6    // CodeMirror dependencies
 7    'https://esm.sh/@codemirror/view@6',
 8    'https://esm.sh/@codemirror/state@6', 

47  // Function to cache all images using the generated manifest
48  async function cacheImages(cache) {
49    try {
   -    const response = await fetch('/image-manifest.json');
50 +    const response = await fetch('/web_workshop/image-manifest.json');
51      if (response.ok) {
52        const manifest = await response.json();
53        console.log(`Caching ${manifest.total_images} images from manifest`);