j1-template 2024.1.0 → 2024.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/modules/searcher/procedures/topsearch.proc +1 -1
  3. data/assets/data/banner.html +4 -4
  4. data/assets/data/cookieconsent.html +270 -175
  5. data/assets/data/galeries.html +1 -1
  6. data/assets/data/iso-639-language-codes-flags.json +179 -169
  7. data/assets/data/masonry.html +18 -12
  8. data/assets/data/translator.html +124 -0
  9. data/assets/themes/j1/adapter/js/comments.js +420 -418
  10. data/assets/themes/j1/adapter/js/cookieConsent.js +462 -451
  11. data/assets/themes/j1/adapter/js/gallery.js +11 -0
  12. data/assets/themes/j1/adapter/js/j1.js +32 -18
  13. data/assets/themes/j1/adapter/js/translator.js +2 -0
  14. data/assets/themes/j1/core/js/template.js +147 -95
  15. data/assets/themes/j1/core/js/template.min.js +5 -5
  16. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  17. data/assets/themes/j1/modules/comments/hyvor/css/hyvor.css +2105 -0
  18. data/assets/themes/j1/modules/comments/hyvor/css/themes/uno.css +18 -0
  19. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +8 -2
  20. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.min.js +2 -1
  21. data/assets/themes/j1/modules/lightGallery/js/lightgallery.js +116 -101
  22. data/assets/themes/j1/modules/lightGallery/js/lightgallery.min.js +2 -1
  23. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-video.js +65 -21
  24. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-video.min.js +9 -2
  25. data/assets/themes/j1/modules/msDropdown/js/msDropdown.js +1 -1
  26. data/assets/themes/j1/modules/msDropdown/js/msDropdown.min.js +4 -1
  27. data/assets/themes/j1/modules/tiktocPlayer/js/player.min.js +18 -0
  28. data/assets/themes/j1/modules/translator/js/translator.js +91 -80
  29. data/assets/themes/j1/modules/translator/js/translator.min.js +2 -1
  30. data/lib/j1/version.rb +1 -1
  31. data/lib/starter_web/README.md +5 -5
  32. data/lib/starter_web/_config.yml +1 -1
  33. data/lib/starter_web/_data/blocks/banner.yml +1 -1
  34. data/lib/starter_web/_data/layouts/collection.yml +6 -6
  35. data/lib/starter_web/_data/layouts/default.yml +6 -6
  36. data/lib/starter_web/_data/layouts/home.yml +2 -2
  37. data/lib/starter_web/_data/layouts/news_panel_posts.yml +6 -6
  38. data/lib/starter_web/_data/layouts/page.yml +6 -6
  39. data/lib/starter_web/_data/layouts/post.yml +6 -6
  40. data/lib/starter_web/_data/layouts/raw.yml +6 -6
  41. data/lib/starter_web/_data/modules/analytics.yml +1 -1
  42. data/lib/starter_web/_data/modules/comments.yml +4 -1
  43. data/lib/starter_web/_data/modules/defaults/analytics.yml +1 -2
  44. data/lib/starter_web/_data/modules/defaults/comments.yml +0 -6
  45. data/lib/starter_web/_data/modules/defaults/cookieconsent.de.yml +104 -0
  46. data/lib/starter_web/_data/modules/defaults/cookieconsent.en.yml +104 -0
  47. data/lib/starter_web/_data/modules/defaults/cookieconsent.yml +1 -8
  48. data/lib/starter_web/_data/modules/defaults/lunr.yml +2 -2
  49. data/lib/starter_web/_data/modules/defaults/translator.en.yml +138 -0
  50. data/lib/starter_web/_data/modules/defaults/translator.yml +22 -20
  51. data/lib/starter_web/_data/modules/gallery.yml +416 -266
  52. data/lib/starter_web/_data/resources.yml +28 -2
  53. data/lib/starter_web/_data/templates/feed.xml +1 -1
  54. data/lib/starter_web/_plugins/asciidoctor/audio-block.rb +85 -0
  55. data/lib/starter_web/_plugins/asciidoctor/video-block.rb +1 -1
  56. data/lib/starter_web/_plugins/asciidoctor/videojs-block.rb +34 -8
  57. data/lib/starter_web/_plugins/asciidoctor/vimeo-block.rb +1 -1
  58. data/lib/starter_web/_plugins/asciidoctor/wistia-block.rb +1 -1
  59. data/lib/starter_web/_plugins/asciidoctor/youtube-block.rb +1 -1
  60. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  61. data/lib/starter_web/assets/audio/sound-effects/ambient-piano.mp3 +0 -0
  62. data/lib/starter_web/assets/videos/gallery/gianna_1.jpg +0 -0
  63. data/lib/starter_web/assets/videos/gallery/gianna_2.jpg +0 -0
  64. data/lib/starter_web/assets/videos/gallery/gianna_3.jpg +0 -0
  65. data/lib/starter_web/assets/videos/gallery/html5/video2.mp4 +0 -0
  66. data/lib/starter_web/assets/videos/gallery/solo-sex.jpg +0 -0
  67. data/lib/starter_web/assets/videos/gallery/video1-poster.jpg +0 -0
  68. data/lib/starter_web/assets/videos/gallery/video2-poster.jpg +0 -0
  69. data/lib/starter_web/assets/videos/gallery/videojs-poster.png +0 -0
  70. data/lib/starter_web/assets/videos/gallery/voice_kids_nl_2021/video_poster.jpg +0 -0
  71. data/lib/starter_web/assets/videos/vtt/chapters/video1.vtt +8 -0
  72. data/lib/starter_web/package.json +1 -1
  73. data/lib/starter_web/pages/public/learn/roundtrip/present_images.adoc +0 -7
  74. data/lib/starter_web/pages/public/learn/roundtrip/present_videos.adoc +24 -7
  75. data/lib/starter_web/pages/public/learn/where_to_go.adoc +5 -1
  76. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +11 -4
  77. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +19 -14
  78. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +17 -12
  79. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +12 -6
  80. metadata +22 -18
  81. data/lib/starter_web/assets/videos/gallery/html5/video1-poster.jpg +0 -0
  82. data/lib/starter_web/assets/videos/gallery/html5/video2-poster.jpg +0 -0
  83. data/lib/starter_web/assets/videos/gallery/html5/303/237video2-poster.jpg +0 -0
  84. data/lib/starter_web/assets/videos/gallery/nye-party-shop-poster.jpg +0 -0
  85. data/lib/starter_web/assets/videos/gallery/video1-poster.1920..jpg +0 -0
  86. data/lib/starter_web/assets/videos/gallery/video1-thumb.jpg +0 -0
  87. data/lib/starter_web/assets/videos/gallery/video2-thumb.jpg +0 -0
  88. data/lib/starter_web/assets/videos/gallery/video_adele_last_carpool_caraoke_poster.1920.jpg +0 -0
  89. data/lib/starter_web/assets/videos/gallery/video_james_carpool_caraoke.1920.jpg +0 -0
  90. /data/lib/starter_web/_data/layouts/custom/{readme → !readme} +0 -0
  91. /data/lib/starter_web/_includes/custom/static/{readme → !readme} +0 -0
  92. /data/lib/starter_web/_includes/custom/templates/{readme → !readme} +0 -0
  93. /data/lib/starter_web/assets/videos/vtt/captions/{readme → !readme} +0 -0
  94. /data/lib/starter_web/assets/videos/vtt/chapters/{readme → !readme} +0 -0
  95. /data/lib/starter_web/assets/videos/vtt/descriptions/{readme → !readme} +0 -0
  96. /data/lib/starter_web/assets/videos/vtt/subtitles/{readme → !readme} +0 -0
@@ -33,7 +33,11 @@ function Translator(props) {
33
33
  var logger = log4javascript.getLogger('j1.core.translator');
34
34
  var pageURL = new liteURL(window.location.href);
35
35
  var cookieSecure = (pageURL.protocol.includes('https')) ? true : false;
36
+ var navigatorLanguage = navigator.language || navigator.userLanguage;
37
+ var defaultDialogLanguage = 'en';
36
38
  var detailedSettingsShown = false;
39
+ var defaultDialogLanguage = 'en';
40
+ var translator = {};
37
41
  var navigator_language;
38
42
  var translation_language;
39
43
 
@@ -92,46 +96,48 @@ function Translator(props) {
92
96
  // ---------------------------------------------------------------------------
93
97
  // default property settings
94
98
  // ---------------------------------------------------------------------------
95
- this.props = {
96
- contentURL: '/assets/data/translator', // this URL must contain the dialog content (modals) in the needed languages
97
- cookieName: 'j1.user.state', // the name of the User State Cookie (primary data)
98
- cookieConsentName: 'j1.user.consent', // the name of the Cookie Consent Cookie (secondary data)
99
- cookieStorageDays: 365, // the duration the cookie is stored on the client
100
- cookieSameSite: 'Lax', // restrict consent cookie to first-party, do NOT send cookie to other domains
101
- cookieSecure: cookieSecure, // secure flag on cookies
102
- translationEnabled: false, // enable|disable translation on first page view
103
- disableLanguageSelector: false, // disable language dropdown for translation in dialog (modal)
104
- translatorName: 'google', // name of the default translator
105
- translationLanguages: 'all', // supported languages for translation
106
- translationLanguage: 'auto', // language used for translation
107
- translateAllPages: true, // enable tranlation on all pages
108
- hideSuggestionBox: true, // disable suggestions on translated text
109
- hidePoweredBy: true, // disable label "Powered by Google"
110
- hideTopFrame: true, // disable the (google) translator frame
111
- dialogLanguage: 'content', // language used for the consent dialog (modal)
112
- dialogLanguages: ['en','de'], // supported languages for the consent dialog (modal), defaults to first in array//
113
- dialogContainerID: 'translator-modal', // container, the dialog modal is (dynamically) loaded
114
- xhrDataElement: '', // container for the language-specific consent modal taken from /assets/data/cookieconsent.html
115
- postSelectionCallback: '', // callback function, called after the user has made his selection
99
+ translator.props = {
100
+ contentURL: '/assets/data/translator', // this URL must contain the dialog content (modals) in the needed languages
101
+ translatorLanguagesFile: '/assets/data/iso-639-language-codes-flags.json', // this FILE contains the all codes/flags the can be used by the "dialog modal"
102
+ translatorLanguages: 'translator-languages', // contains the supprted language codes/flags used by the "dialog modal"
103
+ cookieName: 'j1.user.state', // the name of the User State Cookie (primary data)
104
+ cookieConsentName: 'j1.user.consent', // the name of the Cookie Consent Cookie (secondary data)
105
+ cookieStorageDays: 365, // the duration the cookie is stored on the client
106
+ cookieSameSite: 'Lax', // restrict consent cookie to first-party, do NOT send cookie to other domains
107
+ cookieSecure: cookieSecure, // secure flag on cookies
108
+ translationEnabled: false, // enable|disable translation on first page view
109
+ disableLanguageSelector: false, // disable language dropdown for translation in dialog (modal)
110
+ translatorName: 'google', // name of the default translator
111
+ translationLanguages: 'all', // supported languages for translation
112
+ translationLanguage: 'auto', // language used for translation
113
+ translateAllPages: true, // enable tranlation on all pages
114
+ hideSuggestionBox: true, // disable suggestions on translated text
115
+ hidePoweredBy: true, // disable label "Powered by Google"
116
+ hideTopFrame: true, // disable the (google) translator frame
117
+ dialogLanguage: 'auto', // language used for the consent dialog (modal)
118
+ dialogLanguages: ['en', 'de'], // supported languages for the consent dialog (modal), defaults to first in array//
119
+ dialogContainerID: 'translator-modal', // container, the dialog modal is (dynamically) loaded
120
+ xhrDataElement: '', // container for the language-specific consent modal taken from /assets/data/cookieconsent.html
121
+ postSelectionCallback: '', // callback function, called after the user has made his selection
116
122
  };
117
123
 
118
124
  // merge properties from default|module
119
125
  for (var property in props) {
120
- this.props[property] = props[property];
126
+ translator.props[property] = props[property];
121
127
  }
122
128
 
123
129
  // extract the language portion (e.g. "en" for English)
124
- if (this.props.dialogLanguage.indexOf("-") !== -1) {
125
- this.props.dialogLanguage = this.props.dialogLanguage.split("-")[0];
130
+ if (translator.props.dialogLanguage.indexOf("-") !== -1) {
131
+ translator.props.dialogLanguage = translator.props.dialogLanguage.split("-")[0];
126
132
  }
127
133
 
128
134
  // fallback on default language (modal) if dialogLanguage not suppported
129
- if (!this.props.dialogLanguages.includes(this.props.dialogLanguage)) {
130
- this.props.dialogLanguage = this.props.dialogLanguages[0];
135
+ if (!translator.props.dialogLanguages.includes(translator.props.dialogLanguage)) {
136
+ translator.props.dialogLanguage = defaultDialogLanguage;
131
137
  }
132
138
 
133
139
  // set the xhrDataElement of the modal loadad based on dialogLanguage
134
- this.props.xhrDataElement = this.props.xhrDataElement + '-' + this.props.dialogLanguage;
140
+ translator.props.xhrDataElement = translator.props.xhrDataElement + '-' + translator.props.dialogLanguage;
135
141
 
136
142
  logger.info('\n' + 'initializing core module: started');
137
143
  logger.debug('\n' + 'state: started');
@@ -146,17 +152,17 @@ function Translator(props) {
146
152
  "personalization": true
147
153
  };
148
154
 
149
- var translatorCookie = Cookie.get(self.props.cookieName);
155
+ var translatorCookie = Cookie.get(translator.props.cookieName);
150
156
  if (!translatorCookie) {
151
- logger.info('\n' + 'initializing translator cookie: ' + self.props.cookieName);
157
+ logger.info('\n' + 'initializing translator cookie: ' + translator.props.cookieName);
152
158
  // enable and write all settings required for translation (translation cookie)
153
159
  Cookie.set(
154
- self.props.cookieName,
160
+ translator.props.cookieName,
155
161
  JSON.stringify(translationDefaultSettings),
156
- self.props.cookieStorageDays,
157
- self.props.cookieSameSite,
158
- self.props.cookieDomain,
159
- self.props.cookieSecure
162
+ translator.props.cookieStorageDays,
163
+ translator.props.cookieSameSite,
164
+ translator.props.cookieDomain,
165
+ translator.props.cookieSecure
160
166
  );
161
167
  }
162
168
 
@@ -261,14 +267,19 @@ function Translator(props) {
261
267
  var dropdownLanguages = [];
262
268
 
263
269
  // collect translation languages
264
- if (self.props.translationLanguages.includes('all')) {
270
+ if (translator.props.translationLanguages.includes('all')) {
265
271
  dropdownLanguages = data[settings.elm];
266
272
  } else {
267
- for (var i = 0; i < data[settings.elm].length; i++) {
268
- if(self.props.translationLanguages.includes(data[settings.elm][i].value)) {
269
- dropdownLanguages.push(data[settings.elm][i]);
273
+ if (dropdownLanguages.length == 0) {
274
+ for (var i = 0; i < data[settings.elm].length; i++) {
275
+ if (translator.props.translationLanguages.includes(data[settings.elm][i].value)) {
276
+ dropdownLanguages.push(data[settings.elm][i]);
277
+ } else {
278
+ var elementNotFoundText = "element not found: " + data[settings.elm][i];
279
+ }
270
280
  }
271
- }
281
+ } // END if dropdownLanguages.length
282
+
272
283
  }
273
284
 
274
285
  // correct rows of the dropdown if required
@@ -306,18 +317,18 @@ function Translator(props) {
306
317
  var cbAction = 'none'
307
318
  Events.documentReady(function () {
308
319
 
309
- self.modal = document.getElementById(self.props.dialogContainerID);
320
+ self.modal = document.getElementById(translator.props.dialogContainerID);
310
321
  if (!self.modal) {
311
322
  logger.info('\n' + 'load consent modal');
312
323
 
313
324
  self.modal = document.createElement('div');
314
- self.modal.id = self.props.dialogContainerID;
325
+ self.modal.id = translator.props.dialogContainerID;
315
326
  self.modal.style.display = 'none';
316
327
 
317
328
  self.modal.setAttribute('class', 'modal fade');
318
329
  self.modal.setAttribute('tabindex', '-1');
319
330
  self.modal.setAttribute('role', 'dialog');
320
- self.modal.setAttribute('aria-labelledby', self.props.dialogContainerID);
331
+ self.modal.setAttribute('aria-labelledby', translator.props.dialogContainerID);
321
332
  document.body.append(self.modal);
322
333
  self.$modal = $(self.modal);
323
334
 
@@ -340,8 +351,8 @@ function Translator(props) {
340
351
  // create msDropdown from JSON data
341
352
  $.when (
342
353
  createMsDropdownFromJSON({
343
- url: '/assets/data/iso-639-language-codes-flags.json',
344
- elm: 'iso-639-languages',
354
+ url: translator.props.translatorLanguagesFile, // '/assets/data/iso-639-language-codes-flags.json',
355
+ elm: translator.props.translatorLanguages, // 'supported-languages',
345
356
  selector: 'dropdownJSON',
346
357
  width: 400,
347
358
  visibleRows: 8,
@@ -369,18 +380,18 @@ function Translator(props) {
369
380
  self.$modal.hide();
370
381
  } else {
371
382
  // set translation language for auto detection
372
- if (self.props.translationLanguage === 'auto') {
383
+ if (translator.props.translationLanguage === 'auto') {
373
384
  navigator_language = navigator.language || navigator.userLanguage;
374
385
  translation_language = navigator_language.split('-')[0];
375
386
  } else {
376
- translation_language = self.props.translationLanguage;
387
+ translation_language = translator.props.translationLanguage;
377
388
  }
378
389
 
379
390
  // set translation language for the dropdown
380
391
  msDropdownJSON.selectedIndex = $('#dropdownJSON option[value=' + translation_language + ']').index();;
381
392
 
382
393
  // disable translation language selection
383
- if (self.props.disableLanguageSelector) {
394
+ if (translator.props.disableLanguageSelector) {
384
395
  msDropdownJSON.disabled = true;
385
396
  }
386
397
 
@@ -406,18 +417,18 @@ function Translator(props) {
406
417
  // if the modal is closed, show the menubar
407
418
  // $('#navigator_nav_navbar').show();
408
419
  // run the postSelectionCallback for (final) translation
409
- executeFunctionByName (self.props.postSelectionCallback, window, cbAction);
420
+ executeFunctionByName (translator.props.postSelectionCallback, window, cbAction);
410
421
  }); // END modal on 'hidden'
411
422
 
412
423
  // ---------------------------------------------------------------------
413
424
  // load the dialog (modal content)
414
425
  // ---------------------------------------------------------------------
415
- var templateUrl = self.props.contentURL + '/' + 'index.html';
426
+ var templateUrl = translator.props.contentURL + '/' + 'index.html';
416
427
  $.get(templateUrl)
417
428
  .done(function (data) {
418
429
  logger.info('\n' + 'loading consent modal: successfully');
419
430
  self.modal.innerHTML = data;
420
- self.modal.innerHTML = $('#' + self.props.xhrDataElement).eq(0).html();
431
+ self.modal.innerHTML = $('#' + translator.props.xhrDataElement).eq(0).html();
421
432
  self.modal.style.display = 'block';
422
433
 
423
434
  $(self.modal).modal({
@@ -543,8 +554,8 @@ function Translator(props) {
543
554
  // On 'agreeAll', enable ALL settings required for translation
544
555
  // ---------------------------------------------------------------------------
545
556
  function agreeAll() {
546
- var consentSettings = JSON.parse(Cookie.get(self.props.cookieConsentName));
547
- var translationSettings = JSON.parse(Cookie.get(self.props.cookieName));
557
+ var consentSettings = JSON.parse(Cookie.get(translator.props.cookieConsentName));
558
+ var translationSettings = JSON.parse(Cookie.get(translator.props.cookieName));
548
559
 
549
560
  // enable all settings required for translation
550
561
  translationSettings.analysis = true;
@@ -556,22 +567,22 @@ function Translator(props) {
556
567
  consentSettings.personalization = translationSettings.personalization;
557
568
 
558
569
  Cookie.set(
559
- self.props.cookieConsentName,
570
+ translator.props.cookieConsentName,
560
571
  JSON.stringify(consentSettings),
561
- self.props.cookieStorageDays,
562
- self.props.cookieSameSite,
563
- self.props.cookieDomain,
564
- self.props.cookieSecure
572
+ translator.props.cookieStorageDays,
573
+ translator.props.cookieSameSite,
574
+ translator.props.cookieDomain,
575
+ translator.props.cookieSecure
565
576
  );
566
577
 
567
578
  // write all settings required for translation (translation cookie)
568
579
  Cookie.set(
569
- self.props.cookieName,
580
+ translator.props.cookieName,
570
581
  JSON.stringify(translationSettings),
571
- self.props.cookieStorageDays,
572
- self.props.cookieSameSite,
573
- self.props.cookieDomain,
574
- self.props.cookieSecure
582
+ translator.props.cookieStorageDays,
583
+ translator.props.cookieSameSite,
584
+ translator.props.cookieDomain,
585
+ translator.props.cookieSecure
575
586
  );
576
587
 
577
588
  self.$modal.modal('hide');
@@ -591,12 +602,12 @@ function Translator(props) {
591
602
  // disable all settings required for translation (translation cookie)
592
603
  translationSettings.translationEnabled = false;
593
604
  Cookie.set(
594
- self.props.cookieName,
605
+ translator.props.cookieName,
595
606
  JSON.stringify(translationSettings),
596
- self.props.cookieStorageDays,
597
- self.props.cookieSameSite,
598
- self.props.cookieDomain,
599
- self.props.cookieSecure
607
+ translator.props.cookieStorageDays,
608
+ translator.props.cookieSameSite,
609
+ translator.props.cookieDomain,
610
+ translator.props.cookieSecure
600
611
  );
601
612
  self.$modal.modal('hide');
602
613
  }
@@ -607,7 +618,7 @@ function Translator(props) {
607
618
  // ---------------------------------------------------------------------------
608
619
  function saveSettings() {
609
620
  var translationSettings = gatherOptions();
610
- var consentSettings = JSON.parse(Cookie.get(self.props.cookieConsentName));
621
+ var consentSettings = JSON.parse(Cookie.get(translator.props.cookieConsentName));
611
622
 
612
623
  // update all cookies required for (google-)translation
613
624
  //
@@ -615,20 +626,20 @@ function Translator(props) {
615
626
  consentSettings.personalization = translationSettings.personalization;
616
627
 
617
628
  Cookie.set(
618
- self.props.cookieConsentName,
629
+ translator.props.cookieConsentName,
619
630
  JSON.stringify(consentSettings),
620
- self.props.cookieStorageDays,
621
- self.props.cookieSameSite,
622
- self.props.cookieDomain,
623
- self.props.cookieSecure
631
+ translator.props.cookieStorageDays,
632
+ translator.props.cookieSameSite,
633
+ translator.props.cookieDomain,
634
+ translator.props.cookieSecure
624
635
  );
625
636
  Cookie.set(
626
- self.props.cookieName,
637
+ translator.props.cookieName,
627
638
  JSON.stringify(translationSettings),
628
- self.props.cookieStorageDays,
629
- self.props.cookieSameSite,
630
- self.props.cookieDomain,
631
- self.props.cookieSecure
639
+ translator.props.cookieStorageDays,
640
+ translator.props.cookieSameSite,
641
+ translator.props.cookieDomain,
642
+ translator.props.cookieSecure
632
643
  );
633
644
  self.$modal.modal('hide');
634
645
  }
@@ -650,9 +661,9 @@ function Translator(props) {
650
661
  // collect settings from cookie
651
662
  // ---------------------------------------------------------------------------
652
663
  this.getSettings = function (optionName) {
653
- var cookie = Cookie.get(self.props.cookieName);
664
+ var cookie = Cookie.get(translator.props.cookieName);
654
665
  if (cookie) {
655
- var settings = JSON.parse(Cookie.get(self.props.cookieName));
666
+ var settings = JSON.parse(Cookie.get(translator.props.cookieName));
656
667
  if (optionName === undefined) {
657
668
  return settings;
658
669
  } else {
@@ -12,4 +12,5 @@
12
12
  # See: https://github.com/jekyll-one/J1 Theme/blob/master/LICENSE
13
13
  # -----------------------------------------------------------------------------
14
14
  */
15
- "use strict";function Translator(o){var e,t,a=this,n=log4javascript.getLogger("j1.core.translator"),i=!!new liteURL(window.location.href).protocol.includes("https"),s=!1,r={set:function(o,e,t,a,n,i){var s=window.btoa(e),r="; expires=Thu, 01 Jan 1970 00:00:00 UTC";if(t>0){var l=new Date;l.setTime(l.getTime()+24*t*60*60*1e3),r="; expires="+l.toUTCString()}document.cookie=i?n?o+"="+(s||"")+r+"; Path=/; SameSite="+a+"; Domain="+n+"; Secure="+i+";":o+"="+(s||"")+r+"; Path=/; SameSite="+a+"; Secure="+i+";":n?o+"="+(s||"")+r+"; Path=/; SameSite="+a+";Domain="+n+"; ":o+"="+(s||"")+r+"; Path=/; SameSite="+a+";"},get:function(o){for(var e=o+"=",t=document.cookie.split(";"),a=0;a<t.length;a++){for(var n=t[a];" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(e)){var i=n.substring(e.length,n.length);return window.atob(i)}}}};for(var l in this.props={contentURL:"/assets/data/translator",cookieName:"j1.user.state",cookieConsentName:"j1.user.consent",cookieStorageDays:365,cookieSameSite:"Lax",cookieSecure:i,translationEnabled:!1,disableLanguageSelector:!1,translatorName:"google",translationLanguages:"all",translationLanguage:"auto",translateAllPages:!0,hideSuggestionBox:!0,hidePoweredBy:!0,hideTopFrame:!0,dialogLanguage:"content",dialogLanguages:["en","de"],dialogContainerID:"translator-modal",xhrDataElement:"",postSelectionCallback:""},o)this.props[l]=o[l];-1!==this.props.dialogLanguage.indexOf("-")&&(this.props.dialogLanguage=this.props.dialogLanguage.split("-")[0]),this.props.dialogLanguages.includes(this.props.dialogLanguage)||(this.props.dialogLanguage=this.props.dialogLanguages[0]),this.props.xhrDataElement=this.props.xhrDataElement+"-"+this.props.dialogLanguage,n.info("\ninitializing core module: started"),n.debug("\nstate: started");r.get(a.props.cookieName)||(n.info("\ninitializing translator cookie: "+a.props.cookieName),r.set(a.props.cookieName,JSON.stringify({translatorName:"google",translationEnabled:!1,translateAllPages:!0,useLanguageFromBrowser:!0,translationLanguage:"de",analysis:!0,personalization:!0}),a.props.cookieStorageDays,a.props.cookieSameSite,a.props.cookieDomain,a.props.cookieSecure));var d={documentReady:function(o){"loading"!==document.readyState?o():document.addEventListener("DOMContentLoaded",o)}};function p(o){var e,t=function o(){var e={},t=!1,a=0,n=arguments.length;"[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(t=arguments[0],a++);for(var i=function(a){for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(t&&"[object Object]"===Object.prototype.toString.call(a[n])?e[n]=o(!0,e[n],a[n]):e[n]=a[n])};a<n;a++)i(arguments[a]);return e}({size:0,width:250,multiple:!1,selectedIndex:1,enableAutoFilter:!1,visibleRows:null},o);e="#"+t.selector,$.ajax({url:t.url,dataType:"json",success:function(o){var n=[];if(a.props.translationLanguages.includes("all"))n=o[t.elm];else for(var i=0;i<o[t.elm].length;i++)a.props.translationLanguages.includes(o[t.elm][i].value)&&n.push(o[t.elm][i]);t.visibleRows>n.length&&(t.visibleRows=n.length),void 0===$("#dropdownJSON")[0].msDropdown&&MsDropdown.make(e,{byJson:{data:n,name:t.name,size:t.size,width:t.width,multiple:t.multiple},enableAutoFilter:t.enableAutoFilter,visibleRows:t.visibleRows})},error:function(o,e,a){n.error("\nfailed to retrieve JSON data from: "+t.url)}})}function c(){var o="none";d.documentReady(function(){if(a.modal=document.getElementById(a.props.dialogContainerID),a.modal)a.$modal.modal("show");else{n.info("\nload consent modal"),a.modal=document.createElement("div"),a.modal.id=a.props.dialogContainerID,a.modal.style.display="none",a.modal.setAttribute("class","modal fade"),a.modal.setAttribute("tabindex","-1"),a.modal.setAttribute("role","dialog"),a.modal.setAttribute("aria-labelledby",a.props.dialogContainerID),document.body.append(a.modal),a.$modal=$(a.modal),a.$modal.on("show.bs.modal",function(){n.debug("\nshow.bs.modal: entered"),$.when(p({url:"/assets/data/iso-639-language-codes-flags.json",elm:"iso-639-languages",selector:"dropdownJSON",width:400,visibleRows:8})).then(function(o){n.info("\ncreating msDropdown from JSON data: finished")})}),a.$modal.on("shown.bs.modal",function(){var o,i;i=setInterval(function(){void 0!==document.getElementById("dropdownJSON").msDropdown&&((o=document.getElementById("dropdownJSON").msDropdown).length?("auto"===a.props.translationLanguage?(e=navigator.language||navigator.userLanguage,t=e.split("-")[0]):t=a.props.translationLanguage,o.selectedIndex=$("#dropdownJSON option[value="+t+"]").index(),a.props.disableLanguageSelector&&(o.disabled=!0),$("#dropdownJSON").show(),$("body").addClass("stop-scrolling"),n.info("\nmsDropdown successfully loaded in translation dialog"),clearInterval(i)):(n.error("\nno msDropdown found in translation dialog"),a.$modal.hide()))},10)}),a.$modal.on("hidden.bs.modal",function(){$("body").removeClass("stop-scrolling"),function(o,e){for(var t=Array.prototype.slice.call(arguments,2),a=o.split("."),n=a.pop(),i=0;i<a.length;i++)e=e[a[i]];e[n].apply(e,t)}(a.props.postSelectionCallback,window,o)});var i=a.props.contentURL+"/index.html";$.get(i).done(function(e){n.info("\nloading consent modal: successfully"),a.modal.innerHTML=e,a.modal.innerHTML=$("#"+a.props.xhrDataElement).eq(0).html(),a.modal.style.display="block",$(a.modal).modal({backdrop:"static",keyboard:!1}),a.$buttonDoNotAgree=$("#translator-buttonDoNotAgree"),a.$buttonAgree=$("#translator-buttonAgree"),a.$buttonExit=$("#translator-buttonExit"),a.$buttonSave=$("#translator-buttonSave"),a.$buttonAgreeAll=$("#translator-buttonAgreeAll"),n.info("\nload/initialze options from cookie"),u(),g(),$("#google-options").on("hide.bs.collapse",function(){s=!1,u()}).on("show.bs.collapse",function(){s=!0,u()}),n.info("\ninitialze button event handler"),a.$buttonDoNotAgree.click(function(){var e;(e=m()).translationEnabled=!1,r.set(a.props.cookieName,JSON.stringify(e),a.props.cookieStorageDays,a.props.cookieSameSite,a.props.cookieDomain,a.props.cookieSecure),a.$modal.modal("hide"),o="process"}),a.$buttonAgree.click(function(){h(),o="process"}),a.$buttonExit.click(function(){o="exitOnly",a.$modal.modal("hide")}),a.$buttonSave.click(function(){var e,t;$("#google-options").collapse("hide"),e=m(),(t=JSON.parse(r.get(a.props.cookieConsentName))).analysis=e.analysis,t.personalization=e.personalization,r.set(a.props.cookieConsentName,JSON.stringify(t),a.props.cookieStorageDays,a.props.cookieSameSite,a.props.cookieDomain,a.props.cookieSecure),r.set(a.props.cookieName,JSON.stringify(e),a.props.cookieStorageDays,a.props.cookieSameSite,a.props.cookieDomain,a.props.cookieSecure),a.$modal.modal("hide"),g(),o="process"}),a.$buttonAgreeAll.click(function(){$("#google-options").collapse("hide"),h(),o="process"}),a.$modal.modal("show")}).fail(function(){n.error("\nloading translator dialog (modal): failed"),n.warn("\nprobably no|wrong `contentURL` set")})}}.bind(this))}function g(){var o=a.getSettings();if(o)for(var e in o){a.$modal.find("#google-options .translator-option[data-name="+e+'] input[type="checkbox"]').prop("checked",o[e])}}function u(){s?(a.$buttonDoNotAgree.hide(),a.$buttonAgree.hide(),a.$buttonSave.show(),a.$buttonAgreeAll.show()):(a.$buttonDoNotAgree.show(),a.$buttonAgree.show(),a.$buttonSave.hide(),a.$buttonAgreeAll.hide())}function m(o){for(var e=a.$modal.find("#google-options .translator-option"),t={},n=0;n<e.length;n++){var i=e[n],s=i.getAttribute("data-name");if("necessary"===s)t[s]=!0;else if(void 0===o){var r=$(i).find('input[type="checkbox"]');t[s]=r.prop("checked")}else t[s]=!!o}return t}function h(){var o=JSON.parse(r.get(a.props.cookieConsentName)),e=JSON.parse(r.get(a.props.cookieName));e.analysis=!0,e.personalization=!0,e.translationEnabled=!0,o.analysis=e.analysis,o.personalization=e.personalization,r.set(a.props.cookieConsentName,JSON.stringify(o),a.props.cookieStorageDays,a.props.cookieSameSite,a.props.cookieDomain,a.props.cookieSecure),r.set(a.props.cookieName,JSON.stringify(e),a.props.cookieStorageDays,a.props.cookieSameSite,a.props.cookieDomain,a.props.cookieSecure),a.$modal.modal("hide")}this.showDialog=function(){c()},this.getSettings=function(o){if(r.get(a.props.cookieName)){var e=JSON.parse(r.get(a.props.cookieName));return void 0===o?e:!!e&&e[o]}},n.info("\ninitializing core module finished"),n.debug("\nstate: finished")}
15
+
16
+ "use strict";function Translator(o){var e,a,t=this,n=log4javascript.getLogger("j1.core.translator"),i=!!new liteURL(window.location.href).protocol.includes("https"),r=(navigator.language||navigator.userLanguage,!1),s={},l={set:function(o,e,a,t,n,i){var r=window.btoa(e),s="; expires=Thu, 01 Jan 1970 00:00:00 UTC";if(a>0){var l=new Date;l.setTime(l.getTime()+24*a*60*60*1e3),s="; expires="+l.toUTCString()}document.cookie=i?n?o+"="+(r||"")+s+"; Path=/; SameSite="+t+"; Domain="+n+"; Secure="+i+";":o+"="+(r||"")+s+"; Path=/; SameSite="+t+"; Secure="+i+";":n?o+"="+(r||"")+s+"; Path=/; SameSite="+t+";Domain="+n+"; ":o+"="+(r||"")+s+"; Path=/; SameSite="+t+";"},get:function(o){for(var e=o+"=",a=document.cookie.split(";"),t=0;t<a.length;t++){for(var n=a[t];" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(e)){var i=n.substring(e.length,n.length);return window.atob(i)}}}};for(var p in s.props={contentURL:"/assets/data/translator",translatorLanguagesFile:"/assets/data/iso-639-language-codes-flags.json",translatorLanguages:"translator-languages",cookieName:"j1.user.state",cookieConsentName:"j1.user.consent",cookieStorageDays:365,cookieSameSite:"Lax",cookieSecure:i,translationEnabled:!1,disableLanguageSelector:!1,translatorName:"google",translationLanguages:"all",translationLanguage:"auto",translateAllPages:!0,hideSuggestionBox:!0,hidePoweredBy:!0,hideTopFrame:!0,dialogLanguage:"auto",dialogLanguages:["en","de"],dialogContainerID:"translator-modal",xhrDataElement:"",postSelectionCallback:""},o)s.props[p]=o[p];-1!==s.props.dialogLanguage.indexOf("-")&&(s.props.dialogLanguage=s.props.dialogLanguage.split("-")[0]),s.props.dialogLanguages.includes(s.props.dialogLanguage)||(s.props.dialogLanguage="en"),s.props.xhrDataElement=s.props.xhrDataElement+"-"+s.props.dialogLanguage,n.info("\ninitializing core module: started"),n.debug("\nstate: started");l.get(s.props.cookieName)||(n.info("\ninitializing translator cookie: "+s.props.cookieName),l.set(s.props.cookieName,JSON.stringify({translatorName:"google",translationEnabled:!1,translateAllPages:!0,useLanguageFromBrowser:!0,translationLanguage:"de",analysis:!0,personalization:!0}),s.props.cookieStorageDays,s.props.cookieSameSite,s.props.cookieDomain,s.props.cookieSecure));var d=function(o){"loading"!==document.readyState?o():document.addEventListener("DOMContentLoaded",o)};function c(){var o={},e=!1,a=0,t=arguments.length;"[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(e=arguments[0],a++);for(var n=function(a){for(var t in a)Object.prototype.hasOwnProperty.call(a,t)&&(e&&"[object Object]"===Object.prototype.toString.call(a[t])?o[t]=c(!0,o[t],a[t]):o[t]=a[t])};a<t;a++){n(arguments[a])}return o}function g(o){var e,a=c({size:0,width:250,multiple:!1,selectedIndex:1,enableAutoFilter:!1,visibleRows:null},o);e="#"+a.selector,$.ajax({url:a.url,dataType:"json",success:function(o){var t=[];if(s.props.translationLanguages.includes("all"))t=o[a.elm];else for(var n=0;n<o[a.elm].length;n++)s.props.translationLanguages.includes(o[a.elm][n].value)&&t.push(o[a.elm][n]);a.visibleRows>t.length&&(a.visibleRows=t.length),void 0===$("#dropdownJSON")[0].msDropdown&&MsDropdown.make(e,{byJson:{data:t,name:a.name,size:a.size,width:a.width,multiple:a.multiple},enableAutoFilter:a.enableAutoFilter,visibleRows:a.visibleRows})},error:function(o,e,t){n.error("\nfailed to retrieve JSON data from: "+a.url)}})}function u(){var o="none";d(function(){if(t.modal=document.getElementById(s.props.dialogContainerID),t.modal)t.$modal.modal("show");else{n.info("\nload consent modal"),t.modal=document.createElement("div"),t.modal.id=s.props.dialogContainerID,t.modal.style.display="none",t.modal.setAttribute("class","modal fade"),t.modal.setAttribute("tabindex","-1"),t.modal.setAttribute("role","dialog"),t.modal.setAttribute("aria-labelledby",s.props.dialogContainerID),document.body.append(t.modal),t.$modal=$(t.modal),t.$modal.on("show.bs.modal",(function(){n.debug("\nshow.bs.modal: entered"),$.when(g({url:s.props.translatorLanguagesFile,elm:s.props.translatorLanguages,selector:"dropdownJSON",width:400,visibleRows:8})).then((function(o){n.info("\ncreating msDropdown from JSON data: finished")}))})),t.$modal.on("shown.bs.modal",(function(){var o,i;i=setInterval((function(){void 0!==document.getElementById("dropdownJSON").msDropdown&&((o=document.getElementById("dropdownJSON").msDropdown).length?("auto"===s.props.translationLanguage?(e=navigator.language||navigator.userLanguage,a=e.split("-")[0]):a=s.props.translationLanguage,o.selectedIndex=$("#dropdownJSON option[value="+a+"]").index(),s.props.disableLanguageSelector&&(o.disabled=!0),$("#dropdownJSON").show(),$("body").addClass("stop-scrolling"),n.info("\nmsDropdown successfully loaded in translation dialog"),clearInterval(i)):(n.error("\nno msDropdown found in translation dialog"),t.$modal.hide()))}),10)})),t.$modal.on("hidden.bs.modal",(function(){$("body").removeClass("stop-scrolling"),function(o,e){for(var a=Array.prototype.slice.call(arguments,2),t=o.split("."),n=t.pop(),i=0;i<t.length;i++)e=e[t[i]];e[n].apply(e,a)}(s.props.postSelectionCallback,window,o)}));var i=s.props.contentURL+"/index.html";$.get(i).done((function(e){n.info("\nloading consent modal: successfully"),t.modal.innerHTML=e,t.modal.innerHTML=$("#"+s.props.xhrDataElement).eq(0).html(),t.modal.style.display="block",$(t.modal).modal({backdrop:"static",keyboard:!1}),t.$buttonDoNotAgree=$("#translator-buttonDoNotAgree"),t.$buttonAgree=$("#translator-buttonAgree"),t.$buttonExit=$("#translator-buttonExit"),t.$buttonSave=$("#translator-buttonSave"),t.$buttonAgreeAll=$("#translator-buttonAgreeAll"),n.info("\nload/initialze options from cookie"),f(),m(),$("#google-options").on("hide.bs.collapse",(function(){r=!1,f()})).on("show.bs.collapse",(function(){r=!0,f()})),n.info("\ninitialze button event handler"),t.$buttonDoNotAgree.click((function(){var e;(e=b()).translationEnabled=!1,l.set(s.props.cookieName,JSON.stringify(e),s.props.cookieStorageDays,s.props.cookieSameSite,s.props.cookieDomain,s.props.cookieSecure),t.$modal.modal("hide"),o="process"})),t.$buttonAgree.click((function(){h(),o="process"})),t.$buttonExit.click((function(){o="exitOnly",t.$modal.modal("hide")})),t.$buttonSave.click((function(){var e,a;$("#google-options").collapse("hide"),e=b(),(a=JSON.parse(l.get(s.props.cookieConsentName))).analysis=e.analysis,a.personalization=e.personalization,l.set(s.props.cookieConsentName,JSON.stringify(a),s.props.cookieStorageDays,s.props.cookieSameSite,s.props.cookieDomain,s.props.cookieSecure),l.set(s.props.cookieName,JSON.stringify(e),s.props.cookieStorageDays,s.props.cookieSameSite,s.props.cookieDomain,s.props.cookieSecure),t.$modal.modal("hide"),m(),o="process"})),t.$buttonAgreeAll.click((function(){$("#google-options").collapse("hide"),h(),o="process"})),t.$modal.modal("show")})).fail((function(){n.error("\nloading translator dialog (modal): failed"),n.warn("\nprobably no|wrong `contentURL` set")}))}}.bind(this))}function m(){var o=t.getSettings();if(o)for(var e in o){t.$modal.find("#google-options .translator-option[data-name="+e+'] input[type="checkbox"]').prop("checked",o[e])}}function f(){r?(t.$buttonDoNotAgree.hide(),t.$buttonAgree.hide(),t.$buttonSave.show(),t.$buttonAgreeAll.show()):(t.$buttonDoNotAgree.show(),t.$buttonAgree.show(),t.$buttonSave.hide(),t.$buttonAgreeAll.hide())}function b(o){for(var e=t.$modal.find("#google-options .translator-option"),a={},n=0;n<e.length;n++){var i=e[n],r=i.getAttribute("data-name");if("necessary"===r)a[r]=!0;else if(void 0===o){var s=$(i).find('input[type="checkbox"]');a[r]=s.prop("checked")}else a[r]=!!o}return a}function h(){var o=JSON.parse(l.get(s.props.cookieConsentName)),e=JSON.parse(l.get(s.props.cookieName));e.analysis=!0,e.personalization=!0,e.translationEnabled=!0,o.analysis=e.analysis,o.personalization=e.personalization,l.set(s.props.cookieConsentName,JSON.stringify(o),s.props.cookieStorageDays,s.props.cookieSameSite,s.props.cookieDomain,s.props.cookieSecure),l.set(s.props.cookieName,JSON.stringify(e),s.props.cookieStorageDays,s.props.cookieSameSite,s.props.cookieDomain,s.props.cookieSecure),t.$modal.modal("hide")}this.showDialog=function(){u()},this.getSettings=function(o){if(l.get(s.props.cookieName)){var e=JSON.parse(l.get(s.props.cookieName));return void 0===o?e:!!e&&e[o]}},n.info("\ninitializing core module finished"),n.debug("\nstate: finished")}
data/lib/j1/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module J1
2
- VERSION = '2024.1.0'
2
+ VERSION = '2024.1.1'
3
3
  end
@@ -379,7 +379,7 @@ This command creates a **initial** project in folder **my-starter**.
379
379
  2023-02-28 18:12:12 - GENERATE: Resolving dependencies...
380
380
  2023-02-28 18:12:12 - GENERATE: Using bundler 2.3.7
381
381
  ...
382
- 2023-02-28 18:12:12 - GENERATE: Using j1-template 2024.1.0
382
+ 2023-02-28 18:12:12 - GENERATE: Using j1-template 2024.1.1
383
383
  2023-02-28 18:12:12 - GENERATE: Bundle complete! 31 Gemfile dependencies, 78 gems now installed.
384
384
  2023-02-28 18:12:12 - GENERATE: Bundled gems are installed into `../../.gem`
385
385
  2023-02-28 18:12:12 - GENERATE: C:/Users/xxx/.gem/ruby/3.1.0;C:/DevTools/Ruby31-x64/lib/ruby/gems/3.1.0;
@@ -415,7 +415,7 @@ commands are available as well.
415
415
  2023-02-28 18:17:48 - SETUP: Initialize the project ...
416
416
  2023-02-28 18:17:48 - SETUP: Be patient, this will take a while ...
417
417
  2023-02-28 18:17:49 - SETUP:
418
- 2023-02-28 18:17:49 - SETUP: > j1@2024.1.0 setup C:\Users\xxx\j1-projects\my-starter
418
+ 2023-02-28 18:17:49 - SETUP: > j1@2024.1.1 setup C:\Users\xxx\j1-projects\my-starter
419
419
  2023-02-28 18:17:49 - SETUP: > npm --silent run setup-start && npm --silent run setup-base && run-s -s setup:*
420
420
  2023-02-28 18:17:49 - SETUP:
421
421
  2023-02-28 18:17:50 - SETUP: Setup project for first use ..
@@ -460,7 +460,7 @@ browser. Let's start the journey ...
460
460
  Check setup state of the J1 project ...
461
461
  2023-02-28 18:26:18 - SITE: Starting up your site ...
462
462
  2023-02-28 18:26:18 - SITE:
463
- 2023-02-28 18:26:18 - SITE: > j1@2024.1.0 j1-site C:\Users\jadams\j1-projects\my-starter
463
+ 2023-02-28 18:26:18 - SITE: > j1@2024.1.1 j1-site C:\Users\jadams\j1-projects\my-starter
464
464
  2023-02-28 18:26:18 - SITE: > run-p -s j1-site:*
465
465
  2023-02-28 18:26:18 - SITE:
466
466
  2023-02-28 18:26:20 - SITE: Startup UTILSRV ..
@@ -499,7 +499,7 @@ Check setup state of the J1 project ...
499
499
  REBUILD: Rebuild the projects website ...
500
500
  REBUILD: Be patient, this will take a while ...
501
501
  2023-02-28 18:45:09 - REBUILD:
502
- 2023-02-28 18:45:09 - REBUILD: > j1@2024.1.0 rebuild C:\Users\xxx\j1-projects\my-starter
502
+ 2023-02-28 18:45:09 - REBUILD: > j1@2024.1.1 rebuild C:\Users\xxx\j1-projects\my-starter
503
503
  2023-02-28 18:45:09 - REBUILD: > run-s -s rebuild:* && run-s -s post-rebuild:*
504
504
  2023-02-28 18:45:09 - REBUILD:
505
505
  2023-02-28 18:45:10 - REBUILD: Rebuild site incremental ..
@@ -547,7 +547,7 @@ using Lerna for all packages:
547
547
  2023-02-28 18:29:07 - RESET: Reset the project to factory state ...
548
548
  2023-02-28 18:29:07 - RESET: Be patient, this will take a while ...
549
549
  2023-02-28 18:29:08 - RESET:
550
- 2023-02-28 18:29:08 - RESET: > j1@2024.1.0 reset C:\Users\xxx\j1-projects\my-starter
550
+ 2023-02-28 18:29:08 - RESET: > j1@2024.1.1 reset C:\Users\xxx\j1-projects\my-starter
551
551
  2023-02-28 18:29:08 - RESET: > run-s -s reset:*
552
552
  2023-02-28 18:29:08 - RESET:
553
553
  2023-02-28 18:29:08 - RESET: Reset project to factory state ..
@@ -53,7 +53,7 @@ environment: development
53
53
  # ------------------------------------------------------------------------------
54
54
  # Sets the build version of the site
55
55
  #
56
- version: 2024.1.0
56
+ version: 2024.1.1
57
57
 
58
58
  # copyright
59
59
  # ------------------------------------------------------------------------------
@@ -203,7 +203,7 @@ settings:
203
203
  card:
204
204
  enabled: true
205
205
  type: quote
206
- # cite: J1 Team
206
+ cite: J1 Team
207
207
  cite_text_size: 300%
208
208
  cite_text_quotes: false
209
209
  cite_text: >
@@ -55,14 +55,14 @@
55
55
  # values: head|body-navigation|body-header|body-main|body-footer
56
56
  # default: no defaults
57
57
  #
58
- # type
58
+ # type (required)
59
59
  # ----------------------------------------------------------------------------
60
- # The (HTML) content of a lane can be included (from an include file) or
61
- # loaded asychronously from a HTML data file by AJAX (get|load) calls.
62
- # J1 Theme is using jQuery as an interface to AJAX calls.
60
+ # The (HTML) content of a lane can be passed from an included HTML template
61
+ # file or loaded asychronously at runtime from HTML data files by AJAX
62
+ # calls for dynamic HTML pages.
63
63
  #
64
- # values: include|load
65
- # default: no defaults
64
+ # values: sync|async
65
+ # default: no default
66
66
  #
67
67
  # source
68
68
  # ----------------------------------------------------------------------------
@@ -54,14 +54,14 @@
54
54
  # values: head|body-navigation|body-header|body-main|body-footer
55
55
  # default: no defaults
56
56
  #
57
- # type
57
+ # type (required)
58
58
  # ----------------------------------------------------------------------------
59
- # The (HTML) content of a lane can be included (from an include file) or
60
- # loaded asychronously from a HTML data file by AJAX (get|load) calls.
61
- # J1 Theme is using jQuery as an interface to AJAX calls.
59
+ # The (HTML) content of a lane can be passed from an included HTML template
60
+ # file or loaded asychronously at runtime from HTML data files by AJAX
61
+ # calls for dynamic HTML pages.
62
62
  #
63
- # values: include|load
64
- # default: no defaults
63
+ # values: sync|async
64
+ # default: no default
65
65
  #
66
66
  # source
67
67
  # ----------------------------------------------------------------------------
@@ -78,7 +78,7 @@
78
78
  # type (required)
79
79
  # ----------------------------------------------------------------------------
80
80
  # The (HTML) content of a lane can be passed from an included HTML template
81
- # file or loaded asychronously at runtime from HTML data files by AJAX
81
+ # file (sync) or loaded asychronously at runtime from HTML data files by AJAX
82
82
  # calls for dynamic HTML pages.
83
83
  #
84
84
  # values: sync|async
@@ -381,7 +381,7 @@ lanes:
381
381
  # ----------------------------------------------------------------------------
382
382
  #
383
383
  - lane:
384
- enabled: false
384
+ enabled: true
385
385
  id: banner_home_parallax
386
386
  region: body-main
387
387
  type: async
@@ -55,14 +55,14 @@
55
55
  # values: head|body-navigation|body-header|body-main|body-footer
56
56
  # default: no defaults
57
57
  #
58
- # type
58
+ # type (required)
59
59
  # ----------------------------------------------------------------------------
60
- # The (HTML) content of a lane can be included (from an include file) or
61
- # loaded asychronously from a HTML data file by AJAX (get|load) calls.
62
- # J1 Theme is using jQuery as an interface to AJAX calls.
60
+ # The (HTML) content of a lane can be passed from an included HTML template
61
+ # file or loaded asychronously at runtime from HTML data files by AJAX
62
+ # calls for dynamic HTML pages.
63
63
  #
64
- # values: include|load
65
- # default: no defaults
64
+ # values: sync|async
65
+ # default: no default
66
66
  #
67
67
  # source
68
68
  # ----------------------------------------------------------------------------
@@ -55,14 +55,14 @@
55
55
  # values: head|body-navigation|body-header|body-main|body-footer
56
56
  # default: no defaults
57
57
  #
58
- # type
58
+ # type (required)
59
59
  # ----------------------------------------------------------------------------
60
- # The (HTML) content of a lane can be included (from an include file) or
61
- # loaded asychronously from a HTML data file by AJAX (get|load) calls.
62
- # J1 Theme is using jQuery as an interface to AJAX calls.
60
+ # The (HTML) content of a lane can be passed from an included HTML template
61
+ # file or loaded asychronously at runtime from HTML data files by AJAX
62
+ # calls for dynamic HTML pages.
63
63
  #
64
- # values: include|load
65
- # default: no defaults
64
+ # values: sync|async
65
+ # default: no default
66
66
  #
67
67
  # source
68
68
  # ----------------------------------------------------------------------------
@@ -55,14 +55,14 @@
55
55
  # values: head|body-navigation|body-header|body-main|body-footer
56
56
  # default: no defaults
57
57
  #
58
- # type
58
+ # type (required)
59
59
  # ----------------------------------------------------------------------------
60
- # The (HTML) content of a lane can be included (from an include file) or
61
- # loaded asychronously from a HTML data file by AJAX (get|load) calls.
62
- # J1 Theme is using jQuery as an interface to AJAX calls.
60
+ # The (HTML) content of a lane can be passed from an included HTML template
61
+ # file or loaded asychronously at runtime from HTML data files by AJAX
62
+ # calls for dynamic HTML pages.
63
63
  #
64
- # values: include|load
65
- # default: no defaults
64
+ # values: sync|async
65
+ # default: no default
66
66
  #
67
67
  # source
68
68
  # ----------------------------------------------------------------------------
@@ -55,14 +55,14 @@
55
55
  # values: head|body-navigation|body-header|body-main|body-footer
56
56
  # default: no defaults
57
57
  #
58
- # type
58
+ # type (required)
59
59
  # ----------------------------------------------------------------------------
60
- # The (HTML) content of a lane can be included (from an include file) or
61
- # loaded asychronously from a HTML data file by AJAX (get|load) calls.
62
- # J1 Theme is using jQuery as an interface to AJAX calls.
60
+ # The (HTML) content of a lane can be passed from an included HTML template
61
+ # file or loaded asychronously at runtime from HTML data files by AJAX
62
+ # calls for dynamic HTML pages.
63
63
  #
64
- # values: include|load
65
- # default: no defaults
64
+ # values: sync|async
65
+ # default: no default
66
66
  #
67
67
  # source
68
68
  # ----------------------------------------------------------------------------
@@ -23,7 +23,7 @@ description:
23
23
  # User configuration settings
24
24
  #
25
25
  settings:
26
- enabled: true
26
+ enabled: false
27
27
  skipAllHosts: localhost, 127.0.0.1
28
28
  trackingID: <your-tracking-id>
29
29