beautiful-jekyll-theme 4.1.0 → 6.0.1

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.
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>