j1-template 2023.0.13 → 2023.0.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/assets/data/banner.html +2 -2
  3. data/assets/data/cookieconsent.html +19 -19
  4. data/assets/data/translator.html +9 -10
  5. data/assets/themes/j1/adapter/js/advertising.js +21 -8
  6. data/assets/themes/j1/adapter/js/analytics.js +24 -8
  7. data/assets/themes/j1/adapter/js/carousel.js +10 -13
  8. data/assets/themes/j1/adapter/js/clipboard.js +8 -1
  9. data/assets/themes/j1/adapter/js/comments.js +193 -198
  10. data/assets/themes/j1/adapter/js/cookieConsent.js +27 -20
  11. data/assets/themes/j1/adapter/js/dropdowns.js +7 -10
  12. data/assets/themes/j1/adapter/js/fab.js +10 -17
  13. data/assets/themes/j1/adapter/js/framer.js +27 -31
  14. data/assets/themes/j1/adapter/js/j1.js +2 -0
  15. data/assets/themes/j1/adapter/js/justifiedGallery.js +15 -15
  16. data/assets/themes/j1/adapter/js/lightbox.js +25 -16
  17. data/assets/themes/j1/adapter/js/logger.js +13 -7
  18. data/assets/themes/j1/adapter/js/lunr.js +9 -11
  19. data/assets/themes/j1/adapter/js/masonry.js +9 -11
  20. data/assets/themes/j1/adapter/js/masterslider.js +28 -25
  21. data/assets/themes/j1/adapter/js/nbinteract.js +20 -15
  22. data/assets/themes/j1/adapter/js/particles.js +9 -7
  23. data/assets/themes/j1/adapter/js/rangeSlider.js +11 -13
  24. data/assets/themes/j1/adapter/js/rouge.js +1 -0
  25. data/assets/themes/j1/adapter/js/rtable.js +11 -13
  26. data/assets/themes/j1/adapter/js/scroller.js +18 -2
  27. data/assets/themes/j1/adapter/js/themer.js +23 -16
  28. data/assets/themes/j1/adapter/js/toccer.js +16 -20
  29. data/assets/themes/j1/adapter/js/translator.js +31 -40
  30. data/assets/themes/j1/adapter/js/waves.js +9 -7
  31. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +0 -2
  32. data/assets/themes/j1/modules/translator/css/translator.css +14 -6
  33. data/assets/themes/j1/modules/translator/css/translator.min.css +1 -1
  34. data/lib/j1/version.rb +1 -1
  35. data/lib/starter_web/Gemfile +1 -1
  36. data/lib/starter_web/README.md +5 -5
  37. data/lib/starter_web/_config.yml +2 -2
  38. data/lib/starter_web/_data/blocks/panel.yml +11 -8
  39. data/lib/starter_web/_data/j1_config.yml +432 -432
  40. data/lib/starter_web/_data/modules/analytics.yml +2 -65
  41. data/lib/starter_web/_data/modules/comments.yml +11 -1
  42. data/lib/starter_web/_data/modules/defaults/analytics.yml +3 -3
  43. data/lib/starter_web/_data/modules/defaults/comments.yml +0 -25
  44. data/lib/starter_web/_data/modules/defaults/cookieconsent.yml +74 -56
  45. data/lib/starter_web/_data/modules/defaults/translator.yml +44 -35
  46. data/lib/starter_web/_data/modules/scroller.yml +1 -1
  47. data/lib/starter_web/_data/resources.yml +16 -16
  48. data/lib/starter_web/_data/templates/feed.xml +1 -1
  49. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  50. data/lib/starter_web/package.json +1 -1
  51. data/lib/starter_web/pages/public/about/site.adoc +76 -76
  52. data/lib/starter_web/pages/public/learn/roundtrip/asciidoc_extensions.adoc +2 -2
  53. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  54. data/lib/starter_web/utilsrv/package.json +1 -1
  55. metadata +2 -2
@@ -83,9 +83,10 @@ j1.adapter.rangeSlider = (function (j1, window) {
83
83
  {% comment %} Set global variables
84
84
  ------------------------------------------------------------------------------ {% endcomment %}
85
85
  var environment = '{{environment}}';
86
- var moduleOptions = {};
87
86
  var instances = [];
88
- var frontmatterOptions;
87
+ var rangeSliderDefaults;
88
+ var rangeSliderSettings;
89
+ var rangeSliderOptions;
89
90
  var elms;
90
91
  var _this;
91
92
  var logger;
@@ -131,13 +132,10 @@ j1.adapter.rangeSlider = (function (j1, window) {
131
132
  _this = j1.adapter.rangeSlider;
132
133
  logger = log4javascript.getLogger('j1.adapter.rangeSlider');
133
134
 
134
- // create settings object from frontmatterOptions
135
- frontmatterOptions = options != null ? $.extend({}, options) : {};
136
- moduleOptions = $.extend({}, {{range_slider_options | replace: 'nil', 'null' | replace: '=>', ':' }});
137
-
138
- if (typeof frontmatterOptions !== 'undefined') {
139
- moduleOptions = $.extend({}, moduleOptions, frontmatterOptions);;
140
- }
135
+ // Load module DEFAULTS|CONFIG
136
+ rangeSliderDefaults = $.extend({}, {{range_slider_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
137
+ rangeSliderSettings = $.extend({}, {{range_slider_settings | replace: 'nil', 'null' | replace: '=>', ':' }});
138
+ rangeSliderOptions = $.extend(true, {}, rangeSliderDefaults, rangeSliderSettings);
141
139
 
142
140
  var dependencies_met_j1_finished = setInterval(function() {
143
141
  if (j1.getState() == 'finished') {
@@ -153,9 +151,9 @@ j1.adapter.rangeSlider = (function (j1, window) {
153
151
  if (elms.length) {
154
152
  logger.info('\n' + 'number of rangeSlider elements found: ' + elms.length);
155
153
 
156
- // -------------------------------------------------------------------
154
+ // ---------------------------------------------------------------
157
155
  // slider initializer
158
- // -------------------------------------------------------------------
156
+ // ---------------------------------------------------------------
159
157
  var log_text = '\n' + 'rangeSlider elements are being initialized';
160
158
  logger.info(log_text);
161
159
 
@@ -163,7 +161,7 @@ j1.adapter.rangeSlider = (function (j1, window) {
163
161
  {% assign slider_id = item.slider.id %}
164
162
 
165
163
  {% comment %} load default options
166
- ---------------------------------------------------------------------- {% endcomment %}
164
+ ---------------------------------------------------------------- {% endcomment %}
167
165
  {% assign start = range_slider_options.options.start %}
168
166
  {% assign connect = range_slider_options.options.connect %}
169
167
  {% assign step = range_slider_options.options.step %}
@@ -173,7 +171,6 @@ j1.adapter.rangeSlider = (function (j1, window) {
173
171
  {% assign format_decimals = range_slider_options.options.format.decimals %}
174
172
  {% assign cbOnUpdate = range_slider_options.options.cbOnUpdate %}
175
173
 
176
-
177
174
  {% comment %} overload defaults by slider options
178
175
  ---------------------------------------------------------------- {% endcomment %}
179
176
  {% if item.slider.options.title %} {% assign title = item.slider.options.title %} {% endif %}
@@ -187,6 +184,7 @@ j1.adapter.rangeSlider = (function (j1, window) {
187
184
  {% if item.slider.options.format.decimals %} {% assign format_decimals = item.slider.options.format.decimals %} {% endif %}
188
185
  {% if item.slider.options.cbOnUpdate %} {% assign cbOnUpdate = item.slider.options.cbOnUpdate %} {% endif %}
189
186
 
187
+
190
188
  elms.forEach(function (elm) {
191
189
  var id = elm.id;
192
190
  var parent = document.getElementById(id);
@@ -44,6 +44,7 @@ regenerate: false
44
44
  {% assign production = true %}
45
45
  {% endif %}
46
46
 
47
+
47
48
  /*
48
49
  # -----------------------------------------------------------------------------
49
50
  # ~/assets/themes/j1/adapter/js/rouge.js
@@ -82,8 +82,9 @@ j1.adapter.rtable = (function (j1, window) {
82
82
  {% comment %} Set global variables
83
83
  ------------------------------------------------------------------------------ {% endcomment %}
84
84
  var environment = '{{environment}}';
85
- var moduleOptions = {};
86
- var frontmatterOptions;
85
+ var rtableDefaults;
86
+ var rtableSettings;
87
+ var rtableOptions;
87
88
  var _this;
88
89
  var logger;
89
90
  var logText;
@@ -126,19 +127,16 @@ j1.adapter.rtable = (function (j1, window) {
126
127
  _this = j1.adapter.rtable;
127
128
  logger = log4javascript.getLogger('j1.adapter.rtable');
128
129
 
130
+ // Load module DEFAULTS|CONFIG
131
+ rtableDefaults = $.extend({}, {{rtable_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
132
+ rtableSettings = $.extend({}, {{rtable_settings | replace: 'nil', 'null' | replace: '=>', ':' }});
133
+ rtableOptions = $.extend(true, {}, rtableDefaults, rtableSettings);
134
+
129
135
  // initialize state flag
130
136
  _this.setState('started');
131
137
  logger.debug('\n' + 'state: ' + _this.getState());
132
138
  logger.info('\n' + 'module is being initialized');
133
139
 
134
- // create settings object from frontmatterOptions
135
- frontmatterOptions = options != null ? $.extend({}, options) : {};
136
- moduleOptions = $.extend({}, {{rtable_options | replace: 'nil', 'null' | replace: '=>', ':' }});
137
-
138
- if (typeof frontmatterOptions !== 'undefined') {
139
- moduleOptions = $.extend({}, moduleOptions, frontmatterOptions);;
140
- }
141
-
142
140
  var dependencies_met_j1_finished = setInterval(function() {
143
141
  if (j1.getState() == 'finished') {
144
142
 
@@ -160,7 +158,7 @@ j1.adapter.rtable = (function (j1, window) {
160
158
  // add needed CSS class/attribute for tablesaw
161
159
  $(curTable).addClass('table');
162
160
  $(curTable).addClass('tablesaw');
163
- $(curTable).attr('data-tablesaw-mode', moduleOptions.rtable.mode);
161
+ $(curTable).attr('data-tablesaw-mode', rtableOptions.rtable.mode);
164
162
 
165
163
  // Advanced mode NOT supported (mode stack only)
166
164
  //
@@ -170,12 +168,12 @@ j1.adapter.rtable = (function (j1, window) {
170
168
  // $(curTable).attr('data-tablesaw-mode-switch', '');
171
169
 
172
170
  Tablesaw.init(curTable, {
173
- breakpoint: moduleOptions.rtable.breakpoint
171
+ breakpoint: rtableOptions.rtable.breakpoint
174
172
  });
175
173
 
176
174
  // set initial state for all table/colgroup elements
177
175
  //
178
- breakpoint = bsMediaBreakpoints[moduleOptions.rtable.breakpoint];
176
+ breakpoint = bsMediaBreakpoints[rtableOptions.rtable.breakpoint];
179
177
  if (! breakpoint) {
180
178
  breakpoint = bsMediaBreakpoints['lg'];
181
179
  }
@@ -38,11 +38,19 @@ regenerate: true
38
38
  {% assign blocks = site.data.blocks %}
39
39
  {% assign modules = site.data.modules %}
40
40
 
41
- {% comment %} Set config data (settings only)
41
+ {% comment %} Set config data
42
42
  -------------------------------------------------------------------------------- {% endcomment %}
43
+ {% assign scroller_defaults = modules.defaults.scroller.defaults %}
43
44
  {% assign scroller_settings = modules.scroller.settings %}
44
45
 
46
+ {% comment %} Set config options (correct)
47
+ --------------------------------------------------------------------------------
48
+ {% assign scroller_options = scroller_defaults | merge: scroller_settings %}
49
+ --------------------------------------------------------------------------------
50
+ {% endcomment %}
51
+
45
52
  {% comment %} Set config options (settings only)
53
+ TODO: Check|Fix the (Liquid) merge issue for scroller_options
46
54
  -------------------------------------------------------------------------------- {% endcomment %}
47
55
  {% assign scroller_options = scroller_settings %}
48
56
 
@@ -53,6 +61,7 @@ regenerate: true
53
61
  {% assign production = true %}
54
62
  {% endif %}
55
63
 
64
+
56
65
  /*
57
66
  # -----------------------------------------------------------------------------
58
67
  # ~/assets/themes/j1/adapter/js/scroller.js
@@ -83,7 +92,9 @@ j1.adapter.scroller = (function (j1, window) {
83
92
  var environment = '{{environment}}';
84
93
  var language = '{{site.language}}';
85
94
  var user_agent = platform.ua;
86
- var moduleOptions = {};
95
+ var scrollerDefaults;
96
+ var scrollerSettings;
97
+ var scrollerOptions;
87
98
  var _this;
88
99
  var logger;
89
100
  var logText;
@@ -121,6 +132,11 @@ var lastPageInfo;
121
132
  _this = j1.adapter.scroller;
122
133
  logger = log4javascript.getLogger('j1.adapter.scroller');
123
134
 
135
+ // Load module DEFAULTS|CONFIG
136
+ scrollerDefaults = $.extend({}, {{scroller_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
137
+ scrollerSettings = $.extend({}, {{scroller_settings | replace: 'nil', 'null' | replace: '=>', ':' }});
138
+ scrollerOptions = $.extend(true, {}, scrollerDefaults, scrollerSettings);
139
+
124
140
  // initialize state flag
125
141
  _this.setState('started');
126
142
  logger.debug('\n' + 'state: ' + _this.getState());
@@ -65,6 +65,7 @@ regenerate: true
65
65
  {% assign production = true %}
66
66
  {% endif %}
67
67
 
68
+
68
69
  /*
69
70
  # -----------------------------------------------------------------------------
70
71
  # ~/assets/themes/j1/adapter/js/themer.js
@@ -104,7 +105,6 @@ j1.adapter.themer = (function (j1, window) {
104
105
  // globals
105
106
  // ---------------------------------------------------------------------------
106
107
  var environment = '{{environment}}';
107
- var themerOptions = $.extend({}, {{themer_options | replace: '=>', ':' | replace: 'nil', '""' }});
108
108
  var url = new liteURL(window.location.href);
109
109
  var secure = (url.protocol.includes('https')) ? true : false;
110
110
  var user_state = {};
@@ -113,27 +113,25 @@ j1.adapter.themer = (function (j1, window) {
113
113
  var user_state_detected = false;
114
114
  var styleLoaded = false;
115
115
  var id = 'default';
116
- var user_state_cookie;
117
- var theme_css_html;
118
- var _this;
119
- var logger;
120
- var logText;
121
- var cookie_written;
122
-
123
116
  var cssExtension = (environment === 'production') ? '.min.css' : '.css';
124
-
125
117
  var default_theme_name = '{{default_theme.name}}';
126
118
  var default_theme_author = '{{default_theme.author}}';
127
119
  var default_theme_author_url = '{{default_theme.author_url}}';
128
120
  var default_theme_css_name = default_theme_name.toLowerCase();
129
121
  var default_theme_css = '{{asset_path}}/{{theme_base}}/' + default_theme_css_name + '/bootstrap' + cssExtension;
130
-
131
122
  var interval_count = 0;
132
- var max_count = themerOptions.retries;
133
-
123
+ var user_state_cookie;
124
+ var theme_css_html;
125
+ var _this;
126
+ var logger;
127
+ var logText;
128
+ var cookie_written;
129
+ var themerDefaults;
130
+ var themerSettings;
131
+ var themerOptions;
132
+ var max_count;
134
133
  var j1Cookies;
135
134
  var gaCookies;
136
-
137
135
  var url;
138
136
  var baseUrl;
139
137
  var error_page;
@@ -191,17 +189,25 @@ j1.adapter.themer = (function (j1, window) {
191
189
  // Global variable settings
192
190
  // -----------------------------------------------------------------------
193
191
  _this = j1.adapter.themer;
192
+ logger = log4javascript.getLogger('j1.adapter.themer');
193
+
194
+ // Load module DEFAULTS|CONFIG
195
+ themerDefaults = $.extend({}, {{themer_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
196
+ themerSettings = $.extend({}, {{themer_settings | replace: 'nil', 'null' | replace: '=>', ':' }});
197
+ themerOptions = $.extend(true, {}, themerDefaults, themerSettings);
198
+
199
+ max_count = themerOptions.retries;
194
200
  url = new liteURL(window.location.href);
195
201
  baseUrl = url.origin;
196
202
  error_page = url.origin + '/204.html';
197
203
  j1Cookies = j1.findCookie('j1');
198
204
  gaCookies = j1.findCookie('_ga');
199
- logger = log4javascript.getLogger('j1.adapter.themer');
200
205
 
201
206
  // initialize state flag
202
207
  _this.state = 'started';
203
208
  logger.debug('\n' + 'state: ' + _this.getState());
204
209
 
210
+ // hide page (until theme is loaded)
205
211
  $('#no_flicker').hide();
206
212
 
207
213
  // jadams, 2021-07-25: problem seems NOT an timing issue on the iPad
@@ -282,10 +288,8 @@ j1.adapter.themer = (function (j1, window) {
282
288
  // continue processing if page is ready
283
289
  var dependencies_met_theme_loaded = setInterval (function () {
284
290
  if (j1.getState() == 'finished') {
285
- // $('#no_flicker').hide();
286
291
  theme_css_html = '<link rel="stylesheet" id="' + id + '" href="' + user_state.theme_css + '" type="text/css" />';
287
292
  $('head').append(theme_css_html);
288
-
289
293
  clearInterval(dependencies_met_theme_loaded);
290
294
  }
291
295
  }, 25); // END dependencies_met_theme_loaded
@@ -333,7 +337,10 @@ j1.adapter.themer = (function (j1, window) {
333
337
  _this.setState('finished');
334
338
  logger.debug('\n' + 'state: ' + _this.getState());
335
339
  logger.info('\n' + 'module initialized successfully');
340
+
341
+ // show page (theme is loaded)
336
342
  $('#no_flicker').show();
343
+
337
344
  clearInterval(dependencies_met_theme_applied);
338
345
  }
339
346
 
@@ -66,6 +66,7 @@ regenerate: true
66
66
  {% assign production = true %}
67
67
  {% endif %}
68
68
 
69
+
69
70
  /*
70
71
  # -----------------------------------------------------------------------------
71
72
  # ~/assets/themes/j1/adapter/js/toccer.js
@@ -97,9 +98,10 @@ j1.adapter.toccer = (function () {
97
98
  {% comment %} Set global variables
98
99
  ------------------------------------------------------------------------------ {% endcomment %}
99
100
  var environment = '{{environment}}';
100
- var moduleOptions = {};
101
- var toccerOptions = {};
102
- var frontmatterOptions = {};
101
+ var toccerDefaults;
102
+ var toccerSettings;
103
+ var toccerOptions;
104
+ var frontmatterOptions;
103
105
  var _this;
104
106
  var logger;
105
107
  var logText;
@@ -132,32 +134,26 @@ j1.adapter.toccer = (function () {
132
134
  _this = j1.adapter.toccer;
133
135
  logger = log4javascript.getLogger('j1.adapter.toccer');
134
136
 
137
+ // create settings object from frontmatter
138
+ frontmatterOptions = options != null ? $.extend({}, options) : {};
139
+
140
+ // Load module DEFAULTS|CONFIG
141
+ toccerDefaults = $.extend({}, {{toccer_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
142
+ toccerSettings = $.extend({}, {{toccer_settings | replace: 'nil', 'null' | replace: '=>', ':' }});
143
+ toccerOptions = $.extend(true, {}, toccerDefaults, toccerSettings, frontmatterOptions);
144
+
135
145
  // initialize state flag
136
146
  _this.setState('started');
137
147
  logger.debug('\n' + 'state: ' + _this.getState());
138
148
  logger.info('\n' + 'module is being initialized');
139
149
 
140
- // -----------------------------------------------------------------------
141
- // Options loader
142
- // -----------------------------------------------------------------------
143
- /* eslint-disable */
144
- // create settings object from frontmatterOptions
145
- frontmatterOptions = options != null ? $.extend({}, options) : {};
146
- toccerOptions = $.extend({}, {{toccer_options | replace: 'nil', 'null' | replace: '=>', ':' }});
147
-
148
- // overload (individual) settings into 'moduleOptions'
149
- if (typeof frontmatterOptions !== 'undefined') {
150
- moduleOptions = $.extend({}, toccerOptions, frontmatterOptions);
151
- }
152
- /* eslint-enable */
153
-
154
150
  // save config settings into the toccer object for later access
155
- _this['moduleOptions'] = moduleOptions;
151
+ _this['moduleOptions'] = toccerOptions;
156
152
 
157
- if (j1.stringToBoolean(moduleOptions.toc)) {
153
+ if (j1.stringToBoolean(toccerOptions.toc)) {
158
154
  var dependencies_met_navigator = setInterval(function() {
159
155
  if ( j1.getState() == 'finished' ) {
160
- _this.initToccerCore(moduleOptions);
156
+ _this.initToccerCore(toccerOptions);
161
157
  _this.setState('finished');
162
158
 
163
159
  logger.debug('\n' + 'state: ' + _this.getState());
@@ -55,6 +55,7 @@ regenerate: true
55
55
  {% assign production = true %}
56
56
  {% endif %}
57
57
 
58
+
58
59
  /*
59
60
  # -----------------------------------------------------------------------------
60
61
  # ~/assets/themes/j1/adapter/js/translator.js
@@ -86,8 +87,10 @@ regenerate: true
86
87
 
87
88
  j1.adapter.translator = (function (j1, window) {
88
89
  var environment = '{{environment}}';
89
- var moduleOptions = {};
90
90
  var user_translate = {};
91
+ var translatorDefaults;
92
+ var translatorSettings;
93
+ var translatorOptions;
91
94
  var _this;
92
95
  var $modal;
93
96
  var cookie_names;
@@ -133,6 +136,12 @@ j1.adapter.translator = (function (j1, window) {
133
136
  // -----------------------------------------------------------------------
134
137
  _this = j1.adapter.translator;
135
138
  logger = log4javascript.getLogger('j1.adapter.translator');
139
+
140
+ // Load module DEFAULTS|CONFIG
141
+ translatorDefaults = $.extend({}, {{translator_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
142
+ translatorSettings = $.extend({}, {{translator_settings | replace: 'nil', 'null' | replace: '=>', ':' }});
143
+ translatorOptions = $.extend(true, {}, translatorDefaults, translatorSettings);
144
+
136
145
  url = new liteURL(window.location.href);
137
146
  baseUrl = url.origin;
138
147
  hostname = url.hostname;
@@ -161,17 +170,6 @@ j1.adapter.translator = (function (j1, window) {
161
170
  // initialize state flag
162
171
  _this.state = 'pending';
163
172
 
164
- {% comment %} Load module config from yml data
165
- -------------------------------------------------------------------------- {% endcomment %}
166
- // Load module DEFAULTS|CONFIG
167
- /* eslint-disable */
168
- moduleOptions = $.extend({}, {{translator_options | replace: '=>', ':' | replace: 'nil', '""'}});
169
- /* eslint-enable */
170
-
171
- if (typeof settings !== 'undefined') {
172
- moduleOptions = $.extend({}, moduleOptions, settings);
173
- }
174
-
175
173
  // add GT callback script dynamically in the head section
176
174
  // jadams, 2022-04-21: postTranslateElementInit cause error, disabled
177
175
  // -----------------------------------------------------------------------
@@ -182,7 +180,6 @@ j1.adapter.translator = (function (j1, window) {
182
180
  gtCallbackScript.text += ' layout: google.translate.TranslateElement.FloatPosition.TOP_LEFT' + '\n';
183
181
  gtCallbackScript.text += ' },' + '\n';
184
182
  gtCallbackScript.text += ' "google_translate_element");' + '\n';
185
- // gtCallbackScript.text += ' j1.adapter.translator.postTranslateElementInit(gtAPI);' + '\n';
186
183
  gtCallbackScript.text += '}' + '\n';
187
184
  document.head.appendChild(gtCallbackScript);
188
185
 
@@ -203,7 +200,9 @@ j1.adapter.translator = (function (j1, window) {
203
200
  domainAttribute = '';
204
201
  }
205
202
 
206
- if ( j1.getState() === 'finished' ) {
203
+ var pageState = $('#no_flicker').css("display");
204
+ var pageVisible = (pageState == 'block') ? true: false;
205
+ if ( j1.getState() === 'finished' && pageVisible ) {
207
206
  _this.setState('started');
208
207
  logger.debug('\n' + 'state: ' + _this.getState());
209
208
  logger.info('\n' + 'module is being initialized');
@@ -222,13 +221,8 @@ j1.adapter.translator = (function (j1, window) {
222
221
  });
223
222
  }
224
223
 
225
- // hide the google translate element if exists
226
- if ($('google_translate_element')) {
227
- $('google_translate_element').hide();
228
- }
229
-
230
224
  // show|hide translate button if enabled
231
- if (moduleOptions.hideTranslatorIcon) {
225
+ if (translatorOptions.hideTranslatorIcon) {
232
226
  if (!user_consent.analysis || !user_consent.personalization) {
233
227
  // disable google translate button if visible
234
228
  if ($('#quickLinksTranslateButton').css('display') === 'block') {
@@ -266,39 +260,36 @@ j1.adapter.translator = (function (j1, window) {
266
260
  });
267
261
  }
268
262
 
269
- if (moduleOptions.dialogLanguage === 'auto') {
270
- moduleOptions.dialogLanguage = '{{contentLanguage}}';
263
+ if (translatorOptions.dialogLanguage === 'auto') {
264
+ translatorOptions.dialogLanguage = '{{contentLanguage}}';
271
265
  }
272
266
 
273
267
  j1.translator = new Translator({
274
- contentURL: moduleOptions.contentURL, // dialog content (modals) for all supported languages
268
+ contentURL: translatorOptions.contentURL, // dialog content (modals) for all supported languages
275
269
  cookieName: cookie_names.user_translate, // name of the translator cookie
276
270
  cookieStorageDays: expires, // lifetime of a cookie [0..365], 0: session cookie
277
271
  cookieSameSite: same_site, // restrict consent cookie
278
272
  cookieDomain: domainAttribute, // set domain (hostname|domain)
279
273
  cookieSecure: secure, // set
280
- cookieConsentName: moduleOptions.cookieConsentName, // the name of the Cookie Consent Cookie (secondary data)
281
- disableLanguageSelector: moduleOptions.disableLanguageSelector, // disable language dropdown for translation in dialog (modal)
282
- dialogContainerID: moduleOptions.dialogContainerID, // dest container, the dialog modal is loaded (dynamically)
283
- dialogLanguage: moduleOptions.dialogLanguage, // language for the dialog (modal)
284
- translationLanguage: moduleOptions.translationLanguage, // default language for translation
285
- translationLanguages: moduleOptions.google.translationLanguages,// supported languages for translation
286
- translationEnabled: moduleOptions.translationEnabled, // run translation enabled|disabled
287
- translatorName: moduleOptions.translatorName, // translator used for translation
288
- xhrDataElement: moduleOptions.xhrDataElement, // container for all language-specific dialogs (modals)
289
- postSelectionCallback: moduleOptions.google.postSelectionCallback
274
+ cookieConsentName: translatorOptions.cookieConsentName, // the name of the Cookie Consent Cookie (secondary data)
275
+ disableLanguageSelector: translatorOptions.disableLanguageSelector, // disable language dropdown for translation in dialog (modal)
276
+ dialogContainerID: translatorOptions.dialogContainerID, // dest container, the dialog modal is loaded (dynamically)
277
+ dialogLanguage: translatorOptions.dialogLanguage, // language for the dialog (modal)
278
+ translationLanguage: translatorOptions.translationLanguage, // default language for translation
279
+ translationLanguages: translatorOptions.google.translationLanguages,// supported languages for translation
280
+ translationEnabled: translatorOptions.translationEnabled, // run translation enabled|disabled
281
+ translatorName: translatorOptions.translatorName, // translator used for translation
282
+ xhrDataElement: translatorOptions.xhrDataElement, // container for all language-specific dialogs (modals)
283
+ postSelectionCallback: translatorOptions.google.postSelectionCallback
290
284
  });
291
285
 
292
286
  // enable|disable translation (after callback)
293
287
  if (user_translate.analysis && user_translate.personalization && user_translate.translationEnabled) {
294
- if (moduleOptions.translatorName === 'google') {
288
+ if (translatorOptions.translatorName === 'google') {
295
289
  head.appendChild(gtTranslateScript);
296
- if ($('google_translate_element')) {
297
- $('google_translate_element').hide();
298
- }
299
290
  }
300
291
  } else {
301
- if (moduleOptions.translatorName === 'google') {
292
+ if (translatorOptions.translatorName === 'google') {
302
293
  // remove all googtrans cookies that POTENTIALLY exists
303
294
  Cookies.remove('googtrans', { domain: domainAttribute });
304
295
  Cookies.remove('googtrans', { domain: hostname });
@@ -408,10 +399,10 @@ j1.adapter.translator = (function (j1, window) {
408
399
  logger.info('\n' + 'selected translation language: ' + selectedTranslationLanguage);
409
400
 
410
401
  // set content language
411
- if (moduleOptions.contentLanguage === 'auto') {
402
+ if (translatorOptions.contentLanguage === 'auto') {
412
403
  srcLang = '{{contentLanguage}}';
413
404
  } else {
414
- srcLang = moduleOptions.contentLanguage;
405
+ srcLang = translatorOptions.contentLanguage;
415
406
  }
416
407
 
417
408
  // translation language MUST be DIFFERENT from content language
@@ -90,6 +90,10 @@ var environment = '{{environment}}';
90
90
  var cookie_names = j1.getCookieNames();
91
91
  var user_state = j1.readCookie(cookie_names.user_state);
92
92
  var viewport_width = $(window).width();
93
+ var waveDefaults;
94
+ var waveSettings;
95
+ var waveOptions;
96
+ var frontmatterOptions;
93
97
  var themes_allowed;
94
98
  var theme_enabled;
95
99
  var theme;
@@ -124,14 +128,12 @@ var logText;
124
128
  // -----------------------------------------------------------------------
125
129
 
126
130
  // create settings object from frontmatter
127
- var frontmatterOptions = options != null ? $.extend({}, options) : {};
131
+ frontmatterOptions = options != null ? $.extend({}, options) : {};
128
132
 
129
- // create settings object from comment options
130
- var waveDefaults = $.extend({}, {{wave_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
131
- var waveSettings = $.extend({}, {{wave_settings | replace: 'nil', 'null' | replace: '=>', ':' }});
132
-
133
- // merge all comment options
134
- var waveOptions = $.extend({}, waveDefaults, waveSettings, frontmatterOptions);
133
+ // create settings object from module options
134
+ waveDefaults = $.extend({}, {{wave_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
135
+ waveSettings = $.extend({}, {{wave_settings | replace: 'nil', 'null' | replace: '=>', ':' }});
136
+ waveOptions = $.extend(true, {}, waveDefaults, waveSettings, frontmatterOptions);
135
137
 
136
138
  _this = j1.adapter.waves;
137
139
  theme = user_state.theme_name;
@@ -9855,11 +9855,9 @@ body {
9855
9855
  scrollbar-width: none;
9856
9856
  -ms-overflow-style: none; }
9857
9857
 
9858
- /* Firefox */
9859
9858
  .hide-scrollbar-moz {
9860
9859
  scrollbar-width: none; }
9861
9860
 
9862
- /* WebKit */
9863
9861
  .hide-scrollbar::-webkit-scrollbar {
9864
9862
  width: 0px; }
9865
9863
 
@@ -24,10 +24,18 @@
24
24
  }
25
25
 
26
26
  /* hide the powered by */
27
- .goog-logo-link {display: none !important;}
28
- .goog-te-gadget {height: 28px !important; overflow: hidden;}
29
- /* .goog-te-gadget {display: none !important;} */
27
+ .goog-logo-link {
28
+ display: none !important;
29
+ }
30
+ .goog-te-gadget {
31
+ height: 28px !important; overflow: hidden;
32
+ }
30
33
 
31
- /* remove the top frame */
32
- body{top: 0 !important;}
33
- .goog-te-banner-frame{display: none !important;}
34
+ /* hide the Google Translator TopBar (top frame) */
35
+ /* See: https://stackoverflow.com/questions/11248673/hiding-google-translate-bar */
36
+ body {
37
+ top: 0 !important;
38
+ }
39
+ body > .skiptranslate {
40
+ display: none;
41
+ }
@@ -12,4 +12,4 @@
12
12
  # See: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
13
13
  # -----------------------------------------------------------------------------
14
14
  */
15
- #goog-gt-tt,.goog-te-balloon-frame{display:none!important}.goog-text-highlight{background:none!important;box-shadow:none!important}.goog-logo-link{display:none!important}.goog-te-gadget{height:28px!important;overflow:hidden}body{top:0!important}.goog-te-banner-frame{display:none!important}
15
+ #goog-gt-tt,.goog-te-balloon-frame{display:none !important}.goog-text-highlight{background:none !important;box-shadow:none !important}.goog-logo-link{display:none !important}.goog-te-gadget{height:28px !important;overflow:hidden}body{top:0 !important}body>.skiptranslate{display:none}
data/lib/j1/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module J1
2
- VERSION = '2023.0.13'
2
+ VERSION = '2023.0.15'
3
3
  end
@@ -79,7 +79,7 @@ gem 'j1-template', '~> 2023.0.0'
79
79
 
80
80
  # Loaded from gem.fury.io
81
81
  #source 'https://gem.fury.io/jekyll-one-org/' do
82
- # gem 'j1-template', '~> 2023.0.13'
82
+ # gem 'j1-template', '~> 2023.0.15'
83
83
  #end
84
84
 
85
85
  # ------------------------------------------------------------------------------
@@ -380,7 +380,7 @@ This command creates a **initial** project in folder **my-starter**.
380
380
  2022-07-30 18:12:12 - GENERATE: Resolving dependencies...
381
381
  2022-07-30 18:12:12 - GENERATE: Using bundler 2.3.7
382
382
  ...
383
- 2022-07-30 18:12:12 - GENERATE: Using j1-template 2023.0.13
383
+ 2022-07-30 18:12:12 - GENERATE: Using j1-template 2023.0.15
384
384
  2022-07-30 18:12:12 - GENERATE: Bundle complete! 31 Gemfile dependencies, 78 gems now installed.
385
385
  2022-07-30 18:12:12 - GENERATE: Bundled gems are installed into `../../.gem`
386
386
  2022-07-30 18:12:12 - GENERATE: C:/Users/xxx/.gem/ruby/3.1.0;C:/DevTools/Ruby31-x64/lib/ruby/gems/3.1.0;
@@ -416,7 +416,7 @@ commands are available as well.
416
416
  2022-07-30 18:17:48 - SETUP: Initialize the project ...
417
417
  2022-07-30 18:17:48 - SETUP: Be patient, this will take a while ...
418
418
  2022-07-30 18:17:49 - SETUP:
419
- 2022-07-30 18:17:49 - SETUP: > j1@2023.0.13 setup C:\Users\xxx\j1-projects\my-starter
419
+ 2022-07-30 18:17:49 - SETUP: > j1@2023.0.15 setup C:\Users\xxx\j1-projects\my-starter
420
420
  2022-07-30 18:17:49 - SETUP: > npm --silent run setup-start && npm --silent run setup-base && run-s -s setup:*
421
421
  2022-07-30 18:17:49 - SETUP:
422
422
  2022-07-30 18:17:50 - SETUP: Setup project for first use ..
@@ -461,7 +461,7 @@ browser. Let's start the journey ...
461
461
  Check setup state of the J1 project ...
462
462
  2022-07-30 18:26:18 - SITE: Starting up your site ...
463
463
  2022-07-30 18:26:18 - SITE:
464
- 2022-07-30 18:26:18 - SITE: > j1@2023.0.13 j1-site C:\Users\jadams\j1-projects\my-starter
464
+ 2022-07-30 18:26:18 - SITE: > j1@2023.0.15 j1-site C:\Users\jadams\j1-projects\my-starter
465
465
  2022-07-30 18:26:18 - SITE: > run-p -s j1-site:*
466
466
  2022-07-30 18:26:18 - SITE:
467
467
  2022-07-30 18:26:20 - SITE: Startup UTILSRV ..
@@ -500,7 +500,7 @@ Check setup state of the J1 project ...
500
500
  REBUILD: Rebuild the projects website ...
501
501
  REBUILD: Be patient, this will take a while ...
502
502
  2022-07-30 18:45:09 - REBUILD:
503
- 2022-07-30 18:45:09 - REBUILD: > j1@2023.0.13 rebuild C:\Users\xxx\j1-projects\my-starter
503
+ 2022-07-30 18:45:09 - REBUILD: > j1@2023.0.15 rebuild C:\Users\xxx\j1-projects\my-starter
504
504
  2022-07-30 18:45:09 - REBUILD: > run-s -s rebuild:* && run-s -s post-rebuild:*
505
505
  2022-07-30 18:45:09 - REBUILD:
506
506
  2022-07-30 18:45:10 - REBUILD: Rebuild site incremental ..
@@ -548,7 +548,7 @@ using Lerna for all packages:
548
548
  2022-07-30 18:29:07 - RESET: Reset the project to factory state ...
549
549
  2022-07-30 18:29:07 - RESET: Be patient, this will take a while ...
550
550
  2022-07-30 18:29:08 - RESET:
551
- 2022-07-30 18:29:08 - RESET: > j1@2023.0.13 reset C:\Users\xxx\j1-projects\my-starter
551
+ 2022-07-30 18:29:08 - RESET: > j1@2023.0.15 reset C:\Users\xxx\j1-projects\my-starter
552
552
  2022-07-30 18:29:08 - RESET: > run-s -s reset:*
553
553
  2022-07-30 18:29:08 - RESET:
554
554
  2022-07-30 18:29:08 - RESET: Reset project to factory state ..