LightGallery can be instantiated and launched programmatically by setting dynamic option to true and populating dynamicEl option by passing array of objects representing the gallery elements. more info.
document.getElementById('dynamic').addEventListener('click', function() { lightGallery(document.getElementById('dynamic'), { dynamic: true, dynamicEl: [{ "src": '../static/img/1.jpg', 'thumb': '../static/img/thumb-1.jpg', 'subHtml': '<h4>Fading Light</h4><p>Classic view from Rigwood Jetty on Coniston Water an old archive shot similar to an old post but a little later on.</p>' }, { 'src': '../static/img/2.jpg', 'thumb': '../static/img/thumb-2.jpg', 'subHtml': "<h4>Bowness Bay</h4><p>A beautiful Sunrise this morning taken En-route to Keswick not one as planned but I'm extremely happy I was passing the right place at the right time....</p>" }, { 'src': '../static/img/3.jpg', 'thumb': '../static/img/thumb-3.jpg', 'subHtml': "<h4>Coniston Calmness</h4><p>Beautiful morning</p>" }] }) });