Skip to content

Commit efc615c

Browse files
committed
chore(upstream): Merge TryGhost/Casper v5.7.0
2 parents a8ea92e + 276e2c9 commit efc615c

File tree

9 files changed

+669
-0
lines changed

9 files changed

+669
-0
lines changed

assets/css/screen.css

Lines changed: 507 additions & 0 deletions
Large diffs are not rendered by default.

assets/images/default-skin.png

547 Bytes
Loading

assets/images/default-skin.svg

Lines changed: 1 addition & 0 deletions
Loading

assets/images/preloader.gif

866 Bytes
Loading

assets/js/lib/photoswipe-ui-default.min.js

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/js/lib/photoswipe.min.js

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/js/lightbox.js

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
function lightbox(trigger) {
2+
var onThumbnailsClick = function (e) {
3+
e.preventDefault();
4+
5+
var items = [];
6+
var index = 0;
7+
8+
var prevSibling = e.target.closest('.kg-card').previousElementSibling;
9+
10+
while (prevSibling && (prevSibling.classList.contains('kg-image-card') || prevSibling.classList.contains('kg-gallery-card'))) {
11+
var prevItems = [];
12+
13+
prevSibling.querySelectorAll('img').forEach(function (item) {
14+
prevItems.push({
15+
src: item.getAttribute('src'),
16+
msrc: item.getAttribute('src'),
17+
w: item.getAttribute('width'),
18+
h: item.getAttribute('height'),
19+
el: item,
20+
})
21+
22+
index += 1;
23+
});
24+
prevSibling = prevSibling.previousElementSibling;
25+
26+
items = prevItems.concat(items);
27+
}
28+
29+
if (e.target.classList.contains('kg-image')) {
30+
items.push({
31+
src: e.target.getAttribute('src'),
32+
msrc: e.target.getAttribute('src'),
33+
w: e.target.getAttribute('width'),
34+
h: e.target.getAttribute('height'),
35+
el: e.target,
36+
});
37+
} else {
38+
var reachedCurrentItem = false;
39+
40+
e.target.closest('.kg-gallery-card').querySelectorAll('img').forEach(function (item) {
41+
items.push({
42+
src: item.getAttribute('src'),
43+
msrc: item.getAttribute('src'),
44+
w: item.getAttribute('width'),
45+
h: item.getAttribute('height'),
46+
el: item,
47+
});
48+
49+
if (!reachedCurrentItem && item !== e.target) {
50+
index += 1;
51+
} else {
52+
reachedCurrentItem = true;
53+
}
54+
});
55+
}
56+
57+
var nextSibling = e.target.closest('.kg-card').nextElementSibling;
58+
59+
while (nextSibling && (nextSibling.classList.contains('kg-image-card') || nextSibling.classList.contains('kg-gallery-card'))) {
60+
nextSibling.querySelectorAll('img').forEach(function (item) {
61+
items.push({
62+
src: item.getAttribute('src'),
63+
msrc: item.getAttribute('src'),
64+
w: item.getAttribute('width'),
65+
h: item.getAttribute('height'),
66+
el: item,
67+
})
68+
});
69+
nextSibling = nextSibling.nextElementSibling;
70+
}
71+
72+
var pswpElement = document.querySelectorAll('.pswp')[0];
73+
74+
var options = {
75+
bgOpacity: 0.9,
76+
closeOnScroll: true,
77+
fullscreenEl: false,
78+
history: false,
79+
index: index,
80+
shareEl: false,
81+
zoomEl: false,
82+
getThumbBoundsFn: function(index) {
83+
var thumbnail = items[index].el,
84+
pageYScroll = window.pageYOffset || document.documentElement.scrollTop,
85+
rect = thumbnail.getBoundingClientRect();
86+
87+
return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};
88+
}
89+
}
90+
91+
var gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, options);
92+
gallery.init();
93+
94+
return false;
95+
};
96+
97+
var triggers = document.querySelectorAll(trigger);
98+
triggers.forEach(function (trig) {
99+
trig.addEventListener('click', function (e) {
100+
onThumbnailsClick(e);
101+
});
102+
});
103+
}
104+
105+
(function () {
106+
lightbox(
107+
'.kg-image-card > .kg-image[width][height], .kg-gallery-image > img'
108+
);
109+
})();

default.hbs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,9 @@
175175
</div>
176176
{{!-- /.viewport --}}
177177

178+
{{#is "post, page"}}
179+
{{> "lightbox"}}
180+
{{/is}}
178181

179182
{{!-- Scripts - handle member signups, responsive videos, infinite scroll, floating headers, and galleries --}}
180183
<script

partials/lightbox.hbs

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">
2+
<div class="pswp__bg"></div>
3+
4+
<div class="pswp__scroll-wrap">
5+
<div class="pswp__container">
6+
<div class="pswp__item"></div>
7+
<div class="pswp__item"></div>
8+
<div class="pswp__item"></div>
9+
</div>
10+
11+
<div class="pswp__ui pswp__ui--hidden">
12+
<div class="pswp__top-bar">
13+
<div class="pswp__counter"></div>
14+
15+
<button class="pswp__button pswp__button--close" title="Close (Esc)"></button>
16+
<button class="pswp__button pswp__button--share" title="Share"></button>
17+
<button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>
18+
<button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>
19+
20+
<div class="pswp__preloader">
21+
<div class="pswp__preloader__icn">
22+
<div class="pswp__preloader__cut">
23+
<div class="pswp__preloader__donut"></div>
24+
</div>
25+
</div>
26+
</div>
27+
</div>
28+
29+
<div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
30+
<div class="pswp__share-tooltip"></div>
31+
</div>
32+
33+
<button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"></button>
34+
<button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"></button>
35+
36+
<div class="pswp__caption">
37+
<div class="pswp__caption__center"></div>
38+
</div>
39+
</div>
40+
</div>
41+
</div>

0 commit comments

Comments
 (0)