I just built a photo gallery from scratch with some help from node.js and lightbox modal to render the images and the galleries. I use docker-compose to install the node.js environment. With some help from Copilot, I created 2 node.js scripts to generate the index and gallery files.

2 node.js scripts:

  • createIndex.js - scans the root directory for any galleries and adds them to the index.html file.
  • createGallery.js - scans the targeted gallery directory for JPG image files, creates a gallery and saves it as index.html.

The gallery pages are justified and are rendered on the fly when the browser is resized. To build a new galleries, simply create a new directory, drop the images in that directory, and run a couple of scripts to generate the index and gallery files. Once the gallery files are generated, I simply upload to AWS S3 bucket using a couple of custom shell scripts.

The gallery is hosted on AWS S3.