jekyll-theme-isabelline 0.1.21 → 0.1.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/_includes/footer.html +2 -1
- data/_includes/gallery.html +27 -6
- data/_sass/_isabelline.scss +68 -13
- data/assets/.DS_Store +0 -0
- data/assets/blog/example/gallery/1/lanius_isabellinus1.jpg +0 -0
- data/assets/blog/example/gallery2/Quarter_Horse_Buckskin.jpg +0 -0
- data/assets/blog/example/gallery2/dusan-smetana-ah7KHxYg6Ow-unsplash.jpg +0 -0
- data/assets/blog/example/gallery2/jay-ruzesky-h13Y8vyIXNU-unsplash.jpg +0 -0
- data/assets/js/gallery.js +94 -0
- metadata +8 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5d30a71d9b0bcb312e53beaa8a903a41e7c7288dba58024d8b6ade9894487906
|
4
|
+
data.tar.gz: 4927fe5afa88bfd075044c9f843f9da5248cbe381f40de152bd4e645d9d5996f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 033eb7cbaedbf2b8546954fb9d0fc4b3437754bac11bdcabe8e24e2e2909c9f969478d4a4fc03ecd91d0301b57481ff34172120220d381ca475718f8df06b929
|
7
|
+
data.tar.gz: 4eec0a112f41ca095e4abcebc09c50acb156ced9c45bb0a4ee373b8cc83e5b016ff36e9808594106e61dca91efaf5d42b5e4af1ff4a15539b6fa5f1e8ff7a0ec
|
data/_includes/footer.html
CHANGED
@@ -28,4 +28,5 @@
|
|
28
28
|
|
29
29
|
<div id="snackbar">Loading...</div>
|
30
30
|
<!-- <script src='/assets/js/slides.js'></script> -->
|
31
|
-
<script src='{{ "/assets/js/clipboard.js" | relative_url }}'></script>
|
31
|
+
<script src='{{ "/assets/js/clipboard.js" | relative_url }}'></script>
|
32
|
+
<script src='{{ "/assets/js/gallery.js" | relative_url }}'></script>
|
data/_includes/gallery.html
CHANGED
@@ -1,8 +1,29 @@
|
|
1
|
-
{% assign
|
2
|
-
{% assign thumbnails = (include.thumbnails | split: "|") %}
|
1
|
+
{% assign gallery_name = include.name | default: "gallery" %}
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
{% assign gallery_prefix = page.id | prepend: "/assets" | append: "/" | append: gallery_name %}
|
4
|
+
|
5
|
+
{% assign sorted_static_files = site.static_files | map: "path" | sort %}
|
6
|
+
|
7
|
+
{% assign image_extensions = "jpg,jpeg,png,gif" | split: "," %}
|
8
|
+
|
9
|
+
<div class="gallery" id="gallery-{{ gallery_name }}">
|
10
|
+
{% assign image_index = 0 %}
|
11
|
+
{% assign gallery_nav = "" %}
|
12
|
+
<div class="images">
|
13
|
+
{% for image_path in sorted_static_files %}
|
14
|
+
{% assign image_ext = image_path | split: "." | last %}
|
15
|
+
{% if image_extensions contains image_ext %}
|
16
|
+
{% if image_path contains gallery_prefix %}
|
17
|
+
{% assign image_index = image_index | plus: 1 %}
|
18
|
+
<img id="{{ gallery_name }}-{{ image_index }}" src="{{ site.baseurl }}{{ image_path }}" />
|
19
|
+
{% endif %}
|
20
|
+
{% endif %}
|
21
|
+
{% endfor %}
|
22
|
+
</div>
|
23
|
+
<nav>
|
24
|
+
<div class="play">
|
25
|
+
<input type="checkbox" checked="false" id="{{ gallery_name }}-play" />
|
26
|
+
<label for="{{ gallery_name }}-play"></label>
|
27
|
+
</div>
|
28
|
+
</nav>
|
8
29
|
</div>
|
data/_sass/_isabelline.scss
CHANGED
@@ -159,15 +159,6 @@ header {
|
|
159
159
|
}
|
160
160
|
}
|
161
161
|
|
162
|
-
// div.column {
|
163
|
-
// width: 30%;
|
164
|
-
// float: left;
|
165
|
-
// padding: .5rem;
|
166
|
-
// margin: .5rem;
|
167
|
-
// border: 1px solid #ccc;
|
168
|
-
// }
|
169
|
-
|
170
|
-
// link styling
|
171
162
|
a {
|
172
163
|
color: darken($link-color,15%);
|
173
164
|
&:hover, &:active, &:visited {
|
@@ -204,13 +195,13 @@ main {
|
|
204
195
|
}
|
205
196
|
|
206
197
|
img {
|
207
|
-
border-radius:
|
198
|
+
border-radius: 6px;
|
208
199
|
// width: 100%;
|
209
200
|
}
|
210
201
|
}
|
211
202
|
|
212
203
|
p img {
|
213
|
-
border-radius:
|
204
|
+
border-radius: 6px;
|
214
205
|
width: 100%;
|
215
206
|
}
|
216
207
|
|
@@ -241,11 +232,75 @@ main {
|
|
241
232
|
margin-bottom: 1em;
|
242
233
|
|
243
234
|
img {
|
244
|
-
|
235
|
+
width: 100%;
|
245
236
|
|
246
|
-
height: 200px;
|
237
|
+
// height: 200px;
|
247
238
|
float: left;
|
248
239
|
}
|
240
|
+
|
241
|
+
div.images {
|
242
|
+
img {
|
243
|
+
cursor: pointer;
|
244
|
+
border-radius: 6px;
|
245
|
+
display: none;
|
246
|
+
transition: all 300ms ease;
|
247
|
+
will-change: display;
|
248
|
+
}
|
249
|
+
|
250
|
+
img:first-child {
|
251
|
+
display: block;
|
252
|
+
}
|
253
|
+
}
|
254
|
+
|
255
|
+
|
256
|
+
nav {
|
257
|
+
width: 100%;
|
258
|
+
text-align: center;
|
259
|
+
i {
|
260
|
+
cursor: pointer;
|
261
|
+
margin: .5rem;
|
262
|
+
display: inline-block;
|
263
|
+
width: 1rem;
|
264
|
+
height: 1rem;
|
265
|
+
border-radius: .5rem;
|
266
|
+
transition: all 300ms ease;
|
267
|
+
|
268
|
+
background-color: hsl($hue,10,80);
|
269
|
+
&.selected {
|
270
|
+
background-color: hsl($hue,50,40);
|
271
|
+
}
|
272
|
+
}
|
273
|
+
|
274
|
+
.play {
|
275
|
+
float: left;
|
276
|
+
|
277
|
+
label {
|
278
|
+
margin: .5rem;
|
279
|
+
display: inline-block;
|
280
|
+
box-sizing: border-box;
|
281
|
+
width: 0;
|
282
|
+
height: 1rem;
|
283
|
+
cursor: pointer;
|
284
|
+
border-color: transparent transparent transparent hsl($hue,50,40); // same color as i.selected
|
285
|
+
|
286
|
+
transition: 300ms all ease;
|
287
|
+
will-change: border-width;
|
288
|
+
|
289
|
+
// paused state
|
290
|
+
border-style: double;
|
291
|
+
border-width: 0 0 0 1rem;
|
292
|
+
}
|
293
|
+
input[type='checkbox'] {
|
294
|
+
display: none;
|
295
|
+
&:checked + label {
|
296
|
+
border-style: solid;
|
297
|
+
border-width: .5rem 0 .5rem 1rem;
|
298
|
+
}
|
299
|
+
}
|
300
|
+
}
|
301
|
+
}
|
302
|
+
|
303
|
+
|
249
304
|
}
|
250
305
|
|
251
306
|
div.gallery + p {
|
data/assets/.DS_Store
CHANGED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,94 @@
|
|
1
|
+
(function () {
|
2
|
+
// "hydrate" div.gallery with play/pause and nav behaviors
|
3
|
+
var process_gallery = function (g) {
|
4
|
+
var
|
5
|
+
// milliseconds to wait before switch to next slide
|
6
|
+
NEXT_SLIDE_TIMEOUT = 5000;
|
7
|
+
|
8
|
+
var
|
9
|
+
// images in this gallery
|
10
|
+
images = g.querySelectorAll('.images img'),
|
11
|
+
|
12
|
+
// container for nav buttons
|
13
|
+
gallery_nav = g.querySelector('nav'),
|
14
|
+
|
15
|
+
// clickable buttons, one per image
|
16
|
+
// computed below
|
17
|
+
navs = [],
|
18
|
+
|
19
|
+
// index of the currently selected image
|
20
|
+
selected_index = 0,
|
21
|
+
|
22
|
+
// play control consists of a label and a checkbox
|
23
|
+
// defer computing because nav innerHTML gets clobbered
|
24
|
+
play_checkbox,
|
25
|
+
|
26
|
+
// handle to setInterval
|
27
|
+
play_interval;
|
28
|
+
|
29
|
+
// show image at index
|
30
|
+
// update nav controls accordingly
|
31
|
+
var select_image = function (index) {
|
32
|
+
// var image = images[index];
|
33
|
+
if (selected_index !== index) {
|
34
|
+
images[selected_index].style.display = 'none';
|
35
|
+
navs[selected_index].classList.remove('selected');
|
36
|
+
images[index].style.display = 'block';
|
37
|
+
navs[index].classList.add('selected');
|
38
|
+
selected_index = index;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
// show next image
|
43
|
+
var next_image = function () {
|
44
|
+
if (selected_index >= images.length-1) {
|
45
|
+
select_image(0);
|
46
|
+
} else {
|
47
|
+
select_image(selected_index+1);
|
48
|
+
}
|
49
|
+
}
|
50
|
+
|
51
|
+
// handler for nav buttons
|
52
|
+
// selects an image corresponding to the clicked nav button
|
53
|
+
var nav_to_image = function () {
|
54
|
+
select_image(Array.from(navs).indexOf(this));
|
55
|
+
}
|
56
|
+
|
57
|
+
// play/pause slideshow
|
58
|
+
var toggle_play = function () {
|
59
|
+
if (play_checkbox.checked===true) {
|
60
|
+
clearInterval(play_interval);
|
61
|
+
} else {
|
62
|
+
play_interval = setInterval(next_image, NEXT_SLIDE_TIMEOUT);
|
63
|
+
}
|
64
|
+
}
|
65
|
+
|
66
|
+
var navHtml = '';
|
67
|
+
|
68
|
+
for (var i=0; i<images.length; ++i) {
|
69
|
+
var image = images[i]
|
70
|
+
image.addEventListener('click', next_image)
|
71
|
+
navHtml += '<i class="' + (i===0? 'selected' : '') + '" data-target="' + image.id + '"></i>'
|
72
|
+
}
|
73
|
+
|
74
|
+
gallery_nav.innerHTML += navHtml;
|
75
|
+
|
76
|
+
navs = gallery_nav.querySelectorAll('i');
|
77
|
+
|
78
|
+
for (var i=0; i<navs.length; ++i) {
|
79
|
+
var nav = navs[i];
|
80
|
+
nav.addEventListener('click', nav_to_image)
|
81
|
+
}
|
82
|
+
|
83
|
+
play_checkbox = g.querySelector('.play input[type=checkbox]');
|
84
|
+
|
85
|
+
play_checkbox.addEventListener('change', toggle_play);
|
86
|
+
}
|
87
|
+
|
88
|
+
var galleries = document.getElementsByClassName('gallery');
|
89
|
+
|
90
|
+
for (var i=0; i<galleries.length; ++i) {
|
91
|
+
var g = galleries[i];
|
92
|
+
process_gallery(g);
|
93
|
+
}
|
94
|
+
})();
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-theme-isabelline
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.22
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rouslan Zenetl
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-09-
|
11
|
+
date: 2020-09-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -79,11 +79,15 @@ files:
|
|
79
79
|
- _sass/_syntax.scss
|
80
80
|
- assets/.DS_Store
|
81
81
|
- assets/blog/example/Quarter_Horse_Buckskin.jpg
|
82
|
+
- assets/blog/example/gallery/1/lanius_isabellinus1.jpg
|
82
83
|
- assets/blog/example/gallery/Lanius_isabellinus1.jpg
|
83
84
|
- assets/blog/example/gallery/dusan-smetana-ah7KHxYg6Ow-unsplash.jpg
|
84
85
|
- assets/blog/example/gallery/jay-ruzesky-h13Y8vyIXNU-unsplash.jpg
|
85
86
|
- assets/blog/example/gallery/maurits-bausenhart-OkYjLpB2gzA-unsplash.jpg
|
86
87
|
- assets/blog/example/gallery/sneaky-elbow-h00rqvO5A-M-unsplash.jpg
|
88
|
+
- assets/blog/example/gallery2/Quarter_Horse_Buckskin.jpg
|
89
|
+
- assets/blog/example/gallery2/dusan-smetana-ah7KHxYg6Ow-unsplash.jpg
|
90
|
+
- assets/blog/example/gallery2/jay-ruzesky-h13Y8vyIXNU-unsplash.jpg
|
87
91
|
- assets/blog/getting-started/undraw_browsing_online_sr8c.svg
|
88
92
|
- assets/css/style.scss
|
89
93
|
- assets/favicon/README.md
|
@@ -113,6 +117,7 @@ files:
|
|
113
117
|
- assets/fonts/Noto Serif/ga6Iaw1J5X9T9RW6j9bNfFoWaDq8fMVxMw.woff2
|
114
118
|
- assets/fonts/Noto Serif/ga6Iaw1J5X9T9RW6j9bNfFsWaDq8fMVxMw.woff2
|
115
119
|
- assets/js/clipboard.js
|
120
|
+
- assets/js/gallery.js
|
116
121
|
- assets/js/slides.js
|
117
122
|
- assets/js/snackbar.js
|
118
123
|
- build/Dockerfile
|
@@ -139,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
139
144
|
- !ruby/object:Gem::Version
|
140
145
|
version: '0'
|
141
146
|
requirements: []
|
142
|
-
rubygems_version: 3.
|
147
|
+
rubygems_version: 3.1.4
|
143
148
|
signing_key:
|
144
149
|
specification_version: 4
|
145
150
|
summary: Simple clean mobile-friendly theme for long form note taking. Works for blogging
|