linaro-jekyll-theme 4.0.2 → 4.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 13b59232fc52a8783593df9d10fe6d0444ab089882c40d2f8f41e8c5ad4fbb55
4
- data.tar.gz: 4014faf024f65408f0473166a996b6a98ccec4d63d65f249728dd1663b80ac3e
3
+ metadata.gz: c5c0b61cac53432b49557c91d8291f20feb3f3e0c2f2a8d891aeb2c649964510
4
+ data.tar.gz: 24487ccca1a2ebb1f268c45754b05197021866c45236ee00d86b09f27105a45d
5
5
  SHA512:
6
- metadata.gz: 83c7b716109199d617fdc69d96e045f29a1cca3204920543b5fbffaf1dc8cdcb89a6a5abbaea96ba33d571cc3ec73804a43e96ee532a09b884bd6666296882e9
7
- data.tar.gz: 7990edf3ed1b6cdc5c48fe4db789f870eb444aee622134dd650fed214b0c0dc177af565f6d08c740e6114df861228c6177fabd1167638283276dac7b0dab790e
6
+ metadata.gz: f2d98bb9a3abc4860978a3e296c23061bc9bfb278f56911c87aca459c8fd178185ab439d7e7e8da65b54810cbf32581eb347c211df4d0c1567a4bd7a1634f47c
7
+ data.tar.gz: 8f680f7a05066c4fa107f54885adf94f34f37e6716e9f373cbbdf74186dd461b845b2a4f99015013b83649476fe9c47048c18afea091157559826e0b8b0caca6
@@ -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: /blog/:title/
7
+ permalink: /:categories/:title/
8
8
  theme: linaro-jekyll-theme
9
9
  highlighter: rouge
10
10
  markdown: kramdown
@@ -51,6 +51,7 @@ defaults:
51
51
  layout: post
52
52
  is_post: true
53
53
  comments: true
54
+ tags_enabled: true
54
55
  strap_image: /assets/images/breadcrumb-image.jpg
55
56
  - scope:
56
57
  path: ""
@@ -61,6 +62,8 @@ include: ["_pages"]
61
62
  # ----------- THEME / WEBSITE CONFIG ---------------------
62
63
  # Blog images/thumbs dir
63
64
  blog_images_dir: assets/images/content/
65
+ # Blog Tag limit
66
+ tag_limit: 10
64
67
  # The default number of posts to display on a given post index page
65
68
  # used in the _includes/blog/display_latest_posts.html include
66
69
  post_limit: 10
@@ -133,29 +136,24 @@ disqus:
133
136
  # Edit on GitHub Settings
134
137
  edit-on-github:
135
138
  enabled: true
136
- repo: https://www.github.com/linaro-marketing/jumbo-jekyll-theme
139
+ repo: https://www.github.com/linaro-marketing/linaro-jekyll-theme
137
140
  # docs: https://www.github.com/Linaro/website
138
141
  # Page breadcrumb schema - https://schema.org/BreadcrumbList
139
142
  breadcrumb_schema: true
140
143
  # Shema.org settings used in the schema.html include.
141
144
  schema:
142
- "@type": "Corporation"
145
+ "@context": "https://schema.org"
146
+ "@type": "Organization"
143
147
  "name": "Linaro"
144
148
  "url": "https://www.linaro.org"
149
+ "email": "contact@linaro.org"
145
150
  "logo": "https://www.linaro.org/assets/images/content/linaro-logo.png"
146
151
  "contactPoint":
147
152
  "@type": "ContactPoint"
148
153
  "telephone": "01223 400060"
149
154
  "contactType": "customer service"
150
155
  "availableLanguage": "en"
151
- "sameAs":
152
- - "https://facebook.com/LinaroOrg"
153
- - "https://twitter.com/LinaroOrg"
154
- - "https://instagram.com/LinaroOrg"
155
- - "https://www.linkedin.com/company/1026961/"
156
- - "https://youtube.com/LinaroOrg"
157
- - "https://github.com/linaro"
158
- - "https://www.linaro.org"
156
+ "sameAs": "https://www.linaro.org"
159
157
  # FESS search label
160
158
  search_label: Linaro
161
159
  # ----------- JEKYLL PLUGINS ---------------------
@@ -2,30 +2,12 @@
2
2
  copyright_text: Linaro Limited
3
3
  # Set this to false if you do not want the Linaro logo in the footer.
4
4
  footer_brand:
5
- logo: /assets/images/Linaro-logo-white.png
6
- # Social Media Icons Row
7
- social_media_icons: true
8
- # Contact Info
9
- display_contact_details: true
5
+ url: https://www.linaro.org
6
+ alt: Linaro Logo
7
+ path: /assets/images/Linaro-logo-white.png
10
8
  # These links are displayed at the very bottom of the footer.
11
9
  company_links:
12
- - name: Legal
13
- url: /legal/
14
- - name: Contact
15
- url: /contact/
16
- middle_column:
17
- title: Latest News & Blogs
18
- latest_posts: true
19
- third_column:
20
- title: Other Projects
21
- items:
22
- - name: 96Boards
23
- url: https://www.96boards.org
24
- - name: Linaro Connect
25
- url: https://connect.linaro.org
26
- - name: DeviceTree
27
- url: https://www.devicetree.org
28
- - name: OP-TEE
29
- url: https://www.op-tee.org
30
- - name: Linaro Developer Cloud
31
- url: https://www.linaro.cloud
10
+ - name: Legal
11
+ url: /legal/
12
+ - name: Contact
13
+ url: /contact/
@@ -73,6 +73,12 @@ markup_presets:
73
73
  img: 'class="lazyload img-fluid blog_content_image "'
74
74
  formats: [webp, original]
75
75
  widths: [400, 800, 1200]
76
+ members_image:
77
+ markup: data_picture
78
+ attributes:
79
+ img: 'class="lazyload img-fluid members_image "'
80
+ formats: [webp, original]
81
+ widths: [100, 200, 300, 400]
76
82
  header_image:
77
83
  markup: data_auto
78
84
  attributes:
@@ -53,6 +53,14 @@
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
+ {% if page.tags_enabled %}
57
+ {% assign post_tags = post.tags | sort %}
58
+ {% for tag in post_tags limit: site.tag_limit %}
59
+ <a class="btn bg-light text-dark btn-sm my-1" href="/{{post.category | downcase}}/tags/?tag={{tag}}">
60
+ {{tag}}
61
+ </a>
62
+ {% endfor %}
63
+ {% endif %}
56
64
  <p class="card-text">
57
65
  {% if post.description %}
58
66
  {{post.description | truncate: 184 }}
@@ -70,9 +78,9 @@
70
78
  </div>
71
79
  {% else %}
72
80
 
73
- <div class="col col-12 col-sm-6 col-lg-4 blog-post-item-col p-3">
74
- <a href="{{post.url}}">
75
- <div class="card h-100 ">
81
+ <div class="col col-12 col-sm-6 col-lg-4 blog-post-item-col p-3">
82
+ <div class="card h-100 ">
83
+ <a class="wrapper_link" href="{{post.url}}"></a>
76
84
  <div class="blog_image_header">
77
85
  {% if post.image %}
78
86
  {% assign block_image = post.image %}
@@ -83,8 +91,7 @@
83
91
  {% endif %}
84
92
  {% picture featured_blog_image {{block_image}} --alt {{block_image_alt}} %}
85
93
  </div>
86
- <div class="card-body">
87
-
94
+ <div class="card-body d-flex flex-column">
88
95
  {% assign author = site.authors | where: "username", post.author | first %}
89
96
  {% assign author-url = author.url %}
90
97
  {% if author.image %}
@@ -109,10 +116,19 @@
109
116
  {{ post.content | strip_html | truncatewords:30 }}
110
117
  {% endif %}
111
118
  </p>
119
+ {% if page.tags_enabled %}
120
+ {% assign post_tags = post.tags | sort %}
121
+ <div class="d-block mt-auto">
122
+ {% for tag in post_tags limit: site.tag_limit %}
123
+ <a class="btn bg-light text-dark btn-sm my-1" href="/{{post.category | downcase}}/tags/?tag={{tag}}">
124
+ {{tag}}
125
+ </a>
126
+ {% endfor %}
127
+ </div>
128
+ {% endif %}
112
129
  </div>
113
130
  </div>
114
- </a>
115
-
131
+
116
132
  </div>
117
133
  {% endif %}
118
134
  {% endfor %}
@@ -4,4 +4,4 @@
4
4
  {% else %}
5
5
  {% assign words = content | number_of_words %}
6
6
  {% endif %}
7
- <span class="reading-time badge badge-light text-dark" 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>
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,71 @@
1
+ <div class="col col-12 tags">
2
+ <div id="tag_cloud" class="d-none">
3
+ {% assign site_tags = site.tags | sort %}
4
+ {% for tag in site_tags %}
5
+ {% for post in tag[1] %}
6
+ {% if include.object.category %}
7
+ {% if post.category == include.object.category %}
8
+ <a class="btn btn-secondary my-2" href="?tag={{tag[0]}}">
9
+ {{tag[0]}}
10
+ </a>
11
+ {% break %}
12
+ {% endif %}
13
+ {% else %}
14
+ <a class="btn btn-secondary my-2" href="?tag={{tag[0]}}">
15
+ {{tag[0]}}
16
+ </a>
17
+ {% break %}
18
+ {% endif %}
19
+ {% endfor %}
20
+ {% endfor %}
21
+ </div>
22
+ <a type="button" class="btn btn-secondary d-none" id="view_all_tags_btn">View all tags</a>
23
+ </div>
24
+ <div class="col col-12 tagged_posts" id="tagged_posts">
25
+ {% for tag in site.tags %}
26
+ <div class="tag_list {{tag[0] | slugify}} d-none">
27
+ <h3>{{ tag[0] }}</h3>
28
+ <ul class="list-unstyled">
29
+ {% for post in tag[1] %}
30
+ {% if include.object.category %}
31
+ {% if post.category == include.object.category %}
32
+ <li class="media" itemprop="author" itemscope="" itemtype="http://schema.org/Person">
33
+ {% assign author = site.authors | where: "username", post.author | first %}
34
+ {% assign author-url = author.url %}
35
+ {% assign author_name = author.name %}
36
+ {% capture author_image_alt %}{{author_name}} image{% endcapture %}
37
+ {% if author.image %}
38
+ {% assign author_image = author.image %}
39
+ {% else %}
40
+ {% assign author_image = site.avatar_placeholder %}
41
+ {% endif %}
42
+ <div class="d-block d-md-inline-block mx-auto my-2 m-md-2 text-md-left text-center">
43
+ <a href="{{author-url}}" itemprop="url" rel="author">
44
+ {% picture author_thumbnail {{author_image}} --alt {{author_image_alt}} %}
45
+ </a>
46
+ </div>
47
+
48
+ <div class="media-body">
49
+ <a href="{{ post.url }}">
50
+ <h5 class="mt-0 mb-1">{{post.title}}</h5>
51
+ <div class="post_meta" >
52
+ Posted by <strong itemprop="name" rel="author">{{author_name}}</strong> on
53
+ <time datetime="{{post.date}}" >{{post.date | date: "%A, %B %-d, %Y"}}</time>
54
+ </div>
55
+ {% if post.description %}
56
+ {{post.description | truncate: 50 }}
57
+ {% else %}
58
+ {{ post.content | strip_html | truncate: 50 }}
59
+ {% endif %}
60
+ </a>
61
+ </div>
62
+ </li>
63
+ {% endif %}
64
+ {% else %}
65
+ <li><a href="{{ post.url }}">{{ post.title }}</a></li>
66
+ {% endif %}
67
+ {% endfor %}
68
+ </ul>
69
+ </div>
70
+ {% endfor %}
71
+ </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,13 +51,15 @@
52
51
  {% if site.google_analytics.enabled %}
53
52
  <meta name="analytics_code" content="{{site.google_analytics.code}}">
54
53
  {% endif %}
55
- {% if page.keywords %}
56
- <meta name="keywords" content="{{page.keywords}}">
54
+ {% if page.tags %}
55
+ <meta name="keywords" content="{{page.tags | join: ", "}}">
56
+ {% elsif page.keywords %}
57
+ <meta name="keywords" content="{{page.keywords | join: ", "}}">
57
58
  {% endif %}
58
59
  {% include_cached components/schema.html %}
59
60
  {% if page.url != "/" and site.breadcrumb_schema %}
60
61
  <!--Breadcrumb Schema-->
61
- {% capture breadcrumb_schema %}{"@context": "https://schema.org","@type": "BreadcrumbList","itemListElement":[{% assign crumbs = page.url | remove:'/index.html' | split: '/' %}{% assign breadcrumb_path = "/" %}{% for crumb in crumbs offset: 1 %}{% assign crumb_limit = forloop.index | plus: 1 %}{% capture breadcrumb_path %}{{breadcrumb_path}}{{crumb}}/{% endcapture%}{"@type": "ListItem","position": {{forloop.index}},"item":{"@id": "{{breadcrumb_path | absolute_url}}","name": "{% assign page_data = site.pages | where: "url", breadcrumb_path | first %}{{page_data.title}}"}}{% unless forloop.last %},{% endunless %}{% endfor %}]}{% endcapture %}
62
+ {% capture breadcrumb_schema %}{"@context": "http://schema.org","@type": "Webpage", "breadcrumb": {"@context": "https://schema.org","@type": "BreadcrumbList","itemListElement":[{% assign crumbs = page.url | remove:'/index.html' | split: '/' %}{% assign breadcrumb_path = "/" %}{% for crumb in crumbs offset: 1 %}{% assign crumb_limit = forloop.index | plus: 1 %}{% capture breadcrumb_path %}{{breadcrumb_path}}{{crumb}}/{% endcapture%}{"@type": "ListItem","position": {{forloop.index}},"item":{"@id": "{{breadcrumb_path | absolute_url}}","name": "{% assign page_data = site.pages | where: "url", breadcrumb_path | first %}{% if page_data.title %}{{page_data.title}}{% else %}{{breadcrumb_path}}{% endif %}"}}{% unless forloop.last %},{% endunless %}{% endfor %}]}}{% endcapture %}
62
63
  <script type="application/ld+json">{{breadcrumb_schema | strip_newlines | strip }}</script>
63
64
  {% endif %}
64
65
  {% if page.schema %}<script type="application/ld+json">{{page.schema | jsonify }}</script>{% endif %}
@@ -35,7 +35,7 @@
35
35
  {% capture block_image_alt %}{{block.title}} image {% endcapture %}
36
36
  {% picture card_block_image {{block_image}} --alt {{block_image_alt}} %}
37
37
  {% endif %}
38
- <div class="card-body {% if block.background_image %}card-img-overlay{% else %}card-body{% endif %} {% if block.content_style %}{{block.content_style}}{% endif %}">
38
+ <div class="card-body {% if block.content_style %}{{block.content_style}}{% endif %}">
39
39
  {% if block.title %}
40
40
  <h5 class="card-title">{{block.title}}</h5>
41
41
  {% endif %}
@@ -2,7 +2,7 @@
2
2
  {% if section.format == "title" %}
3
3
  {% include flow/title.html object=section %}
4
4
  {% elsif section.format == "members" %}
5
- {% include flow/members-section.html object=section %}
5
+ {% include flow/members.html object=section %}
6
6
  {% elsif section.format == "youtube" %}
7
7
  <div class="col col-12 youtube_embed">
8
8
  {% include youtube.html url=section.url title=section.title poster_image=section.poster_image %}
@@ -0,0 +1,26 @@
1
+ {% if include.object.members_content.source %}
2
+ {% assign members = site.data[include.object.members_content.source] %}
3
+ {% else %}
4
+ {% assign members = include.object.members_content.items %}
5
+ {% endif %}
6
+ <div class="col col-12 members_section {% if include.object.style %}{{include.object.style}}{% endif %}">
7
+ <div class="row d-flex justify-content-center align-items-center">
8
+ {% for member in members %}
9
+ {% if member.image.path contains "http" %}
10
+ <div class="col col-6 col-sm-{{include.object.members_content.item_width}}">
11
+ {% if member.url %}<a href="{{member.url}}">{% endif %}
12
+ <img class="lazyload img-responsive" alt="{{member.image.alt}}"
13
+ src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
14
+ data-src="{{member.image.path}}"/>
15
+ {% if member.url %}</a>{% endif %}
16
+ </div>
17
+ {% else %}
18
+ <div class="col col-6 col-sm-{{include.object.members_content.item_width}}">
19
+ {% if member.url %}<a href="{{member.url}}">{% endif %}
20
+ {% picture members_image {{member.image.path}} --alt {{member.image.alt}} %}
21
+ {% if member.url %}</a>{% endif %}
22
+ </div>
23
+ {% endif %}
24
+ {% endfor %}
25
+ </div>
26
+ </div>
@@ -16,9 +16,9 @@
16
16
  </div>
17
17
  {% if site.data.footer.footer_brand %}
18
18
  <div class="col col-12 text-white text-center m-t-10">
19
- <a href="{{site.url}}/">
20
- <img src="{{site.data.footer.footer_brand.logo}}" class="footer-logo mx-auto"
21
- alt="{{site.name}} Logo" />
19
+ <a href="{{site.data.footer.footer_brand.url}}/">
20
+ <img src="{{site.data.footer.footer_brand.path}}" class="footer-logo mx-auto"
21
+ alt="{{site.data.footer.footer_brand.alt}}" />
22
22
  </a>
23
23
  </div>
24
24
  {% endif %}
@@ -2,13 +2,22 @@
2
2
  layout: base
3
3
  css_package: blog
4
4
  ---
5
- <div itemscope="" itemtype="http://schema.org/BlogPosting">
5
+ <div itemscope="" itemtype="http://schema.org/BlogPosting" >
6
+ <meta itemprop="mainEntityOfPage" content="{{page.url | absolute_url}}"/>
7
+ <div itemprop="publisher" itemscope="" itemtype="http://schema.org/Organization">
8
+ <meta itemprop="name" content="{{site.schema.name}}" />
9
+ <meta itemprop="url" content="{{site.schema.url}}" />
10
+ <div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject">
11
+ <meta itemprop="url" content="{{site.schema.logo}}">
12
+ </div>
13
+ </div>
6
14
  <div class="container-fluid" >
7
15
  {% if page.strap_image %}
8
16
  <div class="row" id="image_header">
9
17
  {% assign image_path = page.strap_image %}
10
18
  {% capture image_alt %}{{page.title}} background image{% endcapture %}
11
19
  {% picture header_image {{image_path}} --alt {{image_alt}} %}
20
+ <meta itemprop="image" content="{{image_path | absolute_url}}" />
12
21
  </div>
13
22
  {% endif %}
14
23
  <div class="row">
@@ -18,33 +27,55 @@ css_package: blog
18
27
  </div>
19
28
  <div class="row bg-light">
20
29
  <div class="container">
21
- {% assign author = site.authors | where: "username", page.author | first %}
22
- {% assign author-url = author.url %}
23
- {% assign author_name = author.name %}
24
- {% capture author_image_alt %}{{author_name}} image{% endcapture %}
25
- {% if author.image %}
26
- {% assign author_image = author.image %}
27
- {% else %}
28
- {% assign author_image = site.avatar_placeholder %}
29
- {% endif %}
30
- <div itemprop="author" itemscope="" itemtype="http://schema.org/Person" class="d-block d-md-inline-block mx-auto my-2 m-md-2 text-md-left text-center">
31
- <a href="{{author-url}}" itemprop="url" rel="author">
32
- {% picture author_thumbnail {{author_image}} --alt {{author_image_alt}} %}
33
- </a>
34
- </div>
35
- <div class="blockquote d-block d-md-inline-block mx-2 text-md-left text-center">
36
- <strong itemprop="name">{{author_name}}</strong>
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>
30
+ <div class="row">
31
+ <div class="col col-12 col-sm-2">
32
+ {% assign author = site.authors | where: "username", page.author | first %}
33
+ {% assign author-url = author.url %}
34
+ {% assign author_name = author.name %}
35
+ {% capture author_image_alt %}{{author_name}} image{% endcapture %}
36
+ {% if author.image %}
37
+ {% assign author_image = author.image %}
38
+ {% else %}
39
+ {% assign author_image = site.avatar_placeholder %}
40
+ {% endif %}
41
+ <div class="d-block d-md-inline-block mx-auto my-2 m-md-2 text-md-left text-center" itemprop="author" itemscope="" itemtype="http://schema.org/Person">
42
+ <meta itemprop="name" content="{{author_name}}" />
43
+ <a href="{{author-url}}" itemprop="url" content="{{author-url | absolute_url}}">
44
+ {% picture author_thumbnail {{author_image}} --alt {{author_image_alt}} %}
45
+ </a>
46
+ </div>
42
47
  </div>
43
- <span class="divider">|</span>
44
- <div class="read_time d-inline-block mx-2">
45
- {% include blog/read_time.html %}
46
- </div>
47
- </div>
48
+ <div class="col col-12 col-sm-10 d-flex align-items-center">
49
+ <div class="row">
50
+ <div class="col col-12">
51
+ <div class="blockquote d-block d-md-inline-block mx-2 text-md-left text-center">
52
+ <strong>{{author_name}}</strong>
53
+ </div>
54
+ <span class="divider d-none d-md-inline-block">|</span>
55
+ <div class="post_info text-center text-md-left d-block d-md-inline-block">
56
+ <div class="d-inline-block mx-2">
57
+ <time datetime="{{page.date}}" itemprop="datePublished dateModified" rel="BlogPosting">{{page.date | date: "%A, %B %-d, %Y"}}</time>
58
+ </div>
59
+ <span class="divider">|</span>
60
+ <div class="read_time d-inline-block mx-2">
61
+ {% include blog/read_time.html %}
62
+ </div>
63
+ </div>
64
+ </div>
65
+ {% if page.tags_enabled %}
66
+ <div class="col col-12">
67
+ <div class="post_tags text-center text-md-left my-2 my-sm-1">
68
+ {% assign post_tags = page.tags | sort %}
69
+ {% for tag in post_tags %}
70
+ <a class="btn bg-light text-dark btn-sm my-1" href="/{{page.category | downcase }}/tags/?tag={{tag}}">
71
+ {{tag}}
72
+ </a>
73
+ {% endfor %}
74
+ </div>
75
+ </div>
76
+ {% endif %}
77
+ </div>
78
+ </div>
48
79
  </div>
49
80
  </div>
50
81
  </div>
@@ -13,6 +13,7 @@
13
13
  }
14
14
  }
15
15
  }
16
+
16
17
  #image_header {
17
18
  height: 200px;
18
19
  overflow: hidden;
@@ -34,7 +35,14 @@
34
35
  width: 200px;
35
36
  display: block;
36
37
  float: left;
37
- margin: 0px 20px;
38
+ margin: 10px 20px;
39
+ }
40
+ }
41
+ &.small-center {
42
+ @include media-breakpoint-up(md) {
43
+ width: 200px;
44
+ display: block;
45
+ margin: 20px auto;
38
46
  }
39
47
  }
40
48
  &.medium-inline {
@@ -42,7 +50,14 @@
42
50
  width: 300px;
43
51
  display: block;
44
52
  float: left;
45
- margin: 0px 20px;
53
+ margin: 10px 20px;
54
+ }
55
+ }
56
+ &.medium-center {
57
+ @include media-breakpoint-up(md) {
58
+ width: 300px;
59
+ display: block;
60
+ margin: 20px auto;
46
61
  }
47
62
  }
48
63
  &.large-inline {
@@ -50,7 +65,14 @@
50
65
  width: 400px;
51
66
  display: block;
52
67
  float: left;
53
- margin: 0px 20px;
68
+ margin: 10px 20px;
69
+ }
70
+ }
71
+ &.large-center {
72
+ @include media-breakpoint-up(md) {
73
+ width: 400px;
74
+ display: block;
75
+ margin: 20px auto;
54
76
  }
55
77
  }
56
78
  &.right {
@@ -208,7 +230,7 @@
208
230
  width: 100%;
209
231
  color: white;
210
232
  position: absolute;
211
- z-index: 1;
233
+ z-index: 0;
212
234
  text-align: center;
213
235
  top: 50%;
214
236
  transform: translateY(-50%);
@@ -230,12 +252,22 @@
230
252
  -moz-box-shadow: none;
231
253
  }
232
254
  .card {
255
+ a.wrapper_link {
256
+ position: absolute;
257
+ width: 100%;
258
+ height: 100%;
259
+ z-index: 1;
260
+ }
233
261
  border-radius: 20px;
234
262
  overflow: hidden;
235
263
  -webkit-box-shadow: 0px 0px 20px 5px #f0f0f0;
236
264
  -moz-box-shadow: 0px 0px 20px 5px #e5e5e5;
237
265
  box-shadow: 0px 0px 20px 5px #ebebeb;
238
266
  transition: all 200ms ease;
267
+ a {
268
+ position: relative;
269
+ z-index: 2;
270
+ }
239
271
  &:hover {
240
272
  transform: translateY(-5px);
241
273
  -webkit-box-shadow: 0px 0px 20px 5px #b3b3b3;
@@ -1,94 +1,114 @@
1
1
  #flow_wrapper {
2
- font-size: 1.2rem !important;
3
- @include media-breakpoint-only(xs){
4
- font-size: 1.1rem !important;
5
- }
6
- background-color: white;
7
- #collapseSection {
8
- .btn.btn-link {
9
- &:after {
10
- color: #666;
11
- top: 10px;
12
- right: 0px;
13
- position: absolute;
14
- margin-right: 30px;
15
- font-family: "fontello";
16
- font-size: 22px;
17
- content: "\e80f";
18
- }
19
- &.collapsed {
20
- &:after {
21
- content: "\e80e";
22
- }
23
- }
2
+ font-size: 1.2rem !important;
3
+ @include media-breakpoint-only(xs) {
4
+ font-size: 1.1rem !important;
5
+ }
6
+ background-color: white;
7
+ #collapseSection {
8
+ .btn.btn-link {
9
+ &:after {
10
+ color: #666;
11
+ top: 10px;
12
+ right: 0px;
13
+ position: absolute;
14
+ margin-right: 30px;
15
+ font-family: "fontello";
16
+ font-size: 22px;
17
+ content: "\e80f";
18
+ }
19
+ &.collapsed {
20
+ &:after {
21
+ content: "\e80e";
24
22
  }
23
+ }
24
+ }
25
+ }
26
+ .row {
27
+ padding: $flow_row_padding 0;
28
+ &.background_image_row {
29
+ overflow: hidden;
30
+ position: relative;
31
+ .header_background_image {
32
+ position: absolute;
33
+ object-fit: cover;
34
+ height: 100%;
35
+ width: 100%;
36
+ filter: brightness(0.4);
37
+ z-index: 0;
38
+ top: 0px;
39
+ }
40
+ }
41
+ & > .container > .col.col-12 {
42
+ padding: $flow_component_padding 0px;
43
+ }
44
+ .tabbed_content {
45
+ .tab-content {
46
+ margin-top: 15px;
47
+ }
25
48
  }
26
- .row {
27
- padding: $flow_row_padding 0;
28
- &.background_image_row {
29
- overflow: hidden;
30
- position: relative;
31
- .header_background_image {
32
- position: absolute;
33
- object-fit: cover;
34
- height: 100%;
35
- width: 100%;
36
- filter: brightness(0.4);
37
- z-index:0;
38
- top:0px;
39
- }
40
- }
41
- & > .container > .col.col-12 {
42
- padding: $flow_component_padding 0px;
43
- }
44
- .tabbed_content {
45
- .tab-content {
46
- margin-top: 15px;
47
- }
48
- }
49
49
 
50
- .slider_block {
51
- .item {
52
- height: 400px;
53
- overflow: hidden;
54
- img {
55
- height: 100%;
56
- width: auto;
57
- object-fit: cover;
58
- }
59
- }
50
+ .slider_block {
51
+ .item {
52
+ height: 400px;
53
+ overflow: hidden;
54
+ img {
55
+ height: 100%;
56
+ width: auto;
57
+ object-fit: cover;
60
58
  }
61
- .slider_row {
62
- .item {
63
- height: 200px;
64
- overflow: hidden;
65
- img {
66
- height: 100%;
67
- width: auto;
68
- object-fit: cover;
69
- @include media-breakpoint-down(sm){
70
- margin: auto;
71
- }
72
- }
73
- }
59
+ }
60
+ }
61
+ .slider_row {
62
+ .item {
63
+ height: 200px;
64
+ overflow: hidden;
65
+ img {
66
+ height: 100%;
67
+ width: auto;
68
+ object-fit: cover;
69
+ @include media-breakpoint-down(sm) {
70
+ margin: auto;
71
+ }
74
72
  }
73
+ }
74
+ }
75
+ }
76
+ .members_section {
77
+ img.members_image {
78
+ height: 100px;
79
+ object-fit: contain;
80
+ width: 100%;
81
+ padding: 15px;
75
82
  }
76
- .blocks {
77
- .block_column {
78
- margin-top: 15px;
83
+ }
84
+ .blocks {
85
+ .block_column {
86
+ margin-top: 15px;
87
+ }
88
+ .card {
89
+ overflow: hidden;
90
+ &.background_image {
91
+ picture {
92
+ height: 100%;
93
+ }
94
+ img {
95
+ filter: brightness(0.5);
96
+ height: 100%;
97
+ position: absolute;
98
+ left: 0;
99
+ right: 0;
100
+ top: 0;
101
+ z-index: 0;
79
102
  }
80
- .card {
81
- &.background_image {
82
- img {
83
- filter: brightness(0.5);
84
- height: 100%;
85
- }
86
- }
87
- .card-img-top {
88
- height: 150px;
89
- width: 100%;
90
- object-fit: cover;
91
- }
103
+ .card-body {
104
+ z-index: 1;
92
105
  }
106
+ }
107
+ .card-img-top {
108
+ height: 150px;
109
+ width: 100%;
110
+ object-fit: cover;
111
+ }
93
112
  }
113
+ }
94
114
  }
@@ -1,3 +1,22 @@
1
+ function slugify(string) {
2
+ const a =
3
+ "àáâäæãåāăąçćčđďèéêëēėęěğǵḧîïíīįìłḿñńǹňôöòóœøōõőṕŕřßśšşșťțûüùúūǘůűųẃẍÿýžźż·/_,:;";
4
+ const b =
5
+ "aaaaaaaaaacccddeeeeeeeegghiiiiiilmnnnnoooooooooprrsssssttuuuuuuuuuwxyyzzz------";
6
+ const p = new RegExp(a.split("").join("|"), "g");
7
+
8
+ return string
9
+ .toString()
10
+ .toLowerCase()
11
+ .replace(/\s+/g, "-") // Replace spaces with -
12
+ .replace(p, (c) => b.charAt(a.indexOf(c))) // Replace special characters
13
+ .replace(/&/g, "-and-") // Replace & with 'and'
14
+ .replace(/[^\w\-]+/g, "") // Remove all non-word characters
15
+ .replace(/\-\-+/g, "-") // Replace multiple - with single -
16
+ .replace(/^-+/, "") // Trim - from start of text
17
+ .replace(/-+$/, ""); // Trim - from end of text
18
+ }
19
+
1
20
  $(document).ready(function () {
2
21
  // Clipboard JS
3
22
  if ($("div.highlight").length > 0) {
@@ -26,6 +45,39 @@ $(document).ready(function () {
26
45
  });
27
46
  });
28
47
  }
48
+ // Tagged Posts
49
+ if ($("#tagged_posts").length > 0) {
50
+ var getUrlParameter = (sParam) => {
51
+ var sPageURL = window.location.search.substring(1),
52
+ sURLVariables = sPageURL.split("&"),
53
+ sParameterName,
54
+ i;
55
+
56
+ for (i = 0; i < sURLVariables.length; i++) {
57
+ sParameterName = sURLVariables[i].split("=");
58
+
59
+ if (sParameterName[0] === sParam) {
60
+ return sParameterName[1] === undefined
61
+ ? true
62
+ : decodeURIComponent(sParameterName[1]);
63
+ }
64
+ }
65
+ };
66
+ var tag = getUrlParameter("tag");
67
+ if (tag !== undefined) {
68
+ console.log(tag);
69
+ $(".tag_list").addClass("d-none");
70
+ $(`.tag_list.${slugify(tag)}`).addClass("d-block");
71
+ $(`#tag_cloud`).addClass("d-none");
72
+ $(`#view_all_tags_btn`).addClass("d-inline-block");
73
+ $(this).html(tag);
74
+ $("#view_all_tags_btn").on("click", function () {
75
+ window.location.replace(window.location.pathname);
76
+ });
77
+ } else {
78
+ $(`#tag_cloud`).removeClass("d-none");
79
+ }
80
+ }
29
81
  if ($("#jumbotron-slider").length > 0) {
30
82
  $("#jumbotron-slider").owlCarousel({
31
83
  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.2
4
+ version: 4.1.4
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-28 00:00:00.000000000 Z
11
+ date: 2020-11-09 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
@@ -204,7 +205,7 @@ files:
204
205
  - _includes/flow/flow_inner.html
205
206
  - _includes/flow/full_width_row.html
206
207
  - _includes/flow/image.html
207
- - _includes/flow/members-section.html
208
+ - _includes/flow/members.html
208
209
  - _includes/flow/slider.html
209
210
  - _includes/flow/slider_row.html
210
211
  - _includes/flow/tabbed_content.html
@@ -1,24 +0,0 @@
1
- {% if include.object.members_content.members_content.source %}
2
- {% assign members = site.data[include.object.members_content.source] %}
3
- {% else %}
4
- {% assign members = include.object.members_content.items %}
5
- {% endif %}
6
- <div class="members_section {% if include.object.style %}{{include.object.style}}{% endif %}">
7
- {% for member in members %}
8
- {% if member.url %}<a href="{{member.url}}">{% endif %}
9
- {% if member.image.path contains "http" %}
10
- <div class="col-xs-6 col-sm-{{include.object.members_content.item_width}}">
11
- <img class="lazyload img-responsive" alt="{{member.image.alt}}"
12
- src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
13
- data-src="{{member.image.path}}"/>
14
- </div>
15
- {% else %}
16
- {% assign image_path = member.image.path %}
17
- {% assign full_path = member.image.path %}
18
- <div class="col-xs-6 col-sm-{{include.object.members_content.item_width}}">
19
- <!--TODO picture-->
20
- </div>
21
- {% endif %}
22
- {% if member.url %}</a>{% endif %}
23
- {% endfor %}
24
- </div>