@adus First of all I am a layman myself, I just do it the trial and error way What you could do is:
-Upload plugin files to for instance /user/plugins/mb/
-Enable short code assets plugin in Grav admin panels
-Create a new twig template, mine is called Gallery where i added this to the content section and upload in your theme folders
<div class="media-boxes-search">
<span class="media-boxes-icon fa fa-search"></span> <input id="search" placeholder="Search by title" type="text"> <span class="media-boxes-clear fa fa-close"></span>
</div>
<div id="grid">
{% for image in page.media.images|sort|reverse %} {% set imgtitle = image.filename|replace({'.JPG':'.','.jpg':'.','_':' ','-':' ','__':', '}) %}
<div class="media-box snaps">
<div class="media-box-title">
"{{ imgtitle }}"
</div>
<div class="media-box-image">
<div data-thumbnail="{{ image.resize(600,400).quality(100).url }}"></div>
<div class="thumbnail-overlay">
<i class="fa fa-plus mb-open-popup" data-src="{{ image.quality(100).url }}" data-title="{{ imgtitle }}"></i>
</div>
</div>
</div>{% endfor %}
</div>
-Back to admin
-Create a page
-Advanced -> Page Template -> Dropdown -> Gallery
-Back to content tab, put the following in the page body. Of course you could put this in your template as well but for starters this is fine, easily adjustable if something is wrong. not sure if anything has changed in the past year, so check all the assets and don’t just copy this
[assets=css]
/user/plugins/mb/components/Fancybox/jquery.fancybox.min.css
[/assets]
[assets=css]
/user/plugins/mb/css/mediaBoxes.css
[/assets]
[assets=js]
/user/plugins/mb/components/Isotope/jquery.isotope.min.js
[/assets]
[assets=js]
/user/plugins/mb/components/imagesLoaded/jquery.imagesLoaded.min.js
[/assets]
[assets=js]
/user/plugins/mb/components/Transit/jquery.transit.min.js
[/assets]
[assets=js]
/user/plugins/mb/components/jQuery Easing/jquery.easing.js
[/assets]
[assets=js]
/user/plugins/mb/components/Waypoints/waypoints.min.js
[/assets]
[assets=js]
/user/plugins/mb/components/Modernizr/modernizr.custom.min.js
[/assets]
[assets=js]
/user/plugins/mb/components/Fancybox/jquery.fancybox.min.js
[/assets]
[assets=js]
/user/plugins/mb/js/jquery.mediaBoxes.dropdown.js
[/assets]
[assets=js]
/user/plugins/mb/js/jquery.mediaBoxes.js
[/assets]
[assets=inlineJs]
$('#grid').mediaBoxes({
columnWidth: 'auto',
columns: 3,
boxesToLoadStart: 12,
boxesToLoad: 9,
search: '#search',
searchTarget: '.media-box-title',
});
[/assets]
The last bit are my preferences
Upload photos and have a look at your page
Ps of course these thumb sizes are ridiculous:
<div data-thumbnail="{{ image.resize(600,400).quality(100).url }}"></div>
But when I load these in say 340px div they look much crisper this way. And only a few people login to see my pictures anyway so who cares about loading time
And to conclude I was worried about the amount of pictures and data. But right now one gallery has 600 pictures and some 1200 MB and it’s loading crazy fast still