A minimal photo gallery template. Drop in your images and deploy.
- Put your JPG/JPEG/PNG images in the
images/folder - Run the setup script (or wire up images manually)
- Deploy
Requires ImageMagick and Python 3.
macOS
brew install imagemagickLinux (Debian/Ubuntu)
sudo apt install imagemagick python3Linux (Fedora/RHEL)
sudo dnf install imagemagick python3Windows
winget install ImageMagick.ImageMagick Python.Python.3The script requires Bash — run it via WSL or Git Bash.
./lib/optimise.shThis will:
- Compress and resize any images over 1920px wide (quality 80)
- Skip images already optimised
- Add new images to
index.htmlautomatically with alt text
Put your images in images/ and give this prompt to any LLM with access to your project:
List all files in the images/ directory, then update index.html to display them.
Replace the existing <img> tags inside <div class="image-container"> with one <img> tag
per image file. Set src to the relative path (e.g. images/photo.jpg or images/photo.png) and write a
meaningful, descriptive alt attribute for each one that describes the image content,
not just the filename. For camera-generated names (DSC*, IMG*, etc.), describe what
the image likely depicts based on any context available.
For camera-generated filenames (DSC*, IMG*, etc.), install the macOS Vision framework to generate descriptive alt text automatically:
pip3 install pyobjc-framework-VisionInstall Python from python.org if you don't have it, then:
python3 -m http.serverThen open http://localhost:8000.
npm i -g vercel
vercelOr drag the project folder into vercel.com/new.
Drag the project folder into app.netlify.com/drop. Done.
See ACCESSIBILITY.md for our commitment, known limitations, and how to report issues.
