beautiful-jekyll-theme 4.1.0 → 6.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/_includes/head.html CHANGED
@@ -2,17 +2,34 @@
2
2
  <meta charset="utf-8">
3
3
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
4
4
 
5
- <title>{% if page.use-site-title %}{{ site.title }} {{ site.title-separator | default: '-' }} {{ site.description }}{% elsif page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title>
5
+ {% capture title %}
6
+ {%- if page.share-title -%}
7
+ {{ page.share-title | strip_html | xml_escape }}
8
+ {%- elsif page.title -%}
9
+ {{ page.title | strip_html | xml_escape }}
10
+ {%- else -%}
11
+ {{ site.title | strip_html | xml_escape }}
12
+ {%- endif -%}
13
+ {% endcapture %}
14
+
15
+ {% capture description %}
16
+ {%- if page.share-description -%}
17
+ {{ page.share-description | strip_html | xml_escape }}
18
+ {%- elsif page.subtitle -%}
19
+ {{ page.subtitle | strip_html | xml_escape }}
20
+ {%- else -%}
21
+ {%- assign excerpt_length = site.excerpt_length | default: 50 -%}
22
+ {{ page.content | strip_html | xml_escape | truncatewords: excerpt_length | strip }}
23
+ {%- endif -%}
24
+ {% endcapture %}
25
+
26
+ <title>{{ title }}</title>
6
27
 
7
28
  {% if site.author %}
8
29
  <meta name="author" content="{{ site.author }}">
9
30
  {% endif %}
10
31
 
11
- {% if page.description %}
12
- <meta name="description" content="{{ page.description }}">
13
- {% elsif page.subtitle %}
14
- <meta name="description" content="{{ page.subtitle }}">
15
- {% endif %}
32
+ <meta name="description" content="{{ description }}">
16
33
 
17
34
  {% if site.mobile-theme-col %}
18
35
  <meta name="theme-color" content="{{ site.mobile-theme-col }}">
@@ -22,11 +39,14 @@
22
39
  <meta name="keywords" content="{{ site.keywords }}">
23
40
  {% endif %}
24
41
 
25
- <link rel="alternate" type="application/rss+xml" title="{{ site.title | default: 'Untitled' }} {{ site.title-separator | default: '-' }} {{ site.description }}" href="{{ '/feed.xml' | absolute_url }}">
42
+ {% if site.rss-description %}
43
+ <link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ '/feed.xml' | absolute_url }}">
44
+ {% endif %}
26
45
 
27
46
  {% include gtag.html %}
28
47
  {% include gtm_head.html %}
29
48
  {% include google_analytics.html %}
49
+ {% include cloudflare_analytics.html %}
30
50
 
31
51
  {% if layout.common-ext-css %}
32
52
  {% for css in layout.common-ext-css %}
@@ -40,25 +60,24 @@
40
60
  {% endfor %}
41
61
  {% endif %}
42
62
 
63
+ {% if site.site-css %}
64
+ {% for css in site.site-css %}
65
+ <link rel="stylesheet" href="{{ css | relative_url }}">
66
+ {% endfor %}
67
+ {% endif %}
68
+
43
69
  {% if page.ext-css %}
44
70
  {% for css in page.ext-css %}
45
71
  {% include ext-css.html css=css %}
46
72
  {% endfor %}
47
73
  {% endif %}
48
-
74
+
49
75
  {% if page.css %}
50
76
  {% for css in page.css %}
51
77
  <link rel="stylesheet" href="{{ css | relative_url }}">
52
78
  {% endfor %}
53
79
  {% endif %}
54
80
 
55
- {% if site.site-css %}
56
- {% for css in site.site-css %}
57
- <link rel="stylesheet" href="{{ css | relative_url }}">
58
- {% endfor %}
59
- {% endif %}
60
-
61
- <!-- Facebook OpenGraph tags -->
62
81
  {% if site.fb_app_id %}
63
82
  <meta property="fb:app_id" content="{{ site.fb_app_id }}">
64
83
  {% endif %}
@@ -67,63 +86,43 @@
67
86
  <meta property="og:site_name" content="{{ site.title }}">
68
87
  {% endif %}
69
88
 
70
- {% if page.meta-title %}
71
- <meta property="og:title" content="{{ page.meta-title }}">
72
- {% elsif page.title %}
73
- <meta property="og:title" content="{{ page.title }}">
74
- {% elsif site.title %}
75
- <meta property="og:title" content="{{ site.title }}">
76
- {% endif %}
89
+ {%- capture img -%}
90
+ {%- if page.share-img -%}
91
+ {{ page.share-img }}
92
+ {%- elsif page.cover-img -%}
93
+ {%- if page.cover-img.first -%}
94
+ {{ page.cover-img[0].first.first }}
95
+ {%- else -%}
96
+ {{ page.cover-img }}
97
+ {%- endif -%}
98
+ {%- elsif page.thumbnail-img -%}
99
+ {{ page.thumbnail-img }}
100
+ {%- elsif site.avatar -%}
101
+ {{ site.avatar }}
102
+ {% endif %}
103
+ {%- endcapture -%}
104
+ {%- assign img=img | strip -%}
77
105
 
78
- {% if page.meta-description %}
79
- <meta property="og:description" content="{{ page.meta-description }}">
80
- {% elsif page.subtitle %}
81
- <meta property="og:description" content="{{ page.subtitle }}">
82
- {% else %}
83
- <meta property="og:description" content="{{ page.content | strip_html | xml_escape | truncatewords: 50 }}">
84
- {% endif %}
106
+ <meta property="og:title" content="{{ title }}">
107
+ <meta property="og:description" content="{{ description }}">
85
108
 
109
+ {% if img != "" %}
110
+ <meta property="og:image" content="{{ img | absolute_url }}">
111
+ {% endif %}
86
112
 
87
113
  {% if page.id %}
88
114
  <meta property="og:type" content="article">
89
115
  <meta property="og:article:author" content="{{ site.author }}">
90
116
  <meta property="og:article:published_time" content="{{ page.date | date_to_xmlschema }}">
91
- {% else %}
92
- <meta property="og:type" content="website">
93
- {% endif %}
94
-
95
- {% if page.id %}
96
117
  <meta property="og:url" content="{{ page.url | absolute_url }}">
97
118
  <link rel="canonical" href="{{ page.url | absolute_url }}">
98
119
  {% else %}
120
+ <meta property="og:type" content="website">
99
121
  <meta property="og:url" content="{{ page.url | absolute_url | strip_index }}">
100
122
  <link rel="canonical" href="{{ page.url | absolute_url | strip_index }}">
101
123
  {% endif %}
102
124
 
103
- {%- capture shareimg -%}
104
- {% if page.share-img %}
105
- {{ page.share-img }}
106
- {% elsif page.cover-img %}
107
- {% if page.cover-img.first %}
108
- {{ page.cover-img[0].first.first }}
109
- {% else %}
110
- {{ page.cover-img }}
111
- {% endif %}
112
- {% elsif page.thumbnail-img %}
113
- {{ page.thumbnail-img }}
114
- {% elsif site.avatar %}
115
- {{ site.avatar }}
116
- {% endif %}
117
- {% endcapture %}
118
- {% assign shareimg=shareimg | strip %}
119
-
120
- {% if shareimg != "" %}
121
- <meta property="og:image" content="{{ shareimg | absolute_url }}">
122
- {% endif %}
123
-
124
-
125
- <!-- Twitter summary cards -->
126
- {% if shareimg != "" and shareimg != site.avatar %}
125
+ {% if img != "" and img != site.avatar %}
127
126
  <meta name="twitter:card" content="summary_large_image">
128
127
  {% else %}
129
128
  <meta name="twitter:card" content="summary">
@@ -131,33 +130,23 @@
131
130
  <meta name="twitter:site" content="@{{ site.social-network-links.twitter }}">
132
131
  <meta name="twitter:creator" content="@{{ site.social-network-links.twitter }}">
133
132
 
134
- {% if page.meta-title %}
135
- <meta name="twitter:title" content="{{ page.meta-title }}">
136
- {% elsif page.title %}
137
- <meta name="twitter:title" content="{{ page.title }}">
138
- {% else %}
139
- <meta name="twitter:title" content="{{ site.title }}">
140
- {% endif %}
133
+ <meta property="twitter:title" content="{{ title }}">
134
+ <meta property="twitter:description" content="{{ description }}">
141
135
 
142
- {% if page.meta-description %}
143
- <meta name="twitter:description" content="{{ page.meta-description }}">
144
- {% elsif page.subtitle %}
145
- <meta name="twitter:description" content="{{ page.subtitle }}">
146
- {% else %}
147
- <meta name="twitter:description" content="{{ page.content | strip_html | xml_escape | truncatewords: 50 }}">
136
+ {% if img != "" %}
137
+ <meta name="twitter:image" content="{{ img | absolute_url }}">
148
138
  {% endif %}
149
139
 
150
- {% if shareimg != "" %}
151
- <meta name="twitter:image" content="{{ shareimg | absolute_url }}">
152
- {% endif %}
153
-
154
- {% if site.matomo %}
155
140
  {% include matomo.html %}
156
- {% endif %}
157
141
 
158
142
  {% if page.comments and site.staticman.repository and site.staticman.branch %}
159
- <!-- Staticman -->
160
143
  <link rel="stylesheet" href="{{ "/assets/css/staticman.css" | relative_url }}">
161
144
  {% endif %}
162
145
 
146
+ {% if page.head-extra %}
147
+ {% for file in page.head-extra %}
148
+ {% include {{ file }} %}
149
+ {% endfor %}
150
+ {% endif %}
151
+
163
152
  </head>
@@ -27,22 +27,28 @@
27
27
  <div class="row">
28
28
  <div class="col-xl-8 offset-xl-2 col-lg-10 offset-lg-1">
29
29
  <div class="{{ include.type }}-heading">
30
- <h1>{% if page.title %}{{ page.title }}{% else %}<br/>{% endif %}</h1>
31
- {% if page.subtitle %}
32
- {% if include.type == "page" %}
33
- <hr class="small">
34
- <span class="{{ include.type }}-subheading">{{ page.subtitle }}</span>
35
- {% else %}
36
- <h2 class="{{ include.type }}-subheading">{{ page.subtitle }}</h2>
37
- {% endif %}
38
- {% endif %}
39
-
40
- {% if include.type == "post" %}
41
- <span class="post-meta">Posted on {{ page.date | date: date_format }}</span>
42
- {% if page.readtime %}
43
- {% include readtime.html %}
30
+ <h1>{% if page.title %}{{ page.title | strip_html }}{% else %}<br/>{% endif %}</h1>
31
+ {% if page.subtitle %}
32
+ {% if include.type == "page" %}
33
+ <hr class="small">
34
+ <span class="{{ include.type }}-subheading">{{ page.subtitle | strip_html }}</span>
35
+ {% else %}
36
+ <h2 class="{{ include.type }}-subheading">{{ page.subtitle | strip_html }}</h2>
37
+ {% endif %}
38
+ {% endif %}
39
+
40
+ {% if include.type == "post" %}
41
+ <span class="post-meta">Posted on {{ page.date | date: date_format }}</span>
42
+ {% if page.last-updated %}
43
+ <span class="post-meta">
44
+ <span class="d-none d-md-inline middot">&middot;</span>
45
+ Last updated {{ page.last-updated | date: date_format }}
46
+ </span>
47
+ {% endif %}
48
+ {% if page.readtime %}
49
+ {% include readtime.html %}
50
+ {% endif %}
44
51
  {% endif %}
45
- {% endif %}
46
52
  </div>
47
53
  </div>
48
54
  </div>
@@ -55,22 +61,28 @@
55
61
  <div class="row">
56
62
  <div class="col-xl-8 offset-xl-2 col-lg-10 offset-lg-1">
57
63
  <div class="{{ include.type }}-heading">
58
- <h1>{% if page.title %}{{ page.title }}{% else %}<br/>{% endif %}</h1>
59
- {% if page.subtitle %}
60
- {% if include.type == "page" %}
61
- <hr class="small">
62
- <span class="{{ include.type }}-subheading">{{ page.subtitle }}</span>
63
- {% else %}
64
- <h2 class="{{ include.type }}-subheading">{{ page.subtitle }}</h2>
65
- {% endif %}
66
- {% endif %}
67
-
68
- {% if include.type == "post" %}
69
- <span class="post-meta">Posted on {{ page.date | date: date_format }}</span>
70
- {% if page.readtime %}
71
- {% include readtime.html %}
64
+ <h1>{% if page.title %}{{ page.title | strip_html }}{% else %}<br/>{% endif %}</h1>
65
+ {% if page.subtitle %}
66
+ {% if include.type == "page" %}
67
+ <hr class="small">
68
+ <span class="{{ include.type }}-subheading">{{ page.subtitle | strip_html }}</span>
69
+ {% else %}
70
+ <h2 class="{{ include.type }}-subheading">{{ page.subtitle | strip_html }}</h2>
71
+ {% endif %}
72
+ {% endif %}
73
+
74
+ {% if include.type == "post" %}
75
+ <span class="post-meta">Posted on {{ page.date | date: date_format }}</span>
76
+ {% if page.last-updated %}
77
+ <span class="post-meta">
78
+ <span class="d-none d-md-inline middot">&middot;</span>
79
+ Last updated {{ page.last-updated | date: date_format }}
80
+ </span>
81
+ {% endif %}
82
+ {% if page.readtime %}
83
+ {% include readtime.html %}
84
+ {% endif %}
72
85
  {% endif %}
73
- {% endif %}
74
86
  </div>
75
87
  </div>
76
88
  </div>
data/_includes/nav.html CHANGED
@@ -1,7 +1,7 @@
1
- <nav class="navbar navbar-expand-md navbar-light fixed-top navbar-custom {% if page.nav-short %}top-nav-short-permanent{% endif %}">
1
+ <nav class="navbar navbar-expand-xl navbar-light fixed-top navbar-custom {% if page.nav-short %}top-nav-short-permanent{% else %}top-nav-regular{% endif %}">
2
2
 
3
3
  {%- if site.title-img -%}
4
- <a class="navbar-brand navbar-brand-logo" href="{{ '' | absolute_url }}"><img alt="{{ site.title }} Logo" src="{{ site.title-img }}"/></a>
4
+ <a class="navbar-brand navbar-brand-logo" href="{{ '' | absolute_url }}"><img alt="{{ site.title }} Logo" src="{{ site.title-img | relative_url}}"/></a>
5
5
  {%- elsif site.title -%}
6
6
  <a class="navbar-brand" href="{{ '' | absolute_url }}">{{ site.title }}</a>
7
7
  {%- endif -%}
@@ -16,7 +16,7 @@
16
16
  {%- if link[1].first %}
17
17
  <li class="nav-item dropdown">
18
18
  <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{ link[0] }}</a>
19
- <div class="dropdown-menu" aria-labelledby="navbarDropdown">
19
+ <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
20
20
  {%- for childlink in link[1] -%}
21
21
  {%- for linkparts in childlink %}
22
22
  <a class="dropdown-item" href="{{ linkparts[1] | relative_url }}">{{ linkparts[0] }}</a>
@@ -30,17 +30,33 @@
30
30
  </li>
31
31
  {%- endif -%}
32
32
  {%- endfor -%}
33
+ {% if site.post_search %}
34
+ <li class="nav-item">
35
+ <a class="nav-link" id="nav-search-link" href="#" title="Search">
36
+ <span id="nav-search-icon" class="fa fa-search"></span>
37
+ <span id="nav-search-text">Search</span>
38
+ </a>
39
+ </li>
40
+ {%- endif -%}
33
41
  </ul>
34
42
  </div>
35
43
 
36
- {% if site.avatar and (layout.show-avatar or page.show-avatar) %}
44
+ {% if site.navbar-extra %}
45
+ {% for file in site.navbar-extra %}
46
+ {% include {{ file }} %}
47
+ {% endfor %}
48
+ {% endif %}
49
+
50
+ {% if site.avatar and page.show-avatar != false %}
37
51
  <div class="avatar-container">
38
52
  <div class="avatar-img-border">
39
53
  <a href="{{ '' | absolute_url }}">
40
- <img alt="Navbar avatar" class="avatar-img" src="{{ site.avatar | relative_url }}" />
54
+ <img alt="Navigation bar avatar" class="avatar-img" src="{{ site.avatar | relative_url }}" />
41
55
  </a>
42
56
  </div>
43
57
  </div>
44
58
  {% endif %}
45
59
 
46
60
  </nav>
61
+
62
+ {% include search.html %}
@@ -6,10 +6,10 @@
6
6
  {% assign number = finalReadTime | round %}
7
7
  {% if number >= 1 %}
8
8
  {% assign yesReadTime = number | append: " minute read" %}
9
- <span class="reader-time post-meta"><span class="d-none d-md-inline middot">&middot;</span> {{ yesReadTime }}</span>
9
+ <span class="post-meta"><span class="d-none d-md-inline middot">&middot;</span> {{ yesReadTime }}</span>
10
10
  {% elsif number < 1 %}
11
11
  {% assign minReadTime = '&lt; 1 minute read' %}
12
- <span class="reader-time post-meta"><span class="d-none d-md-inline middot">&middot;</span> {{ minReadTime }}</span>
12
+ <span class="post-meta"><span class="d-none d-md-inline middot">&middot;</span> {{ minReadTime }}</span>
13
13
  {% else %}
14
14
  {% assign nilReadTime = number | replace:'0',' ' %}
15
15
  {{ nilReadTime }}
@@ -0,0 +1,39 @@
1
+ {% if site.post_search %}
2
+
3
+ <div id="beautifuljekyll-search-overlay">
4
+
5
+ <div id="nav-search-exit" title="Exit search">✕</div>
6
+ <input type="text" id="nav-search-input" placeholder="Search">
7
+ <ul id="search-results-container"></ul>
8
+
9
+ <script src="https://unpkg.com/simple-jekyll-search@latest/dest/simple-jekyll-search.min.js"></script>
10
+ <script>
11
+ var searchjson = '[ \
12
+ {% for post in site.posts %} \
13
+ { \
14
+ "title" : "{% if post.title != "" %}{{ post.title | strip_html | escape }}{% else %}{{ post.excerpt | strip_html | escape | strip }}{%endif%}", \
15
+ "category" : "{{ post.tags | join: \', \' }}", \
16
+ "url" : "{{ site.baseurl }}{{ post.url }}", \
17
+ "date" : "{{ post.date | date: "%B %e, %Y" | default: "January 1, 1970" }}" \
18
+ }, \
19
+ {% endfor %} \
20
+ {% for page in site.html_pages %}{% if page.title != "{title}" and page.title != "404 - Page not found" %} \
21
+ { \
22
+ "title" : "{% if page.title != "" %}{{ page.title | strip_html | escape }}{% else %}{{ page.excerpt | strip_html | escape | strip }}{% endif %}", \
23
+ "category" : "{% if page.tags %}{{ page.tags | join: \', \' }}{% else %}page{% endif %}", \
24
+ "url" : "{{ site.baseurl }}{{ page.url }}", \
25
+ "date" : "{{ page.date | date: '%B %e, %Y' | default: "January 1, 1970" }}" \
26
+ }{% unless forloop.last %},{% endunless %} \
27
+ {% endif %}{% endfor %} \
28
+ ]';
29
+ searchjson = JSON.parse(searchjson);
30
+
31
+ var sjs = SimpleJekyllSearch({
32
+ searchInput: document.getElementById('nav-search-input'),
33
+ resultsContainer: document.getElementById('search-results-container'),
34
+ json: searchjson
35
+ });
36
+ </script>
37
+ </div>
38
+
39
+ {% endif %}
@@ -1,6 +1,6 @@
1
1
  <ul class="list-inline text-center footer-links">
2
2
 
3
- {%- if site.social-network-links.rss -%}
3
+ {%- if site.social-network-links.rss and site.rss-description -%}
4
4
  <li class="list-inline-item">
5
5
  <a href="{{ '/feed.xml' | relative_url }}" title="RSS">
6
6
  <span class="fa-stack fa-lg" aria-hidden="true">
@@ -59,7 +59,7 @@
59
59
  </a>
60
60
  </li>
61
61
  {%- endif -%}
62
-
62
+
63
63
  {%- if site.social-network-links.github -%}
64
64
  <li class="list-inline-item">
65
65
  <a href="https://github.com/{{ site.social-network-links.github }}" title="GitHub">
@@ -230,7 +230,7 @@
230
230
 
231
231
  {%- if site.social-network-links.mastodon -%}
232
232
  <li class="list-inline-item">
233
- <a href="https://{{ site.social-network-links.mastodon }}" title="Mastodon">
233
+ <a rel="me" href="https://{{ site.social-network-links.mastodon }}" title="Mastodon">
234
234
  <span class="fa-stack fa-lg" aria-hidden="true">
235
235
  <i class="fas fa-circle fa-stack-2x"></i>
236
236
  <i class="fab fa-mastodon fa-stack-1x fa-inverse"></i>
@@ -248,7 +248,7 @@
248
248
  <i class="fab fa-orcid fa-stack-1x fa-inverse"></i>
249
249
  </span>
250
250
  <span class="sr-only">ORCID</span>
251
- </a>
251
+ </a>
252
252
  </li>
253
253
  {%- endif -%}
254
254
 
@@ -260,8 +260,84 @@
260
260
  <i class="fa fa-graduation-cap fa-stack-1x fa-inverse"></i>
261
261
  </span>
262
262
  <span class="sr-only">Google Scholar</span>
263
+ </a>
264
+ </li>
265
+ {%- endif -%}
266
+
267
+ {%- if site.social-network-links.patreon -%}
268
+ <li class="list-inline-item">
269
+ <a href="https://patreon.com/{{ site.social-network-links.patreon }}" title="Patreon">
270
+ <span class="fa-stack fa-lg" aria-hidden="true">
271
+ <i class="fas fa-circle fa-stack-2x"></i>
272
+ <i class="fab fa-patreon fa-stack-1x fa-inverse"></i>
273
+ </span>
274
+ <span class="sr-only">Patreon</span>
275
+ </a>
276
+ </li>
277
+ {%- endif -%}
278
+
279
+ {%- if site.social-network-links.medium -%}
280
+ <li class="list-inline-item">
281
+ <a href="https://medium.com/@{{ site.social-network-links.medium }}" title="Medium">
282
+ <span class="fa-stack fa-lg" aria-hidden="true">
283
+ <i class="fas fa-circle fa-stack-2x"></i>
284
+ <i class="fab fa-medium fa-stack-1x fa-inverse"></i>
285
+ </span>
286
+ <span class="sr-only">Medium</span>
287
+ </a>
288
+ </li>
289
+ {%- endif -%}
290
+
291
+ {%- if site.social-network-links.itchio -%}
292
+ <li class="list-inline-item">
293
+ <a href="https://{{ site.social-network-links.itchio }}.itch.io/" title="Itchio">
294
+ <span class="fa-stack fa-lg" aria-hidden="true">
295
+ <i class="fas fa-circle fa-stack-2x"></i>
296
+ <i class="fab fa-itch-io fa-stack-1x fa-inverse"></i>
297
+ </span>
298
+ <span class="sr-only">Itchio</span>
299
+ </a>
300
+ </li>
301
+ {%- endif -%}
302
+
303
+ {%- if site.social-network-links.discord -%}
304
+ {% assign discord_start = site.social-network-links.discord | split: "/" | first -%}
305
+ {% unless discord_start == 'users' or discord_start == 'invite' -%}
306
+ {% assign discord_url_prefix = 'invite/' -%}
307
+ {% endunless -%}
308
+ <li class="list-inline-item">
309
+ <a href="https://discord.com/{{discord_url_prefix}}{{site.social-network-links.discord}}" title="Discord">
310
+ <span class="fa-stack fa-lg" aria-hidden="true">
311
+ <i class="fas fa-circle fa-stack-2x"></i>
312
+ <i class="fab fa-discord fa-stack-1x fa-inverse"></i>
313
+ </span>
314
+ <span class="sr-only">Discord</span>
315
+ </a>
316
+ </li>
317
+ {%- endif -%}
318
+
319
+ {%- if site.social-network-links.kaggle -%}
320
+ <li class="list-inline-item">
321
+ <a href="https://www.kaggle.com/{{ site.social-network-links.kaggle }}" title="Kaggle">
322
+ <span class="fa-stack fa-lg" aria-hidden="true">
323
+ <i class="fas fa-circle fa-stack-2x"></i>
324
+ <i class="fab fa-kaggle fa-stack-1x fa-inverse"></i>
325
+ </span>
326
+ <span class="sr-only">Kaggle</span>
263
327
  </a>
264
328
  </li>
265
- {%- endif -%}
329
+ {%- endif -%}
330
+
331
+ {%- if site.social-network-links.hackerrank -%}
332
+ <li class="list-inline-item">
333
+ <a href="https://www.hackerrank.com/{{ site.social-network-links.hackerrank }}" title="Hackerrank">
334
+ <span class="fa-stack fa-lg" aria-hidden="true">
335
+ <i class="fas fa-circle fa-stack-2x"></i>
336
+ <i class="fab fa-hackerrank fa-stack-1x fa-inverse"></i>
337
+ </span>
338
+ <span class="sr-only">Hackerrank</span>
339
+ </a>
340
+ </li>
341
+ {%- endif -%}
266
342
 
267
343
  </ul>
@@ -11,7 +11,7 @@
11
11
  <span class="sr-only">Share: </span>
12
12
 
13
13
  {% if site.share-links-active.twitter %}
14
- <a href="https://twitter.com/intent/tweet?text={{ page.title | url_encode }}&url={{ page.url | absolute_url | url_encode }}"
14
+ <a href="https://twitter.com/intent/tweet?text={{ page.title | strip_html | url_encode }}&url={{ page.url | absolute_url | url_encode }}"
15
15
  class="btn btn-social-icon btn-twitter" title="Share on Twitter">
16
16
  <span class="fab fa-fw fa-twitter" aria-hidden="true"></span>
17
17
  <span class="sr-only">Twitter</span>
@@ -42,6 +42,14 @@
42
42
  </a>
43
43
  {% endif %}
44
44
 
45
+ {% if site.share-links-active.reddit %}
46
+ <a href="https://www.reddit.com/submit?url={{ page.url | absolute_url | url_encode }}"
47
+ class="btn btn-social-icon btn-reddit" title="Share on Reddit">
48
+ <span class="fab fa-fw fa-reddit" aria-hidden="true"></span>
49
+ <span class="sr-only">Reddit</span>
50
+ </a>
51
+ {% endif %}
52
+
45
53
  </section>
46
54
 
47
55
  {% endif %}
@@ -75,7 +75,7 @@
75
75
  <!-- doing something a bit funky here because I want to be careful not to include JQuery twice! -->
76
76
  <script>
77
77
  if (typeof jQuery == 'undefined') {
78
- document.write('<script src="{{ "/assets/js/jquery-3.4.1.min.js" | relative_url }}"></scr' + 'ipt>');
78
+ document.write('<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></scr' + 'ipt>');
79
79
  }
80
80
  </script>
81
81
  <script src="{{ "/assets/js/staticman.js" | relative_url }}"></script>
@@ -4,7 +4,7 @@
4
4
  repo="{{ site.utterances.repository }}"
5
5
  issue-term="{{ site.utterances.issue-term }}"
6
6
  theme="{{ site.utterances.theme}}"
7
- label="{{ site.utterances.label}}"
7
+ label="{{ site.utterances.label}}"
8
8
  crossorigin="anonymous"
9
9
  async>
10
10
  </script>
data/_layouts/base.html CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  common-css:
3
3
  - "/assets/css/bootstrap-social.css"
4
- - "/assets/css/main.css"
4
+ - "/assets/css/beautifuljekyll.css"
5
5
  common-ext-css:
6
6
  - href: "https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
7
7
  sri: "sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
@@ -9,32 +9,32 @@ common-ext-css:
9
9
  - "https://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic"
10
10
  - "https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800"
11
11
  common-ext-js:
12
- - href: "https://code.jquery.com/jquery-3.4.1.min.js"
13
- sri: "sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
12
+ - href: "https://code.jquery.com/jquery-3.5.1.slim.min.js"
13
+ sri: "sha256-4+XzXVhsDmqanXGHaHvgh1gMQKX40OUvDEBTu8JcmNs="
14
14
  - href: "https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
15
15
  sri: "sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
16
16
  - href: "https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"
17
17
  sri: "sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6"
18
18
  common-js:
19
- - "/assets/js/main.js"
19
+ - "/assets/js/beautifuljekyll.js"
20
20
  ---
21
21
 
22
22
  <!DOCTYPE html>
23
23
  <html lang="{{ page.language | default: site.language | default: 'en' }}">
24
- <!-- Beautiful Jekyll | MIT license | Copyright Dean Attali 2020 -->
25
- {% include head.html %}
24
+ <!-- Beautiful Jekyll 6.0.1 | Copyright Dean Attali 2023 -->
25
+ {% include head.html %}
26
26
 
27
- <body>
27
+ <body>
28
28
 
29
- {% include gtm_body.html %}
30
-
31
- {% include nav.html %}
29
+ {% include gtm_body.html %}
32
30
 
33
- {{ content }}
31
+ {% include nav.html %}
34
32
 
35
- {% include footer.html %}
36
-
37
- {% include footer-scripts.html %}
38
-
39
- </body>
33
+ {{ content }}
34
+
35
+ {% include footer.html %}
36
+
37
+ {% include footer-scripts.html %}
38
+
39
+ </body>
40
40
  </html>
@@ -4,6 +4,22 @@ layout: base
4
4
 
5
5
  <div class="intro-header"></div>
6
6
 
7
- <div role="main" class="container-md">
7
+ <div role="main" class="{% if page.full-width %} container-fluid {% else %} container-md {% endif %}">
8
+ {% if page.before-content %}
9
+ <div class="before-content">
10
+ {% for file in page.before-content %}
11
+ {% include {{ file }} %}
12
+ {% endfor %}
13
+ </div>
14
+ {% endif %}
15
+
8
16
  {{ content }}
17
+
18
+ {% if page.after-content %}
19
+ <div class="after-content">
20
+ {% for file in page.after-content %}
21
+ {% include {{ file }} %}
22
+ {% endfor %}
23
+ </div>
24
+ {% endif %}
9
25
  </div>