/* global Fancybox */ document.addEventListener('page:loaded', () => { /** * Wrap images with fancybox. */ document.querySelectorAll('.post-body :not(a) > img, .post-body > img').forEach(image => { const imageLink = image.dataset.src || image.src; const imageWrapLink = document.createElement('a'); imageWrapLink.classList.add('fancybox'); imageWrapLink.href = imageLink; imageWrapLink.setAttribute('itemscope', ''); imageWrapLink.setAttribute('itemtype', 'http://schema.org/ImageObject'); imageWrapLink.setAttribute('itemprop', 'url'); let dataFancybox = 'default'; if (image.closest('.post-gallery') !== null) { dataFancybox = 'gallery'; } else if (image.closest('.group-picture') !== null) { dataFancybox = 'group'; } imageWrapLink.dataset.fancybox = dataFancybox; const imageTitle = image.title || image.alt; if (imageTitle) { imageWrapLink.title = imageTitle; // Make sure img captions will show correctly in fancybox imageWrapLink.dataset.caption = imageTitle; } image.wrap(imageWrapLink); }); Fancybox.bind('[data-fancybox]'); });