j1-template 2024.2.0 → 2024.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/assets/data/gemini-ui.html +2 -2
  3. data/assets/themes/j1/adapter/js/advertising.js +2 -10
  4. data/assets/themes/j1/adapter/js/analytics.js +1 -5
  5. data/assets/themes/j1/adapter/js/bmd.js +195 -195
  6. data/assets/themes/j1/adapter/js/carousel.js +786 -786
  7. data/assets/themes/j1/adapter/js/clipboard.js +1 -0
  8. data/assets/themes/j1/adapter/js/comments.js +1 -0
  9. data/assets/themes/j1/adapter/js/cookieConsent.js +460 -466
  10. data/assets/themes/j1/adapter/js/customModule.js +5 -4
  11. data/assets/themes/j1/adapter/js/docsearch.js +1 -0
  12. data/assets/themes/j1/adapter/js/dropdowns.js +1 -0
  13. data/assets/themes/j1/adapter/js/fab.js +1 -0
  14. data/assets/themes/j1/adapter/js/gallery.js +495 -494
  15. data/assets/themes/j1/adapter/js/gemini.js +154 -128
  16. data/assets/themes/j1/adapter/js/iconPicker.js +257 -255
  17. data/assets/themes/j1/adapter/js/iconPickerPage.js +279 -279
  18. data/assets/themes/j1/adapter/js/iframer.js +3 -2
  19. data/assets/themes/j1/adapter/js/j1.js +3285 -3285
  20. data/assets/themes/j1/adapter/js/lazyLoader.js +241 -241
  21. data/assets/themes/j1/adapter/js/lightbox.js +242 -241
  22. data/assets/themes/j1/adapter/js/logger.js +1 -0
  23. data/assets/themes/j1/adapter/js/lunr.js +6 -10
  24. data/assets/themes/j1/adapter/js/masonry.js +427 -426
  25. data/assets/themes/j1/adapter/js/masterslider.js +526 -526
  26. data/assets/themes/j1/adapter/js/mmenu.js +1 -0
  27. data/assets/themes/j1/adapter/js/navigator.js +2 -2
  28. data/assets/themes/j1/adapter/js/particles.js +1 -0
  29. data/assets/themes/j1/adapter/js/rangeSlider.js +1 -0
  30. data/assets/themes/j1/adapter/js/rouge.js +288 -287
  31. data/assets/themes/j1/adapter/js/rtable.js +309 -309
  32. data/assets/themes/j1/adapter/js/slick.js +487 -487
  33. data/assets/themes/j1/adapter/js/slimSelect.js +3 -5
  34. data/assets/themes/j1/adapter/js/themeToggler.js +281 -280
  35. data/assets/themes/j1/adapter/js/themes.js +0 -1
  36. data/assets/themes/j1/adapter/js/toccer.js +1 -0
  37. data/assets/themes/j1/adapter/js/translator.js +1 -0
  38. data/assets/themes/j1/adapter/js/waves.js +1 -0
  39. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +23 -17
  40. data/assets/themes/j1/modules/js-cookies/js/js.cookie.js +147 -0
  41. data/assets/themes/j1/modules/js-cookies/js/js.cookie.min.js +2 -0
  42. data/lib/j1/version.rb +1 -1
  43. data/lib/starter_web/README.md +5 -5
  44. data/lib/starter_web/_config.yml +1 -1
  45. data/lib/starter_web/_data/modules/defaults/themes.yml +171 -171
  46. data/lib/starter_web/_data/resources.yml +26 -0
  47. data/lib/starter_web/_data/templates/feed.xml +1 -1
  48. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  49. data/lib/starter_web/package.json +1 -1
  50. data/lib/starter_web/pages/public/learn/roundtrip/present_images.adoc +500 -500
  51. metadata +4 -2
@@ -1,241 +1,242 @@
1
- ---
2
- regenerate: true
3
- ---
4
-
5
- {% capture cache %}
6
-
7
- {% comment %}
8
- # -----------------------------------------------------------------------------
9
- # ~/assets/themes/j1/adapter/js/lightbox.js
10
- # Liquid template to adapt Lightbox Core functions
11
- #
12
- # Product/Info:
13
- # https://jekyll.one
14
- #
15
- # Copyright (C) 2023, 2024 Juergen Adams
16
- #
17
- # J1 Template is licensed under the MIT License.
18
- # For details, see: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
19
- # -----------------------------------------------------------------------------
20
- # Test data:
21
- # {{ liquid_var | debug }}
22
- # -----------------------------------------------------------------------------
23
- {% endcomment %}
24
-
25
- {% comment %} Liquid procedures
26
- -------------------------------------------------------------------------------- {% endcomment %}
27
-
28
- {% comment %} Set global settings
29
- -------------------------------------------------------------------------------- {% endcomment %}
30
- {% assign environment = site.environment %}
31
- {% assign template_version = site.version %}
32
-
33
- {% comment %} Process YML config data
34
- ================================================================================ {% endcomment %}
35
-
36
- {% comment %} Set config files
37
- -------------------------------------------------------------------------------- {% endcomment %}
38
- {% assign template_config = site.data.j1_config %}
39
- {% assign modules = site.data.modules %}
40
-
41
- {% comment %} Set config data
42
- -------------------------------------------------------------------------------- {% endcomment %}
43
- {% assign lightbox_defaults = modules.defaults.lightbox.defaults %}
44
- {% assign lightbox_settings = modules.lightbox.settings %}
45
-
46
- {% comment %} Set config options
47
- -------------------------------------------------------------------------------- {% endcomment %}
48
- {% assign lightbox_options = lightbox_defaults | merge: lightbox_settings %}
49
-
50
- {% comment %} Detect prod mode
51
- -------------------------------------------------------------------------------- {% endcomment %}
52
- {% assign production = false %}
53
- {% if environment == 'prod' or environment == 'production' %}
54
- {% assign production = true %}
55
- {% endif %}
56
-
57
- /*
58
- # -----------------------------------------------------------------------------
59
- # ~/assets/themes/j1/adapter/js/lightbox.js
60
- # JS Adapter for J1 Lightbox
61
- #
62
- # Product/Info:
63
- # https://jekyll.one
64
- # https://github.com/lokesh/lightbox2/
65
- #
66
- # Copyright (C) 2023, 2024 Juergen Adams
67
- # Copyright (C) 2007, 2018 Lokesh Dhakar
68
- #
69
- # J1 Template is licensed under the MIT License.
70
- # For details, see: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
71
- # Lightbox V2 is licensed under the MIT License.
72
- # For details, see https://github.com/lokesh/lightbox2/
73
- #
74
- # -----------------------------------------------------------------------------
75
- # Adapter generated: {{site.time}}
76
- # -----------------------------------------------------------------------------
77
- */
78
-
79
- // -----------------------------------------------------------------------------
80
- // ESLint shimming
81
- // -----------------------------------------------------------------------------
82
- /* eslint indent: "off" */
83
- // -----------------------------------------------------------------------------
84
- 'use strict';
85
- j1.adapter.lightbox = ((j1, window) => {
86
-
87
- {% comment %} Global variables
88
- ------------------------------------------------------------------------------ {% endcomment %}
89
- var environment = '{{environment}}';
90
- var state = 'not_started';
91
- var lightboxDefaults;
92
- var lightboxSettings;
93
- var lightboxOptions;
94
- var frontmatterOptions;
95
-
96
- var _this;
97
- var logger;
98
- var logText;
99
-
100
- // date|time
101
- var startTime;
102
- var endTime;
103
- var startTimeModule;
104
- var endTimeModule;
105
- var timeSeconds;
106
-
107
- // ---------------------------------------------------------------------------
108
- // helper functions
109
- // ---------------------------------------------------------------------------
110
-
111
- // ---------------------------------------------------------------------------
112
- // main
113
- // ---------------------------------------------------------------------------
114
- return {
115
-
116
- // -------------------------------------------------------------------------
117
- // adapter initializer
118
- // -------------------------------------------------------------------------
119
- init: (options) => {
120
-
121
- // -----------------------------------------------------------------------
122
- // default module settings
123
- // -----------------------------------------------------------------------
124
- var settings = $.extend({
125
- module_name: 'j1.adapter.lightbox',
126
- generated: '{{site.time}}'
127
- }, options);
128
-
129
- // -----------------------------------------------------------------------
130
- // global variable settings
131
- // -----------------------------------------------------------------------
132
- _this = j1.adapter.lightbox;
133
- logger = log4javascript.getLogger('j1.adapter.lightbox');
134
-
135
- // create settings object from frontmatter (page settings)
136
- frontmatterOptions = options !== null ? $.extend({}, options) : {};
137
-
138
- // Load module DEFAULTS|CONFIG
139
- lightboxDefaults = $.extend({}, {{lightbox_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
140
- lightboxSettings = $.extend({}, {{lightbox_settings | replace: 'nil', 'null' | replace: '=>', ':' }});
141
- lightboxOptions = $.extend(true, {}, lightboxDefaults, lightboxSettings, frontmatterOptions);
142
-
143
- // -----------------------------------------------------------------------
144
- // module initializer
145
- // -----------------------------------------------------------------------
146
- var dependencies_met_page_ready = setInterval (() => {
147
- var pageState = $('#content').css("display");
148
- var pageVisible = (pageState === 'block') ? true: false;
149
- var j1CoreFinished = (j1.getState() === 'finished') ? true : false;
150
- var lbV2Finished = ($('#lightbox').length) ? true : false;
151
-
152
- if (j1CoreFinished && pageVisible && lbV2Finished) {
153
- startTimeModule = Date.now();
154
-
155
- _this.setState('started');
156
- logger.debug('\n' + 'state: ' + _this.getState());
157
- logger.info('\n' + 'module is being initialized');
158
-
159
- lightbox.option({
160
- alwaysShowNavOnTouchDevices: lightboxOptions.alwaysShowNavOnTouchDevices,
161
- albumLabel: lightboxOptions.albumLabel,
162
- disableScrolling: lightboxOptions.disableScrolling,
163
- fadeDuration: lightboxOptions.fadeDuration,
164
- fitImagesInViewport: lightboxOptions.fitImagesInViewport,
165
- imageFadeDuration: lightboxOptions.imageFadeDuration,
166
- maxWidth: lightboxOptions.maxWidth,
167
- maxHeight: lightboxOptions.maxHeight,
168
- positionFromTop: lightboxOptions.positionFromTop,
169
- resizeDuration: lightboxOptions.resizeDuration,
170
- showImageNumberLabel: lightboxOptions.showImageNumberLabel,
171
- wrapAround: lightboxOptions.wrapAround
172
- });
173
-
174
- _this.setState('finished');
175
- logger.debug('\n' + 'state: ' + _this.getState());
176
- logger.info('\n' + 'initializing module finished');
177
-
178
- endTimeModule = Date.now();
179
- logger.info('\n' + 'module initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
180
-
181
- clearInterval(dependencies_met_page_ready);
182
- } // END if pageVisible
183
- }, 10); // END dependencies_met_page_ready
184
-
185
- }, // END init lightbox
186
-
187
- // -------------------------------------------------------------------------
188
- // messageHandler()
189
- // manage messages send from other J1 modules
190
- // -------------------------------------------------------------------------
191
- messageHandler: (sender, message) => {
192
- var json_message = JSON.stringify(message, undefined, 2);
193
-
194
- logText = '\n' + 'received message from ' + sender + ': ' + json_message;
195
- logger.debug(logText);
196
-
197
- // -----------------------------------------------------------------------
198
- // process commands|actions
199
- // -----------------------------------------------------------------------
200
- if (message.type === 'command' && message.action === 'module_initialized') {
201
-
202
- //
203
- // place handling of command|action here
204
- //
205
-
206
- logger.info('\n' + message.text);
207
- }
208
-
209
- //
210
- // place handling of other command|action here
211
- //
212
-
213
- return true;
214
- }, // END messageHandler
215
-
216
- // -------------------------------------------------------------------------
217
- // setState()
218
- // sets the current (processing) state of the module
219
- // -------------------------------------------------------------------------
220
- setState: (stat) => {
221
- _this.state = stat;
222
- }, // END setState
223
-
224
- // -------------------------------------------------------------------------
225
- // getState()
226
- // Returns the current (processing) state of the module
227
- // -------------------------------------------------------------------------
228
- getState: () => {
229
- return _this.state;
230
- } // END getState
231
-
232
- }; // END main (return)
233
- })(j1, window);
234
-
235
- {% endcapture %}
236
- {% if production %}
237
- {{ cache | minifyJS }}
238
- {% else %}
239
- {{ cache | strip_empty_lines }}
240
- {% endif %}
241
- {% assign cache = nil %}
1
+ ---
2
+ regenerate: true
3
+ ---
4
+
5
+ {% capture cache %}
6
+
7
+ {% comment %}
8
+ # -----------------------------------------------------------------------------
9
+ # ~/assets/themes/j1/adapter/js/lightbox.js
10
+ # Liquid template to adapt Lightbox Core functions
11
+ #
12
+ # Product/Info:
13
+ # https://jekyll.one
14
+ #
15
+ # Copyright (C) 2023, 2024 Juergen Adams
16
+ #
17
+ # J1 Template is licensed under the MIT License.
18
+ # For details, see: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
19
+ # -----------------------------------------------------------------------------
20
+ # Test data:
21
+ # {{ liquid_var | debug }}
22
+ # -----------------------------------------------------------------------------
23
+ {% endcomment %}
24
+
25
+ {% comment %} Liquid procedures
26
+ -------------------------------------------------------------------------------- {% endcomment %}
27
+
28
+ {% comment %} Set global settings
29
+ -------------------------------------------------------------------------------- {% endcomment %}
30
+ {% assign environment = site.environment %}
31
+ {% assign template_version = site.version %}
32
+
33
+ {% comment %} Process YML config data
34
+ ================================================================================ {% endcomment %}
35
+
36
+ {% comment %} Set config files
37
+ -------------------------------------------------------------------------------- {% endcomment %}
38
+ {% assign template_config = site.data.j1_config %}
39
+ {% assign modules = site.data.modules %}
40
+
41
+ {% comment %} Set config data
42
+ -------------------------------------------------------------------------------- {% endcomment %}
43
+ {% assign lightbox_defaults = modules.defaults.lightbox.defaults %}
44
+ {% assign lightbox_settings = modules.lightbox.settings %}
45
+
46
+ {% comment %} Set config options
47
+ -------------------------------------------------------------------------------- {% endcomment %}
48
+ {% assign lightbox_options = lightbox_defaults | merge: lightbox_settings %}
49
+
50
+ {% comment %} Detect prod mode
51
+ -------------------------------------------------------------------------------- {% endcomment %}
52
+ {% assign production = false %}
53
+ {% if environment == 'prod' or environment == 'production' %}
54
+ {% assign production = true %}
55
+ {% endif %}
56
+
57
+ /*
58
+ # -----------------------------------------------------------------------------
59
+ # ~/assets/themes/j1/adapter/js/lightbox.js
60
+ # JS Adapter for J1 Lightbox
61
+ #
62
+ # Product/Info:
63
+ # https://jekyll.one
64
+ # https://github.com/lokesh/lightbox2/
65
+ #
66
+ # Copyright (C) 2023, 2024 Juergen Adams
67
+ # Copyright (C) 2007, 2018 Lokesh Dhakar
68
+ #
69
+ # J1 Template is licensed under the MIT License.
70
+ # For details, see: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
71
+ # Lightbox V2 is licensed under the MIT License.
72
+ # For details, see https://github.com/lokesh/lightbox2/
73
+ #
74
+ # -----------------------------------------------------------------------------
75
+ # Adapter generated: {{site.time}}
76
+ # -----------------------------------------------------------------------------
77
+ */
78
+
79
+ // -----------------------------------------------------------------------------
80
+ // ESLint shimming
81
+ // -----------------------------------------------------------------------------
82
+ /* eslint indent: "off" */
83
+ // -----------------------------------------------------------------------------
84
+ 'use strict';
85
+ j1.adapter.lightbox = ((j1, window) => {
86
+
87
+ {% comment %} Global variables
88
+ ------------------------------------------------------------------------------ {% endcomment %}
89
+ var environment = '{{environment}}';
90
+ var state = 'not_started';
91
+
92
+ var lightboxDefaults;
93
+ var lightboxSettings;
94
+ var lightboxOptions;
95
+ var frontmatterOptions;
96
+
97
+ var _this;
98
+ var logger;
99
+ var logText;
100
+
101
+ // date|time
102
+ var startTime;
103
+ var endTime;
104
+ var startTimeModule;
105
+ var endTimeModule;
106
+ var timeSeconds;
107
+
108
+ // ---------------------------------------------------------------------------
109
+ // helper functions
110
+ // ---------------------------------------------------------------------------
111
+
112
+ // ---------------------------------------------------------------------------
113
+ // main
114
+ // ---------------------------------------------------------------------------
115
+ return {
116
+
117
+ // -------------------------------------------------------------------------
118
+ // adapter initializer
119
+ // -------------------------------------------------------------------------
120
+ init: (options) => {
121
+
122
+ // -----------------------------------------------------------------------
123
+ // default module settings
124
+ // -----------------------------------------------------------------------
125
+ var settings = $.extend({
126
+ module_name: 'j1.adapter.lightbox',
127
+ generated: '{{site.time}}'
128
+ }, options);
129
+
130
+ // -----------------------------------------------------------------------
131
+ // global variable settings
132
+ // -----------------------------------------------------------------------
133
+ _this = j1.adapter.lightbox;
134
+ logger = log4javascript.getLogger('j1.adapter.lightbox');
135
+
136
+ // create settings object from frontmatter (page settings)
137
+ frontmatterOptions = options !== null ? $.extend({}, options) : {};
138
+
139
+ // Load module DEFAULTS|CONFIG
140
+ lightboxDefaults = $.extend({}, {{lightbox_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
141
+ lightboxSettings = $.extend({}, {{lightbox_settings | replace: 'nil', 'null' | replace: '=>', ':' }});
142
+ lightboxOptions = $.extend(true, {}, lightboxDefaults, lightboxSettings, frontmatterOptions);
143
+
144
+ // -----------------------------------------------------------------------
145
+ // module initializer
146
+ // -----------------------------------------------------------------------
147
+ var dependencies_met_page_ready = setInterval (() => {
148
+ var pageState = $('#content').css("display");
149
+ var pageVisible = (pageState === 'block') ? true: false;
150
+ var j1CoreFinished = (j1.getState() === 'finished') ? true : false;
151
+ var lbV2Finished = ($('#lightbox').length) ? true : false;
152
+
153
+ if (j1CoreFinished && pageVisible && lbV2Finished) {
154
+ startTimeModule = Date.now();
155
+
156
+ _this.setState('started');
157
+ logger.debug('\n' + 'state: ' + _this.getState());
158
+ logger.info('\n' + 'module is being initialized');
159
+
160
+ lightbox.option({
161
+ alwaysShowNavOnTouchDevices: lightboxOptions.alwaysShowNavOnTouchDevices,
162
+ albumLabel: lightboxOptions.albumLabel,
163
+ disableScrolling: lightboxOptions.disableScrolling,
164
+ fadeDuration: lightboxOptions.fadeDuration,
165
+ fitImagesInViewport: lightboxOptions.fitImagesInViewport,
166
+ imageFadeDuration: lightboxOptions.imageFadeDuration,
167
+ maxWidth: lightboxOptions.maxWidth,
168
+ maxHeight: lightboxOptions.maxHeight,
169
+ positionFromTop: lightboxOptions.positionFromTop,
170
+ resizeDuration: lightboxOptions.resizeDuration,
171
+ showImageNumberLabel: lightboxOptions.showImageNumberLabel,
172
+ wrapAround: lightboxOptions.wrapAround
173
+ });
174
+
175
+ _this.setState('finished');
176
+ logger.debug('\n' + 'state: ' + _this.getState());
177
+ logger.info('\n' + 'initializing module finished');
178
+
179
+ endTimeModule = Date.now();
180
+ logger.info('\n' + 'module initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
181
+
182
+ clearInterval(dependencies_met_page_ready);
183
+ } // END if pageVisible
184
+ }, 10); // END dependencies_met_page_ready
185
+
186
+ }, // END init lightbox
187
+
188
+ // -------------------------------------------------------------------------
189
+ // messageHandler()
190
+ // manage messages send from other J1 modules
191
+ // -------------------------------------------------------------------------
192
+ messageHandler: (sender, message) => {
193
+ var json_message = JSON.stringify(message, undefined, 2);
194
+
195
+ logText = '\n' + 'received message from ' + sender + ': ' + json_message;
196
+ logger.debug(logText);
197
+
198
+ // -----------------------------------------------------------------------
199
+ // process commands|actions
200
+ // -----------------------------------------------------------------------
201
+ if (message.type === 'command' && message.action === 'module_initialized') {
202
+
203
+ //
204
+ // place handling of command|action here
205
+ //
206
+
207
+ logger.info('\n' + message.text);
208
+ }
209
+
210
+ //
211
+ // place handling of other command|action here
212
+ //
213
+
214
+ return true;
215
+ }, // END messageHandler
216
+
217
+ // -------------------------------------------------------------------------
218
+ // setState()
219
+ // sets the current (processing) state of the module
220
+ // -------------------------------------------------------------------------
221
+ setState: (stat) => {
222
+ _this.state = stat;
223
+ }, // END setState
224
+
225
+ // -------------------------------------------------------------------------
226
+ // getState()
227
+ // Returns the current (processing) state of the module
228
+ // -------------------------------------------------------------------------
229
+ getState: () => {
230
+ return _this.state;
231
+ } // END getState
232
+
233
+ }; // END main (return)
234
+ })(j1, window);
235
+
236
+ {% endcapture %}
237
+ {% if production %}
238
+ {{ cache | minifyJS }}
239
+ {% else %}
240
+ {{ cache | strip_empty_lines }}
241
+ {% endif %}
242
+ {% assign cache = nil %}
@@ -93,6 +93,7 @@ j1.adapter.logger = ((j1, window) => {
93
93
  var state = 'not_started';
94
94
  var utilServerOptions = {};
95
95
  var ajaxAppenderOptions = {};
96
+
96
97
  var loggerDefaults;
97
98
  var loggerSettings;
98
99
  var loggerOptions;
@@ -211,11 +211,9 @@ j1.adapter.lunr = ((j1, window) => {
211
211
  // update searchHistory
212
212
  if (searchHistoryFromCookie) {
213
213
  logger.debug('\n' + 'save search history to cookie');
214
- j1.removeCookie({
215
- name: cookie_names.search_prompt,
216
- domain: auto_domain,
217
- secure: secure
218
- });
214
+
215
+ // remove BEFORE write
216
+ j1.removeCookie({ name: cookie_names.search_prompt });
219
217
 
220
218
  if (newHistory.length > 0) {
221
219
  cookie_written = j1.writeCookie({
@@ -652,11 +650,9 @@ j1.adapter.lunr = ((j1, window) => {
652
650
  // write current history to cookie
653
651
  if (searchHistoryFromCookie) {
654
652
  logger.debug('\n' + 'sendButton, save prompt history to cookie');
655
- j1.removeCookie({
656
- name: cookie_names.search_prompt,
657
- domain: auto_domain,
658
- secure: secure
659
- });
653
+
654
+ // remove BEFORE write
655
+ j1.removeCookie({ name: cookie_names.search_prompt });
660
656
  cookie_written = j1.writeCookie({
661
657
  name: cookie_names.search_prompt,
662
658
  data: textHistory,