jekyll-theme-switch 0.6.0 → 0.7.0
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 +3 -1
- data/_data/i18n.yaml +42 -0
- data/_includes/date.html +1 -4
- data/_includes/footer.html +42 -7
- data/_includes/footer_text.html +5 -0
- data/_includes/head.html +37 -40
- data/_includes/month.html +7 -14
- data/_includes/page_title.html +1 -0
- data/_includes/paginator_nav.html +24 -0
- data/_includes/post_item.html +34 -0
- data/_includes/post_list.html +7 -0
- data/_includes/post_meta.html +9 -0
- data/_includes/post_nav.html +22 -0
- data/_includes/rss/channel.html +3 -0
- data/_includes/rss/post.html +1 -1
- data/_layouts/archive.html +1 -1
- data/_layouts/category_page.html +2 -37
- data/_layouts/default.html +2 -0
- data/_layouts/home.html +2 -69
- data/_layouts/monthly_archive.html +2 -2
- data/_layouts/post.html +1 -22
- data/_layouts/rss.html +1 -2
- data/_layouts/series_post.html +2 -2
- data/_layouts/tag_page.html +2 -36
- data/_layouts/yearly_archive.html +2 -1
- data/_sass/jekyll-theme-switch/_dark.scss +5 -1
- data/_sass/jekyll-theme-switch/_layout.scss +44 -5
- metadata +14 -14
- data/_plugins/blog_series_plugin.rb +0 -16
- data/_plugins/category_tag_filter.rb +0 -36
- data/_plugins/filesize_filter.rb +0 -13
- data/_plugins/normalize_whitespace_filter.rb +0 -10
- data/_plugins/songlink_tag_plugin.rb +0 -18
- data/_plugins/video_tag_plugin.rb +0 -62
- data/_plugins/vimeo_tag_plugin.rb +0 -23
- data/_plugins/yearly_archive_plugin.rb +0 -81
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0f91fdbd29c08c049e873104ce8a9d3a8a14735ac77594ea1f36c4200374973e
|
|
4
|
+
data.tar.gz: b9c7b7e1f107c5c8de11212298fa681336e7f8661175eb40832b9a9f2c645f9f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 55c1055b62a2141b5196c3685de1bd1602fe721a603dd458cfabf2718abf3a694bef1d974dc96122b6a30f49fc70955f3cd1149ce9600cd3c6d4acd1f4416a38
|
|
7
|
+
data.tar.gz: d8ec20b50f7cbd243fcfcd5624aa3275b2a2aa70d62f5b0940824fe3034b3f0b9c23042a9d6369e738ca59633474bc655800891fc9db620ba4051fe3ba1934ab
|
data/README.md
CHANGED
|
@@ -13,10 +13,12 @@ git 'https://gitlab.com/islandsvinur/jekyll-theme-switch.git' do
|
|
|
13
13
|
end
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
-
Run `bundle install`, then set the theme in your `_config.yml`:
|
|
16
|
+
Run `bundle install`, then set the theme and add the plugin in your `_config.yml`:
|
|
17
17
|
|
|
18
18
|
```
|
|
19
19
|
theme: jekyll-theme-switch
|
|
20
|
+
plugins:
|
|
21
|
+
- jekyll-theme-switch
|
|
20
22
|
```
|
|
21
23
|
|
|
22
24
|
## Usage
|
data/_data/i18n.yaml
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
read_more: Read more
|
|
2
|
+
|
|
3
|
+
archives:
|
|
4
|
+
index_header: Archives
|
|
5
|
+
yearly_header: Yearly archive for %{year}
|
|
6
|
+
monthly_header: Monthly archive for %{month}
|
|
7
|
+
|
|
8
|
+
category: Category
|
|
9
|
+
tag: Tag
|
|
10
|
+
|
|
11
|
+
series: This post is part of the series
|
|
12
|
+
|
|
13
|
+
nav:
|
|
14
|
+
next: Next
|
|
15
|
+
previous: Previous
|
|
16
|
+
page_of_pages: Page %{page} of %{pages}
|
|
17
|
+
|
|
18
|
+
rss:
|
|
19
|
+
originally_posted: Originally posted on
|
|
20
|
+
|
|
21
|
+
date:
|
|
22
|
+
months:
|
|
23
|
+
- January
|
|
24
|
+
- February
|
|
25
|
+
- March
|
|
26
|
+
- April
|
|
27
|
+
- May
|
|
28
|
+
- June
|
|
29
|
+
- July
|
|
30
|
+
- August
|
|
31
|
+
- September
|
|
32
|
+
- October
|
|
33
|
+
- November
|
|
34
|
+
- December
|
|
35
|
+
weekday:
|
|
36
|
+
- Monday
|
|
37
|
+
- Tuesday
|
|
38
|
+
- Wednesday
|
|
39
|
+
- Thursday
|
|
40
|
+
- Friday
|
|
41
|
+
- Saturday
|
|
42
|
+
- Sunday
|
data/_includes/date.html
CHANGED
|
@@ -1,4 +1 @@
|
|
|
1
|
-
<time datetime="{{ include.date | date_to_xmlschema }}">{{ include.date | date: "%-d" }}
|
|
2
|
-
{% assign m = include.date | date: "%-m" %}
|
|
3
|
-
{% include month.html month=m %}
|
|
4
|
-
{{ include.date | date: "%Y" }}</time>
|
|
1
|
+
<time datetime="{{ include.date | date_to_xmlschema }}">{{ include.date | date: "%-d" }} {% include month.html date=include.date %} {{ include.date | date: "%Y" }}</time>
|
data/_includes/footer.html
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<ul class="social-media-list">
|
|
17
17
|
{% if site.gitlab_username %}
|
|
18
18
|
<li>
|
|
19
|
-
<a href="https://gitlab.com/{{ site.gitlab_username }}" rel="me">
|
|
19
|
+
<a title="GitLab" href="https://gitlab.com/{{ site.gitlab_username }}" rel="me">
|
|
20
20
|
<span class="icon icon--gitlab">
|
|
21
21
|
<svg viewBox="0 0 100 100">
|
|
22
22
|
<path d="m50 96h0l18.42-56.63h-36.82z" fill="#9c9b9b"/>
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
|
|
35
35
|
{% if site.github_username %}
|
|
36
36
|
<li>
|
|
37
|
-
<a href="https://github.com/{{ site.github_username }}" rel="me">
|
|
37
|
+
<a title="GitHub" href="https://github.com/{{ site.github_username }}" rel="me">
|
|
38
38
|
<span class="icon icon--github">
|
|
39
39
|
<svg viewBox="0 0 16 16">
|
|
40
40
|
<path fill="#828282" d="M7.999,0.431c-4.285,0-7.76,3.474-7.76,7.761 c0,3.428,2.223,6.337,5.307,7.363c0.388,0.071,0.53-0.168,0.53-0.374c0-0.184-0.007-0.672-0.01-1.32 c-2.159,0.469-2.614-1.04-2.614-1.04c-0.353-0.896-0.862-1.135-0.862-1.135c-0.705-0.481,0.053-0.472,0.053-0.472 c0.779,0.055,1.189,0.8,1.189,0.8c0.692,1.186,1.816,0.843,2.258,0.645c0.071-0.502,0.271-0.843,0.493-1.037 C4.86,11.425,3.049,10.76,3.049,7.786c0-0.847,0.302-1.54,0.799-2.082C3.768,5.507,3.501,4.718,3.924,3.65 c0,0,0.652-0.209,2.134,0.796C6.677,4.273,7.34,4.187,8,4.184c0.659,0.003,1.323,0.089,1.943,0.261 c1.482-1.004,2.132-0.796,2.132-0.796c0.423,1.068,0.157,1.857,0.077,2.054c0.497,0.542,0.798,1.235,0.798,2.082 c0,2.981-1.814,3.637-3.543,3.829c0.279,0.24,0.527,0.713,0.527,1.437c0,1.037-0.01,1.874-0.01,2.129 c0,0.208,0.14,0.449,0.534,0.373c3.081-1.028,5.302-3.935,5.302-7.362C15.76,3.906,12.285,0.431,7.999,0.431z"/>
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
|
|
49
49
|
{% if site.twitter_username %}
|
|
50
50
|
<li>
|
|
51
|
-
<a href="https://twitter.com/{{ site.twitter_username }}" rel="me">
|
|
51
|
+
<a title="Twitter" href="https://twitter.com/{{ site.twitter_username }}" rel="me">
|
|
52
52
|
<span class="icon icon--twitter">
|
|
53
53
|
<svg viewBox="0 0 16 16">
|
|
54
54
|
<path fill="#828282" d="M15.969,3.058c-0.586,0.26-1.217,0.436-1.878,0.515c0.675-0.405,1.194-1.045,1.438-1.809
|
|
@@ -61,9 +61,45 @@
|
|
|
61
61
|
</li>
|
|
62
62
|
{% endif %}
|
|
63
63
|
|
|
64
|
+
{% if site.mastodon_profile %}
|
|
65
|
+
<li>
|
|
66
|
+
<a title="Mastodon" href="{{ site.mastodon_profile | mastodon_url }}" rel="me">
|
|
67
|
+
<span class="icon icon--mastodon">
|
|
68
|
+
<svg viewBox="0 0 74 79">
|
|
69
|
+
<path fill="#828282" d="M73.7014 17.9592C72.5616 9.62034 65.1774 3.04876 56.424 1.77536C54.9472
|
|
70
|
+
1.56019 49.3517 0.7771 36.3901 0.7771H36.2933C23.3281 0.7771 20.5465 1.56019 19.0697 1.77536C10.56
|
|
71
|
+
3.01348 2.78877 8.91838 0.903306 17.356C-0.00357857 21.5113 -0.100361 26.1181 0.068112
|
|
72
|
+
30.3439C0.308275 36.404 0.354874 42.4535 0.91406 48.489C1.30064 52.498 1.97502 56.4751 2.93215
|
|
73
|
+
60.3905C4.72441 67.6217 11.9795 73.6395 19.0876 76.0945C26.6979 78.6548 34.8821 79.0799 42.724
|
|
74
|
+
77.3221C43.5866 77.1245 44.4398 76.8953 45.2833 76.6342C47.1867 76.0381 49.4199 75.3714 51.0616
|
|
75
|
+
74.2003C51.0841 74.1839 51.1026 74.1627 51.1156 74.1382C51.1286 74.1138 51.1359 74.0868 51.1368
|
|
76
|
+
74.0592V68.2108C51.1364 68.185 51.1302 68.1596 51.1185 68.1365C51.1069 68.1134 51.0902 68.0932 51.0695
|
|
77
|
+
68.0773C51.0489 68.0614 51.0249 68.0503 50.9994 68.0447C50.9738 68.0391 50.9473 68.0392 50.9218
|
|
78
|
+
68.045C45.8976 69.226 40.7491 69.818 35.5836 69.8087C26.694 69.8087 24.3031 65.6569 23.6184
|
|
79
|
+
63.9285C23.0681 62.4347 22.7186 60.8764 22.5789 59.2934C22.5775 59.2669 22.5825 59.2403 22.5934
|
|
80
|
+
59.216C22.6043 59.1916 22.621 59.1702 22.6419 59.1533C22.6629 59.1365 22.6876 59.1248 22.714
|
|
81
|
+
59.1191C22.7404 59.1134 22.7678 59.1139 22.794 59.1206C27.7345 60.2936 32.799 60.8856 37.8813
|
|
82
|
+
60.8843C39.1036 60.8843 40.3223 60.8843 41.5447 60.8526C46.6562 60.7115 52.0437 60.454 57.0728
|
|
83
|
+
59.4874C57.1983 59.4628 57.3237 59.4416 57.4313 59.4098C65.3638 57.9107 72.9128 53.2051 73.6799
|
|
84
|
+
41.2895C73.7086 40.8204 73.7803 36.3758 73.7803 35.889C73.7839 34.2347 74.3216 24.1533 73.7014
|
|
85
|
+
17.9592ZM61.4925 47.6918H53.1514V27.5855C53.1514 23.3526 51.3591 21.1938 47.7136 21.1938C43.7061
|
|
86
|
+
21.1938 41.6988 23.7476 41.6988 28.7919V39.7974H33.4078V28.7919C33.4078 23.7476 31.3969 21.1938
|
|
87
|
+
27.3894 21.1938C23.7654 21.1938 21.9552 23.3526 21.9516 27.5855V47.6918H13.6176V26.9752C13.6176
|
|
88
|
+
22.7423 14.7157 19.3795 16.9118 16.8868C19.1772 14.4 22.1488 13.1231 25.8373 13.1231C30.1064 13.1231
|
|
89
|
+
33.3325 14.7386 35.4832 17.9662L37.5587 21.3949L39.6377 17.9662C41.7884 14.7386 45.0145 13.1231
|
|
90
|
+
49.2765 13.1231C52.9614 13.1231 55.9329 14.4 58.2055 16.8868C60.4017 19.3772 61.4997 22.74 61.4997
|
|
91
|
+
26.9752L61.4925 47.6918Z"/>
|
|
92
|
+
</svg>
|
|
93
|
+
</span>
|
|
94
|
+
|
|
95
|
+
<span class="username">{{ site.mastodon_profile }}</span>
|
|
96
|
+
</a>
|
|
97
|
+
</li>
|
|
98
|
+
{% endif %}
|
|
99
|
+
|
|
64
100
|
{% if site.instagram_username %}
|
|
65
101
|
<li>
|
|
66
|
-
<a href="https://instagram.com/{{ site.instagram_username }}"
|
|
102
|
+
<a title="Instagram" href="https://instagram.com/{{ site.instagram_username }}"
|
|
67
103
|
rel="me">
|
|
68
104
|
<span class="icon icon--instagram">
|
|
69
105
|
<svg viewBox="0 0 512 512">
|
|
@@ -79,7 +115,7 @@
|
|
|
79
115
|
</li>
|
|
80
116
|
{% endif %}
|
|
81
117
|
<li>
|
|
82
|
-
<a href="{{ "/feed.xml" | prepend: site.baseurl }}">
|
|
118
|
+
<a title="RSS" href="{{ "/feed.xml" | prepend: site.baseurl }}">
|
|
83
119
|
<span class="icon">
|
|
84
120
|
<svg viewBox="0 0 256 256">
|
|
85
121
|
<circle cx="68" cy="189" r="24" fill="#828282"/>
|
|
@@ -100,8 +136,7 @@
|
|
|
100
136
|
|
|
101
137
|
<div class="footer-col-wrapper">
|
|
102
138
|
<div class="footer-wide">
|
|
103
|
-
|
|
104
|
-
and the <a href="https://islandsvinur.gitlab.io/jekyll-theme-switch/">Logging the Switch theme</a>.
|
|
139
|
+
{% include footer_text.html %}
|
|
105
140
|
</div>
|
|
106
141
|
</div>
|
|
107
142
|
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
Generated by <a href="https://jekyllrb.com/">Jekyll</a>
|
|
2
|
+
and the <a href="https://islandsvinur.gitlab.io/jekyll-theme-switch/">Logging the Switch theme</a>.
|
|
3
|
+
{% if site.site_repository_base_url %}
|
|
4
|
+
<a href="{{ site.site_repository_base_url }}/{{ page.path }}">Edit this page</a>.
|
|
5
|
+
{% endif %}
|
data/_includes/head.html
CHANGED
|
@@ -1,45 +1,42 @@
|
|
|
1
|
-
<
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
1
|
+
<meta charset="utf-8">
|
|
2
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
3
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
<meta name="description" content="{{ description }}">
|
|
5
|
+
{% if page.excerpt %}
|
|
6
|
+
{% assign description = page.excerpt | strip_html | normalize_whitespace | truncate: 160 %}
|
|
7
|
+
{% else %}
|
|
8
|
+
{% assign description = site.description | markdownify | strip_html | normalize_whitespace %}
|
|
9
|
+
{% endif %}
|
|
10
|
+
<title>{% include page_title.html %}</title>
|
|
11
|
+
<meta name="description" content="{{ description }}">
|
|
14
12
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
13
|
+
<link rel="stylesheet" href="{{ "/assets/css/jekyll-theme-switch.css" | prepend: site.baseurl }}">
|
|
14
|
+
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"/>
|
|
15
|
+
{% if page.previous %}<link rel="prev" href="{{ page.previous.url | absolute_url }}">{% endif %}
|
|
16
|
+
{% assign canonical_url = page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url %}
|
|
17
|
+
<link rel="canonical" href="{{ canonical_url }}">
|
|
18
|
+
{% if page.next %}<link rel="next" href="{{ page.next.url | absolute_url }}">{% endif %}
|
|
19
|
+
<link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" />
|
|
22
20
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
{% for link in site.links %}
|
|
22
|
+
<link rel="{{ link.rel }}" href="{{ link.href }}"/>
|
|
23
|
+
{% endfor %}
|
|
26
24
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
25
|
+
<meta property="og:title" content="{% include page_title.html %}">
|
|
26
|
+
<meta property="og:description" content="{{ description }}">
|
|
27
|
+
<meta property="og:site_name" content="{{ site.title }}">
|
|
28
|
+
<meta property="og:url" content="{{ canonical_url }}">
|
|
29
|
+
{% if page.lead_image %}
|
|
30
|
+
<meta property="og:image" content="{{ page.lead_image | absolute_url }}"/>
|
|
31
|
+
{% endif %}
|
|
34
32
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
</head>
|
|
33
|
+
{% if page.lead_image %}
|
|
34
|
+
<meta property="twitter:card" content="summary_large_image"/>
|
|
35
|
+
<meta property="twitter:image" content="{{ page.lead_image | absolute_url }}"/>
|
|
36
|
+
{% else %}
|
|
37
|
+
<meta property="twitter:card" content="summary"/>
|
|
38
|
+
{% endif %}
|
|
39
|
+
<meta property="twitter:title" content="{% include page_title.html %}"/>
|
|
40
|
+
<meta property="twitter:description" content="{{ description }}"/>
|
|
41
|
+
{% if site.twitter_username %}<meta property="twitter:creator" content="@{{ site.twitter_username }}"/>{% endif %}
|
|
42
|
+
<meta property="twitter:site" content="{{ canonical_url }}"/>
|
data/_includes/month.html
CHANGED
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
{%
|
|
2
|
-
{%
|
|
3
|
-
{
|
|
4
|
-
{%
|
|
5
|
-
{%
|
|
6
|
-
{
|
|
7
|
-
{%
|
|
8
|
-
{% when '7' %}juli
|
|
9
|
-
{% when '8' %}augustus
|
|
10
|
-
{% when '9' %}september
|
|
11
|
-
{% when '10' %}oktober
|
|
12
|
-
{% when '11' %}november
|
|
13
|
-
{% when '12' %}december
|
|
14
|
-
{% endcase %}
|
|
1
|
+
{% if include.date %}
|
|
2
|
+
{% assign m = include.date | date: "%-m" | minus: 1 %}
|
|
3
|
+
{{ site.data.i18n.date.months | slice: m }}
|
|
4
|
+
{% else %}
|
|
5
|
+
{% assign m = include.month | minus: 1 %}
|
|
6
|
+
{{ site.data.i18n.date.months | slice: m }}
|
|
7
|
+
{% endif %}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{% if page.title %}{{ page.title | append: " ≪ " | append: site.title }}{% else %}{{ site.title }}{% endif %}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!-- Pagination links -->
|
|
2
|
+
<div class="pagination">
|
|
3
|
+
{% if paginator.previous_page %}
|
|
4
|
+
<a href="{{ paginator.previous_page_path | prepend: site.baseurl }}" class="previous button">
|
|
5
|
+
<i class="material-icons">keyboard_arrow_left</i> {{ site.data.i18n.nav.previous }}
|
|
6
|
+
</a>
|
|
7
|
+
{% else %}
|
|
8
|
+
<span class="previous button">
|
|
9
|
+
<i class="material-icons">keyboard_arrow_left</i> {{ site.data.i18n.nav.previous }}
|
|
10
|
+
</span>
|
|
11
|
+
{% endif %}
|
|
12
|
+
<span class="page_number" style="display: flex; align-items: center">
|
|
13
|
+
{{ site.data.i18n.nav.page_of_pages | params: page: paginator.page, pages: paginator.total_pages }}
|
|
14
|
+
</span>
|
|
15
|
+
{% if paginator.next_page %}
|
|
16
|
+
<a href="{{ paginator.next_page_path | prepend: site.baseurl }}" class="next button">
|
|
17
|
+
{{ site.data.i18n.nav.next }} <i class="material-icons">keyboard_arrow_right</i>
|
|
18
|
+
</a>
|
|
19
|
+
{% else %}
|
|
20
|
+
<span class="next button">
|
|
21
|
+
{{ site.data.i18n.nav.next }} <i class="material-icons">keyboard_arrow_right</i>
|
|
22
|
+
</span>
|
|
23
|
+
{% endif %}
|
|
24
|
+
</div>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{% if post.lead_image %}
|
|
2
|
+
<style type="text/css" scoped>
|
|
3
|
+
li#post-{{ post.id | slugify }} {
|
|
4
|
+
background-image: radial-gradient(farthest-corner at 100% 0, rgba(255,255,255,0.7) 33%, rgba(255,255,255,1) 66%),
|
|
5
|
+
url('{{ post.lead_image | prepend: site.baseurl | prepend: site.url }}');
|
|
6
|
+
background-size: cover;
|
|
7
|
+
background-repeat: no-repeat;
|
|
8
|
+
background-position: right center;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
@media (prefers-color-scheme: dark) {
|
|
12
|
+
li#post-{{ post.id | slugify }} {
|
|
13
|
+
background-image: radial-gradient(farthest-corner at 100% 0, rgba(31,31,31,0.7) 33%, rgba(31,31,31,1) 66%),
|
|
14
|
+
url('{{ post.lead_image | prepend: site.baseurl | prepend: site.url }}');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
</style>
|
|
18
|
+
{% endif %}
|
|
19
|
+
|
|
20
|
+
<li id="post-{{ post.id | slugify }}">
|
|
21
|
+
<article>
|
|
22
|
+
{% include post_meta.html post=post %}
|
|
23
|
+
|
|
24
|
+
<h2>
|
|
25
|
+
<a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a>
|
|
26
|
+
</h2>
|
|
27
|
+
|
|
28
|
+
<div class="post-content">
|
|
29
|
+
{{ post.content }}
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<a class="read-more" href="{{ post.url | prepend: site.baseurl }}">{{ site.data.i18n.read_more }}</a>
|
|
33
|
+
</article>
|
|
34
|
+
</li>
|
data/_includes/post_meta.html
CHANGED
|
@@ -8,6 +8,15 @@
|
|
|
8
8
|
</span>
|
|
9
9
|
<span class="meta-text">{% include date.html date=include.post.date %}</span>
|
|
10
10
|
</li>
|
|
11
|
+
{% if include.post.modified_date %}
|
|
12
|
+
<li>
|
|
13
|
+
<span class="meta-icon">
|
|
14
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path
|
|
15
|
+
d="M21 10.12h-6.78l2.74-2.82c-2.73-2.7-7.15-2.8-9.88-.1-2.73 2.71-2.73 7.08 0 9.79s7.15 2.71 9.88 0C18.32 15.65 19 14.08 19 12.1h2c0 1.98-.88 4.55-2.64 6.29-3.51 3.48-9.21 3.48-12.72 0-3.5-3.47-3.53-9.11-.02-12.58s9.14-3.47 12.65 0L21 3v7.12zM12.5 8v4.25l3.5 2.08-.72 1.21L11 13V8h1.5z"/></svg>
|
|
16
|
+
</span>
|
|
17
|
+
<span class="meta-text">{% include date.html date=include.post.modified_date %}</span>
|
|
18
|
+
</li>
|
|
19
|
+
{% endif %}
|
|
11
20
|
<li>
|
|
12
21
|
<span class="meta-icon">
|
|
13
22
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<nav class="post-nav">
|
|
2
|
+
{% if page.previous %}
|
|
3
|
+
<a href="{{ page.previous.url | prepend: site.baseurl }}"
|
|
4
|
+
class="previous button" title="{{ page.previous.title }}">
|
|
5
|
+
<i class="material-icons">keyboard_arrow_left</i> {{ site.data.i18n.nav.previous }}
|
|
6
|
+
</a>
|
|
7
|
+
{% else %}
|
|
8
|
+
<span class="previous button disabled">
|
|
9
|
+
<i class="material-icons">keyboard_arrow_left</i> {{ site.data.i18n.nav.previous }}
|
|
10
|
+
</span>
|
|
11
|
+
{% endif %}
|
|
12
|
+
{% if page.next %}
|
|
13
|
+
<a href="{{ page.next.url | prepend: site.baseurl }}" class="next button"
|
|
14
|
+
title="{{ page.next.title }}">
|
|
15
|
+
{{ site.data.i18n.nav.next }} <i class="material-icons">keyboard_arrow_right</i>
|
|
16
|
+
</a>
|
|
17
|
+
{% else %}
|
|
18
|
+
<span class="next button disabled">
|
|
19
|
+
{{ site.data.i18n.nav.next }} <i class="material-icons">keyboard_arrow_right</i>
|
|
20
|
+
</span>
|
|
21
|
+
{% endif %}
|
|
22
|
+
</nav>
|
data/_includes/rss/post.html
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
{{ post.content | xml_escape }}
|
|
2
|
-
<p><em>
|
|
2
|
+
<p><em>{{ site.data.i18n.rss.originally_posted }}
|
|
3
3
|
<a href='{{ post.url | prepend: site.baseurl | prepend: site.url }}'>{{ site.title | xml_escape }}</a>.
|
|
4
4
|
</em></p>
|
data/_layouts/archive.html
CHANGED
data/_layouts/category_page.html
CHANGED
|
@@ -3,42 +3,7 @@ layout: wrapped
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
<div class="category-index">
|
|
6
|
-
<h1 class="page-heading">{{ page.title | capitalize | replace: "Ij", "IJ" }}</h1>
|
|
6
|
+
<h1 class="page-heading">{{ site.data.i18n.category }}: {{ page.title | capitalize | replace: "Ij", "IJ" }}</h1>
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
{% for post in page.posts %}
|
|
10
|
-
{% if post.lead_image %}
|
|
11
|
-
<style type="text/css" scoped>
|
|
12
|
-
li#post-{{ post.id | slugify }} {
|
|
13
|
-
background-image: radial-gradient(farthest-corner at 100% 0, rgba(255,255,255,0.7) 33%, rgba(255,255,255,1) 66%),
|
|
14
|
-
url('{{ post.lead_image | prepend: site.baseurl | prepend: site.url }}');
|
|
15
|
-
background-size: cover;
|
|
16
|
-
background-repeat: no-repeat;
|
|
17
|
-
background-position-x: right;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
@media (prefers-color-scheme: dark) {
|
|
21
|
-
li#post-{{ post.id | slugify }} {
|
|
22
|
-
background-image: radial-gradient(farthest-corner at 100% 0, rgba(31,31,31,0.7) 33%, rgba(31,31,31,1) 66%),
|
|
23
|
-
url('{{ post.lead_image | prepend: site.baseurl | prepend: site.url }}');
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
</style>
|
|
27
|
-
{% endif %}
|
|
28
|
-
<li id="post-{{ post.id | slugify }}">
|
|
29
|
-
<article>
|
|
30
|
-
|
|
31
|
-
{% include post_meta.html post=post %}
|
|
32
|
-
|
|
33
|
-
<h2>
|
|
34
|
-
<a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a>
|
|
35
|
-
</h2>
|
|
36
|
-
<div>
|
|
37
|
-
{{ post.excerpt }}
|
|
38
|
-
</div>
|
|
39
|
-
<a href="{{ post.url | prepend: site.baseurl }}">lees verder</a>
|
|
40
|
-
</article>
|
|
41
|
-
</li>
|
|
42
|
-
{% endfor %}
|
|
43
|
-
</ul>
|
|
8
|
+
{% include post_list.html posts=page.posts %}
|
|
44
9
|
</div>
|
data/_layouts/default.html
CHANGED
data/_layouts/home.html
CHANGED
|
@@ -4,75 +4,8 @@ layout: wrapped
|
|
|
4
4
|
|
|
5
5
|
<div class="home">
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
{% assign first = true %}
|
|
9
|
-
{% for post in paginator.posts %}
|
|
10
|
-
{% if post.lead_image %}
|
|
11
|
-
<style type="text/css" scoped>
|
|
12
|
-
li#post-{{ post.id | slugify }} {
|
|
13
|
-
background-image: radial-gradient(farthest-corner at 100% 0, rgba(255,255,255,0.7) 33%, rgba(255,255,255,1) 66%),
|
|
14
|
-
url('{{ post.lead_image | prepend: site.baseurl | prepend: site.url }}');
|
|
15
|
-
background-size: cover;
|
|
16
|
-
background-repeat: no-repeat;
|
|
17
|
-
background-position: right center;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
@media (prefers-color-scheme: dark) {
|
|
21
|
-
li#post-{{ post.id | slugify }} {
|
|
22
|
-
background-image: radial-gradient(farthest-corner at 100% 0, rgba(31,31,31,0.7) 33%, rgba(31,31,31,1) 66%),
|
|
23
|
-
url('{{ post.lead_image | prepend: site.baseurl | prepend: site.url }}');
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
</style>
|
|
27
|
-
{% endif %}
|
|
28
|
-
<li id="post-{{ post.id | slugify }}">
|
|
29
|
-
<article>
|
|
30
|
-
{% include post_meta.html post=post %}
|
|
31
|
-
|
|
32
|
-
<h2>
|
|
33
|
-
<a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a>
|
|
34
|
-
</h2>
|
|
35
|
-
{% if paginator.page == 1 and first %}
|
|
36
|
-
<div>
|
|
37
|
-
{{ post.content }}
|
|
38
|
-
{% assign first = false %}
|
|
39
|
-
</div>
|
|
40
|
-
{% else %}
|
|
41
|
-
<div>
|
|
42
|
-
{{ post.excerpt }}
|
|
43
|
-
</div>
|
|
44
|
-
<a href="{{ post.url | prepend: site.baseurl }}">lees verder</a>
|
|
45
|
-
{% endif %}
|
|
46
|
-
</article>
|
|
47
|
-
</li>
|
|
48
|
-
{% endfor %}
|
|
49
|
-
</ul>
|
|
50
|
-
|
|
51
|
-
<!-- Pagination links -->
|
|
52
|
-
<div class="pagination">
|
|
53
|
-
{% if paginator.previous_page %}
|
|
54
|
-
<a href="{{ paginator.previous_page_path | prepend: site.baseurl }}" class="previous button">
|
|
55
|
-
<i class="material-icons">keyboard_arrow_left</i> Vorige
|
|
56
|
-
</a>
|
|
57
|
-
{% else %}
|
|
58
|
-
<span class="previous button">
|
|
59
|
-
<i class="material-icons">keyboard_arrow_left</i> Vorige
|
|
60
|
-
</span>
|
|
61
|
-
{% endif %}
|
|
62
|
-
<span class="page_number" style="display: flex; align-items: center">
|
|
63
|
-
Pagina: {{ paginator.page }} van {{ paginator.total_pages }}
|
|
64
|
-
</span>
|
|
65
|
-
{% if paginator.next_page %}
|
|
66
|
-
<a href="{{ paginator.next_page_path | prepend: site.baseurl }}" class="next button">
|
|
67
|
-
Volgende <i class="material-icons">keyboard_arrow_right</i>
|
|
68
|
-
</a>
|
|
69
|
-
{% else %}
|
|
70
|
-
<span class="next button">
|
|
71
|
-
Volgende <i class="material-icons">keyboard_arrow_right</i>
|
|
72
|
-
</span>
|
|
73
|
-
{% endif %}
|
|
74
|
-
</div>
|
|
75
|
-
|
|
7
|
+
{% include post_list.html posts=paginator.posts %}
|
|
76
8
|
|
|
9
|
+
{% include paginator_nav.html %}
|
|
77
10
|
|
|
78
11
|
</div>
|
|
@@ -3,8 +3,8 @@ layout: wrapped
|
|
|
3
3
|
---
|
|
4
4
|
<div class="monthly-archive">
|
|
5
5
|
<div>
|
|
6
|
-
{%
|
|
7
|
-
<h1 class="title">
|
|
6
|
+
{% capture month %}<time datetime="{{ page.date | date: '%Y-%m' }}">{% include month.html date=page.date %} {{ page.date | date: "%Y" }}</time>{% endcapture %}
|
|
7
|
+
<h1 class="title">{{ site.data.i18n.archives.monthly_header | params: month: month }}</h1>
|
|
8
8
|
</div>
|
|
9
9
|
<div>
|
|
10
10
|
<dl>
|
data/_layouts/post.html
CHANGED
|
@@ -38,27 +38,6 @@ layout: default
|
|
|
38
38
|
{% include disqus.html %}
|
|
39
39
|
{% endunless %}
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
{% if page.previous %}
|
|
43
|
-
<a href="{{ page.previous.url | prepend: site.baseurl }}"
|
|
44
|
-
class="previous button" title="{{ page.previous.title }}">
|
|
45
|
-
<i class="material-icons">keyboard_arrow_left</i> Vorige
|
|
46
|
-
</a>
|
|
47
|
-
{% else %}
|
|
48
|
-
<span class="previous button disabled">
|
|
49
|
-
<i class="material-icons">keyboard_arrow_left</i> Vorige
|
|
50
|
-
</span>
|
|
51
|
-
{% endif %}
|
|
52
|
-
{% if page.next %}
|
|
53
|
-
<a href="{{ page.next.url | prepend: site.baseurl }}" class="next button"
|
|
54
|
-
title="{{ page.next.title }}">
|
|
55
|
-
Volgende <i class="material-icons">keyboard_arrow_right</i>
|
|
56
|
-
</a>
|
|
57
|
-
{% else %}
|
|
58
|
-
<span class="next button disabled">
|
|
59
|
-
Volgende <i class="material-icons">keyboard_arrow_right</i>
|
|
60
|
-
</span>
|
|
61
|
-
{% endif %}
|
|
62
|
-
</div>
|
|
41
|
+
{% include post_nav.html %}
|
|
63
42
|
</div>
|
|
64
43
|
</div>
|
data/_layouts/rss.html
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
|
3
3
|
<channel>
|
|
4
|
-
|
|
5
|
-
<description>{{ site.description | markdownify | strip_html | normalize_whitespace }}</description>
|
|
4
|
+
{% include rss/channel.html %}
|
|
6
5
|
<link>{{ site.url }}{{ site.baseurl }}/</link>
|
|
7
6
|
<atom:link href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" rel="self" type="application/rss+xml"/>
|
|
8
7
|
<pubDate>{{ site.time | date_to_rfc822 }}</pubDate>
|
data/_layouts/series_post.html
CHANGED
|
@@ -3,11 +3,11 @@ layout: post
|
|
|
3
3
|
---
|
|
4
4
|
{% assign series_index = page.series_index[0] %}
|
|
5
5
|
<div class="series-header">
|
|
6
|
-
<p>
|
|
6
|
+
<p>{{ site.data.i18n.series }}: <a href="{{ series_index.url | prepend: site.baseurl }}">{{ series_index.title }}</a>.</p>
|
|
7
7
|
</div>
|
|
8
8
|
{{ content }}
|
|
9
9
|
<div class="series-footer">
|
|
10
|
-
<p>
|
|
10
|
+
<p>{{ site.data.i18n.series }}: <a href="{{ series_index.url | prepend: site.baseurl }}">{{ series_index.title }}</a>.</p>
|
|
11
11
|
<ul>
|
|
12
12
|
{% for post in series_index.series_posts %}
|
|
13
13
|
<li><a href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a></li>
|
data/_layouts/tag_page.html
CHANGED
|
@@ -3,41 +3,7 @@ layout: wrapped
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
<div class="tag-index">
|
|
6
|
-
<h1 class="page-heading">{{ page.title | capitalize | replace: "Ij", "IJ" }}</h1>
|
|
6
|
+
<h1 class="page-heading">{{ site.data.i18n.tag }}: {{ page.title | capitalize | replace: "Ij", "IJ" }}</h1>
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
{% for post in page.posts %}
|
|
10
|
-
{% if post.lead_image %}
|
|
11
|
-
<style type="text/css" scoped>
|
|
12
|
-
li#post-{{ post.id | slugify }} {
|
|
13
|
-
background-image: radial-gradient(farthest-corner at 100% 0, rgba(255,255,255,0.7) 33%, rgba(255,255,255,1) 66%),
|
|
14
|
-
url('{{ post.lead_image | prepend: site.baseurl | prepend: site.url }}');
|
|
15
|
-
background-size: cover;
|
|
16
|
-
background-repeat: no-repeat;
|
|
17
|
-
background-position-x: right;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
@media (prefers-color-scheme: dark) {
|
|
21
|
-
li#post-{{ post.id | slugify }} {
|
|
22
|
-
background-image: radial-gradient(farthest-corner at 100% 0, rgba(31,31,31,0.7) 33%, rgba(31,31,31,1) 66%),
|
|
23
|
-
url('{{ post.lead_image | prepend: site.baseurl | prepend: site.url }}');
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
</style>
|
|
27
|
-
{% endif %}
|
|
28
|
-
<li id="post-{{ post.id | slugify }}">
|
|
29
|
-
<article>
|
|
30
|
-
{% include post_meta.html post=post %}
|
|
31
|
-
|
|
32
|
-
<h2>
|
|
33
|
-
<a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a>
|
|
34
|
-
</h2>
|
|
35
|
-
<div>
|
|
36
|
-
{{ post.excerpt }}
|
|
37
|
-
</div>
|
|
38
|
-
<a href="{{ post.url | prepend: site.baseurl }}">lees verder</a>
|
|
39
|
-
</article>
|
|
40
|
-
</li>
|
|
41
|
-
{% endfor %}
|
|
42
|
-
</ul>
|
|
8
|
+
{% include post_list.html posts=page.posts %}
|
|
43
9
|
</div>
|
|
@@ -3,7 +3,8 @@ layout: wrapped
|
|
|
3
3
|
---
|
|
4
4
|
<div class="yearly-archive">
|
|
5
5
|
<div>
|
|
6
|
-
|
|
6
|
+
{% capture year %}<time datetime="{{ page.date | date: '%Y' }}">{{ page.date | date: "%Y" }}</time>{% endcapture %}
|
|
7
|
+
<h1 class="title">{{ site.data.i18n.archives.yearly_header | params: year: year }}</h1>
|
|
7
8
|
</div>
|
|
8
9
|
<div>
|
|
9
10
|
{% assign posts = page.posts | group_by_exp: "post", "post.date | date: '%-m'" %}
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
|
|
16
16
|
body,
|
|
17
17
|
.page-content,
|
|
18
|
-
.post-content,
|
|
19
18
|
{
|
|
20
19
|
background-color: $background-color-dark;
|
|
21
20
|
}
|
|
@@ -33,6 +32,11 @@
|
|
|
33
32
|
background-color: lighten($background-color-dark, 5%);
|
|
34
33
|
}
|
|
35
34
|
|
|
35
|
+
.category-index ul.post-list > li article a.read-more, .tag-index ul.post-list > li article a.read-more, .home ul.post-list > li article a.read-more {
|
|
36
|
+
background: lighten($background-color-dark, 5%);
|
|
37
|
+
box-shadow: 0 -12px 50px 50px lighten($background-color-dark, 5%);
|
|
38
|
+
}
|
|
39
|
+
|
|
36
40
|
.post-content {
|
|
37
41
|
td, th {
|
|
38
42
|
border-bottom-color: $brand-color-dark;
|
|
@@ -82,6 +82,46 @@
|
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
|
|
85
|
+
.category-index,
|
|
86
|
+
.tag-index,
|
|
87
|
+
.home {
|
|
88
|
+
padding: $spacing-unit;
|
|
89
|
+
|
|
90
|
+
ul.post-list {
|
|
91
|
+
display: flex;
|
|
92
|
+
flex-wrap: wrap;
|
|
93
|
+
flex-direction: row;
|
|
94
|
+
column-gap: $spacing-unit;
|
|
95
|
+
row-gap: $spacing-unit;
|
|
96
|
+
|
|
97
|
+
& > li {
|
|
98
|
+
flex-grow: 1;
|
|
99
|
+
//width: 300px;
|
|
100
|
+
height: 350px;
|
|
101
|
+
overflow: hidden;
|
|
102
|
+
|
|
103
|
+
article {
|
|
104
|
+
display: flex;
|
|
105
|
+
flex-direction: column;
|
|
106
|
+
justify-items: stretch;
|
|
107
|
+
height: 100%;
|
|
108
|
+
|
|
109
|
+
div.post-content {
|
|
110
|
+
flex-shrink: 1;
|
|
111
|
+
flex-grow: 1;
|
|
112
|
+
overflow: hidden;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
a.read-more {
|
|
116
|
+
background: $background-color;
|
|
117
|
+
box-shadow: 0 -12px 50px 50px $background-color;
|
|
118
|
+
padding-top: 8px;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
85
125
|
|
|
86
126
|
/**
|
|
87
127
|
* Site footer
|
|
@@ -125,13 +165,13 @@
|
|
|
125
165
|
}
|
|
126
166
|
|
|
127
167
|
.footer-col-2 {
|
|
128
|
-
width: -webkit-calc(
|
|
129
|
-
width: calc(
|
|
168
|
+
width: -webkit-calc(30% - (#{$spacing-unit} / 2));
|
|
169
|
+
width: calc(30% - (#{$spacing-unit} / 2));
|
|
130
170
|
}
|
|
131
171
|
|
|
132
172
|
.footer-col-3 {
|
|
133
|
-
width: -webkit-calc(
|
|
134
|
-
width: calc(
|
|
173
|
+
width: -webkit-calc(40% - (#{$spacing-unit} / 2));
|
|
174
|
+
width: calc(40% - (#{$spacing-unit} / 2));
|
|
135
175
|
}
|
|
136
176
|
|
|
137
177
|
@include media-query($on-laptop) {
|
|
@@ -176,7 +216,6 @@
|
|
|
176
216
|
> li {
|
|
177
217
|
background-color: white;
|
|
178
218
|
padding: $spacing-unit;
|
|
179
|
-
margin: $spacing-unit 0;
|
|
180
219
|
border-radius: 4px;
|
|
181
220
|
@include BoxShadow(1);
|
|
182
221
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jekyll-theme-switch
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.7.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Christian Luijten
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2024-02-21 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: jekyll
|
|
@@ -122,7 +122,7 @@ dependencies:
|
|
|
122
122
|
- - "~>"
|
|
123
123
|
- !ruby/object:Gem::Version
|
|
124
124
|
version: 1.4.0
|
|
125
|
-
description:
|
|
125
|
+
description:
|
|
126
126
|
email:
|
|
127
127
|
- christian@luijten.org
|
|
128
128
|
executables: []
|
|
@@ -131,15 +131,23 @@ extra_rdoc_files: []
|
|
|
131
131
|
files:
|
|
132
132
|
- LICENSE.txt
|
|
133
133
|
- README.md
|
|
134
|
+
- _data/i18n.yaml
|
|
134
135
|
- _includes/date.html
|
|
135
136
|
- _includes/disqus.html
|
|
136
137
|
- _includes/footer.html
|
|
138
|
+
- _includes/footer_text.html
|
|
137
139
|
- _includes/head.html
|
|
138
140
|
- _includes/header.html
|
|
139
141
|
- _includes/holidays_contents.html
|
|
140
142
|
- _includes/holidays_ul.html
|
|
141
143
|
- _includes/month.html
|
|
144
|
+
- _includes/page_title.html
|
|
145
|
+
- _includes/paginator_nav.html
|
|
146
|
+
- _includes/post_item.html
|
|
147
|
+
- _includes/post_list.html
|
|
142
148
|
- _includes/post_meta.html
|
|
149
|
+
- _includes/post_nav.html
|
|
150
|
+
- _includes/rss/channel.html
|
|
143
151
|
- _includes/rss/post.html
|
|
144
152
|
- _includes/section_nav.html
|
|
145
153
|
- _includes/vimeo.html
|
|
@@ -158,14 +166,6 @@ files:
|
|
|
158
166
|
- _layouts/tag_page.html
|
|
159
167
|
- _layouts/wrapped.html
|
|
160
168
|
- _layouts/yearly_archive.html
|
|
161
|
-
- _plugins/blog_series_plugin.rb
|
|
162
|
-
- _plugins/category_tag_filter.rb
|
|
163
|
-
- _plugins/filesize_filter.rb
|
|
164
|
-
- _plugins/normalize_whitespace_filter.rb
|
|
165
|
-
- _plugins/songlink_tag_plugin.rb
|
|
166
|
-
- _plugins/video_tag_plugin.rb
|
|
167
|
-
- _plugins/vimeo_tag_plugin.rb
|
|
168
|
-
- _plugins/yearly_archive_plugin.rb
|
|
169
169
|
- _sass/jekyll-theme-switch/_base.scss
|
|
170
170
|
- _sass/jekyll-theme-switch/_dark.scss
|
|
171
171
|
- _sass/jekyll-theme-switch/_image-effects.scss
|
|
@@ -181,7 +181,7 @@ homepage: https://islandsvinur.gitlab.io/jekyll-theme-switch/
|
|
|
181
181
|
licenses:
|
|
182
182
|
- MIT
|
|
183
183
|
metadata: {}
|
|
184
|
-
post_install_message:
|
|
184
|
+
post_install_message:
|
|
185
185
|
rdoc_options: []
|
|
186
186
|
require_paths:
|
|
187
187
|
- lib
|
|
@@ -197,7 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
197
197
|
version: '0'
|
|
198
198
|
requirements: []
|
|
199
199
|
rubygems_version: 3.3.26
|
|
200
|
-
signing_key:
|
|
200
|
+
signing_key:
|
|
201
201
|
specification_version: 4
|
|
202
202
|
summary: The theme for Logging the Switch.
|
|
203
203
|
test_files: []
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Jekyll::Hooks.register :site, :pre_render do |site|
|
|
4
|
-
|
|
5
|
-
seriesIndexes = site.posts.docs
|
|
6
|
-
.select { |p| p.data.key? 'series_slug' }
|
|
7
|
-
.reduce(Hash.new {|h,k| h[k] = []} ) { |series, post| series[post.data['series_slug']] << post; series }
|
|
8
|
-
|
|
9
|
-
seriesPosts = site.posts.docs
|
|
10
|
-
.select { |p| p.data.key? 'series' }
|
|
11
|
-
.reduce(Hash.new {|h,k| h[k] = []}) { |series, post| series[post.data['series']] << post; series }
|
|
12
|
-
|
|
13
|
-
seriesIndexes.each { |slug, posts| posts.each {|post| post.data['series_posts'] = seriesPosts[slug] }}
|
|
14
|
-
seriesPosts.each { |slug, posts| posts.each {|post| post.data['series_index'] = seriesIndexes[slug] }}
|
|
15
|
-
end
|
|
16
|
-
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
module Jekyll
|
|
3
|
-
module CategoryTagFilter
|
|
4
|
-
def taglinks(input)
|
|
5
|
-
site = @context.registers[:site]
|
|
6
|
-
input.map do |tag|
|
|
7
|
-
"<a href=\"#{site.baseurl}/#{site.config['tag_dir']}/#{Utils.slugify(tag)}\">#{tag}</a>"
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def categorylinks(input)
|
|
12
|
-
site = @context.registers[:site]
|
|
13
|
-
input.map do |cat|
|
|
14
|
-
"<a href=\"#{site.baseurl}/#{site.config['category_dir']}/#{Utils.slugify(cat)}\">#{cat}</a>"
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
class CategoryLinkTag < Liquid::Tag
|
|
20
|
-
def initialize(tag_name, text, tokens)
|
|
21
|
-
super
|
|
22
|
-
@text = text
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def render(context)
|
|
26
|
-
@context = context
|
|
27
|
-
site = context.registers[:site]
|
|
28
|
-
dir = site.config['category_dir'] || 'categories'
|
|
29
|
-
|
|
30
|
-
"/#{dir}/#{@text}"
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
Liquid::Template.register_tag('category_link', Jekyll::CategoryLinkTag)
|
|
36
|
-
Liquid::Template.register_filter(Jekyll::CategoryTagFilter)
|
data/_plugins/filesize_filter.rb
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
module Jekyll
|
|
3
|
-
module FilesizeFilter
|
|
4
|
-
def filesize(input)
|
|
5
|
-
site = @context.registers[:site]
|
|
6
|
-
file = site.static_files.find {|f| f.path.end_with?(input) }
|
|
7
|
-
|
|
8
|
-
File.size(file.path)
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
Liquid::Template.register_filter(Jekyll::FilesizeFilter)
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
module Jekyll
|
|
3
|
-
class SonglinkTag < Liquid::Tag
|
|
4
|
-
@songlink = ''
|
|
5
|
-
|
|
6
|
-
def initialize(tag_name, markup, tokens)
|
|
7
|
-
@songlink = markup.split(' ').first
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def render(context)
|
|
11
|
-
output = super
|
|
12
|
-
url = "https://embed.song.link/?url=#{@songlink}&theme=light"
|
|
13
|
-
songlink = "<iframe width='100%' height='414' src='#{url}' frameborder='0' allowfullscreen sandbox='allow-same-origin allow-scripts allow-presentation allow-popups allow-popups-to-escape-sandbox'></iframe>"
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
Liquid::Template.register_tag('songlink', Jekyll::SonglinkTag)
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# Title: Simple Video tag for Jekyll
|
|
2
|
-
# Author: Brandon Mathis http://brandonmathis.com
|
|
3
|
-
# Description: Easily output MPEG4 HTML5 video with a flash backup.
|
|
4
|
-
#
|
|
5
|
-
# Syntax {% video url/to/video [width height] [url/to/poster] %}
|
|
6
|
-
#
|
|
7
|
-
# Example:
|
|
8
|
-
# {% video http://site.com/video.mp4 720 480 http://site.com/poster-frame.jpg %}
|
|
9
|
-
#
|
|
10
|
-
# Output:
|
|
11
|
-
# <video width='720' height='480' preload='none' controls poster='http://site.com/poster-frame.jpg'>
|
|
12
|
-
# <source src='http://site.com/video.mp4' type='video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\"'/>
|
|
13
|
-
# </video>
|
|
14
|
-
#
|
|
15
|
-
|
|
16
|
-
module Jekyll
|
|
17
|
-
|
|
18
|
-
class VideoTag < Liquid::Tag
|
|
19
|
-
@video = nil
|
|
20
|
-
@poster = ''
|
|
21
|
-
@height = ''
|
|
22
|
-
@width = ''
|
|
23
|
-
|
|
24
|
-
def initialize(tag_name, markup, tokens)
|
|
25
|
-
@videos = markup.scan(/((https?:\/\/|\/)\S+\.(webm|ogv|mp4)\S*)/i).map(&:first).compact
|
|
26
|
-
@poster = markup.scan(/((https?:\/\/|\/)\S+\.(png|gif|jpe?g)\S*)/i).map(&:first).compact.first
|
|
27
|
-
@sizes = markup.scan(/\s(\d\S+)/i).map(&:first).compact
|
|
28
|
-
super
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def render(context)
|
|
32
|
-
output = super
|
|
33
|
-
types = {
|
|
34
|
-
'.mp4' => "type='video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\"'",
|
|
35
|
-
'.ogv' => "type='video/ogg; codecs=theora, vorbis'",
|
|
36
|
-
'.webm' => "type='video/webm; codecs=vp8, vorbis'"
|
|
37
|
-
}
|
|
38
|
-
if @videos.size > 0
|
|
39
|
-
video = "<video #{sizes} preload='metadata' controls #{poster}>"
|
|
40
|
-
@videos.each do |v|
|
|
41
|
-
video << "<source src='#{v}' #{types[File.extname(v)]}>"
|
|
42
|
-
end
|
|
43
|
-
video += "</video>"
|
|
44
|
-
else
|
|
45
|
-
"Error processing input, expected syntax: {% video url/to/video [url/to/video] [url/to/video] [width height] [url/to/poster] %}"
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
def poster
|
|
50
|
-
"poster='#{@poster}'" if @poster
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
def sizes
|
|
54
|
-
attrs = "width='#{@sizes[0]}'" if @sizes[0]
|
|
55
|
-
attrs += " height='#{@sizes[1]}'" if @sizes[1]
|
|
56
|
-
attrs
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
Liquid::Template.register_tag('video', Jekyll::VideoTag)
|
|
62
|
-
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
class VimeoEmbed < Liquid::Tag
|
|
3
|
-
|
|
4
|
-
def initialize(tagName, content, tokens)
|
|
5
|
-
super
|
|
6
|
-
@content = content
|
|
7
|
-
content[/([0-9]+)/]
|
|
8
|
-
@vimeo_id = $1
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def render(context)
|
|
12
|
-
tmpl_path = File.join Dir.pwd, "_includes", "vimeo.html"
|
|
13
|
-
if File.exist?(tmpl_path)
|
|
14
|
-
tmpl = File.read tmpl_path
|
|
15
|
-
site = context.registers[:site]
|
|
16
|
-
tmpl = (Liquid::Template.parse tmpl).render site.site_payload.merge!({"vimeo_id" => @vimeo_id})
|
|
17
|
-
else
|
|
18
|
-
%Q{<style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class='embed-container'> <iframe title="vimeo video player" width="640" height="390" src="//www.vimeo.com/embed/#{ @vimeo_id }" frameborder="0" allowfullscreen></iframe></div>}
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
Liquid::Template.register_tag "vimeo", self
|
|
23
|
-
end
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
# Jekyll Module to create yearly archive pages
|
|
2
|
-
#
|
|
3
|
-
# Shigeya Suzuki, November 2013
|
|
4
|
-
# Copyright notice (MIT License) attached at the end of this file
|
|
5
|
-
#
|
|
6
|
-
|
|
7
|
-
#
|
|
8
|
-
# This code is based on the following works:
|
|
9
|
-
# https://gist.github.com/ilkka/707909
|
|
10
|
-
# https://gist.github.com/ilkka/707020
|
|
11
|
-
# https://gist.github.com/nlindley/6409459
|
|
12
|
-
#
|
|
13
|
-
|
|
14
|
-
#
|
|
15
|
-
# Archive will be written as #{archive_path}/#{year}/#{month}/index.html
|
|
16
|
-
# archive_path can be configured in 'path' key in 'yearly_archive' of
|
|
17
|
-
# site configuration file. 'path' is default null.
|
|
18
|
-
#
|
|
19
|
-
|
|
20
|
-
module Jekyll
|
|
21
|
-
|
|
22
|
-
module YearlyArchiveUtil
|
|
23
|
-
def self.archive_base(site)
|
|
24
|
-
site.config['yearly_archive'] && site.config['yearly_archive']['path'] || ''
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
# Generator class invoked from Jekyll
|
|
29
|
-
class YearlyArchiveGenerator < Generator
|
|
30
|
-
def generate(site)
|
|
31
|
-
posts_by_year = posts_group_by_year(site)
|
|
32
|
-
site.pages << ArchivePage.new(site, YearlyArchiveUtil.archive_base(site), posts_by_year)
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def posts_group_by_year(site)
|
|
36
|
-
site.posts.docs.each.group_by { |post| post.date.year }
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
class ArchivePage < Page
|
|
42
|
-
def initialize(site, dir, posts_by_year)
|
|
43
|
-
@site = site
|
|
44
|
-
@dir = dir
|
|
45
|
-
@years = posts_by_year
|
|
46
|
-
@layout = 'archive'
|
|
47
|
-
self.ext = '.html'
|
|
48
|
-
self.basename = 'archive'
|
|
49
|
-
self.data = {
|
|
50
|
-
'layout' => @layout,
|
|
51
|
-
'type' => 'archive',
|
|
52
|
-
'title' => 'Archieven',
|
|
53
|
-
'site_header' => 'Archieven',
|
|
54
|
-
'years' => @years,
|
|
55
|
-
'url' => File.join('/', YearlyArchiveUtil.archive_base(site), 'archives.html')
|
|
56
|
-
}
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
# The MIT License (MIT)
|
|
62
|
-
#
|
|
63
|
-
# Copyright (c) 2013 Shigeya Suzuki
|
|
64
|
-
#
|
|
65
|
-
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
66
|
-
# of this software and associated documentation files (the "Software"), to deal
|
|
67
|
-
# in the Software without restriction, including without limitation the rights
|
|
68
|
-
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
69
|
-
# copies of the Software, and to permit persons to whom the Software is
|
|
70
|
-
# furnished to do so, subject to the following conditions:
|
|
71
|
-
#
|
|
72
|
-
# The above copyright notice and this permission notice shall be included in all
|
|
73
|
-
# copies or substantial portions of the Software.
|
|
74
|
-
#
|
|
75
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
76
|
-
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
77
|
-
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
78
|
-
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
79
|
-
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
80
|
-
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
81
|
-
# SOFTWARE.
|