linaro-jekyll-theme 4.0.2 → 4.1.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/_config.yml +1 -1
- data/_includes/blog/display_latest_posts.html +19 -7
- data/_includes/blog/read_time.html +1 -1
- data/_includes/blog/tags.html +67 -0
- data/_includes/components/head.html +3 -2
- data/_layouts/post.html +45 -26
- data/_sass/core/blog.scss +12 -1
- data/assets/js/app/main.js +24 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd592e9e9ff522dd92a76d5c0e1a64ef11b009013aa73a609aacc56e86d66fb9
|
4
|
+
data.tar.gz: d2ea51fe5a317c15c5eae4fcb06b73ad3ca6cc5a79ce9b8896b5f8f3c9351645
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 39357ba76b554388a4b92def2623066dd8da55bf88be926a44f568cd3805039d0e595a3fde465b095ccba4bb17bd03d2c5dbc0ea3ade20cd1f04dfc911829ac4
|
7
|
+
data.tar.gz: 9c639501e9654f80aa79d1edfe26bd9c6c152991367f1747e62370a1cf904eb87c352f6eb0a10728ae395742310e086c8ae95e0e3d28f20eb8e7778e722863a2
|
data/_config.yml
CHANGED
@@ -4,7 +4,7 @@ baseurl: ""
|
|
4
4
|
description: |-
|
5
5
|
The linaro-jekyll-theme is an advanced enterprise ready Jekyll theme used across the Linaro static websites.
|
6
6
|
destination: _site
|
7
|
-
permalink:
|
7
|
+
permalink: /:categories/:title/
|
8
8
|
theme: linaro-jekyll-theme
|
9
9
|
highlighter: rouge
|
10
10
|
markdown: kramdown
|
@@ -53,6 +53,12 @@
|
|
53
53
|
</div>
|
54
54
|
<h5 class="card-title">{{post.title}}</h5>
|
55
55
|
<h6 class="card-subtitle mb-2 text-muted">{{ post.date | date: "%A, %B %-d, %Y"}}</h6>
|
56
|
+
{% assign post_tags = post.tags | split: " " %}
|
57
|
+
{% for tag in post.tags %}
|
58
|
+
<a class="btn bg-light text-dark btn-sm my-1" href="/{{post.category}}/tags/?tag={{tag}}">
|
59
|
+
{{tag}}
|
60
|
+
</a>
|
61
|
+
{% endfor %}
|
56
62
|
<p class="card-text">
|
57
63
|
{% if post.description %}
|
58
64
|
{{post.description | truncate: 184 }}
|
@@ -70,9 +76,9 @@
|
|
70
76
|
</div>
|
71
77
|
{% else %}
|
72
78
|
|
73
|
-
|
74
|
-
|
75
|
-
<
|
79
|
+
<div class="col col-12 col-sm-6 col-lg-4 blog-post-item-col p-3">
|
80
|
+
<div class="card h-100 ">
|
81
|
+
<a class="wrapper_link" href="{{post.url}}"></a>
|
76
82
|
<div class="blog_image_header">
|
77
83
|
{% if post.image %}
|
78
84
|
{% assign block_image = post.image %}
|
@@ -83,8 +89,7 @@
|
|
83
89
|
{% endif %}
|
84
90
|
{% picture featured_blog_image {{block_image}} --alt {{block_image_alt}} %}
|
85
91
|
</div>
|
86
|
-
<div class="card-body">
|
87
|
-
|
92
|
+
<div class="card-body d-flex flex-column">
|
88
93
|
{% assign author = site.authors | where: "username", post.author | first %}
|
89
94
|
{% assign author-url = author.url %}
|
90
95
|
{% if author.image %}
|
@@ -109,10 +114,17 @@
|
|
109
114
|
{{ post.content | strip_html | truncatewords:30 }}
|
110
115
|
{% endif %}
|
111
116
|
</p>
|
117
|
+
{% assign post_tags = post.tags | split: " " %}
|
118
|
+
<div class="d-block mt-auto">
|
119
|
+
{% for tag in post.tags %}
|
120
|
+
<a class="btn bg-light text-dark btn-sm my-1" href="/{{post.category}}/tags/?tag={{tag}}">
|
121
|
+
{{tag}}
|
122
|
+
</a>
|
123
|
+
{% endfor %}
|
124
|
+
</div>
|
112
125
|
</div>
|
113
126
|
</div>
|
114
|
-
|
115
|
-
|
127
|
+
|
116
128
|
</div>
|
117
129
|
{% endif %}
|
118
130
|
{% endfor %}
|
@@ -4,4 +4,4 @@
|
|
4
4
|
{% else %}
|
5
5
|
{% assign words = content | number_of_words %}
|
6
6
|
{% endif %}
|
7
|
-
<span class="reading-time
|
7
|
+
<span class="align-self-start my-1 reading-time bg-light text-dark badge" title="Estimated read time">{% if words < 360 %}1 min read{% else %}{{ words | divided_by:180 }} mins read{% endif %} <i class="fa fa-clock-o" aria-hidden="true"></i></span>
|
@@ -0,0 +1,67 @@
|
|
1
|
+
<div class="col col-12 tags">
|
2
|
+
{% for tag in site.tags %}
|
3
|
+
{% for post in tag[1] %}
|
4
|
+
{% if include.object.category %}
|
5
|
+
{% if post.category == include.object.category %}
|
6
|
+
<a class="btn btn-secondary" href="?tag={{tag[0]}}">
|
7
|
+
{{tag[0]}}
|
8
|
+
</a>
|
9
|
+
{% break %}
|
10
|
+
{% endif %}
|
11
|
+
{% else %}
|
12
|
+
<a class="btn btn-secondary" href="?tag={{tag[0]}}">
|
13
|
+
{{tag[0]}}
|
14
|
+
</a>
|
15
|
+
{% break %}
|
16
|
+
{% endif %}
|
17
|
+
{% endfor %}
|
18
|
+
{% endfor %}
|
19
|
+
</div>
|
20
|
+
<div class="col col-12 tagged_posts" id="tagged_posts">
|
21
|
+
{% for tag in site.tags %}
|
22
|
+
<div class="tag_list {{tag[0]}} d-none">
|
23
|
+
<h3>{{ tag[0] }}</h3>
|
24
|
+
<ul class="list-unstyled">
|
25
|
+
{% for post in tag[1] %}
|
26
|
+
{% if include.object.category %}
|
27
|
+
{% if post.category == include.object.category %}
|
28
|
+
<li class="media" itemprop="author" itemscope="" itemtype="http://schema.org/Person">
|
29
|
+
{% assign author = site.authors | where: "username", post.author | first %}
|
30
|
+
{% assign author-url = author.url %}
|
31
|
+
{% assign author_name = author.name %}
|
32
|
+
{% capture author_image_alt %}{{author_name}} image{% endcapture %}
|
33
|
+
{% if author.image %}
|
34
|
+
{% assign author_image = author.image %}
|
35
|
+
{% else %}
|
36
|
+
{% assign author_image = site.avatar_placeholder %}
|
37
|
+
{% endif %}
|
38
|
+
<div class="d-block d-md-inline-block mx-auto my-2 m-md-2 text-md-left text-center">
|
39
|
+
<a href="{{author-url}}" itemprop="url" rel="author">
|
40
|
+
{% picture author_thumbnail {{author_image}} --alt {{author_image_alt}} %}
|
41
|
+
</a>
|
42
|
+
</div>
|
43
|
+
|
44
|
+
<div class="media-body">
|
45
|
+
<a href="{{ post.url }}">
|
46
|
+
<h5 class="mt-0 mb-1">{{post.title}}</h5>
|
47
|
+
<div class="post_meta" >
|
48
|
+
Posted by <strong itemprop="name" rel="author">{{author_name}}</strong> on
|
49
|
+
<time datetime="{{post.date}}" >{{post.date | date: "%A, %B %-d, %Y"}}</time>
|
50
|
+
</div>
|
51
|
+
{% if post.description %}
|
52
|
+
{{post.description | truncate: 50 }}
|
53
|
+
{% else %}
|
54
|
+
{{ post.content | strip_html | truncate: 50 }}
|
55
|
+
{% endif %}
|
56
|
+
</a>
|
57
|
+
</div>
|
58
|
+
</li>
|
59
|
+
{% endif %}
|
60
|
+
{% else %}
|
61
|
+
<li><a href="{{ post.url }}">{{ post.title }}</a></li>
|
62
|
+
{% endif %}
|
63
|
+
{% endfor %}
|
64
|
+
</ul>
|
65
|
+
</div>
|
66
|
+
{% endfor %}
|
67
|
+
</div>
|
@@ -16,7 +16,6 @@
|
|
16
16
|
{% assign description = site.description %}
|
17
17
|
{% endif %}
|
18
18
|
|
19
|
-
|
20
19
|
{% if page.title %}
|
21
20
|
{% assign title = page.title %}
|
22
21
|
{% else %}
|
@@ -52,7 +51,9 @@
|
|
52
51
|
{% if site.google_analytics.enabled %}
|
53
52
|
<meta name="analytics_code" content="{{site.google_analytics.code}}">
|
54
53
|
{% endif %}
|
55
|
-
{% if page.
|
54
|
+
{% if page.tags %}
|
55
|
+
<meta name="keywords" content="{{page.tags | join: ", "}}">
|
56
|
+
{% elsif page.keywords %}
|
56
57
|
<meta name="keywords" content="{{page.keywords}}">
|
57
58
|
{% endif %}
|
58
59
|
{% include_cached components/schema.html %}
|
data/_layouts/post.html
CHANGED
@@ -18,33 +18,52 @@ css_package: blog
|
|
18
18
|
</div>
|
19
19
|
<div class="row bg-light">
|
20
20
|
<div class="container">
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
</div>
|
38
|
-
<span class="divider d-none d-md-inline-block">|</span>
|
39
|
-
<div class="post_info text-center text-md-left d-block d-md-inline-block">
|
40
|
-
<div class="author_name d-inline-block mx-2">
|
41
|
-
<time datetime="{{page.date}}" itemprop="datePublished">{{page.date | date: "%A, %B %-d, %Y"}}</time>
|
21
|
+
<div class="row" itemprop="author" itemscope="" itemtype="http://schema.org/Person">
|
22
|
+
<div class="col col-12 col-sm-2">
|
23
|
+
{% assign author = site.authors | where: "username", page.author | first %}
|
24
|
+
{% assign author-url = author.url %}
|
25
|
+
{% assign author_name = author.name %}
|
26
|
+
{% capture author_image_alt %}{{author_name}} image{% endcapture %}
|
27
|
+
{% if author.image %}
|
28
|
+
{% assign author_image = author.image %}
|
29
|
+
{% else %}
|
30
|
+
{% assign author_image = site.avatar_placeholder %}
|
31
|
+
{% endif %}
|
32
|
+
<div class="d-block d-md-inline-block mx-auto my-2 m-md-2 text-md-left text-center">
|
33
|
+
<a href="{{author-url}}" itemprop="url" rel="author">
|
34
|
+
{% picture author_thumbnail {{author_image}} --alt {{author_image_alt}} %}
|
35
|
+
</a>
|
36
|
+
</div>
|
42
37
|
</div>
|
43
|
-
<
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
38
|
+
<div class="col col-12 col-sm-10 d-flex align-items-center">
|
39
|
+
<div class="row">
|
40
|
+
<div class="col col-12">
|
41
|
+
<div class="blockquote d-block d-md-inline-block mx-2 text-md-left text-center">
|
42
|
+
<strong itemprop="name" rel="author">{{author_name}}</strong>
|
43
|
+
</div>
|
44
|
+
<span class="divider d-none d-md-inline-block">|</span>
|
45
|
+
<div class="post_info text-center text-md-left d-block d-md-inline-block">
|
46
|
+
<div class="author_name d-inline-block mx-2">
|
47
|
+
<time datetime="{{page.date}}" itemprop="datePublished">{{page.date | date: "%A, %B %-d, %Y"}}</time>
|
48
|
+
</div>
|
49
|
+
<span class="divider">|</span>
|
50
|
+
<div class="read_time d-inline-block mx-2">
|
51
|
+
{% include blog/read_time.html %}
|
52
|
+
</div>
|
53
|
+
</div>
|
54
|
+
</div>
|
55
|
+
<div class="col col-12">
|
56
|
+
<div class="post_tags text-center text-md-left my-2 my-sm-1">
|
57
|
+
{% assign post_tags = page.tags | split: " " %}
|
58
|
+
{% for tag in page.tags %}
|
59
|
+
<a class="btn bg-light text-dark btn-sm my-1" href="/{{page.category}}/tags/?tag={{tag}}" data-toggle="tooltip" data-placement="top" title="View {{page.category}} post tagged {{tag}}">
|
60
|
+
{{tag}}
|
61
|
+
</a>
|
62
|
+
{% endfor %}
|
63
|
+
</div>
|
64
|
+
</div>
|
65
|
+
</div>
|
66
|
+
</div>
|
48
67
|
</div>
|
49
68
|
</div>
|
50
69
|
</div>
|
data/_sass/core/blog.scss
CHANGED
@@ -13,6 +13,7 @@
|
|
13
13
|
}
|
14
14
|
}
|
15
15
|
}
|
16
|
+
|
16
17
|
#image_header {
|
17
18
|
height: 200px;
|
18
19
|
overflow: hidden;
|
@@ -208,7 +209,7 @@
|
|
208
209
|
width: 100%;
|
209
210
|
color: white;
|
210
211
|
position: absolute;
|
211
|
-
z-index:
|
212
|
+
z-index: 0;
|
212
213
|
text-align: center;
|
213
214
|
top: 50%;
|
214
215
|
transform: translateY(-50%);
|
@@ -230,12 +231,22 @@
|
|
230
231
|
-moz-box-shadow: none;
|
231
232
|
}
|
232
233
|
.card {
|
234
|
+
a.wrapper_link {
|
235
|
+
position: absolute;
|
236
|
+
width: 100%;
|
237
|
+
height: 100%;
|
238
|
+
z-index: 1;
|
239
|
+
}
|
233
240
|
border-radius: 20px;
|
234
241
|
overflow: hidden;
|
235
242
|
-webkit-box-shadow: 0px 0px 20px 5px #f0f0f0;
|
236
243
|
-moz-box-shadow: 0px 0px 20px 5px #e5e5e5;
|
237
244
|
box-shadow: 0px 0px 20px 5px #ebebeb;
|
238
245
|
transition: all 200ms ease;
|
246
|
+
a {
|
247
|
+
position: relative;
|
248
|
+
z-index: 2;
|
249
|
+
}
|
239
250
|
&:hover {
|
240
251
|
transform: translateY(-5px);
|
241
252
|
-webkit-box-shadow: 0px 0px 20px 5px #b3b3b3;
|
data/assets/js/app/main.js
CHANGED
@@ -26,6 +26,30 @@ $(document).ready(function () {
|
|
26
26
|
});
|
27
27
|
});
|
28
28
|
}
|
29
|
+
// Tagged Posts
|
30
|
+
if($("#tagged_posts").length > 0){
|
31
|
+
var getUrlParameter = (sParam) => {
|
32
|
+
var sPageURL = window.location.search.substring(1),
|
33
|
+
sURLVariables = sPageURL.split('&'),
|
34
|
+
sParameterName,
|
35
|
+
i;
|
36
|
+
|
37
|
+
for (i = 0; i < sURLVariables.length; i++) {
|
38
|
+
sParameterName = sURLVariables[i].split('=');
|
39
|
+
|
40
|
+
if (sParameterName[0] === sParam) {
|
41
|
+
return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);
|
42
|
+
}
|
43
|
+
}
|
44
|
+
};
|
45
|
+
var tag = getUrlParameter('tag');
|
46
|
+
if(tag !== undefined){
|
47
|
+
console.log(tag);
|
48
|
+
$(".tag_list").addClass("d-none");
|
49
|
+
$(`.tag_list.${tag}`).addClass("d-block");
|
50
|
+
$(this).html(tag)
|
51
|
+
}
|
52
|
+
}
|
29
53
|
if ($("#jumbotron-slider").length > 0) {
|
30
54
|
$("#jumbotron-slider").owlCarousel({
|
31
55
|
navigation: true,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: linaro-jekyll-theme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0
|
4
|
+
version: 4.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kyle Kirkby
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-10-
|
11
|
+
date: 2020-10-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -180,6 +180,7 @@ files:
|
|
180
180
|
- _includes/blog/post_series.html
|
181
181
|
- _includes/blog/post_sidebar.html
|
182
182
|
- _includes/blog/read_time.html
|
183
|
+
- _includes/blog/tags.html
|
183
184
|
- _includes/components/breadcrumb.html
|
184
185
|
- _includes/components/carousel_header.html
|
185
186
|
- _includes/components/cookie_manager.html
|