j1-template 2024.2.0 → 2024.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,