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.
- checksums.yaml +4 -4
- data/404.html +1 -1
- data/LICENSE +1 -1
- data/README.md +96 -132
- data/_data/ui-text.yml +1 -1
- data/_includes/cloudflare_analytics.html +8 -0
- data/_includes/commentbox.html +7 -0
- data/_includes/comments.html +4 -2
- data/_includes/footer-scripts.html +6 -0
- data/_includes/footer.html +16 -7
- data/_includes/giscus-comment.html +16 -0
- data/_includes/google_analytics.html +12 -0
- data/_includes/head.html +67 -78
- data/_includes/header.html +42 -30
- data/_includes/nav.html +21 -5
- data/_includes/readtime.html +2 -2
- data/_includes/search.html +39 -0
- data/_includes/social-networks-links.html +81 -5
- data/_includes/social-share.html +9 -1
- data/_includes/staticman-comments.html +1 -1
- data/_includes/utterances-comment.html +1 -1
- data/_layouts/base.html +16 -16
- data/_layouts/default.html +17 -1
- data/_layouts/home.html +60 -35
- data/_layouts/minimal.html +20 -4
- data/_layouts/page.html +19 -2
- data/_layouts/post.html +21 -9
- data/assets/css/{main-minimal.css → beautifuljekyll-minimal.css} +1 -1
- data/assets/css/{main.css → beautifuljekyll.css} +334 -142
- data/assets/img/install-steps.gif +0 -0
- data/assets/js/{main.js → beautifuljekyll.js} +57 -14
- data/assets/js/staticman.js +39 -28
- data/feed.xml +6 -5
- data/staticman.yml +1 -1
- data/tags.html +1 -1
- metadata +43 -12
- data/assets/js/jquery-3.4.1.min.js +0 -2
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
|
-
|
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
|
-
{
|
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
|
-
|
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
|
-
{
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
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
|
-
{
|
79
|
-
<meta property="og:description" content="{{
|
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
|
-
{
|
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
|
-
{
|
135
|
-
<meta
|
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
|
143
|
-
<meta name="twitter:
|
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>
|
data/_includes/header.html
CHANGED
@@ -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
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
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">·</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
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
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">·</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-
|
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.
|
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="
|
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 %}
|
data/_includes/readtime.html
CHANGED
@@ -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="
|
9
|
+
<span class="post-meta"><span class="d-none d-md-inline middot">·</span> {{ yesReadTime }}</span>
|
10
10
|
{% elsif number < 1 %}
|
11
11
|
{% assign minReadTime = '< 1 minute read' %}
|
12
|
-
<span class="
|
12
|
+
<span class="post-meta"><span class="d-none d-md-inline 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
|
-
|
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
|
-
|
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>
|
data/_includes/social-share.html
CHANGED
@@ -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="
|
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>
|
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/
|
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.
|
13
|
-
sri: "sha256-
|
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/
|
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
|
-
|
25
|
-
|
24
|
+
<!-- Beautiful Jekyll 6.0.1 | Copyright Dean Attali 2023 -->
|
25
|
+
{% include head.html %}
|
26
26
|
|
27
|
-
|
27
|
+
<body>
|
28
28
|
|
29
|
-
|
30
|
-
|
31
|
-
{% include nav.html %}
|
29
|
+
{% include gtm_body.html %}
|
32
30
|
|
33
|
-
|
31
|
+
{% include nav.html %}
|
34
32
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
33
|
+
{{ content }}
|
34
|
+
|
35
|
+
{% include footer.html %}
|
36
|
+
|
37
|
+
{% include footer-scripts.html %}
|
38
|
+
|
39
|
+
</body>
|
40
40
|
</html>
|
data/_layouts/default.html
CHANGED
@@ -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>
|