LightGallery does not force you to use any kind on markup. You can use almost any king of markup with the help of selector setting.
<div id="anchor-tag">
<a href="img/img1.jpg">
<img src="img/thumb1.jpg" />
</a>
<a href="img/img2.jpg">
<img src="img/thumb2.jpg" />
</a>
...
</div>
lightGallery(document.getElementById('anchor-tag'));
<ul id="ul-li">
<li data-src="img/img1.jpg">
<img src="img/thumb1.jpg" />
</li>
<li data-src="img/img2.jpg">
<img src="img/thumb2.jpg" />
</li>
...
</ul>
lightGallery(document.getElementById('ul-li'));
<div id="selector1">
<h2>Gallery title</h3>
<div class="item" data-src="img/img1.jpg">
<img src="img/thumb1.jpg" />
</div>
<div class="item" data-src="img/img2.jpg">
<img src="img/thumb2.jpg" />
</div>
...
</div>
lightGallery(document.getElementById('selector1'), {
selector: '.item'
});
<a id="selector2" href="img/img1.jpg">
Click to open
</a>
lightGallery(document.getElementById('selector2'), {
selector: 'this'
});