j1-template 2022.4.6 → 2022.4.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (224) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/blocks/footer/boxes/contacts_box.proc +3 -3
  3. data/_includes/themes/j1/blocks/footer/boxes/legal_statements.proc +7 -7
  4. data/_includes/themes/j1/blocks/footer/boxes/links_box.proc +1 -1
  5. data/_includes/themes/j1/blocks/footer/boxes/news_box.proc +1 -1
  6. data/_includes/themes/j1/modules/attics/generator.html +7 -7
  7. data/assets/data/authclient.html +8 -8
  8. data/assets/data/banner.html +3 -3
  9. data/assets/data/cookieconsent.html +1 -1
  10. data/assets/data/fab.html +8 -6
  11. data/assets/data/footer.html +5 -5
  12. data/assets/data/gallery_customizer.html +14 -12
  13. data/assets/data/masterslider.html +334 -0
  14. data/assets/data/menu.html +40 -40
  15. data/assets/data/mmenu.html +35 -35
  16. data/assets/data/mmenu_sidebar.html +12 -14
  17. data/assets/data/mmenu_toc.html +3 -3
  18. data/assets/data/nbinteract.html +1 -1
  19. data/assets/data/panel.html +7 -7
  20. data/assets/data/quicklinks.html +7 -7
  21. data/assets/data/rtext_resizer.html +2 -2
  22. data/assets/data/translator.html +1 -1
  23. data/assets/themes/j1/adapter/js/algolia.js +1 -1
  24. data/assets/themes/j1/adapter/js/attic.js +3 -4
  25. data/assets/themes/j1/adapter/js/carousel.js +1 -1
  26. data/assets/themes/j1/adapter/js/cookieConsent.js +1 -1
  27. data/assets/themes/j1/adapter/js/customFunctions.js +1 -1
  28. data/assets/themes/j1/adapter/js/customModule.js +3 -3
  29. data/assets/themes/j1/adapter/js/dropdowns.js +1 -1
  30. data/assets/themes/j1/adapter/js/fab.js +1 -1
  31. data/assets/themes/j1/adapter/js/framer.js +1 -1
  32. data/assets/themes/j1/adapter/js/j1.js +92 -28
  33. data/assets/themes/j1/adapter/js/justifiedGallery.js +1 -1
  34. data/assets/themes/j1/adapter/js/lightbox.js +1 -1
  35. data/assets/themes/j1/adapter/js/masterslider.js +521 -0
  36. data/assets/themes/j1/adapter/js/mmenu.js +2 -2
  37. data/assets/themes/j1/adapter/js/nbinteract.js +8 -8
  38. data/assets/themes/j1/adapter/js/rangeSlider.js +1 -1
  39. data/assets/themes/j1/adapter/js/rtable.js +1 -1
  40. data/assets/themes/j1/adapter/js/toccer.js +22 -78
  41. data/assets/themes/j1/adapter/js/translator.js +1 -1
  42. data/assets/themes/j1/core/css/animate.css +1282 -504
  43. data/assets/themes/j1/core/css/animate.min.css +1 -1
  44. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +2 -2
  45. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  46. data/assets/themes/j1/core/css/vendor.css +4 -4
  47. data/assets/themes/j1/core/css/vendor.min.css +1 -1
  48. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  49. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +2 -2
  50. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.min.js +1 -1
  51. data/assets/themes/j1/modules/lightbox/js/lightbox.js +1 -1
  52. data/assets/themes/j1/modules/masterslider/css/blank.gif +0 -0
  53. data/assets/themes/j1/modules/masterslider/css/common/grab.cur +0 -0
  54. data/assets/themes/j1/modules/masterslider/css/common/grab.png +0 -0
  55. data/assets/themes/j1/modules/masterslider/css/common/grabbing.cur +0 -0
  56. data/assets/themes/j1/modules/masterslider/css/common/grabbing.png +0 -0
  57. data/assets/themes/j1/modules/masterslider/css/common/loading-1-dark.gif +0 -0
  58. data/assets/themes/j1/modules/masterslider/css/common/loading-1.gif +0 -0
  59. data/assets/themes/j1/modules/masterslider/css/common/loading-2-dark.gif +0 -0
  60. data/assets/themes/j1/modules/masterslider/css/common/loading-2-light.gif +0 -0
  61. data/assets/themes/j1/modules/masterslider/css/common/loading-2.gif +0 -0
  62. data/assets/themes/j1/modules/masterslider/css/common/video-close-btn.png +0 -0
  63. data/assets/themes/j1/modules/masterslider/css/masterslider.css +2637 -0
  64. data/assets/themes/j1/modules/masterslider/css/masterslider.min.css +2655 -0
  65. data/assets/themes/j1/modules/masterslider/css/skins/black-skin-1-retina.png +0 -0
  66. data/assets/themes/j1/modules/masterslider/css/skins/black-skin-1.png +0 -0
  67. data/assets/themes/j1/modules/masterslider/css/skins/black-skin-2-retina.png +0 -0
  68. data/assets/themes/j1/modules/masterslider/css/skins/black-skin-2.png +0 -0
  69. data/assets/themes/j1/modules/masterslider/css/skins/contrast-skin-retina.png +0 -0
  70. data/assets/themes/j1/modules/masterslider/css/skins/contrast-skin.png +0 -0
  71. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-1-retina.png +0 -0
  72. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-1.png +0 -0
  73. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-2-retina.png +0 -0
  74. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-2.png +0 -0
  75. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-3-retina.png +0 -0
  76. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-3.png +0 -0
  77. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-4-retina.png +0 -0
  78. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-4.png +0 -0
  79. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-5-retina.png +0 -0
  80. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-5.png +0 -0
  81. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-6-retina.png +0 -0
  82. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-6.png +0 -0
  83. data/assets/themes/j1/modules/masterslider/css/skins/metro-skin-retina.png +0 -0
  84. data/assets/themes/j1/modules/masterslider/css/skins/metro-skin.png +0 -0
  85. data/assets/themes/j1/modules/masterslider/css/skins/minimal.svg +11 -0
  86. data/assets/themes/j1/modules/masterslider/css/templates/device-skin.png +0 -0
  87. data/assets/themes/j1/modules/masterslider/css/templates/display.png +0 -0
  88. data/assets/themes/j1/modules/masterslider/css/templates/flat-display.png +0 -0
  89. data/assets/themes/j1/modules/masterslider/css/templates/flat-laptop.png +0 -0
  90. data/assets/themes/j1/modules/masterslider/css/templates/flat-phone-land.png +0 -0
  91. data/assets/themes/j1/modules/masterslider/css/templates/flat-phone.png +0 -0
  92. data/assets/themes/j1/modules/masterslider/css/templates/flat-tablet-land.png +0 -0
  93. data/assets/themes/j1/modules/masterslider/css/templates/flat-tablet.png +0 -0
  94. data/assets/themes/j1/modules/masterslider/css/templates/gallery-btns.png +0 -0
  95. data/assets/themes/j1/modules/masterslider/css/templates/laptop.png +0 -0
  96. data/assets/themes/j1/modules/masterslider/css/templates/phone-land.png +0 -0
  97. data/assets/themes/j1/modules/masterslider/css/templates/phone.png +0 -0
  98. data/assets/themes/j1/modules/masterslider/css/templates/staff-arrows.png +0 -0
  99. data/assets/themes/j1/modules/masterslider/css/templates/tablet-land.png +0 -0
  100. data/assets/themes/j1/modules/masterslider/css/templates/tablet.png +0 -0
  101. data/assets/themes/j1/modules/masterslider/css/templates/vertical-arrows.png +0 -0
  102. data/assets/themes/j1/modules/masterslider/css/theme/uno.css +95 -0
  103. data/assets/themes/j1/modules/masterslider/css/theme/uno.min.css +95 -0
  104. data/assets/themes/j1/modules/masterslider/css/themes/ms-skin-sample.css +172 -0
  105. data/assets/themes/j1/modules/masterslider/css/themes/ms-skin-sample.min.css +172 -0
  106. data/assets/themes/j1/modules/masterslider/js/addons/masterslider.flickr.min.js +1 -0
  107. data/assets/themes/j1/modules/masterslider/js/addons/public.js +10 -0
  108. data/assets/themes/j1/modules/masterslider/js/masterslider.js +5691 -0
  109. data/assets/themes/j1/modules/masterslider/js/masterslider.min.js +12 -0
  110. data/assets/themes/j1/modules/masterslider/js/masterslider.min.js.map +1 -0
  111. data/assets/themes/j1/modules/masterslider/js/plugins/jquery.easing.js +211 -0
  112. data/assets/themes/j1/modules/masterslider/js/plugins/jquery.easing.min.js +51 -0
  113. data/assets/themes/j1/modules/mmenuLight/css/theme/uno/mmenu.css +8 -2
  114. data/assets/themes/j1/modules/mmenuLight/css/theme/uno/mmenu.min.css +1 -2
  115. data/assets/themes/j1/modules/translator/js/translator.js +2 -2
  116. data/assets/themes/j1/modules/translator/js/translator.min.js +1 -1
  117. data/lib/j1/version.rb +3 -3
  118. data/lib/starter_web/Gemfile +1 -1
  119. data/lib/starter_web/_config.yml +1 -1
  120. data/lib/starter_web/_data/modules/attics.yml +1 -1
  121. data/lib/starter_web/_data/modules/defaults/attics.yml +12 -5
  122. data/lib/starter_web/_data/modules/defaults/lightbox.yml +1 -1
  123. data/lib/starter_web/_data/modules/defaults/masterslider.yml +235 -0
  124. data/lib/starter_web/_data/modules/defaults/toccer.yml +1 -1
  125. data/lib/starter_web/_data/modules/lightbox.yml +4 -2
  126. data/lib/starter_web/_data/modules/masterslider.yml +1153 -0
  127. data/lib/starter_web/_data/modules/navigator_menu.yml +238 -5
  128. data/lib/starter_web/_data/resources.yml +166 -95
  129. data/lib/starter_web/_plugins/asciidoctor-extensions/masterslider-block.rb +47 -0
  130. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  131. data/lib/starter_web/assets/images/modules/masterslider/slider_1/cat-1.jpg +0 -0
  132. data/lib/starter_web/assets/images/modules/masterslider/slider_1/cat-2.jpg +0 -0
  133. data/lib/starter_web/assets/images/modules/masterslider/slider_1/cat-3.jpg +0 -0
  134. data/lib/starter_web/assets/images/modules/masterslider/slider_1/cat-4.jpg +0 -0
  135. data/lib/starter_web/assets/images/modules/masterslider/slider_1/cat-5.jpg +0 -0
  136. data/lib/starter_web/assets/images/modules/masterslider/slider_1/cat-6.jpg +0 -0
  137. data/lib/starter_web/assets/images/modules/masterslider/slider_1/cat-7.jpg +0 -0
  138. data/lib/starter_web/assets/images/modules/masterslider/slider_1/cat-8.jpg +0 -0
  139. data/lib/starter_web/assets/images/modules/masterslider/slider_10/panorama-bg-slide1.jpg +0 -0
  140. data/lib/starter_web/assets/images/modules/masterslider/slider_10/panorama-bg-slide2.jpg +0 -0
  141. data/lib/starter_web/assets/images/modules/masterslider/slider_2/andreas-brucker.jpg +0 -0
  142. data/lib/starter_web/assets/images/modules/masterslider/slider_2/denys-nevozhai-1.jpg +0 -0
  143. data/lib/starter_web/assets/images/modules/masterslider/slider_2/denys-nevozhai-2.jpg +0 -0
  144. data/lib/starter_web/assets/images/modules/masterslider/slider_2/luca-bravo.jpg +0 -0
  145. data/lib/starter_web/assets/images/modules/masterslider/slider_2/thomas-tucker.jpg +0 -0
  146. data/lib/starter_web/assets/images/modules/masterslider/slider_3/ms-free-food-family-2.jpg +0 -0
  147. data/lib/starter_web/assets/images/modules/masterslider/slider_3/ms-free-food-hamburger.jpg +0 -0
  148. data/lib/starter_web/assets/images/modules/masterslider/slider_3/ms-free-food-restaurant.jpg +0 -0
  149. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-1-100x80.jpg +0 -0
  150. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-1.jpg +0 -0
  151. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-2-100x80.jpg +0 -0
  152. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-2.jpg +0 -0
  153. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-3-100x80.jpg +0 -0
  154. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-3.jpg +0 -0
  155. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-4-100x80.jpg +0 -0
  156. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-4.jpg +0 -0
  157. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-5-100x80.jpg +0 -0
  158. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-5.jpg +0 -0
  159. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-6-100x80.jpg +0 -0
  160. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-6.jpg +0 -0
  161. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-7-100x80.jpg +0 -0
  162. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-7.jpg +0 -0
  163. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-family-140x80.jpg +0 -0
  164. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-family-2-140x80.jpg +0 -0
  165. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-family-2.jpg +0 -0
  166. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-family-3-140x80.jpg +0 -0
  167. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-family-3.jpg +0 -0
  168. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-family.jpg +0 -0
  169. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-hamburger-140x80.jpg +0 -0
  170. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-hamburger.jpg +0 -0
  171. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-pizza-140x80.jpg +0 -0
  172. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-pizza.jpg +0 -0
  173. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-restaurant-140x80.jpg +0 -0
  174. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-restaurant.jpg +0 -0
  175. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-single-man-140x80.jpg +0 -0
  176. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-single-man.jpg +0 -0
  177. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-single-woman-140x80.jpg +0 -0
  178. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-single-woman.jpg +0 -0
  179. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-table-140x80.jpg +0 -0
  180. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-table.jpg +0 -0
  181. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-woman-hand-140x80.jpg +0 -0
  182. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-woman-hand.jpg +0 -0
  183. data/lib/starter_web/assets/images/modules/masterslider/slider_6_7/6876385555_74a0d7d7ee_b.jpg +0 -0
  184. data/lib/starter_web/assets/images/modules/masterslider/slider_6_7/6876387431_d86867a3d9_b.jpg +0 -0
  185. data/lib/starter_web/assets/images/modules/masterslider/slider_6_7/6876388511_d618d53455_b.jpg +0 -0
  186. data/lib/starter_web/assets/images/modules/masterslider/slider_6_7/6876389463_db27a377e1_b.jpg +0 -0
  187. data/lib/starter_web/assets/images/modules/masterslider/slider_6_7/6876390339_2e4dd9dbbb_b.jpg +0 -0
  188. data/lib/starter_web/assets/images/modules/masterslider/slider_8/postslider-5-img-1.jpg +0 -0
  189. data/lib/starter_web/assets/images/modules/masterslider/slider_8/postslider-5-img-2.jpg +0 -0
  190. data/lib/starter_web/assets/images/modules/masterslider/slider_8/postslider-5-img-3.jpg +0 -0
  191. data/lib/starter_web/assets/images/modules/masterslider/slider_8/postslider6-bg-slide2-1024x622.jpg +0 -0
  192. data/lib/starter_web/assets/images/modules/masterslider/slider_9/1-2.jpg +0 -0
  193. data/lib/starter_web/assets/images/modules/masterslider/slider_9/5-2.jpg +0 -0
  194. data/lib/starter_web/assets/images/modules/masterslider/slider_9/6-2.jpg +0 -0
  195. data/lib/starter_web/assets/images/modules/masterslider/slider_9/6-3.jpg +0 -0
  196. data/lib/starter_web/assets/images/modules/masterslider/slider_9/8-1.jpg +0 -0
  197. data/lib/starter_web/assets/images/modules/masterslider/slider_9/8.jpg +0 -0
  198. data/lib/starter_web/assets/images/modules/masterslider/unify-examples/charity-white-tile-bg.png +0 -0
  199. data/lib/starter_web/assets/images/modules/masterslider/unify-examples/fashion2-controller-arrow-next.png +0 -0
  200. data/lib/starter_web/assets/images/modules/masterslider/unify-examples/fashion2-controller-arrow-prv.png +0 -0
  201. data/lib/starter_web/assets/images/modules/masterslider/unify-examples/fashion2-img-slide1.jpg +0 -0
  202. data/lib/starter_web/assets/images/modules/masterslider/unify-examples/fashion2-img-slide2.jpg +0 -0
  203. data/lib/starter_web/assets/images/modules/masterslider/unify-examples/fashion2-img-slide3.jpg +0 -0
  204. data/lib/starter_web/assets/images/modules/masterslider/wp-examples/ms-free-business-1.jpg +0 -0
  205. data/lib/starter_web/assets/images/modules/masterslider/wp-examples/ms-free-business-2.jpg +0 -0
  206. data/lib/starter_web/assets/images/modules/masterslider/wp-examples/ms-free-business-3.jpg +0 -0
  207. data/lib/starter_web/index.html +0 -1
  208. data/lib/starter_web/package.json +1 -1
  209. data/lib/starter_web/pages/public/features/general.adoc +1 -1
  210. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_circular_times_table.html +747 -747
  211. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_climate_change_forecast.html +1250 -1250
  212. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_docs_example_dynamic.html +186 -186
  213. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_interactive_widgets.html +512 -512
  214. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets.html +629 -629
  215. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_hist_chart.html +93 -93
  216. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_question_multiple_choice.html +70 -70
  217. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_question_short_answer.html +156 -156
  218. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_odes_in_python.html +955 -955
  219. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +89 -6
  220. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +49 -20
  221. data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +4 -2
  222. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  223. data/lib/starter_web/utilsrv/package.json +1 -1
  224. metadata +144 -2
@@ -186,18 +186,23 @@ var j1 = (function (options) {
186
186
  var user_session_detected;
187
187
  var cookie_written;
188
188
 
189
+ // defaults for the template
190
+ var template_version;
191
+ var template_previous_version;
192
+ var template_version_changed;
193
+
189
194
  // defaults for themes
190
195
  var themeName;
191
196
  var themeCss;
192
- var cssExtension = (environment === 'production')
193
- ? '.min.css'
194
- : '.css'
197
+ var cssExtension = (environment === 'production')
198
+ ? '.min.css'
199
+ : '.css'
195
200
 
196
201
  // defaults for data files
197
- var colors_data_path = '{{template_config.colors_data_path}}';
198
- var font_size_data_path = '{{template_config.font_size_data_path}}';
199
- var runtime_data_path = '{{template_config.runtime_data_path}}';
200
- var message_catalog_data_path = '{{template_config.message_catalog_data_path}}';
202
+ var colors_data_path = '{{template_config.colors_data_path}}';
203
+ var font_size_data_path = '{{template_config.font_size_data_path}}';
204
+ var runtime_data_path = '{{template_config.runtime_data_path}}';
205
+ var message_catalog_data_path = '{{template_config.message_catalog_data_path}}';
201
206
 
202
207
  // Logger resources
203
208
  var logger;
@@ -211,6 +216,7 @@ var j1 = (function (options) {
211
216
  'user_consent': '{{template_config.cookies.user_consent}}',
212
217
  'user_translate': '{{template_config.cookies.user_translate}}'
213
218
  };
219
+ var user_consent = {};
214
220
  var user_session = {
215
221
  'mode': 'web',
216
222
  'writer': 'j1.adapter',
@@ -228,8 +234,14 @@ var j1 = (function (options) {
228
234
  'previous_page': 'na',
229
235
  'last_pager': '/pages/public/blog/navigator/'
230
236
  };
231
- var user_state = {
237
+ var user_state = {
232
238
  'writer': 'j1.adapter',
239
+ 'template_version': '{{template_version}}',
240
+ //
241
+ // for testing only
242
+ // 'template_version': 'undefined',
243
+ // 'template_version': '2022.4.4',
244
+ //
233
245
  'theme_name': 'UnoLight',
234
246
  'theme_css': '',
235
247
  'theme_author': 'J1 Team',
@@ -240,7 +252,6 @@ var j1 = (function (options) {
240
252
  'translate_locale': navigator.language || navigator.userLanguage,
241
253
  'last_session_ts': ''
242
254
  };
243
- var user_consent = {};
244
255
 
245
256
  // ---------------------------------------------------------------------------
246
257
  // helper functions
@@ -258,25 +269,9 @@ var j1 = (function (options) {
258
269
  return context[func].apply(context, args);
259
270
  }
260
271
 
261
- function stringToBoolean(string) {
262
- switch(string.toLowerCase().trim()) {
263
- case "true":
264
- case "yes":
265
- case "1":
266
- return true;
267
- case "false":
268
- case "no":
269
- case "0":
270
- case null:
271
- return false;
272
- default:
273
- return Boolean(string);
274
- }
275
- }
276
-
277
272
  function isOdd(num) {
278
273
  var test = (num % 2).toString();
279
- return stringToBoolean(test);
274
+ return j1.stringToBoolean(test);
280
275
  }
281
276
 
282
277
  // ---------------------------------------------------------------------------
@@ -302,7 +297,7 @@ var j1 = (function (options) {
302
297
 
303
298
  // settings for dynamic pages
304
299
  scrollDynamicPagesTopOnChange = frontmatterOptions.scrollDynamicPagesTopOnChange ? frontmatterOptions.scrollDynamicPagesTopOnChange : '{{template_config.scrollDynamicPagesTopOnChange}}';
305
- scrollDynamicPagesTopOnChange = stringToBoolean(scrollDynamicPagesTopOnChange);
300
+ scrollDynamicPagesTopOnChange = j1.stringToBoolean(scrollDynamicPagesTopOnChange);
306
301
 
307
302
  // -----------------------------------------------------------------------
308
303
  // Global variable settings
@@ -319,6 +314,9 @@ var j1 = (function (options) {
319
314
  var gaCookies = j1.findCookie('_ga');
320
315
  var themerOptions = $.extend({}, {{themer_options | replace: '=>', ':' | replace: 'nil', '""' }});
321
316
 
317
+ // current template version
318
+ template_version = j1.getTemplateVersion();
319
+
322
320
  // -----------------------------------------------------------------------
323
321
  // status settings
324
322
  // save status into the adapter object for (later) global access
@@ -361,6 +359,26 @@ var j1 = (function (options) {
361
359
  expires: 365
362
360
  });
363
361
 
362
+ if (typeof user_state.template_version == 'undefined') {
363
+ // add for compatibility reasons
364
+ template_version_changed = true;
365
+ user_state.template_version = template_version;
366
+ logger.warn('\n' + 'template_version not found, set value to: ' + template_version);
367
+ cookie_written = j1.writeCookie({
368
+ name: cookie_names.user_state,
369
+ data: user_state,
370
+ secure: secure,
371
+ expires: 365
372
+ });
373
+ } else if (user_state.template_version != template_version) {
374
+ // update for changed template version
375
+ template_previous_version = user_state.template_version;
376
+ template_version_changed = true;
377
+ user_state.template_version = template_version;
378
+ } else {
379
+ template_version_changed = false;
380
+ }
381
+
364
382
  if (!user_consent.analysis || !user_consent.personalization) {
365
383
  if (expireCookiesOnRequiredOnly) {
366
384
  // expire permanent cookies to session
@@ -1027,6 +1045,7 @@ var j1 = (function (options) {
1027
1045
  // redirect to error page: blocked content
1028
1046
  window.location.href = '/446.html';
1029
1047
  } else {
1048
+
1030
1049
  logger.info('\n' + 'j1 cookies found:' + j1Cookies.length);
1031
1050
  }
1032
1051
  }
@@ -1125,6 +1144,29 @@ var j1 = (function (options) {
1125
1144
  // update sidebar for changed theme data
1126
1145
  logger.info('\n' + 'update sidebar');
1127
1146
  user_state = j1.readCookie(cookie_names.user_state);
1147
+
1148
+ if (template_version_changed) {
1149
+ if (typeof template_previous_version == 'undefined') template_previous_version = 'na';
1150
+ logger.warn('\n' + 'template version detected as changed');
1151
+ logger.warn('\n' + 'template version previous|current: ' + template_previous_version + '|' + template_version);
1152
+ // Update the user_state cookie
1153
+ // TODO: replace theme_version by template_version as they
1154
+ // are alwas the same
1155
+ // disable: user_state.theme_version = template_version;
1156
+ //
1157
+ user_state.template_version = template_version;
1158
+ cookie_written = j1.writeCookie({
1159
+ name: cookie_names.user_state,
1160
+ data: user_state,
1161
+ secure: secure,
1162
+ expires: 365
1163
+ });
1164
+ logger.warn('\n' + 'template version updated to: ' + template_version);
1165
+ } else {
1166
+ logger.info('\n' + 'template version detected: ' + user_state.template_version);
1167
+ }
1168
+
1169
+ // set current user data
1128
1170
  current_user_data = j1.mergeData(user_session, user_state);
1129
1171
  j1.core.navigator.updateSidebar(current_user_data);
1130
1172
 
@@ -1875,7 +1917,7 @@ var j1 = (function (options) {
1875
1917
  $('#macro-theme-version').each(function() {
1876
1918
  var $this = $(this);
1877
1919
  var $html = $this.html();
1878
- $this.html($html.replace('??theme-version', user_data.theme_version));
1920
+ $this.html($html.replace('??theme-version', user_data.template_version));
1879
1921
  });
1880
1922
 
1881
1923
  });
@@ -2297,6 +2339,28 @@ var j1 = (function (options) {
2297
2339
  }, 25);
2298
2340
  },
2299
2341
 
2342
+ // -------------------------------------------------------------------------
2343
+ // stringToBoolean()
2344
+ // convert a string to boolean
2345
+ // -------------------------------------------------------------------------
2346
+ stringToBoolean: function (string) {
2347
+
2348
+ switch(string.toLowerCase().trim()) {
2349
+ case "true":
2350
+ case "yes":
2351
+ case "1":
2352
+ return true;
2353
+ case "false":
2354
+ case "no":
2355
+ case "0":
2356
+ case null:
2357
+ return false;
2358
+ default:
2359
+ return Boolean(string);
2360
+ }
2361
+
2362
+ }, // END stringToBoolean
2363
+
2300
2364
  // -------------------------------------------------------------------------
2301
2365
  // registerEvents()
2302
2366
  //
@@ -131,7 +131,7 @@ j1.adapter.justifiedGallery = (function (j1, window) {
131
131
  /* eslint-enable */
132
132
 
133
133
  if (typeof settings !== 'undefined') {
134
- moduleOptions = j1.mergeData(moduleOptions, settings);
134
+ moduleOptions = $.extend({}, moduleOptions, settings);
135
135
  }
136
136
 
137
137
  _this.initialize(moduleOptions);
@@ -1,5 +1,5 @@
1
1
  ---
2
- regenerate: false
2
+ regenerate: true
3
3
  ---
4
4
 
5
5
  {% capture cache %}