Thumbnail gallery, which can be used for Instagram.
A carousel including thumbnails. This uses two JavaScript libraries; Tiny Slider and PhotoSwipe.
<template id="photoswipe">
<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">
<div class="pswp__bg"></div>
<div class="pswp__scroll-wrap">
<div class="pswp__container">
<div class="pswp__item"></div>
<div class="pswp__item"></div>
<div class="pswp__item"></div>
</div>
<div class="pswp__ui pswp__ui--hidden">
<div class="pswp__top-bar">
<div class="pswp__counter"></div>
<button class="pswp__button pswp__button--close" title="Close (Esc)"></button>
<button class="pswp__button pswp__button--share" title="Share"></button>
<button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>
<button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>
<div class="pswp__preloader">
<div class="pswp__preloader__icn">
<div class="pswp__preloader__cut">
<div class="pswp__preloader__donut"></div>
</div>
</div>
</div>
</div>
<div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
<div class="pswp__share-tooltip"></div>
</div>
<button class="pswp__button pswp__button--arrow--left" title="Previous">
</button>
<button class="pswp__button pswp__button--arrow--right" title="Next">
</button>
<div class="pswp__caption">
<div class="pswp__caption__center"></div>
</div>
</div>
</div>
</div>
</template>
<div class="gallery gallery--carousel">
<ul class="gallery__list">
<li class="gallery__item" data-src="http://picsum.photos/1156/650" data-video="" data-width="1156" data-height="650">
<div class="media">
<div class="media__content">
<img src="http://picsum.photos/1156/650" alt="" title="" />
</div>
</div>
<p class="gallery__description">Quasi in quasi veniam ad unde consequatur.</p>
</li>
<li class="gallery__item" data-src="http://picsum.photos/1156/650" data-video="" data-width="1156" data-height="650">
<div class="media">
<div class="media__content">
<img src="http://picsum.photos/1156/650" alt="" title="" />
</div>
</div>
<p class="gallery__description">Accusamus cumque autem consequatur.</p>
</li>
<li class="gallery__item" data-src="http://picsum.photos/1156/650" data-video="" data-width="1156" data-height="650">
<div class="media">
<div class="media__content">
<img src="http://picsum.photos/1156/650" alt="" title="" />
</div>
</div>
<p class="gallery__description">Tempora ut distinctio.</p>
</li>
<li class="gallery__item" data-src="http://picsum.photos/1156/650" data-video="" data-width="1156" data-height="650">
<div class="media">
<div class="media__content">
<img src="http://picsum.photos/1156/650" alt="" title="" />
</div>
</div>
<p class="gallery__description">Iusto eum id consequatur officia rerum delectus sit veniam.</p>
</li>
<li class="gallery__item" data-src="http://picsum.photos/1156/650" data-video="" data-width="1156" data-height="650">
<div class="media">
<div class="media__content">
<img src="http://picsum.photos/1156/650" alt="" title="" />
</div>
</div>
<p class="gallery__description">Error explicabo qui et inventore soluta praesentium aperiam cumque.</p>
</li>
<li class="gallery__item" data-src="http://picsum.photos/1156/650" data-video="" data-width="1156" data-height="650">
<div class="media">
<div class="media__content">
<img src="http://picsum.photos/1156/650" alt="" title="" />
</div>
</div>
<p class="gallery__description">Ad consequatur alias rerum est porro quo eius magni.</p>
</li>
<li class="gallery__item" data-src="http://picsum.photos/1156/650" data-video="" data-width="1156" data-height="650">
<div class="media">
<div class="media__content">
<img src="http://picsum.photos/1156/650" alt="" title="" />
</div>
</div>
<p class="gallery__description">Sit enim omnis laudantium.</p>
</li>
<li class="gallery__item" data-src="http://picsum.photos/1156/650" data-video="" data-width="1156" data-height="650">
<div class="media">
<div class="media__content">
<img src="http://picsum.photos/1156/650" alt="" title="" />
</div>
</div>
<p class="gallery__description">Aut voluptas quia et omnis possimus molestiae eveniet reiciendis soluta.</p>
</li>
<li class="gallery__item" data-src="http://picsum.photos/1156/650" data-video="" data-width="1156" data-height="650">
<div class="media">
<div class="media__content">
<img src="http://picsum.photos/1156/650" alt="" title="" />
</div>
</div>
<p class="gallery__description">Rem velit deleniti est molestiae illo delectus at dolores.</p>
</li>
<li class="gallery__item" data-src="http://picsum.photos/1156/650" data-video="" data-width="1156" data-height="650">
<div class="media">
<div class="media__content">
<img src="http://picsum.photos/1156/650" alt="" title="" />
</div>
</div>
<p class="gallery__description">Dicta totam et sed hic harum ea.</p>
</li>
<li class="gallery__item" data-src="http://www.youtube.com/embed/dP15zlyra3c?html5=1" data-video="http://www.youtube.com/embed/dP15zlyra3c?html5=1&enablejsapi=1" data-width="" data-height="">
<div class="media">
<div class="media__content">
<iframe src="http://www.youtube.com/embed/dP15zlyra3c?html5=1&enablejsapi=1"></iframe>
</div>
</div>
</li>
</ul>
<ul class="gallery__thumbnails">
<li class="gallery__item">
<a href="http://picsum.photos/1156/650">
<div class="media">
<div class="media__content">
<img src="http://picsum.photos/400/225" alt="" title="" />
</div>
</div>
</a>
</li>
<li class="gallery__item">
<a href="http://picsum.photos/1156/650">
<div class="media">
<div class="media__content">
<img src="http://picsum.photos/400/225" alt="" title="" />
</div>
</div>
</a>
</li>
<li class="gallery__item">
<a href="http://picsum.photos/1156/650">
<div class="media">
<div class="media__content">
<img src="http://picsum.photos/400/225" alt="" title="" />
</div>
</div>
</a>
</li>
<li class="gallery__item">
<a href="http://picsum.photos/1156/650">
<div class="media">
<div class="media__content">
<img src="http://picsum.photos/400/225" alt="" title="" />
</div>
</div>
</a>
</li>
<li class="gallery__item">
<a href="http://picsum.photos/1156/650">
<div class="media">
<div class="media__content">
<img src="http://picsum.photos/400/225" alt="" title="" />
</div>
</div>
</a>
</li>
<li class="gallery__item">
<a href="http://picsum.photos/1156/650">
<div class="media">
<div class="media__content">
<img src="http://picsum.photos/400/225" alt="" title="" />
</div>
</div>
</a>
</li>
<li class="gallery__item">
<a href="http://picsum.photos/1156/650">
<div class="media">
<div class="media__content">
<img src="http://picsum.photos/400/225" alt="" title="" />
</div>
</div>
</a>
</li>
<li class="gallery__item">
<a href="http://picsum.photos/1156/650">
<div class="media">
<div class="media__content">
<img src="http://picsum.photos/400/225" alt="" title="" />
</div>
</div>
</a>
</li>
<li class="gallery__item">
<a href="http://picsum.photos/1156/650">
<div class="media">
<div class="media__content">
<img src="http://picsum.photos/400/225" alt="" title="" />
</div>
</div>
</a>
</li>
<li class="gallery__item">
<a href="http://picsum.photos/1156/650">
<div class="media">
<div class="media__content">
<img src="http://picsum.photos/400/225" alt="" title="" />
</div>
</div>
</a>
</li>
<li class="gallery__item">
<a href="http://www.youtube.com/embed/dP15zlyra3c?html5=1">
<div class="media">
<div class="media__content">
<img src="http://picsum.photos/400/225" alt="" title="" />
</div>
</div>
</a>
</li>
</ul>
</div>
<template id="photoswipe">
{{{ template }}}
</template>
<div class="{{modifier 'gallery' modifiers}}">
<ul class="gallery__list">
{{#each gallery }}
<li class="gallery__item" data-src="{{ gallery.media.src }}" data-video="{{ gallery.media.video }}" data-width="{{ gallery.media.width }}" data-height="{{ gallery.media.height }}">
{{ render '@media' gallery merge=true }}
{{#if text}}
<p class="gallery__description">{{ text }}</p>
{{/if}}
</li>
{{/each}}
</ul>
<ul class="gallery__thumbnails">
{{#each gallery }}
<li class="gallery__item">
<a href="{{ gallery.media.src }}">{{ render '@media' thumbnail merge=true }}</a>
</li>
{{/each}}
</ul>
</div>