jumbo-jekyll-theme 4.8.4 → 4.9.0

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: a47b5ec95e5f2abbd9b9924a8dadcdbcb85ac117514dd9f71bee6d992de70f89
4
- data.tar.gz: 0522df6a457a91f132db96f576b2394d8ee75980d7bfb2513cf51ec7b0429385
3
+ metadata.gz: c2cdc6c9e432c4259886237d94f3e808b5c1651be85a194cc7d947a81cf4b59a
4
+ data.tar.gz: dcae7bb8af5bb77e9bdcba85d9d8ea26496cb273c161c44d26be94277fe05269
5
5
  SHA512:
6
- metadata.gz: a31bc64625bb666881c615388f554af504ebdea70780e2f8a5ca1ae4cad2f19146cbdebf76d6a84aa53f2c7885e9eaf735c56f621b234efd90d3ec7b90412f09
7
- data.tar.gz: a6956cc4cd789acb8664903053be0448cac0814e1186e14b87c6a545bcd7f39a1fae146a9fbb5929a7aae6671b92520ba4c83ba094e1b9b228522350a36264e0
6
+ metadata.gz: cd9f8b346d7b9fb6701c1773f0efa3fffb562b047f5f037c39ed1449923cc6878c696a6323e2de89578b3a8b08846751f05bbc8b3499a7d50c80a12dfd5f37ad
7
+ data.tar.gz: 7bae6f2e092d8dcc096d2394de752ed6cc51e4ca0cf065ef1bf4c9f63edbf4c052188d94408c10536921b104bc8c038253490db7a860d101745ccdc45158ba98
@@ -39,24 +39,37 @@ exclude:
39
39
  - _static-site
40
40
  - .sass-cache
41
41
  - _site
42
- - package.json
43
- - node_modules
44
- - gulpfile.js
42
+ # Sass Configuration for the site styles
43
+ sass:
44
+ style: compressed
45
+ load_paths:
46
+ - assets/css
45
47
  # Compress HTML using the jekyll-tidy plugin.
46
48
  jekyll_tidy:
47
49
  # Toggle compression of HTML
48
50
  compress_html: true
49
51
  # JS Path added to exclude to stop errors.
50
52
  exclude: ["assets/**/*.js"]
53
+ # Permalink style to be used for paginating pages in pagination.html
54
+ paginate_path: /blog/:num/
55
+ paginate_path_news: /news/:num/
56
+ paginate_path_authors: /authors/:num/
51
57
  # Jekyll Pagination V2 Configuration
52
58
  pagination:
53
- permalink: '/:num/'
59
+ # Default pagination path for Jekyll Posts
60
+ # For other permalinks set in the front matter of the post index page
61
+ permalink: /:num/
62
+ # Enabled or not?
54
63
  enabled: true
64
+ # Home many posts to display by default
55
65
  per_page: 9
66
+ # Number of pages to show either side of the current page i.e - 1, 2, {3}, 4, 5
56
67
  trail:
57
68
  before: 2
58
69
  after: 2
70
+ # Reverse the order of paginated pages
59
71
  sort_reverse: true
72
+ # Field to sort posts by when paginating
60
73
  sort_field: 'date'
61
74
  # Jekyll pagination v2 autopages configuration.
62
75
  autopages:
@@ -85,6 +98,19 @@ defaults:
85
98
  type: "authors"
86
99
  values:
87
100
  layout: author
101
+ # Jekyll Assets setup
102
+ assets:
103
+ # Compress JS Assets - uses the uglifier
104
+ compression: true
105
+ gzip: true
106
+ # Autoprefixer default settings
107
+ autoprefixer:
108
+ browsers: ["last 2 versions","> 5%","IE 9"]
109
+ # These are the paths to look for assets
110
+ sources:
111
+ - assets/js/
112
+ - assets/images/
113
+ - assets/css/
88
114
  # Jekyll relative links plugin settings
89
115
  jekyll_relative_links:
90
116
  process_all_collections: true
@@ -92,9 +118,14 @@ jekyll_relative_links:
92
118
  plugins:
93
119
  - jekyll-seo-tag
94
120
  - jekyll-sitemap
121
+ - uglifier
122
+ - jekyll-assets
123
+ - jekyll-theme-assets-updated
124
+ - jekyll-tidy
95
125
  - jekyll-redirect-from
126
+ - jekyll-responsive-image
127
+ - autoprefixer-rails
96
128
  - jekyll-paginate-v2
97
- - jekyll-picture-tag-latest
98
129
  collections:
99
130
  authors:
100
131
  output: true
@@ -105,7 +136,65 @@ liquid:
105
136
  readme_index:
106
137
  enabled: true
107
138
  remove_originals: false
108
- picture:
109
- nomarkdown: false
110
- source: "assets/images"
111
- output: "assets/images/processed"
139
+
140
+ # Jeykyll Responsive Image Configuration
141
+ responsive_image:
142
+ cache: false
143
+ # [Required]
144
+ # Path to the image template.
145
+ template: _includes/images/responsive-image.html
146
+
147
+ # [Optional, Default: 85]
148
+ # Quality to use when resizing images.
149
+ default_quality: 90
150
+
151
+ # [Optional, Default: []]
152
+ # An array of resize configuration objects. Each object must contain at least
153
+ # a `width` value.
154
+ sizes:
155
+ - width: 400 # [Required] How wide the resized image will be.
156
+ quality: 70 # [Optional] Overrides default_quality for this size.
157
+ - width: 800
158
+ quality: 70
159
+
160
+ # [Optional, Default: false]
161
+ # Rotate resized images depending on their EXIF rotation attribute. Useful for
162
+ # working with JPGs directly from digital cameras and smartphones
163
+ auto_rotate: false
164
+
165
+ # [Optional, Default: false]
166
+ # Strip EXIF and other JPEG profiles. Helps to minimize JPEG size and win friends
167
+ # at Google PageSpeed.
168
+ strip: false
169
+
170
+ # [Optional, Default: assets]
171
+ # The base directory where assets are stored. This is used to determine the
172
+ # `dirname` value in `output_path_format` below.
173
+ base_path: assets
174
+
175
+ # [Optional, Default: assets/resized/%{filename}-%{width}x%{height}.%{extension}]
176
+ # The template used when generating filenames for resized images. Must be a
177
+ # relative path.
178
+ #
179
+ # Parameters available are:
180
+ # %{dirname} Directory of the file relative to `base_path` (assets/sub/dir/some-file.jpg => sub/dir)
181
+ # %{basename} Basename of the file (assets/some-file.jpg => some-file.jpg)
182
+ # %{filename} Basename without the extension (assets/some-file.jpg => some-file)
183
+ # %{extension} Extension of the file (assets/some-file.jpg => jpg)
184
+ # %{width} Width of the resized image
185
+ # %{height} Height of the resized image
186
+ #
187
+ output_path_format: assets/resized/%{width}/%{basename}
188
+
189
+ # [Optional, Default: true]
190
+ # Whether or not to save the generated assets into the source folder.
191
+ save_to_source: false
192
+
193
+ # [Optional, Default: []]
194
+ # By default, only images referenced by the responsive_image and responsive_image_block
195
+ # tags are resized. Here you can set a list of paths or path globs to resize other
196
+ # images. This is useful for resizing images which will be referenced from stylesheets.
197
+ extra_images:
198
+ - assets/foo/bar.png
199
+ - assets/bgs/*.png
200
+ - assets/avatars/*.{jpeg,jpg}
@@ -1,7 +1,8 @@
1
1
  <div class="row breadcrumb-container"
2
2
  {% if site.data.settings.breadcrumb.image %}
3
- style="background-image: url({{site.data.settings.breadcrumb.image}});"
4
- {% endif %}> <!--- Row Start ---->
3
+ style="background-image: url('{% asset_path '{{site.data.settings.breadcrumb.image}}' %}');
4
+ "
5
+ {% endif %}"> <!--- Row Start ---->
5
6
  <div class="container breadcrumb-inner-container"><!--- Container Start ---->
6
7
  <h1>
7
8
  {% if page.title %}
@@ -1,11 +1,9 @@
1
- {% if page.css-package %}
2
- {% capture css-package %}/assets/css/main-{{page.css-package}}.css{% endcapture %}
3
- <link rel="stylesheet" href="{{ css-package | relative_url }}?v={% bust_cache %}">
4
- {% elsif layout.css-package %}
5
- {% capture css-package %}/assets/css/main-{{layout.css-package}}.css{% endcapture %}
6
- <link rel="stylesheet" href="{{ css-package | relative_url }}?v={% bust_cache %}">
7
- {% elsif layout.css-package == "main" or page.css-package == "main" %}
8
- <link rel="stylesheet" href="{{ "/assets/css/main.css" | relative_url }}?v={% bust_cache %}">
1
+ {% if include.pageCSS %}
2
+ {% capture css-package %}/assets/css/main-{{include.pageCSS}}.css{% endcapture %}
3
+ <link rel="stylesheet" href="{{ css-package | relative_url }}">
4
+ {% elsif include.layoutCSS %}
5
+ {% capture css-package %}/assets/css/main-{{include.layoutCSS}}.css{% endcapture %}
6
+ <link rel="stylesheet" href="{{ css-package | relative_url }}">
9
7
  {% else %}
10
- <link rel="stylesheet" href="{{ "/assets/css/main.css" | relative_url }}?v={% bust_cache %}">
11
- {% endif %}
8
+ <link rel="stylesheet" href="{{ "/assets/css/main.css" | relative_url }}">
9
+ {% endif %}
@@ -4,6 +4,7 @@
4
4
  {% assign timeframe = 604800 %}
5
5
  {% assign post_in_seconds = post.date | date: "%s" | plus: 0 %}
6
6
  {% assign recent_posts = "now" | date: "%s" | minus: timeframe %}
7
+
7
8
  {% if forloop.first and paginator.page == 1 %}
8
9
  <style>
9
10
  @media(min-width: 1000px){
@@ -16,13 +17,37 @@
16
17
  <div class="featured-post-row">
17
18
  <div class="col-xs-12 col-sm-7 col-sm-push-5 latest-featured-post">
18
19
  <a href="{{post.url}}">
19
- {% if post.image.path %}
20
- {% assign imagePath = post.image.path | replace: '/assets/images/', '' %}
21
- {% picture thumb {{imagePath}} alt=post.title %}
22
- {% else %}
23
- {% assign imagePath = site.data.settings.placeholder | replace: '/assets/images/', '' %}
24
- {% picture placeholder {{imagePath}} alt=post.title %}
20
+ {% assign image_path = "" %}
21
+ {% if post.image.thumb %}
22
+ {% capture image_path %}{{site.blog_images_dir}}thumbs/{{post.image.thumb}}{% endcapture %}
23
+ {% capture full_path %}/{{site.blog_images_dir}}thumbs/{{post.image.thumb}}{% endcapture %}
24
+ {% elsif post.image.name %}
25
+ {% capture image_path %}{{site.blog_images_dir}}{{post.image.name}}{% endcapture %}
26
+ {% capture full_path %}/{{site.blog_images_dir}}{{post.image.name}}{% endcapture %}
27
+ {% elsif post.image.path %}
28
+ {% capture image_path %}{{post.image.path | remove_first: "/" }}{% endcapture %}
29
+ {% capture full_path %}{{post.image.path}}{% endcapture %}
30
+ {% elsif post.image == site.data.settings.social_share_image %}
31
+ {% capture image_path %}{{site.data.settings.placeholder | remove_first: "/" }}{% endcapture %}
32
+ {% capture full_path %}{{site.data.settings.placeholder}}{% endcapture %}
33
+ {% elsif post.image %}
34
+ {% capture image_path %}{{post.image | remove_first: "/" }}{% endcapture %}
35
+ {% capture full_path %}{{post.image}}{% endcapture %}
36
+ {% else %}
37
+ <img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
38
+ data-src="{{site.data.settings.placeholder}}" alt="{{post.title}}" class="center-block img-responsive lazyload"/>
39
+ {% endif %}
40
+ {% if image_path != "" %}
41
+ {% responsive_image_block %}
42
+ template: _includes/thumbnail_image.html
43
+ path: {{ image_path }}
44
+ fullpath: {{ full_path }}
45
+ {% if post.title %}
46
+ title: {{ post.title | slugify: "ascii"}}
47
+ alt: {{ post.title | slugify: "ascii"}}
25
48
  {% endif %}
49
+ {% endresponsive_image_block %}
50
+ {% endif %}
26
51
  </a>
27
52
  </div>
28
53
  <div class="col-xs-12 col-sm-5 col-sm-pull-7 latest-featured-post-content">
@@ -59,14 +84,39 @@
59
84
  <div class="blog-post-item">
60
85
  <a href="{{post.url}}">
61
86
  <div class="blog-featured-image {% if post.image == site.data.settings.social_share_image %}using-placeholder{% endif %}">
62
- {% if post.image.path %}
63
- {% assign imagePath = post.image.path | replace: '/assets/images/', '' %}
64
- {% picture thumb {{imagePath}} alt=post.title %}
87
+
88
+ {% assign image_path = "" %}
89
+ {% if post.image.thumb %}
90
+ {% capture image_path %}{{site.blog_images_dir}}thumbs/{{post.image.thumb}}{% endcapture %}
91
+ {% capture full_path %}/{{site.blog_images_dir}}thumbs/{{post.image.thumb}}{% endcapture %}
92
+ {% elsif post.image.name %}
93
+ {% capture image_path %}{{site.blog_images_dir}}{{post.image.name}}{% endcapture %}
94
+ {% capture full_path %}/{{site.blog_images_dir}}{{post.image.name}}{% endcapture %}
95
+ {% elsif post.image.path %}
96
+ {% capture image_path %}{{post.image.path | remove_first: "/" }}{% endcapture %}
97
+ {% capture full_path %}{{post.image.path}}{% endcapture %}
98
+ {% elsif post.image == site.data.settings.social_share_image %}
99
+ {% capture image_path %}{{site.data.settings.placeholder | remove_first: "/" }}{% endcapture %}
100
+ {% capture full_path %}{{site.data.settings.placeholder}}{% endcapture %}
101
+ {% assign using_placeholder = "true" %}
102
+ {% elsif post.image %}
103
+ {% capture image_path %}{{post.image | remove_first: "/" }}{% endcapture %}
104
+ {% capture full_path %}{{post.image}}{% endcapture %}
65
105
  {% else %}
66
- {% assign imagePath = site.data.settings.placeholder | replace: '/assets/images/', '' %}
67
- {% picture placeholder {{imagePath}} alt=post.title %}
106
+ <img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
107
+ data-src="{{site.data.settings.placeholder}}" alt="{{post.title}}" class="center-block img-responsive lazyload"/>
68
108
  {% endif %}
109
+
69
110
  {% if image_path != "" %}
111
+ {% responsive_image_block %}
112
+ template: _includes/thumbnail_image.html
113
+ path: {{ image_path }}
114
+ fullpath: {{ full_path }}
115
+ {% if post.title %}
116
+ title: {{ post.title | slugify: "ascii"}}
117
+ alt: {{ post.title | slugify: "ascii"}}
118
+ {% endif %}
119
+ {% endresponsive_image_block %}
70
120
  {% endif %}
71
121
  <div class="read-article">
72
122
  <i class="fa fa-eye"></i> Read Article
@@ -8,7 +8,9 @@
8
8
  {% endif %}
9
9
  </title>
10
10
  {% include_cached css.html pageCSS=page.css-package layoutCSS=layout.css-package %}
11
- <link rel="icon" href="{{site.data.settings.favicon}}" type="image/png" />
11
+ <link rel="icon" href="{% if site.data.settings.favicon %}
12
+ {% asset_path '{{site.data.settings.favicon}}' %}
13
+ {% endif %}" type="image/png" />
12
14
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
13
15
  {% include_cached google-analytics.html %}
14
16
  {% if page.keywords %}
@@ -1,6 +1,6 @@
1
1
  {% if include.lightbox_disabled %}
2
- ![{{include.alt}}](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==){:class="img-responsive lazyload {% if include.class %}{{include.class}}{% endif %}" data-src="{{include.path}}"}
2
+ ![{{include.alt}}](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==){:class="img-responsive lazyload {% if include.class %}{{include.class}}{% endif %}" data-src="{% asset_path '{{include.name}}' %}"}
3
3
  {% else %}
4
- [![{{include.alt}}](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==){:class="img-responsive lazyload {% if include.class %}{{include.class}}{% endif %}" data-src="{{include.path}}"}]({% if include.url %}{{include.url}}{% elsif include.lightbox_disabled %}{% else %}"{{include.path}}"{% endif %}){% if include.lightbox_disabled %}{% else %}{% if include.url %}{% else %}{: data-featherlight="{{include.name}}" data-title="{{include.alt}}"}{% endif %}{% endif %}
4
+ [![{{include.alt}}](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==){:class="img-responsive lazyload {% if include.class %}{{include.class}}{% endif %}" data-src="{% asset_path '{{include.name}}' %}"}]({% if include.url %}{{include.url}}{% elsif include.lightbox_disabled %}{% else %}{% asset_path "{{include.name}}" %}{% endif %}){% if include.lightbox_disabled %}{% else %}{% if include.url %}{% else %}{: data-featherlight="{% asset_path '{{include.name}}' %}" data-title="{{include.alt}}"}{% endif %}{% endif %}
5
5
  {% endif %}
6
6
 
@@ -1,9 +1,10 @@
1
1
  {% if page.js-package %}
2
2
  {% capture js-package %}package-{{page.js-package}}{% endcapture %}
3
- <script type="text/javascript" src="{% asset_path {{js-package}} %}?v={% bust_cache %}"></script>
3
+ <script type="text/javascript" src="{% asset_path {{js-package}} %}"></script>
4
4
  {% elsif layout.js-package %}
5
5
  {% capture js-package %}package-{{layout.js-package}}{% endcapture %}
6
- <script type="text/javascript" src="{% asset_path {{js-package}} %}?v={% bust_cache %}"></script>
6
+ <script type="text/javascript" src="{% asset_path {{js-package}} %}"></script>
7
7
  {% else %}
8
- <script type="text/javascript" src="{% asset_path package-main %}?v={% bust_cache %}"></script>
9
- {% endif %}
8
+ <script type="text/javascript" src="{% asset_path package-main %}"></script>
9
+ {% endif %}
10
+
@@ -1,4 +1,4 @@
1
- {% assign paginate_path = include.pagination_permalink %}
1
+ {% assign paginate_path = include.path %}
2
2
  {% assign paginate_base_path = paginate_path | split: ":" %}
3
3
  {% if paginator.total_pages > 1 %}
4
4
  <div class="row pagination-row">
@@ -9,15 +9,25 @@
9
9
  {% else %}
10
10
  <li class="disabled"><a href="#">&laquo; Prev</a></li>
11
11
  {% endif %}
12
- {% if paginator.page_trail %}
13
- {% for trail in paginator.page_trail %}
14
- <li data-pagination-permalink="{{paginate_path}}" {% if page.url == trail.path %}class="active"{% endif %}>
15
- <a href="{% if trail.num == 1 %}{{paginate_base_path[0]}}{% else %}
16
- {{ paginate_path | prepend: site.baseurl | replace: '//', '/' | replace: ':num', trail.num }}{% endif %}"
17
- title="{{trail.title}}">{{ trail.num }}</a>
18
- </li>
19
- {% endfor %}
20
- {% endif %}
12
+ {% if paginator.page_trail %}
13
+ {% for trail in paginator.page_trail %}
14
+ <li {% if page.url == trail.path %}class="active"{% endif %}>
15
+ <a href="{% if trail.num == 1 %}{{paginate_base_path[0]}}{% else %}
16
+ {{ paginate_path | prepend: site.baseurl | replace: '//', '/' | replace: ':num', trail.num }}{% endif %}"
17
+ title="{{trail.title}}">{{ trail.num }}</a>
18
+ </li>
19
+ {% endfor %}
20
+ {% else %}
21
+ {% for page in (1..paginator.total_pages) %}
22
+ {% if page == paginator.page %}
23
+ <li class="active"><a href="">{{ page }}</a></li>
24
+ {% elsif page == 1 %}
25
+ <li><a href="{{paginate_base_path[0]}}">{{ page }}</a></li>
26
+ {% else %}
27
+ <li><a href="{{ paginate_path | prepend: site.baseurl | replace: '//', '/' | replace: ':num', page }}">{{ page }}</a></li>
28
+ {% endif %}
29
+ {% endfor %}
30
+ {% endif %}
21
31
  {% if paginator.next_page %}
22
32
  <li><a href="{{ paginator.next_page_path | prepend: site.baseurl | replace: '//', '/' }}">Next </a></li>
23
33
  {% else %}
@@ -16,17 +16,60 @@
16
16
  <div class="row featured_blog_post">
17
17
  <div class="col-md-3 col-sm-3 col-xs-3 no-padding">
18
18
  {% if post.image.thumb %}
19
- {% capture full_path %}blog/thumbs/{{post.image.thumb}}{% endcapture %}
19
+ {% capture image_path %}{{site.blog_images_dir}}thumbs/{{post.image.thumb}}{% endcapture %}
20
+ {% capture full_path %}/{{site.blog_images_dir}}thumbs/{{post.image.thumb}}{% endcapture %}
21
+ {% responsive_image_block %}
22
+ template: _includes/thumb.html
23
+ path: {{ image_path }}
24
+ fullpath: {{ full_path }}
25
+ {% if post.title %}
26
+ title: {{ post.title | slugify: "ascii"}}
27
+ alt: {{ post.title | slugify: "ascii"}}
28
+ {% endif %}
29
+ {% endresponsive_image_block %}
30
+ {% elsif post.image.name %}
31
+ {% capture image_path %}{{site.blog_images_dir}}{{post.image.name}}{% endcapture %}
32
+ {% capture full_path %}/{{site.blog_images_dir}}{{post.image.name}}{% endcapture %}
33
+ {% responsive_image_block %}
34
+ template: _includes/thumb.html
35
+ path: {{ image_path }}
36
+ fullpath: {{ full_path }}
37
+ {% if post.title %}
38
+ title: {{ post.title | slugify: "ascii"}}
39
+ alt: {{ post.title | slugify: "ascii"}}
40
+ {% endif %}
41
+ {% endresponsive_image_block %}
20
42
  {% elsif post.image.path %}
21
- {% capture full_path %}{{post.image.path | replace: '/assets/images/', '' }}{% endcapture %}
43
+ {% capture image_path %}{{post.image.path | remove_first: '/'}}{% endcapture %}
44
+ {% capture full_path %}{{post.image.path }}{% endcapture %}
45
+ {% responsive_image_block %}
46
+ template: _includes/thumb.html
47
+ path: {{ image_path }}
48
+ fullpath: {{ full_path }}
49
+ {% if post.title %}
50
+ title: {{ post.title | slugify: "ascii"}}
51
+ alt: {{ post.title | slugify: "ascii"}}
52
+ {% endif %}
53
+ {% endresponsive_image_block %}
22
54
  {% elsif post.image == site.data.settings.social_share_image %}
23
- {% capture full_path %}{{site.data.settings.social_share_image | replace: '/assets/images/', '' }}{% endcapture %}
55
+ <img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="{{site.data.settings.placeholder}}"
56
+ alt="{{post.title}}" class="center-block img-responsive lazyload" />
24
57
  {% elsif post.image %}
25
- {% capture full_path %}{{post.image | replace: '/assets/images/', '' }}{% endcapture %}
58
+ {% capture image_path %}{{post.image | remove_first: '/'}}{% endcapture %}
59
+ {% capture full_path %}{{post.image }}{% endcapture %}
60
+ {% responsive_image_block %}
61
+ template: _includes/thumb.html
62
+ path: {{ image_path }}
63
+ fullpath: {{ full_path }}
64
+ {% if post.title %}
65
+ title: {{ post.title | slugify: "ascii"}}
66
+ alt: {{ post.title | slugify: "ascii"}}
67
+ {% endif %}
68
+ {% endresponsive_image_block %}
26
69
  {% else %}
27
- {% capture full_path %}{{site.data.settings.social_share_image | replace: '/assets/images/', '' }}{% endcapture %}
70
+ <img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
71
+ data-src="{{site.data.settings.placeholder}}" alt="{{post.title}}" class="img-responsive lazyload"/>
28
72
  {% endif %}
29
- {% picture blogThumb {{full_path}} alt=post.title %}
30
73
  </div>
31
74
  <div class="col-md-9 col-sm-9 col-xs-9 ">
32
75
  {{post.title | truncate: 40}}
@@ -63,17 +106,60 @@
63
106
  <div class="row featured_blog_post">
64
107
  <div class="col-md-3 col-sm-3 col-xs-3 no-padding">
65
108
  {% if post.image.thumb %}
66
- {% capture full_path %}blog/thumbs/{{post.image.thumb}}{% endcapture %}
67
- {% elsif post.image.path %}
68
- {% capture full_path %}{{post.image.path | replace: '/assets/images/', '' }}{% endcapture %}
69
- {% elsif post.image == site.data.settings.social_share_image %}
70
- {% capture full_path %}{{site.data.settings.social_share_image | replace: '/assets/images/', '' }}{% endcapture %}
71
- {% elsif post.image %}
72
- {% capture full_path %}{{post.image | replace: '/assets/images/', '' }}{% endcapture %}
73
- {% else %}
74
- {% capture full_path %}{{site.data.settings.social_share_image | replace: '/assets/images/', '' }}{% endcapture %}
109
+ {% capture image_path %}{{site.blog_images_dir}}thumbs/{{post.image.thumb}}{% endcapture %}
110
+ {% capture full_path %}/{{site.blog_images_dir}}thumbs/{{post.image.thumb}}{% endcapture %}
111
+ {% responsive_image_block %}
112
+ template: _includes/thumb.html
113
+ path: {{ image_path }}
114
+ fullpath: {{ full_path }}
115
+ {% if post.title %}
116
+ title: {{ post.title | slugify: "ascii"}}
117
+ alt: {{ post.title | slugify: "ascii"}}
75
118
  {% endif %}
76
- {% picture blogThumb {{full_path}} alt=post.title %}
119
+ {% endresponsive_image_block %}
120
+ {% elsif post.image.name %}
121
+ {% capture image_path %}{{site.blog_images_dir}}{{post.image.name}}{% endcapture %}
122
+ {% capture full_path %}/{{site.blog_images_dir}}{{post.image.name}}{% endcapture %}
123
+ {% responsive_image_block %}
124
+ template: _includes/thumb.html
125
+ path: {{ image_path }}
126
+ fullpath: {{ full_path }}
127
+ {% if post.title %}
128
+ title: {{ post.title | slugify: "ascii"}}
129
+ alt: {{ post.title | slugify: "ascii"}}
130
+ {% endif %}
131
+ {% endresponsive_image_block %}
132
+ {% elsif post.image.path %}
133
+ {% capture image_path %}{{post.image.path | remove_first: '/' }}{% endcapture %}
134
+ {% capture full_path %}{{post.image.path }}{% endcapture %}
135
+ {% responsive_image_block %}
136
+ template: _includes/thumb.html
137
+ path: {{ image_path }}
138
+ fullpath: {{ full_path }}
139
+ {% if post.title %}
140
+ title: {{ post.title | slugify: "ascii"}}
141
+ alt: {{ post.title | slugify: "ascii"}}
142
+ {% endif %}
143
+ {% endresponsive_image_block %}
144
+ {% elsif post.image == site.data.settings.social_share_image %}
145
+ <img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="{{site.data.settings.placeholder}}"
146
+ alt="{{post.title}}" class="center-block img-responsive lazyload" />
147
+ {% elsif post.image %}
148
+ {% capture image_path %}{{post.image | remove_first: '/' }}{% endcapture %}
149
+ {% capture full_path %}{{post.image }}{% endcapture %}
150
+ {% responsive_image_block %}
151
+ template: _includes/thumb.html
152
+ path: {{ image_path }}
153
+ fullpath: {{ full_path }}
154
+ {% if post.title %}
155
+ title: {{ post.title | slugify: "ascii"}}
156
+ alt: {{ post.title | slugify: "ascii"}}
157
+ {% endif %}
158
+ {% endresponsive_image_block %}
159
+ {% else %}
160
+ <img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
161
+ data-src="{{site.data.settings.placeholder}}" alt="{{post.title}}" class="img-responsive lazyload"/>
162
+ {% endif %}
77
163
  </div>
78
164
  <div class="col-md-9 col-sm-9 col-xs-9 ">
79
165
  {{post.title | truncate: 40}}
@@ -1,34 +1,6 @@
1
- {% assign resizedImageTypes = "jpg,jpeg,png" | split: ',' %}
2
- {% assign resized = false %}
3
- {% for imageType in resizedImageTypes %}
4
- {% if include.path contains imageType %}
5
- {% assign resized = true %}
6
- {% endif %}
7
- {% endfor %}
8
-
9
- {% if resized %}
10
- {% assign webpImage = include.path | replace: "/assets/images", "/assets/images/webp"| split: "." %}
11
- {% assign webpImage = webpImage[0] | append: ".webp" %}
12
- {% assign imageType = "image/" | append: include.type %}
13
-
14
- {% assign smallImage = include.path | replace: '/assets/images' , '/assets/images/400' %}
15
- {% assign mediumImage = include.path | replace: '/assets/images' , '/assets/images/800' %}
16
- {% assign largeImage = include.path | replace: '/assets/images' , '/assets/images/1400' %}
17
-
18
1
  <picture>
19
- <!--[if IE 9]><video style="display: none;><![endif]-->
20
- <source data-srcset="{{smallImage | replace: '/assets/images', '/assets/images/webp' | replace: include.type, 'webp'}}" media="(max-width: 480px)" type="image/webp" />
21
- <source data-srcset="{{smallImage}}" media="(max-width: 480px)" type="{{imageType}}" />
22
- <source data-srcset="{{mediumImage | replace: '/assets/images', '/assets/images/webp' | replace: include.type, 'webp'}}" media="(max-width: 900px)" type="image/webp" />
23
- <source data-srcset="{{mediumImage}}" media="(max-width: 900px)" type="{{imageType}}" />
24
- <source data-srcset="{{largeImage | replace: '/assets/images', '/assets/images/webp' | replace: include.type, 'webp'}}" media="(max-width: 1400px)" type="image/webp" />
25
- <source data-srcset="{{largeImage}}" media="(max-width: 1400px)" type="{{imageType}}" />
26
- <source data-srcset="{{include.path | replace: '/assets/images', '/assets/images/webp' | replace: include.type, 'webp'}}" type="image/webp"/>
27
- <source data-srcset="{{include.path}}" type="{{imageType}}"/>
28
- <!--[if IE 9]></video><![endif]-->
29
- <img data-src="{{largeImage}}" class="lazyload" alt="{{include.alt}}" />
30
- </picture>
31
- {% else %}
32
- <img data-src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" src="{{include.image}}"
33
- alt="{{include.alt}}" class="lazyload"/>
34
- {% endif %}
2
+ {% for i in resized %}
3
+ <source media="(min-width: {{ i.width }}px)" data-srcset="/{{ i.path }}">
4
+ {% endfor %}
5
+ <img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="/{{ path }}" class="img-responsive lazyload">
6
+ </picture>
@@ -0,0 +1,2 @@
1
+ <img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="/{{resized[0].path}}"
2
+ class="img-responsive lazyload">
@@ -0,0 +1,10 @@
1
+ {% comment %}
2
+ This is a template for the jekyll-responsive-image plugin.
3
+ This will generate a picture element
4
+ {% endcomment %}
5
+ <picture>
6
+ {% for i in resized %}
7
+ <source media="(max-width: {{ i.width }}px)" data-srcset="/{{ i.path }}">
8
+ {% endfor %}
9
+ <img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="/{{ path }}" class="img-responsive lazyload">
10
+ </picture>
@@ -0,0 +1,10 @@
1
+ ---
2
+ layout: base
3
+ ---
4
+ {% include breadcrumb.html %}
5
+ <div class="row" id="content-container">
6
+ {% include sticky-tab-bar.html %}
7
+ <div class="container">
8
+ {{ content }}
9
+ </div>
10
+ </div>
@@ -0,0 +1,19 @@
1
+ ---
2
+ layout: base
3
+ ---
4
+ {% if page.jumbotron.carousel-images %}
5
+ {% include carousel-header.html images=page.jumbotron.carousel-images %}
6
+ {% include jumbotron.html %}
7
+ {% elsif page.jumbotron %}
8
+ {% include jumbotron.html %}
9
+ {% else %}
10
+ {% include breadcrumb.html %}
11
+ {% endif %}
12
+ <div class="row" id="content-container">
13
+ {% if page.sticky-tab-bar %}
14
+ {% include sticky-tab-bar.html %}
15
+ {% endif %}
16
+ <div class="container">
17
+ {{ content }}
18
+ </div>
19
+ </div>
@@ -0,0 +1,8 @@
1
+ ---
2
+ layout: base
3
+ ---
4
+ {% if page.carousel %}
5
+ {% include carousel-header.html images=site.page.images %}
6
+ {% endif %}
7
+ {% include jumbotron.html %}
8
+ {{content}}
@@ -9,8 +9,4 @@ layout: base
9
9
  {% else %}
10
10
  {% include breadcrumb.html %}
11
11
  {% endif %}
12
- {% if page.flow %}
13
- {% include flow.html flow=page.flow %}
14
- {% else %}
15
- {{content}}
16
- {% endif %}
12
+ {{content}}
@@ -3,18 +3,14 @@ layout: base
3
3
  title: Blog
4
4
  css-package: blog
5
5
  js-package: blog
6
- pagination:
7
- enabled: true
8
- category: blog
9
6
  ---
10
7
  <div class="row" id="content-container">
11
8
  <div class="container">
12
9
  {% include display-blog-posts.html %}
13
- {% if page.pagination_base_url %}
14
- {% assign paginationUrl = page.pagination_base_url | append: ':num/' %}
10
+ {% if page.news %}
11
+ {% include pagination.html path="/news/:num/"%}
15
12
  {% else %}
16
- {% assign paginationUrl = "/blog/:num/" %}
13
+ {% include pagination.html path="/blog/:num/"%}
17
14
  {% endif %}
18
- {% include pagination.html pagination_permalink=paginationUrl %}
19
15
  </div>
20
16
  </div>
@@ -3,13 +3,7 @@ layout: base
3
3
  js-package: blog
4
4
  css-package: blog
5
5
  ---
6
- <div class="row overlay background-image {% if page.image.background-class %}{{page.image.background-class}}{% endif %}" id="jumbotron">
7
- {% if page.image.path %}
8
- {% assign image_path = page.image.path | replace: '/assets/images/','' %}
9
- {% elsif page.image %}
10
- {% assign image_path = page.image | replace: '/assets/images/','' %}
11
- {% endif %}
12
- {% picture backgroundImage {{image_path}} alt=page.title %}
6
+ <div class="row overlay background-image {% if page.image.background-class %}{{page.image.background-class}}{% endif %}" id="jumbotron" style="background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('{% if page.image.path %}{{page.image.path}}{% else %}{{page.image}}{% endif %}');"> <!--Row -->
13
7
  <div id="jumbotron-content" class="flex-container"> <!--Jumbotron div -->
14
8
  <div class="container flex-center" id="jumbotron-text"> <!--Container -->
15
9
  <h1 id="jumbotron-heading">{{page.title}}</h1>
@@ -45,9 +45,6 @@ $footer-border-color: #eee !default;
45
45
  $footer-bg-color: #131313 !default;
46
46
  $footer-text-color: #fff !default;
47
47
  $sub-footer-color: #E5E5E5 !default;
48
- $footer-bottom-bg-color: $brand-primary !default;
49
- $footer-bottom-color: #fff !default;
50
- $footer-column-heading-font-size: 24px !default;
51
48
 
52
49
 
53
50
  // Breadcrumb
@@ -182,7 +182,7 @@ article {
182
182
  }
183
183
  }
184
184
  // BLOG SIDEBAR
185
- #wrapper .blog-sidebar {
185
+ .blog-sidebar {
186
186
  padding: 15px;
187
187
  margin-top: 40px;
188
188
  margin-bottom: 40px;
@@ -22,7 +22,7 @@
22
22
  }
23
23
  }
24
24
  h3 {
25
- font-size: $footer-column-heading-font-size;
25
+ font-size:24px;
26
26
  color: $footer-text-color;
27
27
  @media(max-width: $screen-sm-min - 1){
28
28
  text-align: center;
@@ -66,7 +66,7 @@
66
66
  color: $footer-text-color;
67
67
  a.email {
68
68
  text-align: left;
69
- font-size: $footer-column-heading-font-size;
69
+ font-size: 24px;
70
70
  display:inline-block;
71
71
  background-color: transparent;
72
72
  border: 0px;
@@ -128,8 +128,8 @@
128
128
  }
129
129
  }
130
130
  .footer-bottom {
131
- background-color: $footer-bottom-bg-color;
132
- color: $footer-bottom-color;
131
+ background-color: #1c1c1c;
132
+ color: #FFF;
133
133
  span.coloured-bp{
134
134
  color: $brand-primary;
135
135
  }
@@ -49,27 +49,6 @@
49
49
  background-position-y: 0px !important;
50
50
  background-position-x: center !important;
51
51
  }
52
- #jumbotron picture img {
53
- position: absolute;
54
- width: 100%;
55
- top: 0;
56
- left: 0px;
57
- object-fit: cover;
58
- height: 100%;
59
- }
60
- #jumbotron picture:before {
61
- content: '';
62
- position: absolute;
63
- top: 0;
64
- right: 0;
65
- bottom: 0;
66
- height: $jumbotron-height;
67
- left: 0;
68
- background-image: linear-gradient(to bottom right, #000, #000);
69
- opacity: .6;
70
- width: 100%;
71
- z-index: 1;
72
- }
73
52
  video#jumbotronVideo {
74
53
  position: absolute;
75
54
  right: 0;
@@ -0,0 +1,2 @@
1
+ /* Home Sass Partials */
2
+ @import 'core/homepage';
@@ -3,17 +3,12 @@
3
3
  @charset "UTF-8";
4
4
  //Bootstrap Overrides
5
5
  @import "app/overrides";
6
-
7
6
  //Boostrap Includes
8
- @import 'bootstrap';
9
- @import 'bootstrap/variables';
10
-
7
+ @import '_bootstrap';
11
8
  // Linaro Jekyll Theme Includes
12
9
  @import 'core';
13
-
14
10
  // Additional Core Includes
15
11
  @import 'blog';
16
-
17
12
  // App Includes
18
13
  @import "app/custom";
19
14
  @import "app/blog";
@@ -4,11 +4,10 @@
4
4
  // App Overrides - Sass variables
5
5
  @import "app/overrides";
6
6
  //Boostrap Includes
7
- @import 'bootstrap';
8
- @import 'bootstrap/variables';
7
+ @import '_bootstrap';
9
8
  // Core Theme
10
9
  @import 'core';
11
10
  //Additional Core includes
12
11
  @import "core/error";
13
12
  // App Includes
14
- @import "app/custom";
13
+ @import "app/custom";
@@ -4,9 +4,8 @@
4
4
  //Bootstrap Overrides
5
5
  @import "app/overrides";
6
6
  //Boostrap Includes
7
- @import 'bootstrap';
8
- @import 'bootstrap/variables';
7
+ @import '_bootstrap';
9
8
  // Linaro Jekyll Theme Includes
10
9
  @import "core";
11
10
  // App Includes
12
- @import "app/custom";
11
+ @import "app/custom";
@@ -0,0 +1,8 @@
1
+ <!-- <div id="fb-root"></div>
2
+ <script>(function(d, s, id) {
3
+ var js, fjs = d.getElementsByTagName(s)[0];
4
+ if (d.getElementById(id)) return;
5
+ js = d.createElement(s); js.id = id;
6
+ js.src = "//connect.facebook.net/en_GB/sdk.js#xfbml=1&version=v2.9&appId=155006367915796";
7
+ fjs.parentNode.insertBefore(js, fjs);
8
+ }(document, 'script', 'facebook-jssdk'));</script> -->
@@ -3,12 +3,6 @@ $(window).click(function() {
3
3
  $(".dropdown-submenu.sub-menu > .dropdown-menu.sub-menu").hide();
4
4
  });
5
5
  $(document).ready(function () {
6
- window.lazySizesConfig = window.lazySizesConfig || {};
7
- window.lazySizesConfig.customMedia = {
8
- '--small': '(max-width: 480px)',
9
- '--medium': '(max-width: 900px)',
10
- '--large': '(max-width: 1400px)',
11
- };
12
6
  // Clipboard JS
13
7
  if($("div.highlight").length > 0){
14
8
  $('div.highlight').each(function (index) {
@@ -9,5 +9,4 @@
9
9
 
10
10
  //= require app/main
11
11
  //= require app/search
12
- //= require app/tables
13
- //= require app/custom
12
+ //= require app/custom
@@ -11,4 +11,4 @@
11
11
  //= require app/main
12
12
  //= require app/search
13
13
  //= require app/tables
14
- //= require app/custom
14
+ //= require app/custom
@@ -2,14 +2,12 @@
2
2
  //= require vendor/bootstrap
3
3
  //= require vendor/cookieconsent
4
4
  //= require vendor/lazysizes
5
+ //= require vendor/owl.carousel
5
6
  //= require vendor/ls.unveilhooks
6
7
  //= require vendor/jquery.doubleScroll
7
- //= require vendor/owl.carousel
8
8
  //= require vendor/featherlight
9
9
 
10
10
  //= require app/main
11
- //= require app/tables
12
11
  //= require app/search
13
- //= require app/fly
14
12
  //= require app/sticky-tab-bar
15
- //= require app/custom
13
+ //= require app/custom
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jumbo-jekyll-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.8.4
4
+ version: 4.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle Kirkby
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '2.2'
41
41
  - !ruby/object:Gem::Dependency
42
- name: jekyll-4-picture-tag
42
+ name: jekyll-responsive-image
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
@@ -364,7 +364,6 @@ files:
364
364
  - _config.yml
365
365
  - _data/footer.yml
366
366
  - _data/nav.yml
367
- - _data/picture.yml
368
367
  - _data/settings.yml
369
368
  - _data/sidebar-nav.yml
370
369
  - _data/sticky-tab-bar.yml
@@ -402,10 +401,15 @@ files:
402
401
  - _includes/social-media-icons.html
403
402
  - _includes/sticky-tab-bar.html
404
403
  - _includes/thumb-image.html
404
+ - _includes/thumb.html
405
+ - _includes/thumbnail_image.html
405
406
  - _includes/universal-nav.html
406
407
  - _includes/youtube.html
407
408
  - _layouts/author.html
408
409
  - _layouts/base.html
410
+ - _layouts/container-breadcrumb-tabs.html
411
+ - _layouts/container-breadcrumb.html
412
+ - _layouts/container.html
409
413
  - _layouts/default.html
410
414
  - _layouts/error.html
411
415
  - _layouts/jumbotron-container.html
@@ -528,6 +532,7 @@ files:
528
532
  - _sass/core/universal-nav.scss
529
533
  - _sass/core/youtube-lazy.scss
530
534
  - _sass/core/youtube.scss
535
+ - _sass/home.scss
531
536
  - assets/css/main-blog.scss
532
537
  - assets/css/main-error.scss
533
538
  - assets/css/main-search.scss
@@ -568,6 +573,7 @@ files:
568
573
  - assets/images/social-media-image.png
569
574
  - assets/js/app/blog-comments.js
570
575
  - assets/js/app/custom.js
576
+ - assets/js/app/facebook.js
571
577
  - assets/js/app/fly.js
572
578
  - assets/js/app/main.js
573
579
  - assets/js/app/scroll-to-anchors.js
@@ -1,116 +0,0 @@
1
- # Example picture presets:
2
- # TODO: change to EMs, because safari sucks.
3
-
4
- # Media presets are used in several places:
5
- # - To specify alternate source images (for art direction)
6
- # - To build the 'sizes' attribute
7
- # - When given alternate source images, specify which sizes to generate.
8
- media_presets:
9
- wide_desktop: 'min-width: 1801px'
10
- desktop: 'max-width: 1800px'
11
- wide_tablet: 'max-width: 1200px'
12
- tablet: 'max-width: 900px'
13
- mobile: 'max-width: 600px'
14
-
15
- # Markup presets allow you to group settings together, and select one of them by name in your jekyll
16
- # tag. All settings are optional.
17
- markup_presets:
18
- default:
19
-
20
- # Optionally specify a markup type. Your current options are 'picture', 'img', or 'auto'
21
- # (default).
22
- markup: auto
23
-
24
- # Must be an array, in order of decreasing preference. Defaults to just 'original'.
25
- formats: [original]
26
-
27
- # Must be an array: which image sizes (width in pixels) to generate (unless directed otherwise
28
- # below). If not specified, will use sensible default values.
29
- widths: [200, 400, 800, 1600]
30
-
31
- # Alternate source images (for art direction) are associated with media query presets. Here, you
32
- # can optionally specify a different set of sizes to generate for those alternate source images.
33
- # This is how you avoid generating a 1800 pixel wide image that's only shown on narrow screens.
34
- # Must be arrays.
35
- media_widths:
36
- mobile: [200, 400, 600]
37
- tablet: [400, 600, 800]
38
-
39
- # Specifies an optional, unconditional size attribute. Can be given alone, or if specified in
40
- # combination with 'sizes' below, will be given last (when no media queries apply).
41
- size: 800px
42
-
43
- # For building the 'sizes' attribute on img and source tags. specifies how wide the image will
44
- # be when a given media query is true. Note that every source in a given <picture> tag will have
45
- # the same associated sizes attribute.
46
- sizes:
47
- mobile: 100vw
48
- desktop: 60vw
49
-
50
- # Specify the properties of the fallback image. If not specified, will return a 900 pixel
51
- # wide image in the original format.
52
- fallback_width: 800
53
- fallback_format: original
54
-
55
- # Attributes can be added to each HTML element, by type:
56
- attributes:
57
- picture: 'class="awesome" data-volume="11"'
58
- img: 'class="some-other-class"'
59
-
60
- # This is an example of how you would create a 'multiplier' based srcset; useful when an image
61
- # will always be the same size on all screens, but you'd like to supply higher resolution images
62
- # to devices with higher pixel ratios.
63
- icon:
64
- base_width: 20
65
- pixel_ratios: [1, 1.5, 2]
66
- fallback_width: 20
67
- attributes:
68
- img: 'class="icon"'
69
-
70
- # Here's an example of how you'd configure jekyll-picture-tag to work with something like
71
- # lazyload:
72
- # https://github.com/verlok/lazyload
73
- lazy:
74
- markup: data_picture
75
- formats: [original]
76
- widths: [400, 750, 1000]
77
- noscript: true # Default: false
78
- attributes:
79
- img: class="lazyload"
80
-
81
- thumb:
82
- markup: data_picture
83
- formats: [original]
84
- widths: [400, 750, 1000]
85
- noscript: true # Default: false
86
- attributes:
87
- img: class="lazyload"
88
-
89
- blogThumb:
90
- markup: data_picture
91
- formats: [original]
92
- widths: [50, 100, 200]
93
- noscript: true # Default: false
94
- attributes:
95
- img: class="lazyload img-responsive"
96
-
97
- placeholder:
98
- markup: data_picture
99
- formats: [original]
100
- noscript: true # Default: false
101
- attributes:
102
- img: class="lazyload"
103
-
104
- backgroundImage:
105
- markup: data_picture
106
- widths: [400, 800, 1100, 1400]
107
- formats: [original]
108
- noscript: true # Default: false
109
- attributes:
110
- img: class="lazyload"
111
-
112
- # This is an example of how you'd get generated image and a URL, and nothing else.
113
- direct:
114
- markup: direct_url
115
- fallback_format: Default original
116
- fallback_width: 600 # Default 800