j1-template 2023.7.0 → 2023.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/modules/searcher/procedures/topsearch.proc +2 -1
  3. data/_includes/themes/j1/procedures/global/create_bs_button.proc +0 -1
  4. data/_includes/themes/j1/procedures/global/create_word_cloud.proc +3 -2
  5. data/_includes/themes/j1/procedures/global/date-german.proc +2 -7
  6. data/_includes/themes/j1/procedures/global/get_category.proc +13 -19
  7. data/_includes/themes/j1/procedures/global/get_category_item.proc +29 -33
  8. data/_includes/themes/j1/procedures/global/get_documents_dir.proc +8 -8
  9. data/_includes/themes/j1/procedures/global/get_page_url.proc +9 -14
  10. data/_includes/themes/j1/procedures/global/select_color.proc +12 -17
  11. data/_includes/themes/j1/procedures/global/select_font_size.proc +31 -35
  12. data/_includes/themes/j1/procedures/global/select_icon_size.proc +38 -40
  13. data/_includes/themes/j1/procedures/global/select_location.proc +56 -59
  14. data/_includes/themes/j1/procedures/global/set_base_vars_folders.proc +2 -4
  15. data/_includes/themes/j1/procedures/global/set_image_block.proc +4 -2
  16. data/_includes/themes/j1/procedures/global/setup.proc +8 -3
  17. data/assets/data/masonry.html +13 -13
  18. data/assets/themes/j1/adapter/js/j1.js +39 -39
  19. data/assets/themes/j1/adapter/js/masterslider.js +2 -1
  20. data/assets/themes/j1/adapter/js/slick.js +13 -10
  21. data/assets/themes/j1/adapter/js/translator.js +62 -58
  22. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +70 -0
  23. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  24. data/assets/themes/j1/core/js/template.js +1339 -3
  25. data/assets/themes/j1/core/js/template.min.js +7 -7
  26. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  27. data/assets/themes/j1/modules/carousel/css/theme/uno.css +5 -0
  28. data/assets/themes/j1/modules/carousel/css/theme/uno.min.css +1 -1
  29. data/assets/themes/j1/modules/masonry/css/theme/readme +1 -0
  30. data/assets/themes/j1/modules/masterslider/css/theme/uno.css +2 -3
  31. data/assets/themes/j1/modules/masterslider/css/theme/uno.min.css +1 -1
  32. data/assets/themes/j1/modules/slick/lightbox/css/theme/uno.css +13 -2
  33. data/assets/themes/j1/modules/slick/lightbox/css/theme/uno.min.css +1 -1
  34. data/assets/themes/j1/modules/slick/lightbox/js/slick-lightbox.js +373 -347
  35. data/assets/themes/j1/modules/slick/slider/css/theme/uno.css +20 -51
  36. data/assets/themes/j1/modules/slick/slider/css/theme/uno.min.css +2 -2
  37. data/lib/j1/version.rb +1 -1
  38. data/lib/starter_web/Gemfile +2 -2
  39. data/lib/starter_web/README.md +5 -5
  40. data/lib/starter_web/_config.yml +1 -1
  41. data/lib/starter_web/_data/blocks/banner.yml +8 -9
  42. data/lib/starter_web/_data/blocks/footer.yml +8 -10
  43. data/lib/starter_web/_data/modules/masonry.yml +9 -1
  44. data/lib/starter_web/_data/modules/masterslider.yml +69 -116
  45. data/lib/starter_web/_data/modules/navigator_menu.yml +58 -51
  46. data/lib/starter_web/_data/resources.yml +3 -3
  47. data/lib/starter_web/_data/templates/feed.xml +1 -1
  48. data/lib/starter_web/_includes/attributes.asciidoc +1 -0
  49. data/lib/starter_web/_plugins/asciidoctor/callout.rb +2 -2
  50. data/lib/starter_web/_plugins/asciidoctor/masterslider-block.rb +1 -1
  51. data/lib/starter_web/_plugins/asciidoctor/slick-block.rb +1 -1
  52. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  53. data/lib/starter_web/assets/images/collections/books/biography/a_life_in_questions.jpg +0 -0
  54. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +5 -5
  55. data/lib/starter_web/index.html +6 -6
  56. data/lib/starter_web/package.json +1 -1
  57. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +0 -1
  58. data/lib/starter_web/pages/public/tools/previewer/preview_bootstrap_theme.adoc +148 -140
  59. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  60. data/lib/starter_web/utilsrv/package.json +1 -1
  61. metadata +3 -75
  62. data/assets/themes/j1/modules/carousel/js/carousel.js +0 -1517
  63. data/assets/themes/j1/modules/carousel/js/carousel.min.js +0 -57
  64. data/assets/themes/j1/modules/masonry/css/theme/uno.css +0 -35
  65. data/assets/themes/j1/modules/masonry/css/theme/uno.min.css +0 -15
  66. data/assets/themes/j1/modules/speak2me/LICENSE +0 -21
  67. data/assets/themes/j1/modules/speak2me/js/speak2me.js +0 -947
  68. data/assets/themes/j1/modules/speak2me/js/speak2me.min.js +0 -26
  69. data/lib/starter_web/_data/modules/buymeacoffee.yml +0 -30
  70. data/lib/starter_web/_data/modules/defaults/buymeacoffee.yml +0 -30
  71. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-restaurant-140x80.jpg +0 -0
  72. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-restaurant.jpg +0 -0
  73. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-single-man-140x80.jpg +0 -0
  74. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-single-man.jpg +0 -0
  75. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-single-woman-140x80.jpg +0 -0
  76. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-single-woman.jpg +0 -0
  77. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/attributes.asciidoc +0 -58
  78. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/accordion.asciidoc +0 -34
  79. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/alerts.asciidoc +0 -15
  80. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/badges.asciidoc +0 -9
  81. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/body.asciidoc +0 -14
  82. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/breadcrumbs.asciidoc +0 -14
  83. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/buttons.asciidoc +0 -75
  84. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/cards.asciidoc +0 -22
  85. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/carousel.asciidoc +0 -37
  86. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/close.asciidoc +0 -15
  87. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/code.asciidoc +0 -14
  88. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/color_system.asciidoc +0 -353
  89. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/components.asciidoc +0 -69
  90. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/dropdowns.asciidoc +0 -53
  91. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/figures.asciidoc +0 -5
  92. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/forms.asciidoc +0 -270
  93. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/grid.asciidoc +0 -49
  94. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/links.asciidoc +0 -21
  95. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/list_groups.asciidoc +0 -28
  96. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/modals.asciidoc +0 -43
  97. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/navbar.asciidoc +0 -45
  98. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/navs.asciidoc +0 -28
  99. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/offcanvas.asciidoc +0 -16
  100. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/options.asciidoc +0 -30
  101. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/pagination.asciidoc +0 -40
  102. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/paragraph.asciidoc +0 -5
  103. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/placeholders.asciidoc +0 -5
  104. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/popovers.asciidoc +0 -28
  105. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/position.asciidoc +0 -8
  106. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/progress_bars.asciidoc +0 -12
  107. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/spacing.asciidoc +0 -14
  108. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/spinners.asciidoc +0 -12
  109. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/tables.asciidoc +0 -55
  110. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/thumbnails.asciidoc +0 -9
  111. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/toasts.asciidoc +0 -18
  112. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/tooltips.asciidoc +0 -28
  113. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/typography.asciidoc +0 -115
  114. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/z_index.asciidoc +0 -26
  115. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/tables/_table.asciidoc +0 -9
  116. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/tables/accordion.asciidoc +0 -87
  117. data/lib/starter_web/pages/public/learn/bs_sass_variables/bs_sass_variables.adoc +0 -267
  118. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/attributes.asciidoc +0 -59
  119. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/documents/100_chapter.asciidoc +0 -541
  120. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/documents/200_chapter.asciidoc +0 -33
  121. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/build_command_options.asciidoc +0 -72
  122. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/files_and_folders.asciidoc +0 -66
  123. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/global_configuration_options.asciidoc +0 -63
  124. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/global_variables.asciidoc +0 -26
  125. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/page_variables.asciidoc +0 -54
  126. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/serve_command_options.asciidoc +0 -45
  127. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/site_variables.asciidoc +0 -59
  128. data/lib/starter_web/pages/public/learn/core_web_vitals/core_web_vitals.adoc +0 -447
  129. data/lib/starter_web/pages/public/learn/roundtrip/lunr_search.1.asciidoc +0 -460
  130. data/lib/starter_web/pages/public/manuals/speak2me.adoc +0 -412
  131. data/lib/starter_web/pages/public/tools/cheatsheet/gem.adoc +0 -259
  132. data/lib/starter_web/pages/public/tools/cheatsheet/git.adoc +0 -1462
  133. data/lib/starter_web/pages/public/tools/cheatsheet/j1.adoc +0 -177
  134. data/lib/starter_web/pages/public/tools/cheatsheet/yaml.adoc +0 -522
@@ -16,11 +16,11 @@
16
16
  # -----------------------------------------------------------------------------
17
17
  {% endcomment %}
18
18
 
19
- {% comment %} liquid procedures
19
+ {% comment %} Liquid procedures
20
20
  jadams, 2019-08-23: no procedures should be used for initial setup
21
21
  -------------------------------------------------------------------------------- {% endcomment %}
22
22
 
23
- {% comment %} set base config files and folders
23
+ {% comment %} Variables
24
24
  -------------------------------------------------------------------------------- {% endcomment %}
25
25
  {% assign data = site.data %}
26
26
  {% assign apps = data.apps %}
@@ -31,7 +31,5 @@ jadams, 2019-08-23: no procedures should be used for initial setup
31
31
  {% assign pages = data.pages %}
32
32
  {% assign tables = data.tables %}
33
33
 
34
- {% comment %} set base variables
35
- -------------------------------------------------------------------------------- {% endcomment %}
36
34
  {% assign environment = site.environment %}
37
35
  {% assign template_name = site.template.name %}
@@ -29,15 +29,17 @@
29
29
  {% endcomment %}
30
30
 
31
31
  {% comment %} Liquid procedures
32
- --------------------------------------------------------------- {% endcomment %}
32
+ -------------------------------------------------------------------------------- {% endcomment %}
33
33
 
34
34
  {% comment %} Variables
35
- ------------------------------------------------------------ {% endcomment %}
35
+ -------------------------------------------------------------------------------- {% endcomment %}
36
36
  {% assign image_name = include.image_name %}
37
37
  {% assign image_title = include.image_title %}
38
38
  {% assign image_width = include.image_width %}
39
39
 
40
40
 
41
+ {% comment %} Main
42
+ -------------------------------------------------------------------------------- {% endcomment %}
41
43
  [subs=attributes]
42
44
  ++++
43
45
  <div class="imageblock mt-4 mb-4">
@@ -16,11 +16,16 @@
16
16
  # -----------------------------------------------------------------------------
17
17
  {% endcomment %}
18
18
 
19
- {% comment %} liquid procedures
19
+ {% comment %} Liquid procedures
20
20
  jadams, 2019-08-23: no procedures should be used for initial setup
21
21
  -------------------------------------------------------------------------------- {% endcomment %}
22
22
 
23
- {% comment %} main (???)
23
+ {% comment %} Variables
24
+ jadams, 2019-08-23: no variables should be used for initial setup
25
+ -------------------------------------------------------------------------------- {% endcomment %}
26
+
27
+
28
+ {% comment %} Main
24
29
  -------------------------------------------------------------------------------- {% endcomment %}
25
30
  {% if site.template.setup_provider == "custom" %}
26
31
  {% include custom/functions/setup %}
@@ -50,4 +55,4 @@ jadams, 2019-08-23: no procedures should be used for initial setup
50
55
  {% else %}
51
56
  {% capture image_path %}{{ base_path }}/assets/images/{{ page.theme.name }}{% endcapture %}
52
57
  {% endif %}
53
- {% endif %}
58
+ {% endif %}
@@ -144,7 +144,7 @@ exclude_from_search: true
144
144
  ------------------------------------------------------------------ {% endcomment %}
145
145
  {% for category in categories %}
146
146
  {% if category contains post.category %}
147
- <a class="article-link d-block text-white text-uppercase link-no-decoration {{translate}}"
147
+ <a class="masonry-article-link d-block text-white text-uppercase link-no-decoration {{translate}}"
148
148
  href="/pages/public/blog/navigator/archive/categoryview/#{{grid.group | slugify}}"
149
149
  target="{{target}}"
150
150
  style="font-size: 32px;">
@@ -166,7 +166,7 @@ exclude_from_search: true
166
166
 
167
167
  <!-- Post link (caption) -->
168
168
  <h4 class="caption notoc">
169
- <a class="article-link {{translate}}"
169
+ <a class="masonry-article-link {{translate}}"
170
170
  href="{{post.url}}"
171
171
  target="{{target}}"
172
172
  style="font-size: 32px;">
@@ -233,12 +233,12 @@ exclude_from_search: true
233
233
 
234
234
  {% for article in articles %}
235
235
  <div class="col-xl-{{masonry_options.responsive.xl}} col-lg-{{masonry_options.responsive.lg}} col-md-{{masonry_options.responsive.md}} col-sm-{{masonry_options.responsive.sm}} col-{{masonry_options.responsive.xs}} px-{{gutter}} py-{{gutter}}">
236
- <!-- Article item -->
237
- <div id="{{article.title | downcase | replace: ' ' ,'_'}}" class="article-item article-item--w400">
236
+ <!-- (Masonry) Article item -->
237
+ <div id="{{article.title | downcase | replace: ' ' ,'_'}}" class="masonry-article-item masonry-article-item--w400">
238
238
  {% if grid.preview %}
239
- <a class="article-link" data-bs-toggle="modal" href="#articleModal_{{grid.id}}_{{forloop.index}}">
240
- <div class="article-hover">
241
- <div class="article-hover-content">
239
+ <a class="masonry-article-link" data-bs-toggle="modal" href="#articleModal_{{grid.id}}_{{forloop.index}}">
240
+ <div class="masonry-article-hover">
241
+ <div class="masonry-article-hover-content">
242
242
  <i class="mdib mdib-plus mdib-10x"></i>
243
243
  </div>
244
244
  </div>
@@ -247,14 +247,14 @@ exclude_from_search: true
247
247
  {% else %}
248
248
  <img class="{{grid.image_styles}}" src="{{article.image.path}}" alt="{{article.title}}" style="{{image_filters}}; height: {{grid.image_height}}; width: {{grid.image_width}}">
249
249
  {% endif %}
250
- <div class="article-caption">
251
- <div class="article-caption-heading">
252
- <a class="article-link {{translate}}" href="{{article.url}}">{{article.title}}</a>
250
+ <div class="masonry-article-caption">
251
+ <div class="masonry-article-caption-heading">
252
+ <a class="masonry-article-link {{translate}}" href="{{article.url}}" target="{{target}}">{{article.title}}</a>
253
253
  </div>
254
- <div class="article-caption-subheading text-muted">{{article.tags[0]}}</div>
254
+ <div class="masonry-article-caption-subheading">{{article.tags[0]}}</div>
255
255
  </div>
256
256
  </div>
257
- <!-- /Article item -->
257
+ <!-- /(Masonry) Article item -->
258
258
  </div>
259
259
 
260
260
  <!-- Article Modal-->
@@ -273,7 +273,7 @@ exclude_from_search: true
273
273
  <div class="modal-body">
274
274
  <!-- Project details-->
275
275
  <h2 class="text-uppercase notoc {{translate}}">{{article.title}}</h2>
276
- <p class="item-intro text-muted">{{article.tagline}}</p>
276
+ <p class="item-intro">{{article.tagline}}</p>
277
277
  <img class="img-fluid d-block mx-auto" src="{{article.image.path | relative_url}}" alt="{{article.title}}">
278
278
  <p>{{article.description}}</p>
279
279
  <ul class="list-inline">
@@ -513,7 +513,9 @@ var j1 = (function (options) {
513
513
  var footer_state;
514
514
 
515
515
  if (j1.getState() === 'finished' && pageVisible && atticFinished) {
516
+ clearInterval(dependencies_met_page_ready);
516
517
  logger.info('\n' + 'load block elements');
518
+
517
519
  if (banners_exits) {j1.initBanner(settings);}
518
520
  if (panels_exists) {j1.initPanel(settings)};
519
521
  if (footer_exists) {j1.initFooter(settings);}
@@ -559,34 +561,21 @@ var j1 = (function (options) {
559
561
 
560
562
  // show the content section for 'block content' to optimze CLS
561
563
  //
562
- if (banner_state == 'success' && panel_state == 'success' && footer_state == 'success') {
564
+ // if (banner_state == 'success' && panel_state == 'success' && footer_state == 'success') {
565
+ if (banner_state == 'success' && panel_state == 'success') {
563
566
  // show the content|footer
564
567
  //
565
568
  $('#content').show();
566
569
  $('.{{footer}}').show();
567
570
 
568
- clearInterval(dependencies_met_page_ready);
571
+ // clearInterval(dependencies_met_page_ready);
569
572
  clearInterval(dependencies_met_blocks_ready);
570
573
  }
571
574
  }, 10);
572
575
  } else {
573
576
  // pages w/o banners or panels
574
-
575
- if (footer_exists) {
576
- footer_state = j1.getXhrDataState('#{{footer_id}}');
577
- } else {
578
- // pages w/o footer
579
- footer_state = 'success';
580
- }
581
-
582
- // show the content|footer
583
- //
584
- if ( footer_state == 'success') {
585
- $('#content').show();
586
- $('.{{footer}}').show();
587
-
588
- clearInterval(dependencies_met_page_ready);
589
- }
577
+ $('#content').show();
578
+ $('.{{footer}}').show();
590
579
  }
591
580
  }
592
581
  }, 10);
@@ -671,15 +660,18 @@ var j1 = (function (options) {
671
660
  var footer_state;
672
661
 
673
662
  if (j1.getState() === 'finished' && pageVisible && atticFinished) {
663
+ clearInterval(dependencies_met_page_ready);
674
664
  logger.info('\n' + 'load block elements');
665
+
675
666
  if (banners_exits) {j1.initBanner(settings);}
676
667
  if (panels_exists) {j1.initPanel(settings)};
677
668
  if (footer_exists) {j1.initFooter(settings);}
678
669
 
670
+ // process pages having banners or panels
671
+ //
679
672
  if (banner_blocks || panel_blocks) {
680
- // pages having banners or panels
681
-
682
673
  var dependencies_met_blocks_ready = setInterval (function (settings) {
674
+ // check the footer if HTML portion is loaded successfully
683
675
  if (footer_exists) {
684
676
  footer_state = j1.getXhrDataState('#{{footer_id}}');
685
677
  } else {
@@ -687,7 +679,7 @@ var j1 = (function (options) {
687
679
  footer_state = 'success';
688
680
  }
689
681
 
690
- // check bannern if HTML content loaded successfully
682
+ // check bannern if HTML content is loaded successfully
691
683
  //
692
684
  if (banners_exits) {
693
685
  Object.entries(j1.xhrDataState).forEach(entry => {
@@ -701,7 +693,7 @@ var j1 = (function (options) {
701
693
  banner_state = 'success';
702
694
  }
703
695
 
704
- // check panels if HTML content loaded successfully
696
+ // check panels if HTML content is loaded successfully
705
697
  //
706
698
  if (panels_exists) {
707
699
  Object.entries(j1.xhrDataState).forEach(entry => {
@@ -715,7 +707,7 @@ var j1 = (function (options) {
715
707
  panel_state = 'success';
716
708
  }
717
709
 
718
- // show the content section for 'block content' to optimze CLS
710
+ // show the content section if block content is available (CLS optimization)
719
711
  //
720
712
  if (banner_state == 'success' && panel_state == 'success' && footer_state == 'success') {
721
713
  // show the content|footer
@@ -723,28 +715,32 @@ var j1 = (function (options) {
723
715
  $('#content').show();
724
716
  $('.{{footer}}').show();
725
717
 
726
- clearInterval(dependencies_met_page_ready);
727
718
  clearInterval(dependencies_met_blocks_ready);
728
719
  }
729
720
  }, 10);
730
721
  } else {
731
- // pages w/o banners or panels
732
-
733
- if (footer_exists) {
734
- footer_state = j1.getXhrDataState('#{{footer_id}}');
735
- } else {
736
- // pages w/o footer
737
- footer_state = 'success';
738
- }
739
-
740
- // show the content|footer
722
+ // process pages w/o banners or panels
741
723
  //
742
- if ( footer_state == 'success') {
743
- $('#content').show();
744
- $('.{{footer}}').show();
724
+ var dependencies_met_footer_block_ready = setInterval (function (settings) {
725
+ // check the footer if HTML portion is loaded successfully
726
+ if (footer_exists) {
727
+ footer_state = j1.getXhrDataState('#{{footer_id}}');
728
+ } else {
729
+ // pages w/o footer
730
+ footer_state = 'success';
731
+ }
745
732
 
746
- clearInterval(dependencies_met_page_ready);
747
- }
733
+ // show the content section if footer is available (CLS optimization)
734
+ //
735
+ if (footer_state == 'success') {
736
+ // show the content|footer
737
+ //
738
+ $('#content').show();
739
+ $('.{{footer}}').show();
740
+
741
+ clearInterval(dependencies_met_footer_block_ready);
742
+ }
743
+ }, 10);
748
744
  }
749
745
  }
750
746
  }, 10);
@@ -871,6 +867,8 @@ var j1 = (function (options) {
871
867
  logger.info(logText);
872
868
  var banner_data_path = '{{banner_data_path}} ' + id + '_content';
873
869
  selector.load(banner_data_path, cb_load_closure(id));
870
+ } else {
871
+ continue;
874
872
  }
875
873
  }
876
874
  } else {
@@ -974,6 +972,8 @@ var j1 = (function (options) {
974
972
  logger.info(logText);
975
973
  var panel_data_path = '{{panel_data_path}} ' + id + '_content';
976
974
  selector.load(panel_data_path, cb_load_closure(id));
975
+ } else {
976
+ continue;
977
977
  }
978
978
  }
979
979
  } else {
@@ -166,8 +166,9 @@ j1.adapter.masterslider = (function (j1, window) {
166
166
  var dependencies_met_module_finished = setInterval(function() {
167
167
  var contentState = $('#content').css("display");
168
168
  var contentVisible = (contentState == 'block') ? true: false;
169
+ var atticFinished = (j1.adapter.attic.getState() == 'finished') ? true: false;
169
170
 
170
- if (_this.getState() == 'sliders_initialized' && contentVisible) {
171
+ if (_this.getState() == 'sliders_initialized' && contentVisible && atticFinished) {
171
172
  // TODO: Check why a timeout is required to load the Slider Manager
172
173
  setTimeout (function() {
173
174
  if (sliderManager) document.body.appendChild(msSliderManager);
@@ -257,17 +257,20 @@ j1.adapter.slick = (function (j1, window) {
257
257
  });
258
258
  } // END carousel lightbox enabled
259
259
 
260
- logger.info('\n' + 'adjust positions of arrows on id: {{carousel.id}}');
260
+ logger.info('\n' + 'adjust positions of slick lightbox arrows on id: {{carousel.id}}');
261
261
  var buttons = $("#{{carousel.id}} > button");
262
+ var arrowTopPos = Math.round(document.documentElement.clientHeight/2)
262
263
 
263
- // recalculate right arrow position based on gutter settings
264
+ // jadams, 2023-09-01: not used anymore
264
265
  //
265
- var percentage_right = 3 + carouselSettings.gutters;
266
- $.each($(buttons), function(index, button) {
267
- if (button.textContent.includes("Next")) {
268
- $(button).attr('style','right: ' + percentage_right + '%');
269
- }
270
- });
266
+ // re-calculate right arrow position based on gutter settings
267
+ // var percentage_right = 3 + carouselSettings.gutters;
268
+ // $.each($(buttons), function(index, button) {
269
+ //
270
+ // if (button.textContent.includes("Next")) {
271
+ // $(button).attr('style', 'right: ' + percentage_right + '%');
272
+ // }
273
+ // });
271
274
 
272
275
  // add CSS style for individual top position for all carousels
273
276
  //
@@ -310,9 +313,9 @@ j1.adapter.slick = (function (j1, window) {
310
313
  const $currentSlide = $slides.filter((index, slide) => $(slide).hasClass('slick-current'));
311
314
 
312
315
  if (carousel_type == 'example') {
313
- slideImageHeight = ($currentSlide.find('{{carousel.style}}').height() / 2) - 25;
316
+ slideImageHeight = ($currentSlide.find('{{carousel.style}}').height()/2) - 25;
314
317
  } else {
315
- slideImageHeight = ($currentSlide.find('img').height() / 2) - 20;
318
+ slideImageHeight = ($currentSlide.find('img').height()/2) - 25;
316
319
  }
317
320
 
318
321
  logger.info('\n' + 'adjust top arrow position (centered) by ' + slideImageHeight + ' on id: {{carousel.id}}');
@@ -55,7 +55,6 @@ regenerate: true
55
55
  {% assign production = true %}
56
56
  {% endif %}
57
57
 
58
-
59
58
  /*
60
59
  # -----------------------------------------------------------------------------
61
60
  # ~/assets/themes/j1/adapter/js/translator.js
@@ -104,6 +103,7 @@ j1.adapter.translator = (function (j1, window) {
104
103
  var hostname;
105
104
  var domain;
106
105
  var subDomain;
106
+ var isSubDomain;
107
107
  var cookie_option_domain;
108
108
  var secure;
109
109
  var logText;
@@ -145,12 +145,12 @@ j1.adapter.translator = (function (j1, window) {
145
145
  translatorDefaults = $.extend({}, {{translator_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
146
146
  translatorSettings = $.extend({}, {{translator_settings | replace: 'nil', 'null' | replace: '=>', ':' }});
147
147
  translatorOptions = $.extend(true, {}, translatorDefaults, translatorSettings);
148
-
149
148
  url = new liteURL(window.location.href);
150
149
  baseUrl = url.origin;
151
150
  hostname = url.hostname;
152
151
  domain = hostname.substring(hostname.lastIndexOf('.', hostname.lastIndexOf('.') - 1) + 1);
153
- subDomain = j1.subdomain(hostname);
152
+ subDomain = '.' + domain;
153
+ isSubDomain = j1.subdomain(hostname);
154
154
  secure = (url.protocol.includes('https')) ? true : false;
155
155
  navigator_language = navigator.language || navigator.userLanguage; // userLanguage for MS IE compatibility
156
156
  translation_language = navigator_language.split('-')[0];
@@ -197,9 +197,10 @@ j1.adapter.translator = (function (j1, window) {
197
197
  var option_domain = '{{cookie_options.domain}}';
198
198
  var translationFeedbackHighlight;
199
199
 
200
- user_consent = j1.readCookie(cookie_names.user_consent);
200
+ user_consent = j1.readCookie(cookie_names.user_consent);
201
201
 
202
202
  // set domain used by cookies
203
+ //
203
204
  if (option_domain == 'auto') {
204
205
  domainAttribute = domain ;
205
206
  } else {
@@ -208,16 +209,16 @@ j1.adapter.translator = (function (j1, window) {
208
209
 
209
210
  var pageState = $('#no_flicker').css("display");
210
211
  var pageVisible = (pageState == 'block') ? true: false;
211
- var atticFinished = (j1.adapter.attic.getState() == 'finished') ? true: false;
212
+ var atticFinished = (j1.adapter.attic.getState() == 'finished') ? true : false;
212
213
 
213
- if (j1.getState() === 'finished' && pageVisible) {
214
- // if (j1.getState() === 'finished' && pageVisible && atticFinished) {
214
+ if (j1.getState() === 'finished' && pageVisible && atticFinished) {
215
215
 
216
216
  _this.setState('started');
217
217
  logger.debug('\n' + 'state: ' + _this.getState());
218
218
  logger.info('\n' + 'module is being initialized');
219
219
 
220
220
  // load|initialize user translate cookie
221
+ //
221
222
  if (j1.existsCookie(cookie_names.user_translate)) {
222
223
  user_translate = j1.readCookie(cookie_names.user_translate);
223
224
  } else {
@@ -232,21 +233,25 @@ j1.adapter.translator = (function (j1, window) {
232
233
  }
233
234
 
234
235
  // hide the google translate element if exists
236
+ //
235
237
  if ($('google_translate_element')) {
236
238
  $('google_translate_element').hide();
237
239
  }
238
240
 
239
241
  // show|hide translate button if enabled
242
+ //
240
243
  if (translatorOptions.hideTranslatorIcon) {
241
244
  if (!user_consent.analysis || !user_consent.personalization) {
242
245
  // disable google translate button if visible
246
+ //
243
247
  if ($('#quickLinksTranslateButton').css('display') === 'block') {
244
248
  logger.info('\n' + 'disable quickLinksTranslateButton');
245
249
  $('#quickLinksTranslateButton').css('display', 'none');
246
250
  }
247
251
  }
248
252
  if (user_consent.analysis && user_consent.personalization) {
249
- // enable google translate button if not visible
253
+ // enable google translate button if NOT visible
254
+ //
250
255
  if ($('#quickLinksTranslateButton').css('display') === 'none') {
251
256
  logger.info('\n' + 'enable quickLinksTranslateButton');
252
257
  $('#quickLinksTranslateButton').css('display', 'block');
@@ -255,6 +260,7 @@ j1.adapter.translator = (function (j1, window) {
255
260
  }
256
261
 
257
262
  // load|set user translate cookie
263
+ //
258
264
  user_consent = j1.readCookie(cookie_names.user_consent);
259
265
  if (!user_consent.analysis || !user_consent.personalization) {
260
266
  // disable translation service
@@ -266,6 +272,7 @@ j1.adapter.translator = (function (j1, window) {
266
272
  });
267
273
 
268
274
  // expire permanent cookie to session
275
+ //
269
276
  j1.expireCookie({ name: cookie_names.user_translate });
270
277
  } else {
271
278
  logger.debug('\n' + 'write to cookie : ' + cookie_names.user_translate);
@@ -282,22 +289,22 @@ j1.adapter.translator = (function (j1, window) {
282
289
  }
283
290
 
284
291
  j1.translator = new Translator({
285
- contentURL: translatorOptions.contentURL, // dialog content (modals) for all supported languages
286
- cookieName: cookie_names.user_translate, // name of the translator cookie
287
- cookieStorageDays: expires, // lifetime of a cookie [0..365], 0: session cookie
288
- cookieSameSite: same_site, // restrict consent cookie
289
- cookieDomain: domainAttribute, // set domain (hostname|domain)
290
- cookieSecure: secure, // set
291
- cookieConsentName: translatorOptions.cookieConsentName, // the name of the Cookie Consent Cookie (secondary data)
292
- disableLanguageSelector: translatorOptions.disableLanguageSelector, // disable language dropdown for translation in dialog (modal)
293
- dialogContainerID: translatorOptions.dialogContainerID, // dest container, the dialog modal is loaded (dynamically)
294
- dialogLanguage: translatorOptions.dialogLanguage, // language for the dialog (modal)
295
- translationLanguage: translatorOptions.translationLanguage, // default language for translation
296
- translationLanguages: translatorOptions.google.translationLanguages,// supported languages for translation
297
- translationEnabled: translatorOptions.translationEnabled, // run translation enabled|disabled
298
- translatorName: translatorOptions.translatorName, // translator used for translation
299
- xhrDataElement: translatorOptions.xhrDataElement, // container for all language-specific dialogs (modals)
300
- postSelectionCallback: translatorOptions.google.postSelectionCallback
292
+ contentURL: translatorOptions.contentURL, // dialog content (modals) for all supported languages
293
+ cookieName: cookie_names.user_translate, // name of the translator cookie
294
+ cookieStorageDays: expires, // lifetime of a cookie [0..365], 0: session cookie
295
+ cookieSameSite: same_site, // restrict consent cookie
296
+ cookieDomain: domainAttribute, // set domain (hostname|domain)
297
+ cookieSecure: secure, // set secure
298
+ cookieConsentName: translatorOptions.cookieConsentName, // the name of the Cookie Consent Cookie (secondary data)
299
+ disableLanguageSelector: translatorOptions.disableLanguageSelector, // disable language dropdown for translation in dialog (modal)
300
+ dialogContainerID: translatorOptions.dialogContainerID, // dest container, the dialog modal is loaded (dynamically)
301
+ dialogLanguage: translatorOptions.dialogLanguage, // language for the dialog (modal)
302
+ translationLanguage: translatorOptions.translationLanguage, // default language for translation
303
+ translationLanguages: translatorOptions.google.translationLanguages, // supported languages for translation
304
+ translationEnabled: translatorOptions.translationEnabled, // run translation enabled|disabled
305
+ translatorName: translatorOptions.translatorName, // translator used for translation
306
+ xhrDataElement: translatorOptions.xhrDataElement, // container for all language-specific dialogs (modals)
307
+ postSelectionCallback: translatorOptions.google.postSelectionCallback // prepared but currently NOT actively used
301
308
  });
302
309
 
303
310
  // hide the translation feedback
@@ -319,22 +326,16 @@ j1.adapter.translator = (function (j1, window) {
319
326
  if ($('google_translate_element')) {
320
327
  $('google_translate_element').hide();
321
328
  }
322
- // if( $('#gt-callback').length ) {
323
- // logger.info('\n' + 'Google Translate Script already exists : ' + gtTranslateScript.id);
324
- // } else {
325
- // logger.info('\n' + 'append Google Translate Script: ' + gtTranslateScript.id);
326
- // head.appendChild(gtTranslateScript);
327
- // if ($('google_translate_element')) {
328
- // $('google_translate_element').hide();
329
- // }
330
- // }
331
329
  }
332
330
  } else {
333
331
  if (translatorOptions.translatorName === 'google') {
334
332
  logger.info('\n' + 'translation disabled');
335
333
  logger.info('\n' + 'remove existing Google Translate cookies');
334
+
336
335
  // remove all googtrans cookies that POTENTIALLY exists
336
+ //
337
337
  Cookies.remove('googtrans', { domain: domainAttribute });
338
+ Cookies.remove('googtrans', { domain: subDomain });
338
339
  Cookies.remove('googtrans', { domain: hostname });
339
340
  Cookies.remove('googtrans');
340
341
  }
@@ -351,6 +352,7 @@ j1.adapter.translator = (function (j1, window) {
351
352
  clearInterval(dependencies_met_page_ready);
352
353
  }
353
354
  }, 10);
355
+
354
356
  }, // END init
355
357
 
356
358
  // -------------------------------------------------------------------------
@@ -398,12 +400,13 @@ j1.adapter.translator = (function (j1, window) {
398
400
 
399
401
  // -------------------------------------------------------------------------
400
402
  // postTranslateElementInit()
401
- // ???
403
+ // prepared but currently NOT actively used
402
404
  // -------------------------------------------------------------------------
403
405
  postTranslateElementInit: function (response) {
404
406
  // code for post processing
405
407
  logger.info('\n' + 'postTranslateElementInit entered');
406
408
  logger.info('\n' + response.T.Dh);
409
+
407
410
  return;
408
411
  }, // END postTranslateElementInit
409
412
 
@@ -415,28 +418,16 @@ j1.adapter.translator = (function (j1, window) {
415
418
  cbGoogle: function (option) {
416
419
  var logger = log4javascript.getLogger('j1.adapter.translator.cbGoogle');
417
420
  var msDropdown = document.getElementById('dropdownJSON').msDropdown;
418
-
419
421
  var url = new liteURL(window.location.href);
420
422
  var baseUrl = url.origin;
421
423
  var hostname = url.hostname;
422
- var auto_domain = hostname.substring(hostname.lastIndexOf('.', hostname.lastIndexOf('.') - 1) + 1);
423
- var subDomain = j1.subdomain(hostname);
424
+ var domain = hostname.substring(hostname.lastIndexOf('.', hostname.lastIndexOf('.') - 1) + 1);
425
+ var subDomain = '.' + domain;
426
+ var isSubDomain = j1.subdomain(hostname);
424
427
  var domainAttribute = '';
425
-
426
- // var cookie_names = j1.getCookieNames();
427
- // var user_consent = j1.readCookie(cookie_names.user_consent);
428
- // var user_translate = j1.readCookie(cookie_names.user_translate);
429
- // var url = new liteURL(window.location.href);
430
- // var baseUrl = url.origin;;
431
- // var hostname = url.hostname;
432
- // var domain = hostname.substring(hostname.lastIndexOf('.', hostname.lastIndexOf('.') - 1) + 1);
433
- // var cookie_option_domain = '{{cookie_options.domain}}';
434
- // var same_site = '{{cookie_options.same_site}}';
435
-
436
428
  var srcLang;
437
429
  var destLang;
438
430
  var transCode;
439
- var domainAttribute;
440
431
  var selectedTranslationLanguage;
441
432
 
442
433
  // set domain used by cookies
@@ -457,6 +448,7 @@ j1.adapter.translator = (function (j1, window) {
457
448
  logger.info('\n' + 'selected translation language: ' + selectedTranslationLanguage);
458
449
 
459
450
  // set content language
451
+ //
460
452
  if (translatorOptions.contentLanguage === 'auto') {
461
453
  srcLang = '{{contentLanguage}}';
462
454
  } else {
@@ -464,20 +456,26 @@ j1.adapter.translator = (function (j1, window) {
464
456
  }
465
457
 
466
458
  // translation language MUST be DIFFERENT from content language
459
+ //
467
460
  if (srcLang == selectedTranslationLanguage ) {
468
461
  // remove all googtrans cookies that POTENTIALLY exists
462
+ //
469
463
  Cookies.remove('googtrans', { domain: domainAttribute });
464
+ Cookies.remove('googtrans', { domain: subDomain });
470
465
  Cookies.remove('googtrans', { domain: hostname });
471
466
  Cookies.remove('googtrans');
472
467
  location.reload();
473
468
  }
474
469
 
475
470
  // set transCode settings
471
+ //
476
472
  destLang = translation_language;
477
473
  transCode = '/' + srcLang + '/' + selectedTranslationLanguage;
478
474
 
479
475
  // remove all googtrans cookies that POTENTIALLY exists
476
+ //
480
477
  Cookies.remove('googtrans', { domain: domainAttribute });
478
+ Cookies.remove('googtrans', { domain: subDomain });
481
479
  Cookies.remove('googtrans', { domain: hostname });
482
480
  Cookies.remove('googtrans');
483
481
 
@@ -487,18 +485,15 @@ j1.adapter.translator = (function (j1, window) {
487
485
  // in an empty field and two cookies (host+domain) if domain option
488
486
  // is enabled!!!
489
487
  // -----------------------------------------------------------------------
490
-
491
- if (subDomain) {
492
- Cookies.set('googtrans', transCode, { domain: auto_domain });
488
+ if (isSubDomain) {
489
+ Cookies.set('googtrans', transCode, { domain: domain });
493
490
  } else {
494
491
  Cookies.set('googtrans', transCode);
495
- // Cookies.set('googtrans', transCode, { domain: hostname });
496
492
  }
497
493
 
498
- // Cookies.set('googtrans', transCode);
494
+ // reload current page
495
+ location.reload();
499
496
 
500
- // reload current page (skip cache)
501
- location.reload(true);
502
497
  }, // END cbGoogle
503
498
 
504
499
  // -------------------------------------------------------------------------
@@ -508,12 +503,21 @@ j1.adapter.translator = (function (j1, window) {
508
503
  // -------------------------------------------------------------------------
509
504
  cbDeepl: function () {
510
505
  var logger = log4javascript.getLogger('j1.adapter.translator.cbDeepl');
511
- // code for post processing
506
+
507
+ //
508
+ // place code for processing here
509
+ //
510
+
512
511
  } // END cbDeepl
513
512
 
514
513
  }; // END return
514
+
515
515
  })(j1, window);
516
516
 
517
517
  {% endcapture %}
518
- {{ cache | strip_empty_lines }}
518
+ {% if production %}
519
+ {{ cache | minifyJS }}
520
+ {% else %}
521
+ {{ cache | strip_empty_lines }}
522
+ {% endif %}
519
523
  {% assign cache = nil %}