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.
- checksums.yaml +4 -4
- data/assets/data/banner.html +2 -2
- data/assets/data/cookieconsent.html +19 -19
- data/assets/data/translator.html +9 -10
- data/assets/themes/j1/adapter/js/advertising.js +21 -8
- data/assets/themes/j1/adapter/js/analytics.js +24 -8
- data/assets/themes/j1/adapter/js/carousel.js +10 -13
- data/assets/themes/j1/adapter/js/clipboard.js +8 -1
- data/assets/themes/j1/adapter/js/comments.js +193 -198
- data/assets/themes/j1/adapter/js/cookieConsent.js +27 -20
- data/assets/themes/j1/adapter/js/dropdowns.js +7 -10
- data/assets/themes/j1/adapter/js/fab.js +10 -17
- data/assets/themes/j1/adapter/js/framer.js +27 -31
- data/assets/themes/j1/adapter/js/j1.js +2 -0
- data/assets/themes/j1/adapter/js/justifiedGallery.js +15 -15
- data/assets/themes/j1/adapter/js/lightbox.js +25 -16
- data/assets/themes/j1/adapter/js/logger.js +13 -7
- data/assets/themes/j1/adapter/js/lunr.js +9 -11
- data/assets/themes/j1/adapter/js/masonry.js +9 -11
- data/assets/themes/j1/adapter/js/masterslider.js +28 -25
- data/assets/themes/j1/adapter/js/nbinteract.js +20 -15
- data/assets/themes/j1/adapter/js/particles.js +9 -7
- data/assets/themes/j1/adapter/js/rangeSlider.js +11 -13
- data/assets/themes/j1/adapter/js/rouge.js +1 -0
- data/assets/themes/j1/adapter/js/rtable.js +11 -13
- data/assets/themes/j1/adapter/js/scroller.js +18 -2
- data/assets/themes/j1/adapter/js/themer.js +23 -16
- data/assets/themes/j1/adapter/js/toccer.js +16 -20
- data/assets/themes/j1/adapter/js/translator.js +31 -40
- data/assets/themes/j1/adapter/js/waves.js +9 -7
- data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +0 -2
- data/assets/themes/j1/modules/translator/css/translator.css +14 -6
- data/assets/themes/j1/modules/translator/css/translator.min.css +1 -1
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/README.md +5 -5
- data/lib/starter_web/_config.yml +2 -2
- data/lib/starter_web/_data/blocks/panel.yml +11 -8
- data/lib/starter_web/_data/j1_config.yml +432 -432
- data/lib/starter_web/_data/modules/analytics.yml +2 -65
- data/lib/starter_web/_data/modules/comments.yml +11 -1
- data/lib/starter_web/_data/modules/defaults/analytics.yml +3 -3
- data/lib/starter_web/_data/modules/defaults/comments.yml +0 -25
- data/lib/starter_web/_data/modules/defaults/cookieconsent.yml +74 -56
- data/lib/starter_web/_data/modules/defaults/translator.yml +44 -35
- data/lib/starter_web/_data/modules/scroller.yml +1 -1
- data/lib/starter_web/_data/resources.yml +16 -16
- data/lib/starter_web/_data/templates/feed.xml +1 -1
- data/lib/starter_web/_plugins/index/lunr.rb +1 -1
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/about/site.adoc +76 -76
- data/lib/starter_web/pages/public/learn/roundtrip/asciidoc_extensions.adoc +2 -2
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- 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
|
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
|
-
//
|
135
|
-
|
136
|
-
|
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
|
-
|
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);
|
@@ -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
|
86
|
-
var
|
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',
|
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:
|
171
|
+
breakpoint: rtableOptions.rtable.breakpoint
|
174
172
|
});
|
175
173
|
|
176
174
|
// set initial state for all table/colgroup elements
|
177
175
|
//
|
178
|
-
breakpoint = bsMediaBreakpoints[
|
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
|
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
|
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
|
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
|
101
|
-
var
|
102
|
-
var
|
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'] =
|
151
|
+
_this['moduleOptions'] = toccerOptions;
|
156
152
|
|
157
|
-
if (j1.stringToBoolean(
|
153
|
+
if (j1.stringToBoolean(toccerOptions.toc)) {
|
158
154
|
var dependencies_met_navigator = setInterval(function() {
|
159
155
|
if ( j1.getState() == 'finished' ) {
|
160
|
-
_this.initToccerCore(
|
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
|
-
|
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 (
|
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 (
|
270
|
-
|
263
|
+
if (translatorOptions.dialogLanguage === 'auto') {
|
264
|
+
translatorOptions.dialogLanguage = '{{contentLanguage}}';
|
271
265
|
}
|
272
266
|
|
273
267
|
j1.translator = new Translator({
|
274
|
-
contentURL:
|
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:
|
281
|
-
disableLanguageSelector:
|
282
|
-
dialogContainerID:
|
283
|
-
dialogLanguage:
|
284
|
-
translationLanguage:
|
285
|
-
translationLanguages:
|
286
|
-
translationEnabled:
|
287
|
-
translatorName:
|
288
|
-
xhrDataElement:
|
289
|
-
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 (
|
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 (
|
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 (
|
402
|
+
if (translatorOptions.contentLanguage === 'auto') {
|
412
403
|
srcLang = '{{contentLanguage}}';
|
413
404
|
} else {
|
414
|
-
srcLang =
|
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
|
-
|
131
|
+
frontmatterOptions = options != null ? $.extend({}, options) : {};
|
128
132
|
|
129
|
-
// create settings object from
|
130
|
-
|
131
|
-
|
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 {
|
28
|
-
|
29
|
-
|
27
|
+
.goog-logo-link {
|
28
|
+
display: none !important;
|
29
|
+
}
|
30
|
+
.goog-te-gadget {
|
31
|
+
height: 28px !important; overflow: hidden;
|
32
|
+
}
|
30
33
|
|
31
|
-
/*
|
32
|
-
|
33
|
-
|
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}
|
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
data/lib/starter_web/Gemfile
CHANGED
@@ -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.
|
82
|
+
# gem 'j1-template', '~> 2023.0.15'
|
83
83
|
#end
|
84
84
|
|
85
85
|
# ------------------------------------------------------------------------------
|
data/lib/starter_web/README.md
CHANGED
@@ -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.
|
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.
|
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.
|
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.
|
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.
|
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 ..
|