j1-template 2022.0.12 → 2022.0.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/assets/themes/j1/adapter/js/advertising.js +61 -32
  3. data/assets/themes/j1/adapter/js/algolia.js +9 -9
  4. data/assets/themes/j1/adapter/js/analytics.js +46 -24
  5. data/assets/themes/j1/adapter/js/asciidoctor.js +9 -9
  6. data/assets/themes/j1/adapter/js/attic.js +9 -1
  7. data/assets/themes/j1/adapter/js/bmd.js +9 -10
  8. data/assets/themes/j1/adapter/js/carousel.js +9 -9
  9. data/assets/themes/j1/adapter/js/clipboard.js +8 -8
  10. data/assets/themes/j1/adapter/js/comments.js +31 -10
  11. data/assets/themes/j1/adapter/js/cookieConsent.js +70 -78
  12. data/assets/themes/j1/adapter/js/fab.js +10 -10
  13. data/assets/themes/j1/adapter/js/framer.js +59 -58
  14. data/assets/themes/j1/adapter/js/j1.js +139 -92
  15. data/assets/themes/j1/adapter/js/justifiedGallery.js +11 -10
  16. data/assets/themes/j1/adapter/js/justifiedGalleryCustomizer.js +9 -9
  17. data/assets/themes/j1/adapter/js/lightbox.js +11 -4
  18. data/assets/themes/j1/adapter/js/logger.js +10 -3
  19. data/assets/themes/j1/adapter/js/mmenu.js +9 -9
  20. data/assets/themes/j1/adapter/js/navigator.js +9 -9
  21. data/assets/themes/j1/adapter/js/quicksearch.js +9 -9
  22. data/assets/themes/j1/adapter/js/rouge.js +9 -9
  23. data/assets/themes/j1/adapter/js/rtable.js +9 -9
  24. data/assets/themes/j1/adapter/js/rtextResizer.js +9 -9
  25. data/assets/themes/j1/adapter/js/scroller.js +12 -7
  26. data/assets/themes/j1/adapter/js/themer.js +11 -2
  27. data/assets/themes/j1/adapter/js/toccer.js +9 -9
  28. data/assets/themes/j1/adapter/js/translator.js +13 -16
  29. data/assets/themes/j1/modules/advertising/js/google/adInitializer.js +14 -4
  30. data/lib/j1/version.rb +1 -1
  31. data/lib/starter_web/Gemfile +1 -1
  32. data/lib/starter_web/_config.yml +1 -1
  33. data/lib/starter_web/_data/layouts/home.ads.yml +262 -0
  34. data/lib/starter_web/_data/layouts/home.no-ads.yml +262 -0
  35. data/lib/starter_web/_data/layouts/home.yml +1 -1
  36. data/lib/starter_web/_data/modules/advertising.yml +1 -2
  37. data/lib/starter_web/_data/modules/analytics.yml +1 -1
  38. data/lib/starter_web/_data/modules/cookies.yml +0 -2
  39. data/lib/starter_web/_data/modules/defaults/advertising.yml +0 -1
  40. data/lib/starter_web/_data/modules/defaults/comments.yml +4 -4
  41. data/lib/starter_web/_data/modules/defaults/cookies.yml +104 -36
  42. data/lib/starter_web/_includes/attributes.asciidoc +1 -1
  43. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  44. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +1 -1
  45. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.adoc +1 -1
  46. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.ads.asciidoc +1 -1
  47. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.comments.asciidoc +1 -1
  48. data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-site-generators.adoc +1 -1
  49. data/lib/starter_web/collections/posts/public/featured/_posts/2021-03-03-about-j1.adoc +1 -1
  50. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-wiki-series.adoc +1 -1
  51. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-wiki-series.adoc +1 -1
  52. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-wiki-series.adoc +1 -1
  53. data/lib/starter_web/index.html +0 -3
  54. data/lib/starter_web/package.json +1 -1
  55. data/lib/starter_web/pages/public/manuals/dropdown-help.adoc +23 -2
  56. data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +100 -166
  57. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  58. data/lib/starter_web/utilsrv/package.json +1 -1
  59. metadata +4 -2
@@ -101,7 +101,15 @@ j1.adapter.rtable = (function (j1, window) {
101
101
  init: function (options) {
102
102
 
103
103
  // -----------------------------------------------------------------------
104
- // globals
104
+ // Default module settings
105
+ // -----------------------------------------------------------------------
106
+ var settings = $.extend({
107
+ module_name: 'j1.adapter.rtable',
108
+ generated: '{{site.time}}'
109
+ }, options);
110
+
111
+ // -----------------------------------------------------------------------
112
+ // Global variable settings
105
113
  // -----------------------------------------------------------------------
106
114
  _this = j1.adapter.rtable;
107
115
  logger = log4javascript.getLogger('j1.adapter.rtable');
@@ -111,14 +119,6 @@ j1.adapter.rtable = (function (j1, window) {
111
119
  logger.info('\n' + 'state: ' + _this.getState());
112
120
  logger.info('\n' + 'module is being initialized');
113
121
 
114
- // -----------------------------------------------------------------------
115
- // Default module settings
116
- // -----------------------------------------------------------------------
117
- var settings = $.extend({
118
- module_name: 'j1.adapter.rtable',
119
- generated: '{{site.time}}'
120
- }, options);
121
-
122
122
  // create settings object from frontmatterOptions
123
123
  frontmatterOptions = options != null ? $.extend({}, options) : {};
124
124
  moduleOptions = $.extend({}, {{rtable_options | replace: 'nil', 'null' | replace: '=>', ':' }});
@@ -111,7 +111,15 @@ j1.adapter.rtextResizer = (function (j1, window) {
111
111
  init: function (options) {
112
112
 
113
113
  // -----------------------------------------------------------------------
114
- // globals
114
+ // Default module settings
115
+ // -----------------------------------------------------------------------
116
+ var settings = $.extend({
117
+ module_name: 'j1.adapter.rtextResizer',
118
+ generated: '{{site.time}}'
119
+ }, options);
120
+
121
+ // -----------------------------------------------------------------------
122
+ // Global variable settings
115
123
  // -----------------------------------------------------------------------
116
124
  _this = j1.adapter.rtextResizer;
117
125
  logger = log4javascript.getLogger('j1.adapter.rtextResizer');
@@ -121,14 +129,6 @@ j1.adapter.rtextResizer = (function (j1, window) {
121
129
  logger.info('\n' + 'state: ' + _this.getState());
122
130
  logger.info('\n' + 'module is being initialized');
123
131
 
124
- // -----------------------------------------------------------------------
125
- // Default module settings
126
- // -----------------------------------------------------------------------
127
- var settings = $.extend({
128
- module_name: 'j1.adapter.rtextResizer',
129
- generated: '{{site.time}}'
130
- }, options);
131
-
132
132
  {% comment %} Load gallery config from yml data
133
133
  -------------------------------------------------------------------------- {% endcomment %}
134
134
  /* eslint-disable */
@@ -97,8 +97,18 @@ var lastPageInfo;
97
97
  // adapter initializer
98
98
  // -------------------------------------------------------------------------
99
99
  init: function (options) {
100
- {% comment %} Set global variables
101
- -------------------------------------------------------------------------- {% endcomment %}
100
+
101
+ // -----------------------------------------------------------------------
102
+ // Default module settings
103
+ // -----------------------------------------------------------------------
104
+ var settings = $.extend({
105
+ module_name: 'j1.adapter.scroller',
106
+ generated: '{{site.time}}'
107
+ }, options);
108
+
109
+ // -----------------------------------------------------------------------
110
+ // Global variable settings
111
+ // -----------------------------------------------------------------------
102
112
  _this = j1.adapter.scroller;
103
113
  logger = log4javascript.getLogger('j1.adapter.scroller');
104
114
 
@@ -108,11 +118,6 @@ var lastPageInfo;
108
118
  logger.info('\n' + 'module is being initialized');
109
119
 
110
120
 
111
- // default module settings
112
- var settings = $.extend({
113
- module_name: 'j1.adapter.scroller',
114
- generated: '{{site.time}}'
115
- }, options);
116
121
 
117
122
  _this.generate_scrollers();
118
123
 
@@ -159,9 +159,18 @@ j1.adapter.themer = (function (j1, window) {
159
159
  // -------------------------------------------------------------------------
160
160
  // initializer
161
161
  // -------------------------------------------------------------------------
162
- init: function () {
162
+ init: function (options) {
163
+
164
+ // -----------------------------------------------------------------------
165
+ // Default module settings
166
+ // -----------------------------------------------------------------------
167
+ var settings = $.extend({
168
+ module_name: 'j1.adapter.themer',
169
+ generated: '{{site.time}}'
170
+ }, options);
171
+
163
172
  // -----------------------------------------------------------------------
164
- // globals
173
+ // Global variable settings
165
174
  // -----------------------------------------------------------------------
166
175
  _this = j1.adapter.themer;
167
176
  url = new liteURL(window.location.href);
@@ -117,7 +117,15 @@ j1.adapter.toccer = (function () {
117
117
  init: function (options) {
118
118
 
119
119
  // -----------------------------------------------------------------------
120
- // globals
120
+ // Default module settings
121
+ // -----------------------------------------------------------------------
122
+ var settings = $.extend({
123
+ module_name: 'j1.adapter.toccer',
124
+ generated: '{{site.time}}'
125
+ }, options);
126
+
127
+ // -----------------------------------------------------------------------
128
+ // Global variable settings
121
129
  // -----------------------------------------------------------------------
122
130
  _this = j1.adapter.toccer;
123
131
  logger = log4javascript.getLogger('j1.adapter.toccer');
@@ -130,14 +138,6 @@ j1.adapter.toccer = (function () {
130
138
  // create settings object from frontmatterOptions
131
139
  var frontmatterOptions = options != null ? $.extend({}, options) : {};
132
140
 
133
- // -----------------------------------------------------------------------
134
- // defaults
135
- // -----------------------------------------------------------------------
136
- var settings = $.extend({
137
- module_name: 'j1.adapter.toccer',
138
- generated: '{{site.time}}'
139
- }, options);
140
-
141
141
  // -----------------------------------------------------------------------
142
142
  // options loader
143
143
  // -----------------------------------------------------------------------
@@ -37,17 +37,16 @@ regenerate: true
37
37
  -------------------------------------------------------------------------------- {% endcomment %}
38
38
  {% assign cookie_defaults = modules.defaults.cookies.defaults %}
39
39
  {% assign cookie_settings = modules.cookies.settings %}
40
-
41
- {% assign tracking_enabled = modules.analytics.settings.enabled %}
42
-
43
40
  {% assign translator_defaults = modules.defaults.translator.defaults %}
44
41
  {% assign translator_settings = modules.translator.settings %}
45
42
 
46
-
47
43
  {% comment %} Set config options
48
44
  -------------------------------------------------------------------------------- {% endcomment %}
49
- {% assign translator_options = translator_defaults | merge: translator_settings %}
50
45
  {% assign cookie_options = cookie_defaults | merge: cookie_settings %}
46
+ {% assign translator_options = translator_defaults | merge: translator_settings %}
47
+
48
+ {% comment %} Set variables
49
+ -------------------------------------------------------------------------------- {% endcomment %}
51
50
 
52
51
  {% assign production = false %}
53
52
  {% if environment == 'prod' or environment == 'production' %}
@@ -84,9 +83,7 @@ regenerate: true
84
83
  'use strict';
85
84
 
86
85
  j1.adapter.translator = (function (j1, window) {
87
-
88
86
  var environment = '{{environment}}';
89
- var tracking_enabled = ('{{tracking_enabled}}' === 'true') ? true: false; // Analytics/GA enabled?
90
87
  var moduleOptions = {};
91
88
  var user_translate = {};
92
89
  var _this;
@@ -122,7 +119,15 @@ j1.adapter.translator = (function (j1, window) {
122
119
  init: function (options) {
123
120
 
124
121
  // -----------------------------------------------------------------------
125
- // globals
122
+ // Default module settings
123
+ // -----------------------------------------------------------------------
124
+ var settings = $.extend({
125
+ module_name: 'j1.adapter.translator',
126
+ generated: '{{site.time}}'
127
+ }, options);
128
+
129
+ // -----------------------------------------------------------------------
130
+ // Global variable settings
126
131
  // -----------------------------------------------------------------------
127
132
  _this = j1.adapter.translator;
128
133
  logger = log4javascript.getLogger('j1.adapter.translator');
@@ -154,14 +159,6 @@ j1.adapter.translator = (function (j1, window) {
154
159
  // initialize state flag
155
160
  _this.state = 'pending';
156
161
 
157
- // -----------------------------------------------------------------------
158
- // Default module settings
159
- // -----------------------------------------------------------------------
160
- var settings = $.extend({
161
- module_name: 'j1.adapter.translator',
162
- generated: '{{site.time}}'
163
- }, options);
164
-
165
162
  {% comment %} Load module config from yml data
166
163
  -------------------------------------------------------------------------- {% endcomment %}
167
164
  // Load module DEFAULTS|CONFIG
@@ -80,13 +80,23 @@ $(document).ready(function() {
80
80
  // [INFO ] [j1.adapter.advertising ] [ detected advertising provider: {{advertising_provider}}} ]
81
81
  // [INFO ] [j1.adapter.advertising ] [ advertising detected as: {{advertising}} ]
82
82
  {% if advertising %}
83
- var logger = log4javascript.getLogger('j1.core.advertising.google');
84
- var ads_found = document.getElementsByClassName('adsbygoogle').length;
85
- var cookie_names = j1.getCookieNames();
86
- var user_consent = j1.readCookie(cookie_names.user_consent);
83
+ var logger = log4javascript.getLogger('j1.core.advertising.google');
84
+ var ads_found = document.getElementsByClassName('adsbygoogle').length;
85
+ var cookie_names = j1.getCookieNames();
86
+ var user_consent = j1.readCookie(cookie_names.user_consent);
87
+ var providerID = '{{advertising_options.google.publisherID}}';
88
+ var validProviderID = (providerID.includes('your')) ? false : true;
89
+ var advertisingProvider = 'Google Adsense';
87
90
 
88
91
  var dependencies_met_page_ready = setInterval (function (options) {
89
92
  if (j1.getState() === 'finished') {
93
+
94
+ if (!validProviderID) {
95
+ logger.warn('\n' + 'disabled provider: ' + advertisingProvider);
96
+ clearInterval(dependencies_met_page_ready);
97
+ return false;
98
+ }
99
+
90
100
  if (user_consent.personalization) {
91
101
  if (ads_found) {
92
102
  logger.info('\n' + 'initialize all ads in page: #' + ads_found);
data/lib/j1/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module J1
2
- VERSION = '2022.0.12'
2
+ VERSION = '2022.0.13'
3
3
  end
@@ -53,7 +53,7 @@ gem 'jekyll', '~> 4.2'
53
53
 
54
54
  # Theme Rubies, default: J1 Template (NOT used for the development system)
55
55
  #
56
- gem 'j1-template', '~> 2022.0.12'
56
+ gem 'j1-template', '~> 2022.0.13'
57
57
 
58
58
  # ------------------------------------------------------------------------------
59
59
  # PRODUCTION: Gem needed for the Jekyll and J1 prod environment
@@ -53,7 +53,7 @@ environment: development
53
53
  # ------------------------------------------------------------------------------
54
54
  # Sets the build version of J1 Template Gem
55
55
  #
56
- version: 2022.0.12
56
+ version: 2022.0.13
57
57
 
58
58
  # version
59
59
  # ------------------------------------------------------------------------------
@@ -0,0 +1,262 @@
1
+ # ------------------------------------------------------------------------------
2
+ # ~/_data/layouts/home.yml
3
+ # Configuration data to specify the (HTML) Layout of all content
4
+ # pages of type HOME placed by the content loader
5
+ #
6
+ # Product/Info:
7
+ # https://jekyll.one
8
+ #
9
+ # Copyright (C) 2021 Juergen Adams
10
+ #
11
+ # J1 Template is licensed under the MIT License.
12
+ # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
13
+ #
14
+ # ------------------------------------------------------------------------------
15
+ # NOTE:
16
+ # By J1 template, "Liquid Procedures" are being used intensively. To load
17
+ # HTML data for a layout, the loader procedure places the data based this
18
+ # YAML data file into the REGION specified with a LANE.
19
+ # ------------------------------------------------------------------------------
20
+
21
+ # ------------------------------------------------------------------------------
22
+ # Layout configuration settings
23
+ #
24
+ # lanes|lane
25
+ # ----------------------------------------------------------------------------
26
+ # Set LANE specific configuration parameters for a page LAYOUT. The
27
+ # LANES array contains multiple (lane) hashes that describes the type
28
+ # of the component that is loaded into a lane and their specific
29
+ # (placement) parameters.
30
+ #
31
+ # region
32
+ # ----------------------------------------------------------------------------
33
+ # J1 templates defines, based on the general structure of a HTML page
34
+ # (head|body), more specific REGIONS based on HTML5 semantic elements
35
+ # to place HTML data:
36
+ #
37
+ # head <head> section. Contains (site-wide) meta data and
38
+ # all CSS and JS files are to be loaded for a page.
39
+ # body-navigation <body> NAV section. Contains the main navigation bar.
40
+ # Placed a the BEGINNING of the <body> section.
41
+ # body-header <body> HEADER section. Contains the page banner (header).
42
+ # Placed AFTER the page navigation but BEFORE the main
43
+ # content (body-main) of a page.
44
+ # body-main <body> MAIN section. J1 template puts a <main> container
45
+ # element in the <body> section to place the (main) content.
46
+ # All content related elements are loaded into the region
47
+ # 'body-main'. Content may components like boxes, panels,
48
+ # quotes etc. and the document content like sections and
49
+ # articles.
50
+ # body-footer <body> FOOTER section. J1 template puts a <footer> element
51
+ # at the end of the <BODY> section. The body-footer region
52
+ # contains all elements that should be loaded at the end
53
+ # of a page; typically the page footer.
54
+ #
55
+ # values: head|body-navigation|body-header|body-main|body-footer
56
+ # default: no defaults
57
+ #
58
+ # type
59
+ # ----------------------------------------------------------------------------
60
+ # The (HTML) content of a lane can be included (from an include file) or
61
+ # loaded asychronously from a HTML data file by AJAX (get|load) calls.
62
+ # J1 template is using jQuery as an interface to AJAX calls.
63
+ #
64
+ # values: include|load
65
+ # default: no defaults
66
+ #
67
+ # source
68
+ # ----------------------------------------------------------------------------
69
+ # The parameter source defines a (site root relativ) path to the data
70
+ # source to be included or loaded.
71
+ #
72
+ # values: string (path)
73
+ # default: no defaults
74
+ #
75
+ # file
76
+ # ----------------------------------------------------------------------------
77
+ # Defines the data file to be included or loaded.
78
+ #
79
+ # values: string
80
+ # default: no defaults
81
+ #
82
+ # id
83
+ # ----------------------------------------------------------------------------
84
+ # Used for AJAX load calls (see parameter type). The id is used twice. First,
85
+ # id references a HTML fragment as part of the (HTML) data file (see parameter
86
+ # data below). Second, the id is used to identify the placeholder (div)
87
+ # element where the AJAX call puts the data on.
88
+ #
89
+ # values: string
90
+ # default: no defaults
91
+ #
92
+ # class
93
+ # ----------------------------------------------------------------------------
94
+ # Additional CSS classes that are put on the placeholder (div) element.
95
+ # Can be used for type 'load', only.
96
+ #
97
+ # values: string (CSS class name)
98
+ # default: no defaults
99
+ #
100
+ # ------------------------------------------------------------------------------
101
+
102
+ # ------------------------------------------------------------------------------
103
+ # Layout configuration settings
104
+ #
105
+ lanes:
106
+
107
+ # ----------------------------------------------------------------------------
108
+ # MASTER header
109
+ #
110
+ - lane:
111
+ enabled: true
112
+ region: body-header
113
+ type: sync
114
+ base: _includes/themes/j1
115
+ path: modules/attics
116
+ file: generator.html
117
+
118
+ # ----------------------------------------------------------------------------
119
+ # MASTER slider
120
+ #
121
+ - lane:
122
+ enabled: false
123
+ id: master_slider
124
+ region: body-header
125
+ type: async
126
+ properties: mb-0
127
+
128
+ # ----------------------------------------------------------------------------
129
+ # Top Advertisment
130
+ #
131
+ - lane:
132
+ enabled: false
133
+ region: body-header
134
+ id: google_ad_top_home
135
+ type: sync
136
+ base: _includes/themes/j1
137
+ path: modules/ads
138
+ file: google_ad_top_home.html
139
+
140
+ # ----------------------------------------------------------------------------
141
+ # PAGE CONTENT (region body-main)
142
+ #
143
+ # NOTE:
144
+ # The CONTENT of a post or page may already rendered (page contains HTML
145
+ # data) or unrendered (page contains MARKUP data). In both cases, rendered
146
+ # or unrendered content, a valid FRONTMATTER is needed to pass the data.
147
+ #
148
+ # The CONTENT generation for posts and pages depends on the data type,
149
+ # the MARKUP language (Markdown, Asciidoc) the page is using. The data
150
+ # type is specified by the file EXTENSION (e.g. ".md" for Markdown or
151
+ # ".adoc" for Asciidoc formatted content).
152
+ #
153
+ # To enable Jekyll running the render phase, the respective processor
154
+ # (e.g.kramdown for MARKDOWN or asciidoctor for ASCIIDOC) needs to be
155
+ # loaded and configured (Gemfile and the side-wide configuration file
156
+ # _config.yml).
157
+ #
158
+ # NOTE:
159
+ # The CONTENT of a PAGE is passed trough a (Liquid) wrapper procedure
160
+ # (page_content.html) to add or inject specific ADDITIONAL data like
161
+ # a TOC etc. that influences the resulting page.
162
+ #
163
+ # To modify the wrapper, DO NOT CHANGE the template files. See with
164
+ # ***URL*** how to create your own wrapper (and OVERLOAD the J1 template
165
+ # system with the data you provided).
166
+ #
167
+ # ----------------------------------------------------------------------------
168
+
169
+ # ----------------------------------------------------------------------------
170
+ # TEASER banner
171
+ #
172
+ - lane:
173
+ enabled: true
174
+ id: home_teaser_banner
175
+ region: body-main
176
+ type: async
177
+ properties: g-2 elevated-z0
178
+
179
+ # ----------------------------------------------------------------------------
180
+ # SERVICE panel
181
+ #
182
+ - lane:
183
+ enabled: false
184
+ id: home_service_panel
185
+ region: body-main
186
+ type: async
187
+ properties: g-2 elevated-z0
188
+
189
+ # ----------------------------------------------------------------------------
190
+ # DIVIDER banner
191
+ #
192
+ - lane:
193
+ enabled: false
194
+ id: divider-1
195
+ region: body-main
196
+ type: async
197
+ properties: mt-4 mr-5 mb-4 ml-5
198
+
199
+ # ----------------------------------------------------------------------------
200
+ # Page Advertisment
201
+ #
202
+ - lane:
203
+ enabled: false
204
+ region: body-main
205
+ id: google_ad_content_home
206
+ type: sync
207
+ base: _includes/themes/j1
208
+ path: modules/ads
209
+ file: google_ad_content_home.html
210
+
211
+ # ----------------------------------------------------------------------------
212
+ # INTRO panel
213
+ #
214
+ - lane:
215
+ enabled: true
216
+ id: home_intro_panel
217
+ region: body-main
218
+ type: async
219
+ properties: g-2 elevated-z2
220
+
221
+ # ----------------------------------------------------------------------------
222
+ # PARALLAX banner
223
+ #
224
+ - lane:
225
+ enabled: true
226
+ id: home_parallax_banner
227
+ region: body-main
228
+ type: async
229
+ properties: elevated-z0
230
+
231
+ # ----------------------------------------------------------------------------
232
+ # IMAGE banner
233
+ #
234
+ - lane:
235
+ enabled: false
236
+ id: home_image_banner
237
+ region: body-main
238
+ type: async
239
+ properties: mb-3
240
+
241
+ # ----------------------------------------------------------------------------
242
+ # NEWS panel
243
+ #
244
+ - lane:
245
+ enabled: true
246
+ id: home_news_panel
247
+ region: body-main
248
+ type: async
249
+ properties: g-2 elevated-z2
250
+
251
+ # ----------------------------------------------------------------------------
252
+ # FAB
253
+ #
254
+ - lane:
255
+ enabled: true
256
+ id: fab-container
257
+ region: body-main
258
+ type: async
259
+ properties: elevated-z0
260
+
261
+ # ------------------------------------------------------------------------------
262
+ # END config