If you want to see some basic HTML for a image portfolio, here is an example at W3 Schools:
If you want to dynamically add source addresses to image (img) tags in HTML,
then you could have a list of urls somewhere, and use templated HTML to build your HTML.
Apps Script uses something called scriptlets to inject dynamic content into HTML.
There are multiple parts to this.
You'd need to embed an Apps Script Web App into the Google Site.
The Apps Script Web App will use HTML Service to evaluate your html,
and build the image tags.
The storage site for your pictures will need to be publicly accessible.
See:
You could load some initial number of photos.
If you want to do "lazy loading" so that when the user scrolls down, then more pictures are loaded,
that's possible.
Here is a site that I built. If you've got an add-blocker it may block the site from loading.
It doesn't use cookies, so you don't need to worry about that.