jekyll-theme-isabelline 0.1.18 → 0.1.23
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/README.md +34 -1
- data/_includes/footer.html +2 -1
- data/_includes/gallery.html +29 -0
- data/_includes/head.html +1 -1
- data/_includes/image.html +10 -3
- data/_includes/post_index.html +27 -11
- data/_layouts/gallery.html +10 -0
- data/_sass/_config.scss +1 -1
- data/_sass/_isabelline.scss +128 -15
- data/assets/.DS_Store +0 -0
- data/assets/blog/{example1 → example}/Quarter_Horse_Buckskin.jpg +0 -0
- data/assets/blog/example/gallery/1/lanius_isabellinus1.jpg +0 -0
- data/assets/blog/example/gallery/Lanius_isabellinus1.jpg +0 -0
- data/assets/blog/example/gallery/dusan-smetana-ah7KHxYg6Ow-unsplash.jpg +0 -0
- data/assets/blog/example/gallery/jay-ruzesky-h13Y8vyIXNU-unsplash.jpg +0 -0
- data/assets/blog/example/gallery/maurits-bausenhart-OkYjLpB2gzA-unsplash.jpg +0 -0
- data/assets/blog/example/gallery/sneaky-elbow-h00rqvO5A-M-unsplash.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/blog/getting-started/undraw_browsing_online_sr8c.svg +1 -0
- data/assets/js/gallery.js +161 -0
- metadata +20 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 54f8c8361f0dbdec8be508ff7a42a84c080888817d17bd50522a11d94291391c
|
4
|
+
data.tar.gz: a3568115fb01e50122908ca1928c7510a14fa5cade8c0aee347dfb28220772ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 646ec113bc9e246c17ed30c6ebfa42039ca32da83e4a64ef6c4c705ea2c84e2e23ec1e7d5879f136e78d258bd226bad26601cd2194c492f2b2f1288b7dca792d
|
7
|
+
data.tar.gz: b545cc2d12f0faa42e24efee3dc0d86f1fbf2a480222f437df3c95ac3139ee1d03b4ee20b169fcc3eb337585b89d90a2d224df909db06a6b56d345503aee1bf1
|
data/README.md
CHANGED
@@ -1,3 +1,36 @@
|
|
1
1
|
# jekyll-theme-isabelline
|
2
2
|
|
3
|
-
|
3
|
+
Simple clean mobile-friendly theme for long form note taking. Works for blogging too.
|
4
|
+
|
5
|
+
## Features:
|
6
|
+
|
7
|
+
* Compatible with Jekyll 4
|
8
|
+
* Designed for long form writing
|
9
|
+
* Reserved, classy, easy to read, minimalistic visual design
|
10
|
+
* Semantic lightweight mobile first markup; special attention to markup of block quotes, asides, images, image galleries
|
11
|
+
* Customizable color scheme
|
12
|
+
|
13
|
+
## Installation
|
14
|
+
|
15
|
+
Add this line to site's `Gemfile`:
|
16
|
+
|
17
|
+
```ruby
|
18
|
+
gem "jekyll-theme-isabelline", "~> 0.1.0"
|
19
|
+
```
|
20
|
+
And add this line to your Jekyll site `_config.yaml`:
|
21
|
+
|
22
|
+
```yaml
|
23
|
+
theme: jekyll-theme-isabelline
|
24
|
+
```
|
25
|
+
|
26
|
+
And then execute:
|
27
|
+
|
28
|
+
```sh
|
29
|
+
$ bundle
|
30
|
+
```
|
31
|
+
|
32
|
+
Or, install from CLI:
|
33
|
+
|
34
|
+
```sh
|
35
|
+
$ gem install jekyll-theme-isabelline
|
36
|
+
```
|
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>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
{% assign gallery_name = include.name | default: "gallery" %}
|
2
|
+
|
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 valid_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 valid_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>
|
29
|
+
</div>
|
data/_includes/head.html
CHANGED
data/_includes/image.html
CHANGED
@@ -11,9 +11,16 @@
|
|
11
11
|
{% capture alt %}alt="{{ alt }}" title="{{ alt }}"{% endcapture %}
|
12
12
|
{% endif %}
|
13
13
|
|
14
|
-
{% assign frame=include.frame
|
14
|
+
{% assign frame=include.frame %}
|
15
|
+
{% if frame == blank %}
|
16
|
+
{% assign frame=true %}
|
17
|
+
{% endif %}
|
18
|
+
|
19
|
+
{% if include.width != blank %}
|
20
|
+
{% capture width %}style="width:{{ include.width }}"{% endcapture %}
|
21
|
+
{% endif %}
|
15
22
|
|
16
|
-
<figure class="figure {% if include.caption %}caption{% endif %} {% if frame %}frame{% endif %}">
|
17
|
-
<a target="_blank" href="{{ imagePath }}"><img {{ src }} {{ alt }}
|
23
|
+
<figure {{width}} class="figure {% if include.caption %}caption{% endif %} {% if frame %}frame{% endif %}">
|
24
|
+
<a target="_blank" href="{{ imagePath }}"><img {{ src }} {{ alt }} style="width:100%" /></a>
|
18
25
|
{% if caption != blank %}<figcaption>{{ caption }}</figcaption>{% endif %}
|
19
26
|
</figure>
|
data/_includes/post_index.html
CHANGED
@@ -1,22 +1,38 @@
|
|
1
1
|
|
2
|
-
{% assign title=
|
2
|
+
{% assign title=include.title %}
|
3
3
|
|
4
|
-
{% if title
|
5
|
-
<h1>{{ include.posts | size }} blogs since {{ include.posts | sort: 'date' | map: 'date' | compact | first | date: '%Y' }}</h1>
|
6
|
-
{% else if %}
|
4
|
+
{% if title != blank %}
|
7
5
|
<h1>{{ title }}</h1>
|
6
|
+
{% else %}
|
7
|
+
<h1>{{ include.posts | size }} blogs since {{ include.posts | sort: 'date' | map: 'date' | compact | first | date: '%Y' }}</h1>
|
8
8
|
{% endif %}
|
9
9
|
|
10
|
-
{% if site.index.intro != blank %}
|
11
|
-
{{ site.index.intro }}
|
12
|
-
{% endif %}
|
13
|
-
|
14
|
-
{% if site.index.subtitle != blank %}
|
15
|
-
<h2>{{ site.index.subtitle }}</h2>
|
16
|
-
{% endif %}
|
17
10
|
|
18
11
|
{% assign prev_year = 'first run' %}
|
19
12
|
{% assign sorted_posts = include.posts | sort: "date" | reverse %}
|
13
|
+
|
14
|
+
{% assign pinned_posts=sorted_posts | where: "pinned", 1 %}
|
15
|
+
|
16
|
+
{% if pinned_posts.size > 0 %}
|
17
|
+
<ul class="index">
|
18
|
+
{% for post in pinned_posts %}
|
19
|
+
<li>
|
20
|
+
<a href="{{ post.url | relative_url }}">{{ post.title }}</a>
|
21
|
+
<span class="posted">{{ post.date | date: "%b %-d, %Y" }}</span>
|
22
|
+
{% if jekyll.environment == "local" %}
|
23
|
+
{% if post.collection == 'private' %}
|
24
|
+
<span class="badge collection {{ post.collection }}">{{ post.collection }}</span>
|
25
|
+
{% endif %}
|
26
|
+
{% if post.draft %}
|
27
|
+
<span class="badge draft">draft</span>
|
28
|
+
{% endif %}
|
29
|
+
{% endif %}
|
30
|
+
</li>
|
31
|
+
{% endfor %}
|
32
|
+
</ul>
|
33
|
+
{% endif %}
|
34
|
+
|
35
|
+
|
20
36
|
{% for post in sorted_posts %}
|
21
37
|
|
22
38
|
{% assign current_year = post.date | date: "%Y" %}
|
data/_sass/_config.scss
CHANGED
@@ -41,7 +41,7 @@ $serif: "Noto Serif", Times, serif;
|
|
41
41
|
|
42
42
|
$header-serif: "Bree Serif",$serif;
|
43
43
|
$body-serif: "Noto Serif", "Bree Serif",$serif;
|
44
|
-
$header-color: darken($body-background-color,
|
44
|
+
$header-color: darken($body-background-color,90%);
|
45
45
|
$header-link-color: darken($body-background-color,70%);
|
46
46
|
|
47
47
|
$image-caption-serif: "Fira Sans Extra Condensed", "Neucha", $sans-serif;
|
data/_sass/_isabelline.scss
CHANGED
@@ -129,12 +129,15 @@ header {
|
|
129
129
|
font-size: 80%;
|
130
130
|
font-weight: normal;
|
131
131
|
margin: .5em 0;
|
132
|
-
float:
|
132
|
+
float: left;
|
133
133
|
|
134
134
|
// site menu shows posts in "global" category
|
135
135
|
ul {
|
136
136
|
padding: 0;
|
137
137
|
margin: 0;
|
138
|
+
li:first-child {
|
139
|
+
padding-left: 0;
|
140
|
+
}
|
138
141
|
li {
|
139
142
|
color: $header-link-color;
|
140
143
|
list-style: none;
|
@@ -156,15 +159,6 @@ header {
|
|
156
159
|
}
|
157
160
|
}
|
158
161
|
|
159
|
-
// div.column {
|
160
|
-
// width: 30%;
|
161
|
-
// float: left;
|
162
|
-
// padding: .5rem;
|
163
|
-
// margin: .5rem;
|
164
|
-
// border: 1px solid #ccc;
|
165
|
-
// }
|
166
|
-
|
167
|
-
// link styling
|
168
162
|
a {
|
169
163
|
color: darken($link-color,15%);
|
170
164
|
&:hover, &:active, &:visited {
|
@@ -190,7 +184,8 @@ main {
|
|
190
184
|
|
191
185
|
// figure is a composition of the image and caption
|
192
186
|
figure {
|
193
|
-
margin: 1em
|
187
|
+
margin: 1em auto;
|
188
|
+
width: 80%;
|
194
189
|
figcaption {
|
195
190
|
//font-size: .8em;
|
196
191
|
text-align: center;
|
@@ -200,11 +195,29 @@ main {
|
|
200
195
|
}
|
201
196
|
|
202
197
|
img {
|
203
|
-
border-radius:
|
198
|
+
border-radius: 6px;
|
204
199
|
// width: 100%;
|
205
200
|
}
|
206
201
|
}
|
207
202
|
|
203
|
+
p img {
|
204
|
+
border-radius: 6px;
|
205
|
+
width: 100%;
|
206
|
+
}
|
207
|
+
|
208
|
+
p img + em {
|
209
|
+
font-family: $image-caption-serif;
|
210
|
+
color: $image-caption-color;
|
211
|
+
font-style: normal;
|
212
|
+
text-align: center;
|
213
|
+
display: block;
|
214
|
+
width: 100%;
|
215
|
+
}
|
216
|
+
|
217
|
+
figure.frame img {
|
218
|
+
border: 1px solid $header-color;
|
219
|
+
}
|
220
|
+
|
208
221
|
// for slideshows show the first figure, hide rest
|
209
222
|
div.slideshow figure {
|
210
223
|
display: none;
|
@@ -213,6 +226,106 @@ main {
|
|
213
226
|
}
|
214
227
|
}
|
215
228
|
|
229
|
+
div.gallery {
|
230
|
+
width: 100%;
|
231
|
+
float: left;
|
232
|
+
margin-bottom: 1em;
|
233
|
+
|
234
|
+
img {
|
235
|
+
width: 100%;
|
236
|
+
|
237
|
+
// height: 200px;
|
238
|
+
// float: left;
|
239
|
+
}
|
240
|
+
|
241
|
+
div.images {
|
242
|
+
position: relative;
|
243
|
+
height: 500px;
|
244
|
+
overflow: hidden;
|
245
|
+
|
246
|
+
will-change: height;
|
247
|
+
transition: 300ms ease;
|
248
|
+
|
249
|
+
img.transition {
|
250
|
+
will-change: left;
|
251
|
+
transition: 300ms ease;
|
252
|
+
}
|
253
|
+
|
254
|
+
img.left { left: -100% !important; }
|
255
|
+
img.right { left: 100% !important; }
|
256
|
+
img.center { left: 0 !important; }
|
257
|
+
|
258
|
+
img {
|
259
|
+
cursor: pointer;
|
260
|
+
border-radius: 6px;
|
261
|
+
|
262
|
+
position: absolute;
|
263
|
+
top: 0;
|
264
|
+
left: 100%;
|
265
|
+
}
|
266
|
+
|
267
|
+
img:first-child {
|
268
|
+
left: 0;
|
269
|
+
}
|
270
|
+
}
|
271
|
+
|
272
|
+
|
273
|
+
nav {
|
274
|
+
width: 100%;
|
275
|
+
text-align: center;
|
276
|
+
i {
|
277
|
+
cursor: pointer;
|
278
|
+
margin: .5rem;
|
279
|
+
display: inline-block;
|
280
|
+
width: 1rem;
|
281
|
+
height: 1rem;
|
282
|
+
border-radius: .5rem;
|
283
|
+
transition: all 300ms ease;
|
284
|
+
|
285
|
+
background-color: hsl($hue,10,80);
|
286
|
+
&.selected {
|
287
|
+
background-color: hsl($hue,50,40);
|
288
|
+
}
|
289
|
+
}
|
290
|
+
|
291
|
+
// slightly modified version of
|
292
|
+
// https://css-tricks.com/making-pure-css-playpause-button/
|
293
|
+
.play {
|
294
|
+
float: left;
|
295
|
+
|
296
|
+
label {
|
297
|
+
margin: .5rem;
|
298
|
+
display: inline-block;
|
299
|
+
box-sizing: border-box;
|
300
|
+
width: 0;
|
301
|
+
height: 1rem;
|
302
|
+
cursor: pointer;
|
303
|
+
border-color: transparent transparent transparent hsl($hue,50,40); // same color as i.selected
|
304
|
+
|
305
|
+
transition: 300ms all ease;
|
306
|
+
will-change: border-width;
|
307
|
+
|
308
|
+
// paused state
|
309
|
+
border-style: double;
|
310
|
+
border-width: 0 0 0 1rem;
|
311
|
+
}
|
312
|
+
input[type='checkbox'] {
|
313
|
+
display: none;
|
314
|
+
&:checked + label {
|
315
|
+
border-style: solid;
|
316
|
+
border-width: .5rem 0 .5rem 1rem;
|
317
|
+
}
|
318
|
+
}
|
319
|
+
}
|
320
|
+
}
|
321
|
+
|
322
|
+
|
323
|
+
}
|
324
|
+
|
325
|
+
div.gallery + p {
|
326
|
+
clear: both;
|
327
|
+
}
|
328
|
+
|
216
329
|
// drop caps
|
217
330
|
// TODO: this needs work
|
218
331
|
@if $drop-caps {
|
@@ -263,14 +376,14 @@ main {
|
|
263
376
|
padding-left: 0;
|
264
377
|
li {
|
265
378
|
list-style: none;
|
266
|
-
padding-left:
|
267
|
-
padding-bottom: .
|
379
|
+
padding-left: 1.2em;
|
380
|
+
padding-bottom: .3em;
|
268
381
|
margin-left: 0;
|
269
382
|
|
270
383
|
// mdash for unordered list items
|
271
384
|
&::before {
|
272
385
|
content: "\2014";
|
273
|
-
margin-left: -
|
386
|
+
margin-left: -1.2em;
|
274
387
|
margin-right: .2em;
|
275
388
|
}
|
276
389
|
|
data/assets/.DS_Store
CHANGED
Binary file
|
File without changes
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg id="b34a7ed3-b085-4444-bb69-8e8541180262" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="744.61498" height="542.26178" viewBox="0 0 744.61498 542.26178"><path d="M932.50251,629.9509a322.61072,322.61072,0,0,1-15.07,89.18c-.21.67-.43,1.33-.65,2h-56.24c.06-.6.12-1.27.18-2,3.75-43.11,25.37-305.49-.48-350.36C862.50251,372.41086,936.86249,492.97086,932.50251,629.9509Z" transform="translate(-227.69251 -178.86911)" fill="#e6e6e6"/><path d="M928.28254,719.13089c-.47.67-.96,1.34-1.46,2h-42.19c.32-.57.69-1.24,1.12-2,6.97-12.58,27.6-50.19,46.75-89.18,20.58-41.9,39.46-85.39,37.87-101.13C970.86249,532.37088,985.10248,640.59085,928.28254,719.13089Z" transform="translate(-227.69251 -178.86911)" fill="#e6e6e6"/><path d="M283.04472,675.92378a158.394,158.394,0,0,0,7.399,43.78516c.10309.32894.21112.653.31912.98195H318.3753c-.02945-.29461-.05894-.62355-.0884-.98195-1.84115-21.166-12.456-149.988.23569-172.01807C317.413,549.478,280.90408,608.67,283.04472,675.92378Z" transform="translate(-227.69251 -178.86911)" fill="#e6e6e6"/><path d="M285.11662,719.70894c.23078.32894.47135.65789.71684.98195H306.5477c-.15712-.27986-.33877-.60881-.54989-.98195-3.42211-6.17648-13.5509-24.64205-22.95309-43.78516-10.10427-20.57187-19.37389-41.92437-18.59322-49.65232C264.21092,628.01442,257.21944,681.14773,285.11662,719.70894Z" transform="translate(-227.69251 -178.86911)" fill="#e6e6e6"/><path d="M811.27948,721.05261H523.01163a5.34456,5.34456,0,0,1-5.33828-5.33828V644.20739a5.34457,5.34457,0,0,1,5.33828-5.33828H811.27948a5.34457,5.34457,0,0,1,5.33828,5.33828v71.50694A5.34456,5.34456,0,0,1,811.27948,721.05261ZM523.01163,641.00442a3.20647,3.20647,0,0,0-3.203,3.203v71.50694a3.20647,3.20647,0,0,0,3.203,3.203H811.27948a3.20647,3.20647,0,0,0,3.203-3.203V644.20739a3.20647,3.20647,0,0,0-3.203-3.203Z" transform="translate(-227.69251 -178.86911)" fill="#e6e6e6"/><circle cx="340.11008" cy="498.34802" r="21.74535" fill="#e6e6e6"/><path d="M618.024,662.72023a3.62423,3.62423,0,0,0,0,7.24845H788.88027a3.62422,3.62422,0,1,0,0-7.24845Z" transform="translate(-227.69251 -178.86911)" fill="#e6e6e6"/><path d="M618.024,684.46558a3.62422,3.62422,0,0,0,0,7.24844h73.52a3.62422,3.62422,0,1,0,0-7.24844Z" transform="translate(-227.69251 -178.86911)" fill="#e6e6e6"/><path d="M883.27948,615.05261H595.01163a5.34456,5.34456,0,0,1-5.33828-5.33828V538.20739a5.34457,5.34457,0,0,1,5.33828-5.33828H883.27948a5.34457,5.34457,0,0,1,5.33828,5.33828v71.50694A5.34456,5.34456,0,0,1,883.27948,615.05261ZM595.01163,535.00442a3.20647,3.20647,0,0,0-3.203,3.203v71.50694a3.20647,3.20647,0,0,0,3.203,3.203H883.27948a3.20647,3.20647,0,0,0,3.203-3.203V538.20739a3.20647,3.20647,0,0,0-3.203-3.203Z" transform="translate(-227.69251 -178.86911)" fill="#e6e6e6"/><circle cx="412.11008" cy="392.34802" r="21.74535" fill="#e6e6e6"/><path d="M690.024,556.72023a3.62423,3.62423,0,0,0,0,7.24845H860.88027a3.62422,3.62422,0,1,0,0-7.24845Z" transform="translate(-227.69251 -178.86911)" fill="#e6e6e6"/><path d="M690.024,578.46558a3.62422,3.62422,0,0,0,0,7.24844h73.52a3.62422,3.62422,0,1,0,0-7.24844Z" transform="translate(-227.69251 -178.86911)" fill="#e6e6e6"/><path d="M827.27948,436.05261H539.01163a5.34456,5.34456,0,0,1-5.33828-5.33828V184.20739a5.34457,5.34457,0,0,1,5.33828-5.33828H827.27948a5.34457,5.34457,0,0,1,5.33828,5.33828V430.71433A5.34456,5.34456,0,0,1,827.27948,436.05261ZM539.01163,181.00442a3.20647,3.20647,0,0,0-3.203,3.203V430.71433a3.20647,3.20647,0,0,0,3.203,3.203H827.27948a3.20647,3.20647,0,0,0,3.203-3.203V184.20739a3.20647,3.20647,0,0,0-3.203-3.203Z" transform="translate(-227.69251 -178.86911)" fill="#e6e6e6"/><circle cx="356.11008" cy="213.34802" r="21.74535" fill="#e6e6e6"/><path d="M634.024,377.72023a3.62422,3.62422,0,0,0,0,7.24845H804.88027a3.62422,3.62422,0,1,0,0-7.24845Z" transform="translate(-227.69251 -178.86911)" fill="#e6e6e6"/><path d="M634.024,399.46558a3.62422,3.62422,0,0,0,0,7.24844h73.52a3.62422,3.62422,0,1,0,0-7.24844Z" transform="translate(-227.69251 -178.86911)" fill="#e6e6e6"/><path d="M355.039,461.66244l3.1777,25.30059a13.30065,13.30065,0,0,0,18.60319,10.49486l0,0a13.30065,13.30065,0,0,0,6.2482-18.56187l-13.36334-24.29862-4.3696-104.46964-28.259,6.59024Z" transform="translate(-227.69251 -178.86911)" fill="#ffb8b8"/><polygon points="233.19 517.322 211.19 519.322 198.19 338.322 197.69 384.822 149.69 512.822 130.69 497.822 162.19 370.322 147.19 299.322 245.19 299.322 233.19 517.322" fill="#2f2e41"/><path d="M482.69846,720.6521l-40.89749-.99874a11.082,11.082,0,0,1-11.75527-12.79412l1.676-10.53039a9.01161,9.01161,0,0,1,8.25674-7.57218h0c6.98,7.22421,14.2,6.15724,21.61179-1.54559l16.85941,17.103,2.51765-.33842a8.38681,8.38681,0,0,1,9.17284,5.97815h0A8.38682,8.38682,0,0,1,482.69846,720.6521Z" transform="translate(-227.69251 -178.86911)" fill="#2f2e41"/><path d="M389.54319,719.29961l-41.0141-15.4744a11.84639,11.84639,0,0,1-5.64946-17.693l6.35939-9.45957a9.63322,9.63322,0,0,1,11.41191-3.6322h0c3.522,10.14429,11.00406,12.35517,21.65525,8.21643l10.4609,20.28718,2.59391.80357a8.96533,8.96533,0,0,1,6.20894,9.92156v0A8.96534,8.96534,0,0,1,389.54319,719.29961Z" transform="translate(-227.69251 -178.86911)" fill="#2f2e41"/><circle cx="198.19" cy="47.32178" r="26" fill="#ffb8b8"/><path d="M428.88251,274.19089l-45-1c12.36493-13.68021,19.87616-27.95128,21-43h24Z" transform="translate(-227.69251 -178.86911)" fill="#ffb8b8"/><path d="M475.88251,492.19089c-42.47778-10.89874-82.33441-18.24478-107-5,4.31966-45.41129-.67687-103.379-15.49915-163.96512-4.81437-19.67875-1.549-37.411,15.99915-47.53488l23.5-13.5,36,1,18.78311,10.39155a47.16015,47.16015,0,0,1,25.25368,50.97711C462.82727,377.66693,468.28069,434.98523,475.88251,492.19089Z" transform="translate(-227.69251 -178.86911)" fill="#3f3d56"/><path d="M484.88251,460.19089l3.52391,25.25469a13.30065,13.30065,0,0,1-15.22634,14.9793h0A13.30067,13.30067,0,0,1,462.31151,484.132l6.571-26.94111-23-102,29-1Z" transform="translate(-227.69251 -178.86911)" fill="#ffb8b8"/><path d="M378.88251,365.19089l-47-3c3.67218-46.2356,14.122-71.51129,30-80l17,20Z" transform="translate(-227.69251 -178.86911)" fill="#3f3d56"/><path d="M443.88251,217.19089c-9.16009-2.93048-13.91406,15.85229-27.5,27.5-3.08831,2.64775-10.794-7.67615-13.5-4.5l-4.37524-13.31663c-5.191-15.79959,4.1631-33.02343,20.42725-36.495q.64759-.13823,1.30658-.24816h0a29.15735,29.15735,0,0,1,32.87228,20.91065,3.85886,3.85886,0,0,1-2.9263,4.75332Z" transform="translate(-227.69251 -178.86911)" fill="#2f2e41"/><polygon points="257.19 177.322 213.19 187.322 211.19 115.322 236.19 116.322 257.19 177.322" fill="#3f3d56"/><rect y="540.26178" width="738.22003" height="2" fill="#3f3d56"/><path d="M895.76841,350.074H607.50056a5.34457,5.34457,0,0,1-5.33829-5.33828V218.22876a5.34457,5.34457,0,0,1,5.33829-5.33829H895.76841a5.34457,5.34457,0,0,1,5.33828,5.33829V344.7357A5.34457,5.34457,0,0,1,895.76841,350.074Z" transform="translate(-227.69251 -178.86911)" fill="#f50057"/><path d="M666.20634,256.98533a3.62423,3.62423,0,1,0,0,7.24845H837.06263a3.62422,3.62422,0,0,0,0-7.24845Z" transform="translate(-227.69251 -178.86911)" fill="#fff"/><path d="M666.20634,277.98533a3.62423,3.62423,0,1,0,0,7.24845H837.06263a3.62422,3.62422,0,0,0,0-7.24845Z" transform="translate(-227.69251 -178.86911)" fill="#fff"/><path d="M666.20634,298.73068a3.62422,3.62422,0,1,0,0,7.24844h73.52a3.62422,3.62422,0,1,0,0-7.24844Z" transform="translate(-227.69251 -178.86911)" fill="#fff"/></svg>
|
@@ -0,0 +1,161 @@
|
|
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 = 3000;
|
7
|
+
|
8
|
+
var
|
9
|
+
images_container = g.querySelector('.images'),
|
10
|
+
|
11
|
+
// images in this gallery
|
12
|
+
images = g.querySelectorAll('.images img'),
|
13
|
+
|
14
|
+
// container for nav buttons
|
15
|
+
gallery_nav = g.querySelector('nav'),
|
16
|
+
|
17
|
+
// clickable buttons, one per image
|
18
|
+
// computed below
|
19
|
+
navs = [],
|
20
|
+
|
21
|
+
// index of the currently selected image
|
22
|
+
selected_index = 0,
|
23
|
+
|
24
|
+
// play control consists of a label and a checkbox
|
25
|
+
// defer computing because nav innerHTML gets clobbered
|
26
|
+
play_checkbox,
|
27
|
+
|
28
|
+
// handle to setInterval
|
29
|
+
play_interval;
|
30
|
+
|
31
|
+
/*
|
32
|
+
+--------+--------+--------+
|
33
|
+
| image1 | image2 | image3 |
|
34
|
+
| |selected| |
|
35
|
+
+--------+--------+--------+
|
36
|
+
*/
|
37
|
+
|
38
|
+
var adjust_height = function (index) {
|
39
|
+
images_container.style.height = images[index].offsetHeight + 'px';
|
40
|
+
}
|
41
|
+
|
42
|
+
// show image at index
|
43
|
+
// update nav controls accordingly
|
44
|
+
var select_image = function (index) {
|
45
|
+
if (selected_index === index) return;
|
46
|
+
|
47
|
+
var slide = function () {
|
48
|
+
images[selected_index].removeEventListener('transitionend', slide);
|
49
|
+
|
50
|
+
images[selected_index].classList.remove('transition');
|
51
|
+
images[index].classList.remove('transition');
|
52
|
+
|
53
|
+
navs[index].classList.add('selected');
|
54
|
+
navs[selected_index].classList.remove('selected');
|
55
|
+
|
56
|
+
selected_index = index;
|
57
|
+
}
|
58
|
+
|
59
|
+
images[selected_index].addEventListener('transitionend', slide);
|
60
|
+
|
61
|
+
if (index < selected_index) {
|
62
|
+
setTimeout(function () {
|
63
|
+
images[index].classList.remove('right');
|
64
|
+
images[index].classList.add('left');
|
65
|
+
|
66
|
+
adjust_height(index);
|
67
|
+
|
68
|
+
setTimeout(function () {
|
69
|
+
images[index].classList.add('transition');
|
70
|
+
images[selected_index].classList.add('transition');
|
71
|
+
images[index].classList.remove('left');
|
72
|
+
images[index].classList.add('center');
|
73
|
+
images[selected_index].classList.add('right');
|
74
|
+
images[selected_index].classList.remove('center');
|
75
|
+
},1)
|
76
|
+
},1)
|
77
|
+
|
78
|
+
} else {
|
79
|
+
setTimeout(function () {
|
80
|
+
images[index].classList.remove('left');
|
81
|
+
images[index].classList.add('right');
|
82
|
+
|
83
|
+
adjust_height(index);
|
84
|
+
|
85
|
+
setTimeout(function () {
|
86
|
+
images[index].classList.add('transition');
|
87
|
+
images[selected_index].classList.add('transition');
|
88
|
+
images[index].classList.remove('right');
|
89
|
+
images[index].classList.add('center');
|
90
|
+
images[selected_index].classList.add('left');
|
91
|
+
images[selected_index].classList.remove('center');
|
92
|
+
},1);
|
93
|
+
},1);
|
94
|
+
|
95
|
+
}
|
96
|
+
}
|
97
|
+
|
98
|
+
// show next image
|
99
|
+
var next_image = function () {
|
100
|
+
if (selected_index >= images.length-1) {
|
101
|
+
select_image(0);
|
102
|
+
} else {
|
103
|
+
select_image(selected_index+1);
|
104
|
+
}
|
105
|
+
}
|
106
|
+
|
107
|
+
// handler for nav buttons
|
108
|
+
// selects an image corresponding to the clicked nav button
|
109
|
+
var nav_to_image = function () {
|
110
|
+
select_image(Array.from(navs).indexOf(this));
|
111
|
+
}
|
112
|
+
|
113
|
+
// play/pause slideshow
|
114
|
+
var toggle_play = function () {
|
115
|
+
if (play_checkbox.checked===true) {
|
116
|
+
clearInterval(play_interval);
|
117
|
+
} else {
|
118
|
+
play_interval = setInterval(next_image, NEXT_SLIDE_TIMEOUT);
|
119
|
+
}
|
120
|
+
}
|
121
|
+
|
122
|
+
// build nav bullets
|
123
|
+
var navHtml = '';
|
124
|
+
for (var i=0; i<images.length; ++i) {
|
125
|
+
var image = images[i]
|
126
|
+
image.addEventListener('click', next_image)
|
127
|
+
navHtml += '<i class="' + (i===0? 'selected' : '') + '" data-target="' + image.id + '"></i>'
|
128
|
+
}
|
129
|
+
gallery_nav.innerHTML += navHtml;
|
130
|
+
|
131
|
+
// attach nav bullet listeners
|
132
|
+
navs = gallery_nav.querySelectorAll('i');
|
133
|
+
for (var i=0; i<navs.length; ++i) {
|
134
|
+
var nav = navs[i];
|
135
|
+
nav.addEventListener('click', nav_to_image)
|
136
|
+
}
|
137
|
+
|
138
|
+
// play button
|
139
|
+
play_checkbox = g.querySelector('.play input[type=checkbox]');
|
140
|
+
play_checkbox.addEventListener('change', toggle_play);
|
141
|
+
|
142
|
+
// resize image container when initial image loads
|
143
|
+
if (images[selected_index].complete) {
|
144
|
+
adjust_height(selected_index);
|
145
|
+
} else {
|
146
|
+
images[selected_index].addEventListener('load', function () {
|
147
|
+
adjust_height(selected_index);
|
148
|
+
});
|
149
|
+
images[selected_index].addEventListener('error', function() {
|
150
|
+
console.warn('error loading image', arguments, images[selected_index].src, images[selected_index])
|
151
|
+
});
|
152
|
+
}
|
153
|
+
}
|
154
|
+
|
155
|
+
var galleries = document.getElementsByClassName('gallery');
|
156
|
+
|
157
|
+
for (var i=0; i<galleries.length; ++i) {
|
158
|
+
var g = galleries[i];
|
159
|
+
process_gallery(g);
|
160
|
+
}
|
161
|
+
})();
|
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.23
|
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-
|
11
|
+
date: 2020-09-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -36,14 +36,14 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: 2.0
|
39
|
+
version: 2.1.0
|
40
40
|
type: :development
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 2.0
|
46
|
+
version: 2.1.0
|
47
47
|
description:
|
48
48
|
email:
|
49
49
|
- isabelline@rzen.dev
|
@@ -58,6 +58,7 @@ files:
|
|
58
58
|
- _includes/byline.html
|
59
59
|
- _includes/disqus.html
|
60
60
|
- _includes/footer.html
|
61
|
+
- _includes/gallery.html
|
61
62
|
- _includes/google_analytics.html
|
62
63
|
- _includes/head-meta.html
|
63
64
|
- _includes/head.html
|
@@ -66,6 +67,7 @@ files:
|
|
66
67
|
- _includes/post_index.html
|
67
68
|
- _layouts/.DS_Store
|
68
69
|
- _layouts/base.html
|
70
|
+
- _layouts/gallery.html
|
69
71
|
- _layouts/page.html
|
70
72
|
- _layouts/post.html
|
71
73
|
- _layouts/tags.html
|
@@ -76,7 +78,17 @@ files:
|
|
76
78
|
- _sass/_snackbar.scss
|
77
79
|
- _sass/_syntax.scss
|
78
80
|
- assets/.DS_Store
|
79
|
-
- assets/blog/
|
81
|
+
- assets/blog/example/Quarter_Horse_Buckskin.jpg
|
82
|
+
- assets/blog/example/gallery/1/lanius_isabellinus1.jpg
|
83
|
+
- assets/blog/example/gallery/Lanius_isabellinus1.jpg
|
84
|
+
- assets/blog/example/gallery/dusan-smetana-ah7KHxYg6Ow-unsplash.jpg
|
85
|
+
- assets/blog/example/gallery/jay-ruzesky-h13Y8vyIXNU-unsplash.jpg
|
86
|
+
- assets/blog/example/gallery/maurits-bausenhart-OkYjLpB2gzA-unsplash.jpg
|
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
|
91
|
+
- assets/blog/getting-started/undraw_browsing_online_sr8c.svg
|
80
92
|
- assets/css/style.scss
|
81
93
|
- assets/favicon/README.md
|
82
94
|
- assets/favicon/android-chrome-192x192.png
|
@@ -105,10 +117,11 @@ files:
|
|
105
117
|
- assets/fonts/Noto Serif/ga6Iaw1J5X9T9RW6j9bNfFoWaDq8fMVxMw.woff2
|
106
118
|
- assets/fonts/Noto Serif/ga6Iaw1J5X9T9RW6j9bNfFsWaDq8fMVxMw.woff2
|
107
119
|
- assets/js/clipboard.js
|
120
|
+
- assets/js/gallery.js
|
108
121
|
- assets/js/slides.js
|
109
122
|
- assets/js/snackbar.js
|
110
123
|
- index.html
|
111
|
-
homepage: https://
|
124
|
+
homepage: https://git.rzen.dev/rzen/jekyll-theme-isabelline
|
112
125
|
licenses:
|
113
126
|
- MIT
|
114
127
|
metadata:
|
@@ -128,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
128
141
|
- !ruby/object:Gem::Version
|
129
142
|
version: '0'
|
130
143
|
requirements: []
|
131
|
-
rubygems_version: 3.
|
144
|
+
rubygems_version: 3.1.4
|
132
145
|
signing_key:
|
133
146
|
specification_version: 4
|
134
147
|
summary: Simple clean mobile-friendly theme for long form note taking. Works for blogging
|