j1-template 2021.1.10 → 2021.1.11

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 (33) hide show
  1. checksums.yaml +4 -4
  2. data/assets/error_pages/HTTP204.html +3 -0
  3. data/assets/error_pages/HTTP400.html +3 -0
  4. data/assets/error_pages/HTTP401.html +3 -0
  5. data/assets/error_pages/HTTP403.html +3 -0
  6. data/assets/error_pages/HTTP404.html +3 -0
  7. data/assets/error_pages/HTTP500.html +3 -0
  8. data/assets/error_pages/HTTP501.html +3 -0
  9. data/assets/error_pages/HTTP502.html +3 -0
  10. data/assets/error_pages/HTTP503.html +3 -0
  11. data/assets/themes/j1/adapter/js/cookieConsent.js +18 -8
  12. data/assets/themes/j1/adapter/js/j1.js +93 -39
  13. data/assets/themes/j1/adapter/js/navigator.js +5 -2
  14. data/assets/themes/j1/adapter/js/themer.js +137 -92
  15. data/assets/themes/j1/core/js/template.js +24 -4
  16. data/assets/themes/j1/core/js/template.js.map +1 -1
  17. data/assets/themes/j1/core/js/template.min.js +24 -4
  18. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  19. data/lib/j1/version.rb +1 -1
  20. data/lib/starter_web/Gemfile +1 -1
  21. data/lib/starter_web/_config.yml +1 -1
  22. data/lib/starter_web/_data/resources.yml +0 -4
  23. data/lib/starter_web/_includes/attributes.asciidoc +1 -1
  24. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  25. data/lib/starter_web/package.json +1 -1
  26. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  27. data/lib/starter_web/utilsrv/package.json +1 -1
  28. metadata +2 -7
  29. data/assets/themes/j1/adapter/js/themer.1.js +0 -326
  30. data/assets/themes/j1/modules/util/js/js.cookie.js +0 -163
  31. data/assets/themes/j1/modules/util/js/lite-url.js +0 -203
  32. data/assets/themes/j1/modules/util/js/lite-url.min.js +0 -7
  33. data/assets/themes/j1/modules/util/js/platform.js +0 -1260
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": true,
3
3
  "name": "utls",
4
- "version": "2021.1.10",
4
+ "version": "2021.1.11",
5
5
  "description": "J1 Template Utility Server",
6
6
  "homepage": "https://jekyll.one",
7
7
  "author": {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: j1-template
3
3
  version: !ruby/object:Gem::Version
4
- version: 2021.1.10
4
+ version: 2021.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - juergen_jekyll_one
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-07-11 00:00:00.000000000 Z
11
+ date: 2021-07-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -376,7 +376,6 @@ files:
376
376
  - assets/themes/j1/adapter/js/quicksearch.js
377
377
  - assets/themes/j1/adapter/js/rouge.js
378
378
  - assets/themes/j1/adapter/js/rtable.js
379
- - assets/themes/j1/adapter/js/themer.1.js
380
379
  - assets/themes/j1/adapter/js/themer.js
381
380
  - assets/themes/j1/adapter/js/toccer.js
382
381
  - assets/themes/j1/core/css/animate.css
@@ -819,10 +818,6 @@ files:
819
818
  - assets/themes/j1/modules/twemoji/js/twemoji.min.js
820
819
  - assets/themes/j1/modules/util/js/domready.js
821
820
  - assets/themes/j1/modules/util/js/gtag-opt-in.js
822
- - assets/themes/j1/modules/util/js/js.cookie.js
823
- - assets/themes/j1/modules/util/js/lite-url.js
824
- - assets/themes/j1/modules/util/js/lite-url.min.js
825
- - assets/themes/j1/modules/util/js/platform.js
826
821
  - assets/themes/j1/modules/videojs/css/themes/city.css
827
822
  - assets/themes/j1/modules/videojs/css/themes/city.min.css
828
823
  - assets/themes/j1/modules/videojs/css/themes/fantasy.css
@@ -1,326 +0,0 @@
1
- ---
2
- regenerate: true
3
- ---
4
-
5
- {% capture cache %}
6
-
7
- {% comment %}
8
- # -----------------------------------------------------------------------------
9
- # ~/assets/themes/j1/adapter/js/themer.js
10
- # Liquid template to adapt theme functions
11
- #
12
- # Product/Info:
13
- # https://jekyll.one
14
- #
15
- # Copyright (C) 2021 Juergen Adams
16
- #
17
- # J1 Template is licensed under the MIT License.
18
- # For details, see https://jekyll.one
19
- #
20
- # -----------------------------------------------------------------------------
21
- # Test data:
22
- # {{config| debug }}
23
- # -----------------------------------------------------------------------------
24
- {% endcomment %}
25
-
26
- {% comment %} Liquid procedures
27
- -------------------------------------------------------------------------------- {% endcomment %}
28
-
29
- {% comment %} Set global settings
30
- -------------------------------------------------------------------------------- {% endcomment %}
31
- {% assign environment = site.environment %}
32
- {% assign template_version = site.version %}
33
- {% assign asset_path = "/assets/themes/j1" %}
34
-
35
- {% comment %} Process YML config data
36
- ================================================================================ {% endcomment %}
37
-
38
- {% comment %} Set config files
39
- -------------------------------------------------------------------------------- {% endcomment %}
40
- {% assign template_config = site.data.j1_config %}
41
- {% assign blocks = site.data.blocks %}
42
- {% assign modules = site.data.modules %}
43
-
44
- {% comment %} Set config data
45
- -------------------------------------------------------------------------------- {% endcomment %}
46
- {% assign themer_defaults = modules.defaults.themer.defaults %}
47
- {% assign themer_settings = modules.themer.settings %}
48
-
49
- {% comment %} Set config options
50
- -------------------------------------------------------------------------------- {% endcomment %}
51
- {% assign themer_options = themer_defaults| merge: themer_settings %}
52
- {% assign default_theme = template_config.theme %}
53
- {% assign theme_base = "core/css/themes" %}
54
-
55
- {% if environment == "development" or environment == "test" %}
56
- {% assign theme_ext = "css" %}
57
- {% else %}
58
- {% assign theme_ext = "min.css" %}
59
- {% endif %}
60
-
61
- {% assign production = false %}
62
- {% if environment == 'prod' or environment == 'production' %}
63
- {% assign production = true %}
64
- {% endif %}
65
-
66
- /*
67
- # -----------------------------------------------------------------------------
68
- # ~/assets/themes/j1/adapter/js/themer.js
69
- # JS Adapter for J1 themer (bootstrapThemeSwitcher)
70
- #
71
- # Product/Info:
72
- # https://jekyll.one
73
- # https://github.com/jguadagno/bootstrapThemeSwitcher
74
- #
75
- # Copyright (C) 2021 Juergen Adams
76
- # Copyright (C) 2014 Joseph Guadagno
77
- #
78
- # J1 Template is licensed under the MIT License.
79
- # For details, see https://jekyll.one
80
- # bootstrapThemeSwitcher is licensed under the MIT License.
81
- # For details, see https://github.com/jguadagno/bootstrapThemeSwitcher/blob/master/LICENSE
82
- # -----------------------------------------------------------------------------
83
- # NOTE:
84
- # Setup of theme loaders for local_themes|remote_themes moved
85
- # to adapter navigator.js
86
- # -----------------------------------------------------------------------------
87
- # Adapter generated: {{site.time}}
88
- # -----------------------------------------------------------------------------
89
- */
90
-
91
- // -----------------------------------------------------------------------------
92
- // ESLint shimming
93
- // -----------------------------------------------------------------------------
94
- /* eslint indent: "off" */
95
- /* eslint quotes: "off" */
96
- // -----------------------------------------------------------------------------
97
-
98
- 'use strict';
99
-
100
- j1.adapter['themer'] = (function (j1, window) {
101
- // ---------------------------------------------------------------------------
102
- // globals
103
- // ---------------------------------------------------------------------------
104
- var environment = '{{environment}}';
105
- var themerOptions = $.extend({}, {{themer_options | replace: '=>', ':' | replace: 'nil', '""' }});
106
- var user_state = {};
107
- var user_consent = {};
108
- var cookie_names = j1.getCookieNames();
109
- var user_state_detected = false;
110
- var styleLoaded = false;
111
- var id = 'default';
112
- var user_state_cookie;
113
- var theme_css_html;
114
- var _this;
115
- var logger;
116
- var logText;
117
-
118
- var cssExtension = (environment === 'production')
119
- ? '.min.css'
120
- : '.css';
121
-
122
- var default_theme_name = '{{default_theme.name}}';
123
- var default_theme_author = '{{default_theme.author}}';
124
- var default_theme_author_url = '{{default_theme.author_url}}';
125
- var default_theme_css_name = default_theme_name.toLowerCase().replace(' ', '-');
126
- var default_theme_css = '{{asset_path}}/{{theme_base}}/' + default_theme_css_name + '/bootstrap' + cssExtension;
127
-
128
- // ---------------------------------------------------------------------------
129
- // helper functions
130
- // ---------------------------------------------------------------------------
131
-
132
- function styleSheetLoaded(styleSheet) {
133
- var sheets = document.styleSheets, stylesheet = sheets[(sheets.length - 1)];
134
-
135
- // find CSS file 'styleSheetName' in document
136
- for(var i in document.styleSheets) {
137
- if(sheets[i].href && sheets[i].href.indexOf(styleSheet) > -1) {
138
- return true;
139
- }
140
- }
141
- return false;
142
- }
143
-
144
- // ---------------------------------------------------------------------------
145
- // Main object
146
- // ---------------------------------------------------------------------------
147
- return {
148
- // -------------------------------------------------------------------------
149
- // initializer
150
- // -------------------------------------------------------------------------
151
- init: function () {
152
- // -----------------------------------------------------------------------
153
- // globals
154
- // -----------------------------------------------------------------------
155
- _this = j1.adapter.themer;
156
- logger = log4javascript.getLogger('j1.adapter.themer');
157
-
158
- // initialize state flag
159
- _this.state = 'started';
160
- logger.info('state: ' + _this.getState());
161
-
162
- // detect|set user state cookie
163
- user_state_detected = j1.existsCookie(cookie_names.user_state);
164
- if (user_state_detected) {
165
- user_state = j1.readCookie(cookie_names.user_state);
166
- user_consent = j1.readCookie(cookie_names.user_consent);
167
- }
168
-
169
- // initial theme data
170
- if (user_state.theme_css === '') {
171
- user_state.theme_name = default_theme_name;
172
- user_state.theme_css = default_theme_css;
173
- user_state.theme_author = default_theme_author;
174
- user_state.theme_author_url = default_theme_author_url;
175
- }
176
-
177
- styleLoaded = styleSheetLoaded(user_state.theme_css);
178
- theme_css_html = '<link rel="stylesheet" id="' + id + '" href="' + user_state.theme_css + '" type="text/css" />';
179
-
180
- // skip loading theme UNO css file except NOT loaded
181
- if (!user_state.theme_name.includes('Uno') || !styleLoaded) {
182
- $('head').append(theme_css_html);
183
- }
184
-
185
- // store if theme_switcher is enabled
186
- user_state.theme_switcher = themerOptions.enabled;
187
-
188
- if (!user_consent.analyses || !user_consent.personalization) {
189
- // expire state cookie to session
190
- j1.writeCookie({
191
- name: cookie_names.user_state,
192
- data: user_state,
193
- samesite: 'Strict'
194
- });
195
- } else {
196
- j1.writeCookie({
197
- name: cookie_names.user_state,
198
- data: user_state,
199
- samesite: 'Strict',
200
- expires: 365
201
- });
202
- }
203
-
204
- // jadams, 2021-01-03: dependency has to be checked in more detail
205
- var dependencies_met_j1_finished = setInterval (function () {
206
- if (j1.getState() == 'finished') {
207
- if (themerOptions.enabled) {
208
- // enable BS ThemeSwitcher
209
- logger.info('themes detected as: enabled');
210
- logger.info('theme is being initialized: ' + user_state.theme_name);
211
-
212
- // jadams, 2021-02-22: make sure that remote themes are loaded
213
- // max retries = max_count
214
-
215
- // load list of remote themes
216
- //
217
- if ( $('#remote_themes').length ) {
218
- var themes_count;
219
- var interval_count = 0;
220
- var max_count = themerOptions.retries;
221
-
222
- /* eslint-disable */
223
- // initialize Bootswatch Theme Switcher
224
- $('#remote_themes').bootstrapThemeSwitcher.defaults = {
225
- debug: themerOptions.debug,
226
- saveToCookie: themerOptions.saveToCookie,
227
- cssThemeLink: themerOptions.cssThemeLink,
228
- cookieThemeName: themerOptions.cookieThemeName,
229
- cookieDefaultThemeName: themerOptions.cookieDefaultThemeName,
230
- cookieThemeCss: themerOptions.cookieThemeCss,
231
- cookieThemeExtensionCss: themerOptions.cookieThemeExtensionCss,
232
- cookieExpiration: themerOptions.cookieExpiration,
233
- cookiePath: themerOptions.cookiePath,
234
- defaultCssFile: themerOptions.defaultCssFile,
235
- bootswatchApiUrl: themerOptions.bootswatchApiUrl,
236
- bootswatchApiVersion: themerOptions.bootswatchApiVersion,
237
- loadFromBootswatch: themerOptions.loadFromBootswatch,
238
- localFeed: themerOptions.localThemes,
239
- excludeBootswatch: themerOptions.excludeBootswatch,
240
- includeBootswatch: themerOptions.includeBootswatch,
241
- skipIncludeBootswatch: themerOptions.skipIncludeBootswatch
242
- }
243
- /* eslint-enable */
244
-
245
- // var dependencies_met_remote_themes_loaded = setInterval(function() {
246
- // interval_count += 1;
247
- // themes_count = document.getElementById("remote_themes").getElementsByTagName("li").length;
248
- // if ( themes_count > 0 ) {
249
- // logger.info('remote themes loaded: successfully');
250
- // logger.info('remote themes loaded: successfully after: ' + interval_count * 25 + ' ms');
251
- //
252
- // clearInterval(dependencies_met_remote_themes_loaded);
253
- // } else {
254
- // logger.debug('wait for theme to be loaded: ' + user_state.theme_name);
255
- // }
256
- // if (interval_count > max_count) {
257
- // logger.warn('remote themes loading: failed');
258
- // logger.warn('continue processing');
259
- // clearInterval(dependencies_met_remote_themes_loaded);
260
- // }
261
- // }, 25);
262
-
263
- logger.info('theme loaded: ' + user_state.theme_name);
264
- logger.info('theme css file: ' + user_state.theme_css);
265
- _this.setState('finished');
266
- logger.info('state: ' + _this.getState());
267
- logger.info('module initialized successfully');
268
- logger.info('met dependencies for: j1.adapter');
269
- }
270
- } else {
271
- _this.setState('finished');
272
- logger.info('state: ' + _this.getState());
273
- logger.info('themes detected as: disabled');
274
- }
275
- clearInterval(dependencies_met_j1_finished);
276
- }
277
- }, 25); // END 'dependencies_met_j1_finished'
278
- }, // END init
279
-
280
- // -------------------------------------------------------------------------
281
- // messageHandler
282
- // Manage messages send from other J1 modules
283
- // -------------------------------------------------------------------------
284
- messageHandler: function (sender, message) {
285
- var json_message = JSON.stringify(message, undefined, 2);
286
-
287
- logText = 'received message from ' + sender + ': ' + json_message;
288
- logger.info(logText);
289
-
290
- // -----------------------------------------------------------------------
291
- // Process commands|actions
292
- // -----------------------------------------------------------------------
293
- if (message.type === 'command' && message.action === 'module_initialized') {
294
- logger.info(message.text);
295
- //
296
- // Place handling of other command|action here
297
- //
298
- }
299
- }, // END messageHandler
300
-
301
- // -------------------------------------------------------------------------
302
- // setState()
303
- // Sets the current (processing) state of the module
304
- // -------------------------------------------------------------------------
305
- setState: function (stat) {
306
- _this.state = stat;
307
- }, // END setState
308
-
309
- // -------------------------------------------------------------------------
310
- // getState()
311
- // Returns the current (processing) state of the module
312
- // -------------------------------------------------------------------------
313
- getState: function () {
314
- return _this.state;
315
- } // END getState
316
-
317
- }; // END return
318
- })(j1, window);
319
-
320
- {% endcapture %}
321
- {% if production %}
322
- {{cache| minifyJS }}
323
- {% else %}
324
- {{cache| strip_empty_lines }}
325
- {% endif %}
326
- {% assign cache = nil %}
@@ -1,163 +0,0 @@
1
- /*!
2
- * JavaScript Cookie v2.2.1
3
- * https://github.com/js-cookie/js-cookie
4
- *
5
- * Copyright 2006 - 2019 Klaus Hartl & Fagner Brack
6
- * Released under the MIT license
7
- */
8
- ;(function (factory) {
9
- var registeredInModuleLoader;
10
- if (typeof define === 'function' && define.amd) {
11
- define(factory);
12
- registeredInModuleLoader = true;
13
- }
14
- if (typeof exports === 'object') {
15
- module.exports = factory();
16
- registeredInModuleLoader = true;
17
- }
18
- if (!registeredInModuleLoader) {
19
- var OldCookies = window.Cookies;
20
- var api = window.Cookies = factory();
21
- api.noConflict = function () {
22
- window.Cookies = OldCookies;
23
- return api;
24
- };
25
- }
26
- }(function () {
27
- function extend () {
28
- var i = 0;
29
- var result = {};
30
- for (; i < arguments.length; i++) {
31
- var attributes = arguments[ i ];
32
- for (var key in attributes) {
33
- result[key] = attributes[key];
34
- }
35
- }
36
- return result;
37
- }
38
-
39
- function decode (s) {
40
- return s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);
41
- }
42
-
43
- function init (converter) {
44
- function api() {}
45
-
46
- function set (key, value, attributes) {
47
- if (typeof document === 'undefined') {
48
- return;
49
- }
50
-
51
- attributes = extend({
52
- path: '/'
53
- }, api.defaults, attributes);
54
-
55
- if (typeof attributes.expires === 'number') {
56
- attributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);
57
- }
58
-
59
- // We're using "expires" because "max-age" is not supported by IE
60
- attributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';
61
-
62
- try {
63
- var result = JSON.stringify(value);
64
- if (/^[\{\[]/.test(result)) {
65
- value = result;
66
- }
67
- } catch (e) {}
68
-
69
- value = converter.write ?
70
- converter.write(value, key) :
71
- encodeURIComponent(String(value))
72
- .replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);
73
-
74
- key = encodeURIComponent(String(key))
75
- .replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)
76
- .replace(/[\(\)]/g, escape);
77
-
78
- var stringifiedAttributes = '';
79
- for (var attributeName in attributes) {
80
- if (!attributes[attributeName]) {
81
- continue;
82
- }
83
- stringifiedAttributes += '; ' + attributeName;
84
- if (attributes[attributeName] === true) {
85
- continue;
86
- }
87
-
88
- // Considers RFC 6265 section 5.2:
89
- // ...
90
- // 3. If the remaining unparsed-attributes contains a %x3B (";")
91
- // character:
92
- // Consume the characters of the unparsed-attributes up to,
93
- // not including, the first %x3B (";") character.
94
- // ...
95
- stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];
96
- }
97
-
98
- return (document.cookie = key + '=' + value + stringifiedAttributes);
99
- }
100
-
101
- function get (key, json) {
102
- if (typeof document === 'undefined') {
103
- return;
104
- }
105
-
106
- var jar = {};
107
- // To prevent the for loop in the first place assign an empty array
108
- // in case there are no cookies at all.
109
- var cookies = document.cookie ? document.cookie.split('; ') : [];
110
- var i = 0;
111
-
112
- for (; i < cookies.length; i++) {
113
- var parts = cookies[i].split('=');
114
- var cookie = parts.slice(1).join('=');
115
-
116
- if (!json && cookie.charAt(0) === '"') {
117
- cookie = cookie.slice(1, -1);
118
- }
119
-
120
- try {
121
- var name = decode(parts[0]);
122
- cookie = (converter.read || converter)(cookie, name) ||
123
- decode(cookie);
124
-
125
- if (json) {
126
- try {
127
- cookie = JSON.parse(cookie);
128
- } catch (e) {}
129
- }
130
-
131
- jar[name] = cookie;
132
-
133
- if (key === name) {
134
- break;
135
- }
136
- } catch (e) {}
137
- }
138
-
139
- return key ? jar[key] : jar;
140
- }
141
-
142
- api.set = set;
143
- api.get = function (key) {
144
- return get(key, false /* read as raw */);
145
- };
146
- api.getJSON = function (key) {
147
- return get(key, true /* read as json */);
148
- };
149
- api.remove = function (key, attributes) {
150
- set(key, '', extend(attributes, {
151
- expires: -1
152
- }));
153
- };
154
-
155
- api.defaults = {};
156
-
157
- api.withConverter = init;
158
-
159
- return api;
160
- }
161
-
162
- return init(function () {});
163
- }));