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
@@ -115,6 +115,7 @@ j1.adapter.mmenu = ((j1, window) => {
115
115
  var cookie_names = j1.getCookieNames();
116
116
  var themesEnabled = {{themes_options.enabled}};
117
117
  var state = 'not_started';
118
+
118
119
  var user_state;
119
120
  var user_session;
120
121
  var user_data;
@@ -168,8 +168,8 @@ j1.adapter.navigator = ((j1, window) => {
168
168
  var cookie_names = j1.getCookieNames();
169
169
  var cookie_user_session_name = cookie_names.user_session;
170
170
 
171
- var navigatorCoreInitialized = false;
172
- var themesEnabled = {{themes_options.enabled}};
171
+ var navigatorCoreInitialized = false;
172
+ var themesEnabled = {{themes_options.enabled}};
173
173
 
174
174
  var user_session = {};
175
175
  var user_session_merged = {};
@@ -89,6 +89,7 @@ j1.adapter.particles = ((j1, window) => {
89
89
  var environment = '{{environment}}';
90
90
  var cookie_names = j1.getCookieNames();
91
91
  var state = 'not_started';
92
+
92
93
  var particleDefaults;
93
94
  var particleSettings;
94
95
  var particleOptions;
@@ -85,6 +85,7 @@ j1.adapter.rangeSlider = ((j1, window) => {
85
85
  var environment = '{{environment}}';
86
86
  var instances = [];
87
87
  var state = 'not_started';
88
+
88
89
  var rangeSliderDefaults;
89
90
  var rangeSliderSettings;
90
91
  var rangeSliderOptions;
@@ -1,287 +1,288 @@
1
- ---
2
- regenerate: true
3
- ---
4
-
5
- {% capture cache %}
6
-
7
- {% comment %}
8
- # -----------------------------------------------------------------------------
9
- # ~/assets/themes/j1/adapter/js/rouge.js
10
- # Liquid template to adapt J1 Highlighter (Rouge)
11
- #
12
- # Product/Info:
13
- # https://jekyll.one
14
- # Copyright (C) 2023, 2024 Juergen Adams
15
- #
16
- # J1 Template is licensed under the MIT License.
17
- # For details, see: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
18
- # -----------------------------------------------------------------------------
19
- # Test data:
20
- # {{ liquid_var | debug }}
21
- # -----------------------------------------------------------------------------
22
- {% endcomment %}
23
-
24
- {% comment %} Liquid procedures
25
- -------------------------------------------------------------------------------- {% endcomment %}
26
-
27
- {% comment %} Set global settings
28
- -------------------------------------------------------------------------------- {% endcomment %}
29
- {% assign environment = site.environment %}
30
- {% assign template_version = site.version %}
31
- {% assign asset_path = "/assets/themes/j1" %}
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
-
40
- {% comment %} Detect prod mode
41
- -------------------------------------------------------------------------------- {% endcomment %}
42
- {% assign production = false %}
43
- {% if environment == 'prod' or environment == 'production' %}
44
- {% assign production = true %}
45
- {% endif %}
46
-
47
- /*
48
- # -----------------------------------------------------------------------------
49
- # ~/assets/themes/j1/adapter/js/rouge.js
50
- # J1 Adapter for rouge
51
- #
52
- # Product/Info:
53
- # https://jekyll.one
54
- #
55
- # Copyright (C) 2023, 2024 Juergen Adams
56
- #
57
- # J1 Template is licensed under the MIT License.
58
- # For details, see: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
59
- # -----------------------------------------------------------------------------
60
- # Note:
61
- # https://github.com/jirutka/asciidoctor-rouge/issues/9
62
- # -----------------------------------------------------------------------------
63
- # Adapter generated: {{site.time}}
64
- # -----------------------------------------------------------------------------
65
- */
66
-
67
- // -----------------------------------------------------------------------------
68
- // ESLint shimming
69
- // -----------------------------------------------------------------------------
70
- /* eslint indent: "off" */
71
- /* eslint quotes: "off" */
72
- // -----------------------------------------------------------------------------
73
- 'use strict';
74
- j1.adapter.rouge = ((j1, window) => {
75
-
76
- {% comment %} Set global variables
77
- ------------------------------------------------------------------------------ {% endcomment %}
78
- var environment = '{{environment}}';
79
- var moduleOptions = {};
80
- var user_state = {};
81
- var cookie_names = j1.getCookieNames();
82
- var cookie_user_state_name = cookie_names.user_state;
83
- var state = 'not_started';
84
- var user_state_detected;
85
- var themeCss;
86
- var darkTheme;
87
-
88
- var _this;
89
- var logger;
90
- var logText;
91
-
92
- // date|time
93
- var startTime;
94
- var endTime;
95
- var startTimeModule;
96
- var endTimeModule;
97
- var timeSeconds;
98
-
99
- var templateOptions = $.extend({}, {{template_config | replace: 'nil', 'null' | replace: '=>', ':' }});
100
-
101
- // ---------------------------------------------------------------------------
102
- // helper functions
103
- // ---------------------------------------------------------------------------
104
-
105
- // ---------------------------------------------------------------------------
106
- // main
107
- // ---------------------------------------------------------------------------
108
- return {
109
-
110
- // -------------------------------------------------------------------------
111
- // helper functions
112
- // -------------------------------------------------------------------------
113
-
114
- // -------------------------------------------------------------------------
115
- // adapter initializer
116
- // -------------------------------------------------------------------------
117
- init: (options) => {
118
-
119
- // -----------------------------------------------------------------------
120
- // default module settings
121
- // -----------------------------------------------------------------------
122
- var settings = $.extend({
123
- module_name: 'j1.adapter.rouge',
124
- generated: '{{site.time}}'
125
- }, options);
126
-
127
- // -----------------------------------------------------------------------
128
- // global variable settings
129
- // -----------------------------------------------------------------------
130
- _this = j1.adapter.rouge;
131
- logger = log4javascript.getLogger('j1.adapter.rouge');
132
-
133
- // -----------------------------------------------------------------------
134
- // module initializer
135
- // -----------------------------------------------------------------------
136
- var dependency_met_page_ready = setInterval(() => {
137
- var pageState = $('#content').css("display");
138
- var pageVisible = (pageState === 'block') ? true : false;
139
- var j1CoreFinished = (j1.getState() === 'finished') ? true : false;
140
-
141
- if (j1CoreFinished && pageVisible) {
142
- startTimeModule = Date.now();
143
-
144
- _this.setState('started');
145
- logger.debug('\n' + 'set module state to: ' + _this.getState());
146
- logger.info('\n' + 'initializing module: started');
147
-
148
- // Detect|Set J1 UserState
149
- user_state_detected = j1.existsCookie(cookie_user_state_name);
150
- if (user_state_detected) {
151
- user_state = j1.readCookie(cookie_user_state_name);
152
- themeCss = user_state.theme_css;
153
- darkTheme = themeCss.includes('dark') ||
154
- themeCss.includes('cyborg') ||
155
- themeCss.includes('darkly') ||
156
- themeCss.includes('slate') ||
157
- themeCss.includes('superhero');
158
- } else {
159
- log_text = '\n' + 'user_state cookie not found';
160
- logger.warn(log_text);
161
- }
162
-
163
- $('.dropdown-menu a').click(() => {
164
- $('#selected-theme').html('Current selection: <div class="md-gray-900 mt-1 p-2" style="background-color: #BDBDBD; font-weight: 700;">' +$(this).text() + '</div>');
165
- });
166
-
167
- // disable (Google) translation for all highlight HTML elements
168
- // used for rouge
169
- // see: https://www.codingexercises.com/replace-all-instances-of-css-class-in-vanilla-js
170
- //
171
- var highlight = document.getElementsByClassName('highlight');
172
- [...highlight].forEach((x) => {
173
- if (!x.className.includes('notranslate')) {
174
- x.className += " notranslate"
175
- }
176
- });
177
-
178
- _this.setState('finished');
179
- logger.debug('\n' + 'state: ' + _this.getState());
180
- logger.info('\n' + 'initializing module: finished');
181
-
182
- endTimeModule = Date.now();
183
- logger.info('\n' + 'module initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
184
-
185
- clearInterval(dependency_met_page_ready);
186
- } // END if pageVisible
187
- }, 10); // END dependency_met_page_ready
188
-
189
- var dependencies_met_rouge_finished = setInterval(() => {
190
- var moduleFinished = (j1.adapter.rouge.getState() === 'finished') ? true : false;
191
-
192
- if (moduleFinished) {
193
- if (darkTheme) {
194
- j1.adapter.rouge.reaplyStyles(templateOptions.rouge.theme_dark);
195
- } else {
196
- j1.adapter.rouge.reaplyStyles(templateOptions.rouge.theme_light);
197
- }
198
-
199
- clearInterval(dependencies_met_rouge_finished);
200
- } // END if darkTheme
201
- }, 10); // END dependencies_met_rouge_finished
202
- }, // END init
203
-
204
- // -------------------------------------------------------------------------
205
- // reaplyStyles()
206
- // load|apply new rouge theme
207
- // -------------------------------------------------------------------------
208
- reaplyStyles: (themename) => {
209
- _this.removeAllRougeStyles();
210
- _this.addStyle(themename);
211
- return true;
212
- },
213
-
214
- // -------------------------------------------------------------------------
215
- // removeAllRougeStyles()
216
- // remove existing rouge theme CSS (from section <head>)
217
- // -------------------------------------------------------------------------
218
- removeAllRougeStyles: () => {
219
- $('link[rel=stylesheet][href*="/assets/themes/j1/modules/rouge"]').remove();
220
- },
221
-
222
- // -------------------------------------------------------------------------
223
- // addStyle()
224
- // add rouge theme CSS (to section <head>)
225
- // -------------------------------------------------------------------------
226
- addStyle: (themename) => {
227
- $('<link>').attr('rel','stylesheet')
228
- .attr('type','text/css')
229
- .attr('href','/assets/themes/j1/modules/rouge/css/' +themename+ '/theme.min.css')
230
- .appendTo('head');
231
- },
232
-
233
- // -------------------------------------------------------------------------
234
- // messageHandler()
235
- // manage messages send from other J1 modules
236
- // -------------------------------------------------------------------------
237
- messageHandler: (sender, message) => {
238
- var json_message = JSON.stringify(message, undefined, 2);
239
-
240
- logText = '\n' + 'received message from ' + sender + ': ' + json_message;
241
- logger.debug(logText);
242
-
243
- // -----------------------------------------------------------------------
244
- // process commands|actions
245
- // -----------------------------------------------------------------------
246
- if (message.type === 'command' && message.action === 'module_initialized') {
247
-
248
- //
249
- // place handling of command|action here
250
- //
251
-
252
- logger.info('\n' + message.text);
253
- }
254
-
255
- //
256
- // place handling of other command|action here
257
- //
258
-
259
- return true;
260
- }, // END messageHandler
261
-
262
- // -------------------------------------------------------------------------
263
- // setState()
264
- // sets the current (processing) state of the module
265
- // -------------------------------------------------------------------------
266
- setState: (stat) => {
267
- _this.state = stat;
268
- }, // END setState
269
-
270
- // -------------------------------------------------------------------------
271
- // getState()
272
- // Returns the current (processing) state of the module
273
- // -------------------------------------------------------------------------
274
- getState: () => {
275
- return _this.state;
276
- } // END getState
277
-
278
- }; // END main (return)
279
- })(j1, window);
280
-
281
- {% endcapture %}
282
- {% if production %}
283
- {{ cache | minifyJS }}
284
- {% else %}
285
- {{ cache | strip_empty_lines }}
286
- {% endif %}
287
- {% assign cache = nil %}
1
+ ---
2
+ regenerate: true
3
+ ---
4
+
5
+ {% capture cache %}
6
+
7
+ {% comment %}
8
+ # -----------------------------------------------------------------------------
9
+ # ~/assets/themes/j1/adapter/js/rouge.js
10
+ # Liquid template to adapt J1 Highlighter (Rouge)
11
+ #
12
+ # Product/Info:
13
+ # https://jekyll.one
14
+ # Copyright (C) 2023, 2024 Juergen Adams
15
+ #
16
+ # J1 Template is licensed under the MIT License.
17
+ # For details, see: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
18
+ # -----------------------------------------------------------------------------
19
+ # Test data:
20
+ # {{ liquid_var | debug }}
21
+ # -----------------------------------------------------------------------------
22
+ {% endcomment %}
23
+
24
+ {% comment %} Liquid procedures
25
+ -------------------------------------------------------------------------------- {% endcomment %}
26
+
27
+ {% comment %} Set global settings
28
+ -------------------------------------------------------------------------------- {% endcomment %}
29
+ {% assign environment = site.environment %}
30
+ {% assign template_version = site.version %}
31
+ {% assign asset_path = "/assets/themes/j1" %}
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
+
40
+ {% comment %} Detect prod mode
41
+ -------------------------------------------------------------------------------- {% endcomment %}
42
+ {% assign production = false %}
43
+ {% if environment == 'prod' or environment == 'production' %}
44
+ {% assign production = true %}
45
+ {% endif %}
46
+
47
+ /*
48
+ # -----------------------------------------------------------------------------
49
+ # ~/assets/themes/j1/adapter/js/rouge.js
50
+ # J1 Adapter for rouge
51
+ #
52
+ # Product/Info:
53
+ # https://jekyll.one
54
+ #
55
+ # Copyright (C) 2023, 2024 Juergen Adams
56
+ #
57
+ # J1 Template is licensed under the MIT License.
58
+ # For details, see: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
59
+ # -----------------------------------------------------------------------------
60
+ # Note:
61
+ # https://github.com/jirutka/asciidoctor-rouge/issues/9
62
+ # -----------------------------------------------------------------------------
63
+ # Adapter generated: {{site.time}}
64
+ # -----------------------------------------------------------------------------
65
+ */
66
+
67
+ // -----------------------------------------------------------------------------
68
+ // ESLint shimming
69
+ // -----------------------------------------------------------------------------
70
+ /* eslint indent: "off" */
71
+ /* eslint quotes: "off" */
72
+ // -----------------------------------------------------------------------------
73
+ 'use strict';
74
+ j1.adapter.rouge = ((j1, window) => {
75
+
76
+ {% comment %} Set global variables
77
+ ------------------------------------------------------------------------------ {% endcomment %}
78
+ var environment = '{{environment}}';
79
+ var moduleOptions = {};
80
+ var user_state = {};
81
+ var cookie_names = j1.getCookieNames();
82
+ var cookie_user_state_name = cookie_names.user_state;
83
+ var state = 'not_started';
84
+
85
+ var user_state_detected;
86
+ var themeCss;
87
+ var darkTheme;
88
+
89
+ var _this;
90
+ var logger;
91
+ var logText;
92
+
93
+ // date|time
94
+ var startTime;
95
+ var endTime;
96
+ var startTimeModule;
97
+ var endTimeModule;
98
+ var timeSeconds;
99
+
100
+ var templateOptions = $.extend({}, {{template_config | replace: 'nil', 'null' | replace: '=>', ':' }});
101
+
102
+ // ---------------------------------------------------------------------------
103
+ // helper functions
104
+ // ---------------------------------------------------------------------------
105
+
106
+ // ---------------------------------------------------------------------------
107
+ // main
108
+ // ---------------------------------------------------------------------------
109
+ return {
110
+
111
+ // -------------------------------------------------------------------------
112
+ // helper functions
113
+ // -------------------------------------------------------------------------
114
+
115
+ // -------------------------------------------------------------------------
116
+ // adapter initializer
117
+ // -------------------------------------------------------------------------
118
+ init: (options) => {
119
+
120
+ // -----------------------------------------------------------------------
121
+ // default module settings
122
+ // -----------------------------------------------------------------------
123
+ var settings = $.extend({
124
+ module_name: 'j1.adapter.rouge',
125
+ generated: '{{site.time}}'
126
+ }, options);
127
+
128
+ // -----------------------------------------------------------------------
129
+ // global variable settings
130
+ // -----------------------------------------------------------------------
131
+ _this = j1.adapter.rouge;
132
+ logger = log4javascript.getLogger('j1.adapter.rouge');
133
+
134
+ // -----------------------------------------------------------------------
135
+ // module initializer
136
+ // -----------------------------------------------------------------------
137
+ var dependency_met_page_ready = setInterval(() => {
138
+ var pageState = $('#content').css("display");
139
+ var pageVisible = (pageState === 'block') ? true : false;
140
+ var j1CoreFinished = (j1.getState() === 'finished') ? true : false;
141
+
142
+ if (j1CoreFinished && pageVisible) {
143
+ startTimeModule = Date.now();
144
+
145
+ _this.setState('started');
146
+ logger.debug('\n' + 'set module state to: ' + _this.getState());
147
+ logger.info('\n' + 'initializing module: started');
148
+
149
+ // Detect|Set J1 UserState
150
+ user_state_detected = j1.existsCookie(cookie_user_state_name);
151
+ if (user_state_detected) {
152
+ user_state = j1.readCookie(cookie_user_state_name);
153
+ themeCss = user_state.theme_css;
154
+ darkTheme = themeCss.includes('dark') ||
155
+ themeCss.includes('cyborg') ||
156
+ themeCss.includes('darkly') ||
157
+ themeCss.includes('slate') ||
158
+ themeCss.includes('superhero');
159
+ } else {
160
+ log_text = '\n' + 'user_state cookie not found';
161
+ logger.warn(log_text);
162
+ }
163
+
164
+ $('.dropdown-menu a').click(() => {
165
+ $('#selected-theme').html('Current selection: <div class="md-gray-900 mt-1 p-2" style="background-color: #BDBDBD; font-weight: 700;">' +$(this).text() + '</div>');
166
+ });
167
+
168
+ // disable (Google) translation for all highlight HTML elements
169
+ // used for rouge
170
+ // see: https://www.codingexercises.com/replace-all-instances-of-css-class-in-vanilla-js
171
+ //
172
+ var highlight = document.getElementsByClassName('highlight');
173
+ [...highlight].forEach((x) => {
174
+ if (!x.className.includes('notranslate')) {
175
+ x.className += " notranslate"
176
+ }
177
+ });
178
+
179
+ _this.setState('finished');
180
+ logger.debug('\n' + 'state: ' + _this.getState());
181
+ logger.info('\n' + 'initializing module: finished');
182
+
183
+ endTimeModule = Date.now();
184
+ logger.info('\n' + 'module initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
185
+
186
+ clearInterval(dependency_met_page_ready);
187
+ } // END if pageVisible
188
+ }, 10); // END dependency_met_page_ready
189
+
190
+ var dependencies_met_rouge_finished = setInterval(() => {
191
+ var moduleFinished = (j1.adapter.rouge.getState() === 'finished') ? true : false;
192
+
193
+ if (moduleFinished) {
194
+ if (darkTheme) {
195
+ j1.adapter.rouge.reaplyStyles(templateOptions.rouge.theme_dark);
196
+ } else {
197
+ j1.adapter.rouge.reaplyStyles(templateOptions.rouge.theme_light);
198
+ }
199
+
200
+ clearInterval(dependencies_met_rouge_finished);
201
+ } // END if darkTheme
202
+ }, 10); // END dependencies_met_rouge_finished
203
+ }, // END init
204
+
205
+ // -------------------------------------------------------------------------
206
+ // reaplyStyles()
207
+ // load|apply new rouge theme
208
+ // -------------------------------------------------------------------------
209
+ reaplyStyles: (themename) => {
210
+ _this.removeAllRougeStyles();
211
+ _this.addStyle(themename);
212
+ return true;
213
+ },
214
+
215
+ // -------------------------------------------------------------------------
216
+ // removeAllRougeStyles()
217
+ // remove existing rouge theme CSS (from section <head>)
218
+ // -------------------------------------------------------------------------
219
+ removeAllRougeStyles: () => {
220
+ $('link[rel=stylesheet][href*="/assets/themes/j1/modules/rouge"]').remove();
221
+ },
222
+
223
+ // -------------------------------------------------------------------------
224
+ // addStyle()
225
+ // add rouge theme CSS (to section <head>)
226
+ // -------------------------------------------------------------------------
227
+ addStyle: (themename) => {
228
+ $('<link>').attr('rel','stylesheet')
229
+ .attr('type','text/css')
230
+ .attr('href','/assets/themes/j1/modules/rouge/css/' +themename+ '/theme.min.css')
231
+ .appendTo('head');
232
+ },
233
+
234
+ // -------------------------------------------------------------------------
235
+ // messageHandler()
236
+ // manage messages send from other J1 modules
237
+ // -------------------------------------------------------------------------
238
+ messageHandler: (sender, message) => {
239
+ var json_message = JSON.stringify(message, undefined, 2);
240
+
241
+ logText = '\n' + 'received message from ' + sender + ': ' + json_message;
242
+ logger.debug(logText);
243
+
244
+ // -----------------------------------------------------------------------
245
+ // process commands|actions
246
+ // -----------------------------------------------------------------------
247
+ if (message.type === 'command' && message.action === 'module_initialized') {
248
+
249
+ //
250
+ // place handling of command|action here
251
+ //
252
+
253
+ logger.info('\n' + message.text);
254
+ }
255
+
256
+ //
257
+ // place handling of other command|action here
258
+ //
259
+
260
+ return true;
261
+ }, // END messageHandler
262
+
263
+ // -------------------------------------------------------------------------
264
+ // setState()
265
+ // sets the current (processing) state of the module
266
+ // -------------------------------------------------------------------------
267
+ setState: (stat) => {
268
+ _this.state = stat;
269
+ }, // END setState
270
+
271
+ // -------------------------------------------------------------------------
272
+ // getState()
273
+ // Returns the current (processing) state of the module
274
+ // -------------------------------------------------------------------------
275
+ getState: () => {
276
+ return _this.state;
277
+ } // END getState
278
+
279
+ }; // END main (return)
280
+ })(j1, window);
281
+
282
+ {% endcapture %}
283
+ {% if production %}
284
+ {{ cache | minifyJS }}
285
+ {% else %}
286
+ {{ cache | strip_empty_lines }}
287
+ {% endif %}
288
+ {% assign cache = nil %}