j1-template 2020.0.12 → 2020.0.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (480) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/blocks/footer/boxes/about_box.proc +2 -2
  3. data/_includes/themes/j1/blocks/footer/boxes/links_box.proc +2 -2
  4. data/_includes/themes/j1/blocks/footer/boxes/news_box.proc +3 -3
  5. data/_includes/themes/j1/layouts/content_generator_collection.html +0 -1
  6. data/_includes/themes/j1/layouts/content_generator_page.html +23 -24
  7. data/_includes/themes/j1/layouts/content_generator_post.html +4 -3
  8. data/_includes/themes/j1/layouts/layout_metadata_generator.html +30 -37
  9. data/_includes/themes/j1/modules/navigator/generator.html +0 -1
  10. data/_includes/themes/j1/modules/navigator/procedures/topsearch.proc +2 -2
  11. data/_includes/themes/j1/procedures/global/create_word_cloud.proc +5 -2
  12. data/_includes/themes/j1/procedures/layouts/content_writer.proc +8 -9
  13. data/_includes/themes/j1/procedures/layouts/module_writer.proc +3 -13
  14. data/_includes/themes/j1/procedures/posts/collate_timeline.proc +10 -10
  15. data/_layouts/default.html +60 -59
  16. data/apps/public/cc/index.adoc +1 -5
  17. data/assets/data/authclient.html +36 -26
  18. data/assets/data/banner.html +4 -5
  19. data/assets/data/carousel.json +1 -2
  20. data/assets/data/{cookie_consent.html → cookiebar.html} +76 -51
  21. data/assets/data/footer.html +2 -5
  22. data/assets/data/galleries.json +1 -2
  23. data/assets/data/gallery_customizer.html +6 -7
  24. data/assets/data/jupyter/notebooks/_html/template.full.head.html +10 -10
  25. data/assets/data/jupyter/notebooks/_html/visualisation.html +11 -11
  26. data/assets/data/jupyter/notebooks/html/template.html +7 -7
  27. data/assets/data/jupyter/notebooks/html/visualisation.ok.html +12 -12
  28. data/assets/data/jupyter/notebooks/visualisation.ipynb +1 -1
  29. data/assets/data/mdi_icons.json +1 -2
  30. data/assets/data/menu.html +2 -3
  31. data/assets/data/mmenu.html +4 -5
  32. data/assets/data/mmenu_sidebar.html +2 -3
  33. data/assets/data/mmenu_toc.html +2 -3
  34. data/assets/data/panel.html +23 -30
  35. data/assets/data/quicklinks.html +24 -20
  36. data/assets/data/search.json +88 -84
  37. data/assets/data/ssm.html +2 -3
  38. data/assets/data/twa_v1.json +6979 -6982
  39. data/assets/themes/j1/adapter/js/algolia.js +17 -17
  40. data/assets/themes/j1/adapter/js/attic.js +25 -34
  41. data/assets/themes/j1/adapter/js/back2top.js +233 -0
  42. data/assets/themes/j1/adapter/js/carousel.js +15 -11
  43. data/assets/themes/j1/adapter/js/clipboard.js +21 -20
  44. data/assets/themes/j1/adapter/js/cookiebar.js +205 -0
  45. data/assets/themes/j1/adapter/js/framer.js +27 -19
  46. data/assets/themes/j1/adapter/js/gallery_customizer.js +220 -248
  47. data/assets/themes/j1/adapter/js/j1.js +304 -161
  48. data/assets/themes/j1/adapter/js/jf_gallery.js +21 -20
  49. data/assets/themes/j1/adapter/js/lightbox.js +9 -8
  50. data/assets/themes/j1/adapter/js/logger.js +3 -4
  51. data/assets/themes/j1/adapter/js/mdb.js +27 -30
  52. data/assets/themes/j1/adapter/js/mmenu.js +49 -66
  53. data/assets/themes/j1/adapter/js/navigator.js +167 -131
  54. data/assets/themes/j1/adapter/js/searcher.js +18 -12
  55. data/assets/themes/j1/adapter/js/ssm.js +84 -101
  56. data/assets/themes/j1/adapter/js/themer.js +74 -80
  57. data/assets/themes/j1/adapter/js/toccer.js +49 -18
  58. data/assets/themes/j1/core/css/animate.css +2382 -0
  59. data/assets/themes/j1/core/css/animate.min.css +7 -0
  60. data/assets/themes/j1/core/css/fontawesome.css +4415 -0
  61. data/assets/themes/j1/core/css/fontawesome.min.css +1 -0
  62. data/assets/themes/j1/core/css/iconify-icons.css +4106 -0
  63. data/assets/themes/j1/core/css/iconify-icons.min.css +1 -0
  64. data/assets/themes/j1/core/css/material-design-icons.css +14532 -0
  65. data/assets/themes/j1/core/css/material-design-icons.min.css +1 -0
  66. data/assets/themes/j1/core/css/theme_extensions.css +388 -1584
  67. data/assets/themes/j1/core/css/theme_extensions.min.css +1 -1
  68. data/assets/themes/j1/core/css/twemoji.css +9485 -0
  69. data/assets/themes/j1/core/css/twemoji.min.css +1 -0
  70. data/assets/themes/j1/core/css/uno.css +544 -1658
  71. data/assets/themes/j1/core/css/uno.min.css +1 -1
  72. data/assets/themes/j1/core/css/vendor.css +884 -33281
  73. data/assets/themes/j1/core/css/vendor.min.css +2 -9
  74. data/assets/themes/j1/core/js/template.js +26 -347
  75. data/assets/themes/j1/core/js/template.js.map +1 -1
  76. data/assets/themes/j1/core/js/template.min.js +1 -1
  77. data/assets/themes/j1/modules/backstretch/js/backstretch.js +1695 -0
  78. data/assets/themes/j1/modules/backstretch/js/backstretch.min.js +21 -0
  79. data/assets/themes/j1/modules/backstretch/js/backstretch.min.js.org +1 -0
  80. data/assets/themes/j1/modules/bmd/css/bootstrap-material-design.css +12177 -0
  81. data/assets/themes/j1/modules/bmd/css/bootstrap-material-design.min.css +8 -0
  82. data/assets/themes/j1/modules/bmd/js/bootstrap-material-design.js +6930 -0
  83. data/assets/themes/j1/modules/bmd/js/bootstrap-material-design.js.map +1 -0
  84. data/assets/themes/j1/modules/bmd/js/bootstrap-material-design.min.js +1 -0
  85. data/assets/themes/j1/modules/bootstrap/css/bootstrap.css +10278 -0
  86. data/assets/themes/j1/modules/bootstrap/css/bootstrap.css.map +1 -0
  87. data/assets/themes/j1/modules/bootstrap/css/bootstrap.min.css +7 -0
  88. data/assets/themes/j1/modules/bootstrap/css/bootstrap.min.css.map +1 -0
  89. data/assets/themes/j1/modules/bootstrap/js/bootstrap.js +4420 -0
  90. data/assets/themes/j1/modules/bootstrap/js/bootstrap.js.map +1 -0
  91. data/assets/themes/j1/modules/bootstrap/js/bootstrap.min.js +7 -0
  92. data/assets/themes/j1/modules/bootstrap/js/bootstrap.min.js.map +1 -0
  93. data/assets/themes/j1/{extensions → modules}/bsDatepicker/css/datepicker.css +1 -1
  94. data/assets/themes/j1/{extensions → modules}/bsDatepicker/css/theme/uno.css +1 -1
  95. data/assets/themes/j1/{extensions → modules}/bsDatepicker/js/datepicker.js +1 -1
  96. data/assets/themes/j1/{extensions → modules}/bsDatepicker/less/datepicker.less +0 -0
  97. data/assets/themes/j1/{extensions → modules}/bsThemeSwitcher/js/switcher.js +20 -10
  98. data/assets/themes/j1/{extensions → modules}/bsThemeSwitcher/js/switcher.min.js +1 -1
  99. data/assets/themes/j1/{extensions → modules}/carousel/css/carousel.css +1 -1
  100. data/assets/themes/j1/{extensions → modules}/carousel/css/carousel.min.css +1 -1
  101. data/assets/themes/j1/{extensions → modules}/carousel/css/carousel_transitions.css +1 -1
  102. data/assets/themes/j1/{extensions → modules}/carousel/css/carousel_transitions.min.css +1 -1
  103. data/assets/themes/j1/{extensions → modules}/carousel/css/theme/uno.css +1 -1
  104. data/assets/themes/j1/{extensions → modules}/carousel/css/theme/uno.min.css +1 -1
  105. data/assets/themes/j1/{extensions → modules}/carousel/images/ajax-loader.gif +0 -0
  106. data/assets/themes/j1/{extensions → modules}/carousel/images/grabbing.png +0 -0
  107. data/assets/themes/j1/{extensions → modules}/carousel/images/owl-logo.png +0 -0
  108. data/assets/themes/j1/{extensions → modules}/carousel/images/owl.video.play.png +0 -0
  109. data/assets/themes/j1/{extensions → modules}/carousel/js/carousel.js +0 -0
  110. data/assets/themes/j1/{extensions → modules}/carousel/js/carousel.min.js +0 -0
  111. data/assets/themes/j1/{extensions → modules}/clipboard/LICENSE +0 -0
  112. data/assets/themes/j1/{extensions → modules}/clipboard/css/theme/uno.css +1 -1
  113. data/assets/themes/j1/{extensions → modules}/clipboard/css/theme/uno.min.css +1 -1
  114. data/assets/themes/j1/{extensions → modules}/clipboard/js/clipboard.js +0 -0
  115. data/assets/themes/j1/{extensions → modules}/clipboard/js/clipboard.min.js +0 -0
  116. data/assets/themes/j1/{extensions → modules}/iconifyAPI/js/iconify.min.js +0 -0
  117. data/assets/themes/j1/{extensions → modules}/iframeResizer/LICENSE +0 -0
  118. data/assets/themes/j1/{extensions → modules}/iframeResizer/examples/frame.absolute.html +2 -5
  119. data/assets/themes/j1/{extensions → modules}/iframeResizer/examples/frame.content.html +17 -44
  120. data/assets/themes/j1/{extensions → modules}/iframeResizer/examples/frame.hover.html +2 -5
  121. data/assets/themes/j1/{extensions → modules}/iframeResizer/examples/frame.nested.html +5 -7
  122. data/assets/themes/j1/{extensions → modules}/iframeResizer/examples/frame.textarea.html +1 -1
  123. data/assets/themes/j1/{extensions → modules}/iframeResizer/examples/frame.tolerance.html +3 -5
  124. data/assets/themes/j1/{extensions → modules}/iframeResizer/examples/index.html +4 -3
  125. data/assets/themes/j1/{extensions → modules}/iframeResizer/examples/two.html +4 -3
  126. data/assets/themes/j1/{extensions → modules}/iframeResizer/js/client/iframeResizer.contentWindow.js +0 -0
  127. data/assets/themes/j1/{extensions → modules}/iframeResizer/js/client/iframeResizer.contentWindow.map +0 -0
  128. data/assets/themes/j1/{extensions → modules}/iframeResizer/js/client/iframeResizer.contentWindow.min.js +0 -0
  129. data/assets/themes/j1/{extensions → modules}/iframeResizer/js/iframeResizer.js +0 -0
  130. data/assets/themes/j1/{extensions → modules}/iframeResizer/js/iframeResizer.map +0 -0
  131. data/assets/themes/j1/{extensions → modules}/iframeResizer/js/iframeResizer.min.js +0 -0
  132. data/assets/themes/j1/modules/jekyllSearch/js/simple-jekyll-search.js +468 -0
  133. data/assets/themes/j1/modules/jekyllSearch/js/simple-jekyll-search.min.js +6 -0
  134. data/assets/themes/j1/{extensions → modules}/jqMouseWheel/README.md +0 -0
  135. data/assets/themes/j1/{extensions → modules}/jqMouseWheel/js/jquery.mousewheel.js +0 -0
  136. data/assets/themes/j1/{extensions → modules}/jqMouseWheel/js/jquery.mousewheel.min.js +0 -0
  137. data/assets/themes/j1/modules/jquery/js/jquery.js +10869 -0
  138. data/assets/themes/j1/modules/jquery/js/jquery.min.js +2 -0
  139. data/assets/themes/j1/{extensions → modules}/justifiedGallery/LICENSE +0 -0
  140. data/assets/themes/j1/{extensions → modules}/justifiedGallery/README.md +0 -0
  141. data/assets/themes/j1/{extensions → modules}/justifiedGallery/_versions/v3.7.0/css/justifiedGallery.css +0 -0
  142. data/assets/themes/j1/{extensions → modules}/justifiedGallery/_versions/v3.7.0/css/justifiedGallery.min.css +0 -0
  143. data/assets/themes/j1/{extensions/justifiedGallery/_versions/v4.0.0 → modules/justifiedGallery/_versions/v3.7.0}/css/theme/uno.css +1 -1
  144. data/assets/themes/j1/{extensions → modules}/justifiedGallery/_versions/v3.7.0/js/justifiedGallery.3.7.0.js +0 -0
  145. data/assets/themes/j1/{extensions → modules}/justifiedGallery/_versions/v3.7.0/js/justifiedGallery.js +0 -0
  146. data/assets/themes/j1/{extensions → modules}/justifiedGallery/_versions/v3.7.0/js/justifiedGallery.min.js +0 -0
  147. data/assets/themes/j1/{extensions → modules}/justifiedGallery/_versions/v3.7.0/less/.csslintrc +0 -0
  148. data/assets/themes/j1/{extensions → modules}/justifiedGallery/_versions/v3.7.0/less/justifiedGallery.less +0 -0
  149. data/assets/themes/j1/{extensions → modules}/justifiedGallery/_versions/v4.0.0/css/justifiedGallery.css +0 -0
  150. data/assets/themes/j1/{extensions → modules}/justifiedGallery/_versions/v4.0.0/css/justifiedGallery.min.css +0 -0
  151. data/assets/themes/j1/{extensions/justifiedGallery/_versions/v3.7.0 → modules/justifiedGallery/_versions/v4.0.0}/css/theme/uno.css +1 -1
  152. data/assets/themes/j1/{extensions → modules}/justifiedGallery/_versions/v4.0.0/js/jquery.justifiedGallery.js +0 -0
  153. data/assets/themes/j1/{extensions → modules}/justifiedGallery/_versions/v4.0.0/js/jquery.justifiedGallery.min.js +0 -0
  154. data/assets/themes/j1/{extensions → modules}/justifiedGallery/css/justifiedGallery.css +0 -0
  155. data/assets/themes/j1/{extensions → modules}/justifiedGallery/css/justifiedGallery.min.css +0 -0
  156. data/assets/themes/j1/{extensions → modules}/justifiedGallery/css/theme/uno.css +1 -1
  157. data/assets/themes/j1/{extensions → modules}/justifiedGallery/css/theme/uno.min.css +1 -1
  158. data/assets/themes/j1/{extensions → modules}/justifiedGallery/js/justifiedGallery.js +0 -0
  159. data/assets/themes/j1/{extensions → modules}/justifiedGallery/js/justifiedGallery.min.js +0 -0
  160. data/assets/themes/j1/{extensions → modules}/lightGallery/css/core/lg-fb-comment-box.css +0 -0
  161. data/assets/themes/j1/{extensions → modules}/lightGallery/css/core/lg-fb-comment-box.min.css +0 -0
  162. data/assets/themes/j1/{extensions → modules}/lightGallery/css/core/lg-transitions.css +0 -0
  163. data/assets/themes/j1/{extensions → modules}/lightGallery/css/core/lg-transitions.min.css +0 -0
  164. data/assets/themes/j1/{extensions → modules}/lightGallery/css/core/lightgallery.css +0 -0
  165. data/assets/themes/j1/{extensions → modules}/lightGallery/css/core/lightgallery.min.css +0 -0
  166. data/assets/themes/j1/{extensions → modules}/lightGallery/css/fonts/lg.eot +0 -0
  167. data/assets/themes/j1/{extensions → modules}/lightGallery/css/fonts/lg.svg +0 -0
  168. data/assets/themes/j1/{extensions → modules}/lightGallery/css/fonts/lg.ttf +0 -0
  169. data/assets/themes/j1/{extensions → modules}/lightGallery/css/fonts/lg.woff +0 -0
  170. data/assets/themes/j1/{extensions → modules}/lightGallery/css/img/loading.gif +0 -0
  171. data/assets/themes/j1/{extensions → modules}/lightGallery/css/img/video-play.png +0 -0
  172. data/assets/themes/j1/{extensions → modules}/lightGallery/css/img/vimeo-play.png +0 -0
  173. data/assets/themes/j1/{extensions → modules}/lightGallery/css/img/youtube-play.png +0 -0
  174. data/assets/themes/j1/{extensions → modules}/lightGallery/css/themes/icons/animation-w.png +0 -0
  175. data/assets/themes/j1/{extensions → modules}/lightGallery/css/themes/icons/customize-w.png +0 -0
  176. data/assets/themes/j1/{extensions → modules}/lightGallery/css/themes/icons/dynamic-w.png +0 -0
  177. data/assets/themes/j1/{extensions → modules}/lightGallery/css/themes/icons/facebook-icon.svg +0 -0
  178. data/assets/themes/j1/{extensions → modules}/lightGallery/css/themes/icons/googleplus-icon.svg +0 -0
  179. data/assets/themes/j1/{extensions → modules}/lightGallery/css/themes/icons/html5-w.png +0 -0
  180. data/assets/themes/j1/{extensions → modules}/lightGallery/css/themes/icons/linked-in.png +0 -0
  181. data/assets/themes/j1/{extensions → modules}/lightGallery/css/themes/icons/module-w.png +0 -0
  182. data/assets/themes/j1/{extensions → modules}/lightGallery/css/themes/icons/play-button.png +0 -0
  183. data/assets/themes/j1/{extensions → modules}/lightGallery/css/themes/icons/responsive-w.png +0 -0
  184. data/assets/themes/j1/{extensions → modules}/lightGallery/css/themes/icons/thumb-w.png +0 -0
  185. data/assets/themes/j1/{extensions → modules}/lightGallery/css/themes/icons/touch-w.png +0 -0
  186. data/assets/themes/j1/{extensions → modules}/lightGallery/css/themes/icons/twitter-icon.svg +0 -0
  187. data/assets/themes/j1/{extensions → modules}/lightGallery/css/themes/icons/twitter.png +0 -0
  188. data/assets/themes/j1/{extensions → modules}/lightGallery/css/themes/icons/video1-w.png +0 -0
  189. data/assets/themes/j1/{extensions → modules}/lightGallery/css/themes/icons/zoom-w.png +0 -0
  190. data/assets/themes/j1/{extensions → modules}/lightGallery/css/themes/icons/zoom.png +0 -0
  191. data/assets/themes/j1/{extensions → modules}/lightGallery/css/themes/uno.css +1 -1
  192. data/assets/themes/j1/{extensions → modules}/lightGallery/css/themes/uno.min.css +1 -1
  193. data/assets/themes/j1/{extensions → modules}/lightGallery/js/core/lightgallery.js +0 -0
  194. data/assets/themes/j1/{extensions → modules}/lightGallery/js/core/lightgallery.min.js +0 -0
  195. data/assets/themes/j1/{extensions → modules}/lightGallery/js/modules/j1/j1-video.js +0 -0
  196. data/assets/themes/j1/{extensions → modules}/lightGallery/js/modules/j1/j1-video.min.js +0 -0
  197. data/assets/themes/j1/{extensions → modules}/lightGallery/js/modules/lg-autoplay.js +0 -0
  198. data/assets/themes/j1/{extensions → modules}/lightGallery/js/modules/lg-autoplay.min.js +0 -0
  199. data/assets/themes/j1/{extensions → modules}/lightGallery/js/modules/lg-fullscreen.js +0 -0
  200. data/assets/themes/j1/{extensions → modules}/lightGallery/js/modules/lg-fullscreen.min.js +0 -0
  201. data/assets/themes/j1/{extensions → modules}/lightGallery/js/modules/lg-hash.js +0 -0
  202. data/assets/themes/j1/{extensions → modules}/lightGallery/js/modules/lg-hash.min.js +0 -0
  203. data/assets/themes/j1/{extensions → modules}/lightGallery/js/modules/lg-pager.js +0 -0
  204. data/assets/themes/j1/{extensions → modules}/lightGallery/js/modules/lg-pager.min.js +0 -0
  205. data/assets/themes/j1/{extensions → modules}/lightGallery/js/modules/lg-share.js +0 -0
  206. data/assets/themes/j1/{extensions → modules}/lightGallery/js/modules/lg-share.min.js +0 -0
  207. data/assets/themes/j1/{extensions → modules}/lightGallery/js/modules/lg-thumbnail.js +0 -0
  208. data/assets/themes/j1/{extensions → modules}/lightGallery/js/modules/lg-thumbnail.min.js +0 -0
  209. data/assets/themes/j1/{extensions → modules}/lightGallery/js/modules/lg-video.js +0 -0
  210. data/assets/themes/j1/{extensions → modules}/lightGallery/js/modules/lg-video.min.js +0 -0
  211. data/assets/themes/j1/{extensions → modules}/lightGallery/js/modules/lg-zoom.js +0 -0
  212. data/assets/themes/j1/{extensions → modules}/lightGallery/js/modules/lg-zoom.min.js +0 -0
  213. data/assets/themes/j1/{extensions → modules}/lightbox/LICENSE +0 -0
  214. data/assets/themes/j1/{extensions → modules}/lightbox/css/lightbox.css +1 -1
  215. data/assets/themes/j1/{extensions → modules}/lightbox/css/lightbox.min.css +1 -1
  216. data/assets/themes/j1/{extensions → modules}/lightbox/css/theme/uno.css +1 -1
  217. data/assets/themes/j1/{extensions → modules}/lightbox/css/theme/uno.min.css +1 -1
  218. data/assets/themes/j1/{extensions → modules}/lightbox/images/close.png +0 -0
  219. data/assets/themes/j1/{extensions → modules}/lightbox/images/loading.gif +0 -0
  220. data/assets/themes/j1/{extensions → modules}/lightbox/images/next.png +0 -0
  221. data/assets/themes/j1/{extensions → modules}/lightbox/images/prev.png +0 -0
  222. data/assets/themes/j1/{extensions → modules}/lightbox/js/lightbox.js +0 -0
  223. data/assets/themes/j1/{extensions → modules}/lightbox/js/lightbox.min.js +0 -0
  224. data/assets/themes/j1/{extensions → modules}/mmenuLight/css/mmenu.css +1 -1
  225. data/assets/themes/j1/{extensions → modules}/mmenuLight/css/mmenu.min.css +0 -0
  226. data/assets/themes/j1/{extensions/mmenuLight/css/theme/uno.min.css → modules/mmenuLight/css/theme/uno.css} +21 -12
  227. data/assets/themes/j1/{extensions/mmenuLight/css/theme/uno.css → modules/mmenuLight/css/theme/uno.min.css} +2 -2
  228. data/assets/themes/j1/modules/mmenuLight/js/mmenu.js +563 -0
  229. data/assets/themes/j1/{extensions/mmenuLight/js/mmenu.js → modules/mmenuLight/js/mmenu.min.js} +1 -1
  230. data/assets/themes/j1/{extensions → modules}/noUISlider/LICENSE +0 -0
  231. data/assets/themes/j1/{extensions → modules}/noUISlider/css/nouislider.css +0 -0
  232. data/assets/themes/j1/{extensions → modules}/noUISlider/css/nouislider.min.css +0 -0
  233. data/assets/themes/j1/{extensions → modules}/noUISlider/js/nouislider.js +0 -0
  234. data/assets/themes/j1/{extensions → modules}/noUISlider/js/nouislider.min.js +0 -0
  235. data/assets/themes/j1/modules/polyfills/js/msie.js +140 -0
  236. data/assets/themes/j1/modules/popper/js/popper.js +2623 -0
  237. data/assets/themes/j1/modules/popper/js/popper.js.map +1 -0
  238. data/assets/themes/j1/modules/popper/js/popper.min.js +4 -0
  239. data/assets/themes/j1/modules/popper/js/popper.min.js.map +1 -0
  240. data/assets/themes/j1/{extensions → modules}/rouge/css/base16.dark/theme.css +0 -0
  241. data/assets/themes/j1/{extensions → modules}/rouge/css/base16.light/theme.css +0 -0
  242. data/assets/themes/j1/{extensions → modules}/rouge/css/base16.monokai.dark/theme.css +0 -0
  243. data/assets/themes/j1/{extensions → modules}/rouge/css/base16.monokai.light/theme.css +0 -0
  244. data/assets/themes/j1/{extensions → modules}/rouge/css/base16.monokai/theme.css +0 -0
  245. data/assets/themes/j1/{extensions → modules}/rouge/css/base16.solarized.dark/theme.css +0 -0
  246. data/assets/themes/j1/{extensions → modules}/rouge/css/base16.solarized.light/theme.css +0 -0
  247. data/assets/themes/j1/{extensions → modules}/rouge/css/base16.solarized/theme.css +0 -0
  248. data/assets/themes/j1/{extensions → modules}/rouge/css/base16/theme.css +0 -0
  249. data/assets/themes/j1/{extensions → modules}/rouge/css/colorful/theme.css +0 -0
  250. data/assets/themes/j1/{extensions → modules}/rouge/css/github/theme.css +0 -0
  251. data/assets/themes/j1/{extensions → modules}/rouge/css/gruvbox.dark/theme.css +0 -0
  252. data/assets/themes/j1/{extensions → modules}/rouge/css/gruvbox.light/theme.css +0 -0
  253. data/assets/themes/j1/{extensions → modules}/rouge/css/gruvbox/theme.css +0 -0
  254. data/assets/themes/j1/{extensions → modules}/rouge/css/igorpro/theme.css +0 -0
  255. data/assets/themes/j1/{extensions → modules}/rouge/css/molokai/theme.css +0 -0
  256. data/assets/themes/j1/{extensions → modules}/rouge/css/monokai.sublime/theme.css +0 -0
  257. data/assets/themes/j1/{extensions → modules}/rouge/css/monokai/theme.css +0 -0
  258. data/assets/themes/j1/{extensions → modules}/rouge/css/pastie/theme.css +0 -0
  259. data/assets/themes/j1/{extensions → modules}/rouge/css/thankful_eyes/theme.css +0 -0
  260. data/assets/themes/j1/{extensions → modules}/rouge/css/tulip/theme.css +0 -0
  261. data/assets/themes/j1/modules/tocbot/css/theme/uno.css +89 -0
  262. data/assets/themes/j1/modules/tocbot/css/theme/uno.min.css +89 -0
  263. data/assets/themes/j1/modules/tocbot/css/tocbot.css +75 -0
  264. data/assets/themes/j1/modules/tocbot/css/tocbot.min.css +19 -0
  265. data/assets/themes/j1/modules/tocbot/js/tocbot.js +19 -0
  266. data/assets/themes/j1/modules/tocbot/js/tocbot.min.js +19 -0
  267. data/assets/themes/j1/{extensions → modules}/twemoji/js/LICENSE +0 -0
  268. data/assets/themes/j1/{extensions → modules}/twemoji/js/picker/LICENSE +0 -0
  269. data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.js +275 -0
  270. data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.min.js +275 -0
  271. data/assets/themes/j1/{extensions → modules}/twemoji/js/twemoji.js +0 -1
  272. data/assets/themes/j1/modules/twemoji/js/twemoji.min.js +25 -0
  273. data/assets/themes/j1/modules/util/js/js.cookie.js +163 -0
  274. data/assets/themes/j1/modules/util/js/lite-url.js +203 -0
  275. data/assets/themes/j1/modules/util/js/lite-url.min.js +7 -0
  276. data/assets/themes/j1/modules/util/js/log4javascript.js +264 -0
  277. data/assets/themes/j1/modules/util/js/platform.js +1260 -0
  278. data/assets/themes/j1/{extensions → modules}/videojs/css/themes/city.css +0 -0
  279. data/assets/themes/j1/{extensions → modules}/videojs/css/themes/city.min.css +0 -0
  280. data/assets/themes/j1/{extensions → modules}/videojs/css/themes/fantasy.css +0 -0
  281. data/assets/themes/j1/{extensions → modules}/videojs/css/themes/fantasy.min.css +0 -0
  282. data/assets/themes/j1/{extensions → modules}/videojs/css/themes/forest.css +0 -0
  283. data/assets/themes/j1/{extensions → modules}/videojs/css/themes/forest.min.css +0 -0
  284. data/assets/themes/j1/{extensions → modules}/videojs/css/themes/sea.css +0 -0
  285. data/assets/themes/j1/{extensions → modules}/videojs/css/themes/sea.min.css +0 -0
  286. data/assets/themes/j1/{extensions → modules}/videojs/css/video-js.css +0 -0
  287. data/assets/themes/j1/{extensions → modules}/videojs/css/video-js.min.css +0 -0
  288. data/assets/themes/j1/{extensions → modules}/videojs/js/video.js +0 -0
  289. data/assets/themes/j1/{extensions → modules}/videojs/js/video.min.js +0 -0
  290. data/assets/themes/j1/{extensions → modules}/vimeo/froogaloop/js/froogaloop2.min.js +0 -0
  291. data/assets/themes/j1/{extensions → modules}/vimeo/player/js/player.js +0 -0
  292. data/assets/themes/j1/{extensions → modules}/vimeo/player/js/player.js.map +0 -0
  293. data/assets/themes/j1/{extensions → modules}/vimeo/player/js/player.min.js +0 -0
  294. data/assets/themes/j1/{extensions → modules}/vimeo/player/js/player.min.js.map +0 -0
  295. data/lib/j1/version.rb +1 -1
  296. data/lib/j1_app/j1_auth_manager/views/auth_manager_ui.erb +391 -389
  297. data/lib/starter_web/Gemfile +20 -13
  298. data/lib/starter_web/_config.yml +2 -2
  299. data/lib/starter_web/_data/blocks/banner.yml +2 -2
  300. data/lib/starter_web/_data/blocks/panel.yml +8 -8
  301. data/lib/starter_web/_data/modules/{cookie_consent.yml → back2top.yml} +8 -14
  302. data/lib/starter_web/_data/modules/cookiebar.yml +2 -2
  303. data/lib/starter_web/_data/modules/defaults/attics.yml +5 -2
  304. data/lib/starter_web/_data/modules/defaults/authentication.yml +8 -9
  305. data/lib/starter_web/_data/modules/defaults/back2top.yml +146 -0
  306. data/lib/starter_web/_data/modules/defaults/cookiebar.yml +101 -50
  307. data/lib/starter_web/_data/modules/defaults/jekyll_search.yml +4 -1
  308. data/lib/starter_web/_data/modules/defaults/navigator.yml +15 -13
  309. data/lib/starter_web/_data/modules/defaults/toccer.yml +1 -1
  310. data/lib/starter_web/_data/modules/navigator_menu.yml +6 -7
  311. data/lib/starter_web/_data/modules/themer.yml +9 -9
  312. data/lib/starter_web/_data/modules/toccer.yml +1 -1
  313. data/lib/starter_web/_data/resources.yml +267 -170
  314. data/lib/starter_web/_data/template_settings.yml +30 -21
  315. data/lib/starter_web/_data/utilities/util_srv.yml +1 -1
  316. data/lib/starter_web/_plugins/asciidoctor-extensions/banner.rb +43 -0
  317. data/lib/starter_web/_plugins/asciidoctor-extensions/panel.rb +43 -0
  318. data/lib/starter_web/_plugins/{asciidoctor-extensions/lorem-inline.rb → lorem-inline.rb} +0 -0
  319. data/lib/starter_web/assets/images/modules/attics/aditya-joshi-1920x1280.jpg +0 -0
  320. data/lib/starter_web/assets/images/modules/attics/admin-dashboard-bootstrap-1280x600.jpg +0 -0
  321. data/lib/starter_web/assets/images/modules/attics/alex-holyoake-1920x1280.jpg +0 -0
  322. data/lib/starter_web/assets/images/modules/attics/anaya-katlego-1920x1280.jpg +0 -0
  323. data/lib/starter_web/assets/images/modules/attics/antonella-lombardi-1920x1280.jpg +0 -0
  324. data/lib/starter_web/assets/images/modules/attics/antonino-visalli-1920x1280.jpg +0 -0
  325. data/lib/starter_web/assets/images/modules/attics/banner/library-1920x800-bw.jpg +0 -0
  326. data/lib/starter_web/assets/images/modules/attics/banner/signpost-1920x800-bw.jpg +0 -0
  327. data/lib/starter_web/assets/images/modules/attics/banner/water-journal-1280x600.jpg +0 -0
  328. data/lib/starter_web/assets/images/modules/attics/banner/write-1280x600-bw.jpg +0 -0
  329. data/lib/starter_web/assets/images/modules/attics/brandon-mowinkel-1920x1280.jpg +0 -0
  330. data/lib/starter_web/assets/images/modules/attics/building-blocks-1920x1280-bw.jpg +0 -0
  331. data/lib/starter_web/assets/images/modules/attics/cookies-1920x1200-bw.jpg +0 -0
  332. data/lib/starter_web/assets/images/modules/attics/daniel-jensen-1920x1280.jpg +0 -0
  333. data/lib/starter_web/assets/images/modules/attics/giammarco-boscaro-1920x1280.jpg +0 -0
  334. data/lib/starter_web/assets/images/modules/attics/go-up-1920x1280-bw.jpg +0 -0
  335. data/lib/starter_web/assets/images/modules/attics/ian-schneider-1920x1280.jpg +0 -0
  336. data/lib/starter_web/assets/images/modules/attics/ideas-start-here-1920x1280-bw.jpg +0 -0
  337. data/lib/starter_web/assets/images/modules/attics/jason-rosewell-1920x1280.jpg +0 -0
  338. data/lib/starter_web/assets/images/modules/attics/jessica-ruscello-1920x1280.jpg +0 -0
  339. data/lib/starter_web/assets/images/modules/attics/lianhao-1920x1280.jpg +0 -0
  340. data/lib/starter_web/assets/images/modules/attics/library-1920x1280-bw.jpg +0 -0
  341. data/lib/starter_web/assets/images/modules/attics/mae-mue-1920x1280-v.jpg +0 -0
  342. data/lib/starter_web/assets/images/modules/attics/mae-mue-1920x1280.jpg +0 -0
  343. data/lib/starter_web/assets/images/modules/attics/matthaeus-1920x1280.jpg +0 -0
  344. data/lib/starter_web/assets/images/modules/attics/nousnou-iwasaki-1920x1280.jpg +0 -0
  345. data/lib/starter_web/assets/images/modules/attics/premium-1920x1280-bw.jpg +0 -0
  346. data/lib/starter_web/assets/images/modules/attics/robert-v-ruggiero-1920x1280.jpg +0 -0
  347. data/lib/starter_web/assets/images/modules/attics/romain-vignes-1920x1280.jpg +0 -0
  348. data/lib/starter_web/assets/images/modules/attics/runner-1920x1200-bw.jpg +0 -0
  349. data/lib/starter_web/assets/images/modules/attics/spider-web-1920x1200-bw.jpg +0 -0
  350. data/lib/starter_web/assets/images/modules/attics/the-place-1920x1280-bw.jpg +0 -0
  351. data/lib/starter_web/assets/images/modules/attics/welcome-1920x1280-bw.jpg +0 -0
  352. data/lib/starter_web/assets/images/modules/carousel/cats/cat-1.jpg +0 -0
  353. data/lib/starter_web/assets/images/modules/carousel/cats/cat-2.jpg +0 -0
  354. data/lib/starter_web/assets/images/modules/carousel/cats/cat-3.jpg +0 -0
  355. data/lib/starter_web/assets/images/modules/carousel/cats/cat-4.jpg +0 -0
  356. data/lib/starter_web/assets/images/modules/carousel/cats/cat-5.jpg +0 -0
  357. data/lib/starter_web/assets/images/modules/carousel/cats/cat-6.jpg +0 -0
  358. data/lib/starter_web/assets/images/modules/carousel/cats/cat-7.jpg +0 -0
  359. data/lib/starter_web/assets/images/modules/carousel/cats/cat-8.jpg +0 -0
  360. data/lib/starter_web/assets/images/modules/carousel/mega_cities/andreas-brucker_b.jpg +0 -0
  361. data/lib/starter_web/assets/images/modules/carousel/mega_cities/denys-nevozhai-1_b.jpg +0 -0
  362. data/lib/starter_web/assets/images/modules/carousel/mega_cities/denys-nevozhai-2_b.jpg +0 -0
  363. data/lib/starter_web/assets/images/modules/carousel/mega_cities/luca-bravo_b.jpg +0 -0
  364. data/lib/starter_web/assets/images/modules/carousel/mega_cities/thomas-tucker_b.jpg +0 -0
  365. data/lib/starter_web/assets/images/modules/gallery/mega_cities/andreas-brucker_b.jpg +0 -0
  366. data/lib/starter_web/assets/images/modules/gallery/mega_cities/banter-snaps_b.jpg +0 -0
  367. data/lib/starter_web/assets/images/modules/gallery/mega_cities/denys-nevozhai-1_b.jpg +0 -0
  368. data/lib/starter_web/assets/images/modules/gallery/mega_cities/denys-nevozhai-2-bw.jpg +0 -0
  369. data/lib/starter_web/assets/images/modules/gallery/mega_cities/denys-nevozhai-2_b.jpg +0 -0
  370. data/lib/starter_web/assets/images/modules/gallery/mega_cities/emmad-mazhari_b.jpg +0 -0
  371. data/lib/starter_web/assets/images/modules/gallery/mega_cities/ethan-brooke_b.jpg +0 -0
  372. data/lib/starter_web/assets/images/modules/gallery/mega_cities/federico-rizzarelli_b.jpg +0 -0
  373. data/lib/starter_web/assets/images/modules/gallery/mega_cities/gints-gailis_b.jpg +0 -0
  374. data/lib/starter_web/assets/images/modules/gallery/mega_cities/johan-mouchet_b.jpg +0 -0
  375. data/lib/starter_web/assets/images/modules/gallery/mega_cities/luca-bravo_b.jpg +0 -0
  376. data/lib/starter_web/assets/images/modules/gallery/mega_cities/oskars-sylwan_b.jpg +0 -0
  377. data/lib/starter_web/assets/images/modules/gallery/mega_cities/steven-diaz_b.jpg +0 -0
  378. data/lib/starter_web/assets/images/modules/gallery/mega_cities/thomas-tucker-bw.jpg +0 -0
  379. data/lib/starter_web/assets/images/modules/gallery/mega_cities/thomas-tucker_b.jpg +0 -0
  380. data/lib/starter_web/assets/images/modules/lightbox/close.png +0 -0
  381. data/lib/starter_web/assets/images/modules/lightbox/loading.gif +0 -0
  382. data/lib/starter_web/assets/images/modules/lightbox/next.png +0 -0
  383. data/lib/starter_web/assets/images/modules/lightbox/prev.png +0 -0
  384. data/lib/starter_web/assets/images/pages/material/apple-touch-icon.png +0 -0
  385. data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/lightbox-image-1.jpg +0 -0
  386. data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/lightbox-image-2.jpg +0 -0
  387. data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/lightbox-image-3.jpg +0 -0
  388. data/lib/starter_web/assets/images/pages/roundtrip/bootstrap-1920x1000-bw.jpg +0 -0
  389. data/lib/starter_web/assets/images/pages/roundtrip/cards-1920x1280-bw.jpg +0 -0
  390. data/lib/starter_web/assets/images/pages/roundtrip/emojies-1920x1280-bw.jpg +0 -0
  391. data/lib/starter_web/assets/images/pages/roundtrip/icon-fonts-1920x1280-bw.jpg +0 -0
  392. data/lib/starter_web/assets/images/pages/roundtrip/images-1920x1280-bw.jpg +0 -0
  393. data/lib/starter_web/assets/images/pages/roundtrip/puzzle-1920x1280-bw.jpg +0 -0
  394. data/lib/starter_web/assets/images/pages/roundtrip/tables-1920x1280-bw.jpg +0 -0
  395. data/lib/starter_web/assets/images/pages/roundtrip/themes-1920x1280-bw.jpg +0 -0
  396. data/lib/starter_web/assets/images/pages/roundtrip/typography-1920x1280-bw.jpg +0 -0
  397. data/lib/starter_web/assets/videos/gallery/adriana-lima-poster.jpg +0 -0
  398. data/lib/starter_web/assets/videos/gallery/kick-it-old-school-poster.jpg +0 -0
  399. data/lib/starter_web/assets/videos/gallery/video1-poster.jpg +0 -0
  400. data/lib/starter_web/assets/videos/gallery/video2-poster.jpg +0 -0
  401. data/lib/starter_web/assets/videos/gallery/video2-thumb.jpg +0 -0
  402. data/lib/starter_web/assets/videos/headers/still/underground-broadway.jpg +0 -0
  403. data/lib/starter_web/assets/videos/headers/still/victoria-oskolovich-on-vimeo.jpg +0 -0
  404. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1-template.adoc.erb +3 -4
  405. data/lib/starter_web/collections/posts/public/featured/_posts/2018-05-01-confusion-about-base-url.adoc +1 -1
  406. data/lib/starter_web/collections/posts/public/featured/_posts/2019-05-01-top-open-source-static-site-generators.adoc +17 -17
  407. data/lib/starter_web/collections/posts/public/featured/_posts/2019-06-01-about-cookies.adoc +36 -40
  408. data/lib/starter_web/collections/posts/public/series/_posts/2018-11-01-docker-using-shared-folders.adoc +4 -6
  409. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-20-minneapolis.adoc +1 -3
  410. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +3 -3
  411. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-26-columbia-river.adoc +4 -4
  412. data/lib/starter_web/index.html +3 -5
  413. data/lib/starter_web/package.json +10 -10
  414. data/lib/starter_web/pages/{public → protected}/site_search.adoc +2 -2
  415. data/lib/starter_web/pages/public/blog/navigator/archive.html +24 -18
  416. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +39 -34
  417. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +43 -30
  418. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +29 -29
  419. data/lib/starter_web/pages/public/blog/navigator/index.html +2 -2
  420. data/lib/starter_web/pages/public/learn/examples/floating_div.adoc +1 -1
  421. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/100_meet_and_greet_jekyll.adoc +1 -0
  422. data/lib/starter_web/pages/public/learn/roundtrip/000_bs_tour.1.asciidoc +1 -2
  423. data/lib/starter_web/pages/public/learn/roundtrip/000_bs_tour.adoc +1 -2
  424. data/lib/starter_web/pages/public/learn/roundtrip/000_bs_tour_api.adoc +16 -18
  425. data/lib/starter_web/pages/public/learn/roundtrip/000_includes/attributes.asciidoc +3 -3
  426. data/lib/starter_web/pages/public/learn/roundtrip/000_includes/documents/410_bottom_info.asciidoc +5 -2
  427. data/lib/starter_web/pages/public/learn/roundtrip/000_includes/documents/410_bottom_left_warning.asciidoc +2 -2
  428. data/lib/starter_web/pages/public/learn/roundtrip/000_includes/documents/410_bottom_right_danger.asciidoc +2 -2
  429. data/lib/starter_web/pages/public/learn/roundtrip/000_includes/documents/410_central_success.asciidoc +2 -2
  430. data/lib/starter_web/pages/public/learn/roundtrip/000_includes/documents/410_full_height_left_info.asciidoc +2 -2
  431. data/lib/starter_web/pages/public/learn/roundtrip/000_includes/documents/410_full_height_right_success.asciidoc +2 -2
  432. data/lib/starter_web/pages/public/learn/roundtrip/000_includes/documents/410_top_info.asciidoc +3 -3
  433. data/lib/starter_web/pages/public/learn/roundtrip/000_includes/documents/410_top_left_info.asciidoc +2 -2
  434. data/lib/starter_web/pages/public/learn/roundtrip/000_includes/documents/410_top_right_success.asciidoc +2 -2
  435. data/lib/starter_web/pages/public/learn/roundtrip/000_includes/documents/419_advanced_modals_demo.asciidoc +337 -0
  436. data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +2 -2
  437. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +15 -12
  438. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +2 -2
  439. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +1 -1
  440. data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +10 -37
  441. data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +2 -2
  442. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +20 -22
  443. data/lib/starter_web/pages/public/{previewer/mdb_preview → learn/roundtrip/510_mdb_preview}/000_includes/attributes.asciidoc +0 -0
  444. data/lib/starter_web/pages/public/{previewer/mdb_preview → learn/roundtrip/510_mdb_preview}/000_includes/documents/100_buttons.asciidoc +0 -0
  445. data/lib/starter_web/pages/public/{previewer/mdb_preview → learn/roundtrip/510_mdb_preview}/mdb_previewer.adoc +0 -0
  446. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/attributes.asciidoc +1 -1
  447. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/410_bottom_info.asciidoc +1 -1
  448. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/410_bottom_left_warning.asciidoc +1 -1
  449. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/410_bottom_right_danger.asciidoc +1 -1
  450. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/410_central_success.asciidoc +1 -1
  451. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/410_full_height_left_info.asciidoc +1 -1
  452. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/410_full_height_right_success.asciidoc +1 -1
  453. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/410_top_info.asciidoc +1 -1
  454. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/410_top_left_info.asciidoc +1 -1
  455. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/410_top_right_success.asciidoc +1 -1
  456. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/419_advanced_modals_html.asciidoc +5 -5
  457. data/lib/starter_web/pages/public/learn/whats_up.adoc +1 -2
  458. data/lib/starter_web/pages/public/legal/de/300_privacy.adoc +1 -1
  459. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +2 -2
  460. data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +215 -179
  461. data/lib/starter_web/pages/public/previewer/iframer.adoc +3 -2
  462. data/lib/starter_web/pages/public/previewer/justified_gallery.html +1 -1
  463. data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +2 -2
  464. data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +1 -1
  465. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  466. data/lib/starter_web/utilsrv/package.json +1 -1
  467. metadata +256 -204
  468. data/assets/themes/j1/adapter/js/cookie_consent.js +0 -286
  469. data/assets/themes/j1/core/css/custom.scss +0 -28
  470. data/assets/themes/j1/core/css/globals.css +0 -14523
  471. data/assets/themes/j1/core/css/globals.min.css +0 -1
  472. data/assets/themes/j1/core/css/uno.scss +0 -28
  473. data/assets/themes/j1/core/css/vendor.scss +0 -28
  474. data/assets/themes/j1/extensions/twemoji/js/picker/twemoji-picker.js +0 -21
  475. data/assets/themes/j1/extensions/twemoji/js/picker/twemoji-picker.min.js +0 -21
  476. data/assets/themes/j1/extensions/twemoji/js/twemoji.min.js +0 -25
  477. data/lib/starter_web/assets/videos/headers/still/underground-broadway.png +0 -0
  478. data/lib/starter_web/assets/videos/headers/still/victoria-oskolovich-on-vimeo.png +0 -0
  479. data/lib/starter_web/pages/public/clear_button.adoc +0 -121
  480. data/lib/starter_web/pages/public/learn/roundtrip/000_includes/documents/419_advanced_modals_html.asciidoc +0 -928
@@ -41,15 +41,12 @@ regenerate: true
41
41
 
42
42
  {% comment %} Set config files
43
43
  -------------------------------------------------------------------------------- {% endcomment %}
44
- {% assign site_config = site %}
45
44
  {% assign template_config = site.data.template_settings %}
46
45
  {% assign blocks = site.data.blocks %}
47
46
  {% assign modules = site.data.modules %}
48
47
 
49
48
  {% comment %} Set config data
50
49
  -------------------------------------------------------------------------------- {% endcomment %}
51
- {% assign environment = site_config.environment %}
52
-
53
50
  {% assign banner_config_defaults = blocks.defaults.banner.defaults %}
54
51
  {% assign banner_config_settings = blocks.banner.settings %}
55
52
  {% assign panel_config_defaults = blocks.defaults.panel.defaults %}
@@ -239,11 +236,16 @@ var j1 = (function () {
239
236
  // global var (function)
240
237
  // -----------------------------------------------------------------------
241
238
  var logger = log4javascript.getLogger('j1.init');
242
- var url = new parseURL(window.location.href);
239
+ var url = new liteURL(window.location.href);
243
240
  var baseUrl = url.origin;
244
- var epoch = Math.floor(Date.now()/1000);
245
- var timestamp_now = moment.unix(epoch).format('YYYY-MM-DD HH:mm:ss');
241
+ // var epoch = Math.floor(Date.now()/1000);
242
+ // var timestamp_now = moment.unix(epoch).format('YYYY-MM-DD HH:mm:ss');
243
+ var date = new Date();
244
+ var timestamp_now = date.toISOString();
246
245
  var curr_state = 'started';
246
+ // var date = new Date();
247
+ // var my_timestamp = date.toISOString();
248
+
247
249
 
248
250
  // -----------------------------------------------------------------------
249
251
  // options loader
@@ -256,6 +258,13 @@ var j1 = (function () {
256
258
  options
257
259
  );
258
260
 
261
+ // -----------------------------------------------------------------------
262
+ // status settings
263
+ // save status into the adapter object for (later) global access
264
+ // -----------------------------------------------------------------------
265
+ j1['xhrDataState'] = {};
266
+ j1['xhrDOMState'] = {};
267
+
259
268
  // -----------------------------------------------------------------------
260
269
  // session ON_CLOSE event
261
270
  // wrapup if ALL browser windows get closed. Update user STATE
@@ -266,8 +275,10 @@ var j1 = (function () {
266
275
  var cookie_names = j1.getCookieNames();
267
276
  var cookie_user_state_name = cookie_names.user_state;
268
277
  var cookie_user_session_name = cookie_names.user_session;
269
- var epoch = Math.floor(Date.now()/1000);
270
- var timestamp_now = moment.unix(epoch).format('YYYY-MM-DD HH:mm:ss');
278
+ // var epoch = Math.floor(Date.now()/1000);
279
+ // var timestamp_now = moment.unix(epoch).format('YYYY-MM-DD HH:mm:ss');
280
+ var date = new Date();
281
+ var timestamp_now = date.toISOString();
271
282
  var user_state = j1.readCookie(cookie_user_state_name);
272
283
  var ep_status;
273
284
  var url;
@@ -315,7 +326,7 @@ var j1 = (function () {
315
326
  // -----------------------------------------------------------------------
316
327
  // if (user_session.mode === 'na' || user_session.mode === 'app') {
317
328
  if (user_session.mode === 'na') {
318
- var url = new parseURL(window.location.href);
329
+ var url = new liteURL(window.location.href);
319
330
  var ep_status = baseUrl + '/status' + '?page=' + window.location.pathname;
320
331
  var detectTimeout = 50;
321
332
 
@@ -342,6 +353,31 @@ var j1 = (function () {
342
353
  });
343
354
  j1.setState(curr_state);
344
355
  logger.info('state: ' + j1.getState());
356
+
357
+
358
+
359
+
360
+ var dependencies_met_page_displayed = setInterval (function () {
361
+ if (j1.getState() == 'finished') {
362
+ if (j1.authEnabled()) {
363
+ if (user_session.authenticated === 'true') {
364
+ // set signout
365
+ logger.info('show signout icon');
366
+ $('#navLinkSignInOut').attr('data-target','#modalOmniSignOut');
367
+ $('#iconSignInOut').removeClass('mdi-login').addClass('mdi-logout');
368
+ } else {
369
+ // set signin
370
+ logger.info('show signin icon');
371
+ $('#navLinkSignInOut').attr('data-target','#modalOmniSignIn');
372
+ $('#iconSignInOut').removeClass('mdi-logout').addClass('mdi-login');
373
+ }
374
+ logger.info('authentication detected as: ' + user_session.authenticated);
375
+ $('#quickLinksSignInOutButton').css('display', 'block');
376
+ logger.info('met dependencies for: j1');
377
+ clearInterval(dependencies_met_page_displayed);
378
+ }
379
+ }
380
+ }, 25); // END dependencies_met_page_displayed
345
381
  })
346
382
  .catch(function(error) {
347
383
  // jadams, 2018-08-31: Why a hell a setTimeout is needed ???
@@ -362,12 +398,16 @@ var j1 = (function () {
362
398
  logger.info('state: ' + j1.getState());
363
399
  }, detectTimeout);
364
400
  });
365
- } else {
401
+ } else { // app mode
366
402
  state = 'started';
367
403
  logger.info('state: ' + state);
368
404
  logger.info('page is being initialized');
369
405
  }
370
406
 
407
+ // jadams: for testing only
408
+ // display page
409
+ // $('#no_flicker').css('display', 'block');
410
+
371
411
  state = 'started';
372
412
  logger.info('state: ' + state);
373
413
  logger.info('page is being initialized');
@@ -390,7 +430,7 @@ var j1 = (function () {
390
430
  // see: https://developer.mozilla.org/de/docs/Web/API/Window/history
391
431
  //
392
432
  user_session.timestamp = timestamp_now;
393
- referrer = new parseURL(document.referrer);
433
+ referrer = new liteURL(document.referrer);
394
434
  current_page = window.location.pathname;
395
435
  user_session.requested_page = current_page;
396
436
  user_session.previous_page = referrer.search === '' ?
@@ -408,17 +448,17 @@ var j1 = (function () {
408
448
  last_pager = user_session.last_pager;
409
449
  }
410
450
 
451
+ // jadams: for testing only
452
+ // display page
453
+ //$('#no_flicker').css('display', 'block');
454
+
411
455
  logger.info('update user session cookie');
412
456
  j1.writeCookie({
413
457
  name: cookie_names.user_session,
414
458
  data: user_session
415
459
  });
416
460
 
417
- {% comment %} Deferred data loads
418
- See: https://stackoverflow.com/questions/3709597/wait-until-all-jquery-ajax-requests-are-done
419
- Load J1 Template data objects 'asychronously'
420
- -------------------------------------------------------------------------- {% endcomment %}
421
- // initialize page resources for global modules
461
+ // initialize page resources for blocks
422
462
  // (asynchronous, should be rewitten to xhrData)
423
463
  j1.initBanner(settings);
424
464
  j1.initPanel(settings);
@@ -449,10 +489,11 @@ var j1 = (function () {
449
489
  // AJAX fetcher to load and place all banner used for a page
450
490
  // -------------------------------------------------------------------------
451
491
  initBanner: function (options) {
452
- var logger = log4javascript.getLogger('j1.initBanner');
453
- var banner = [];
454
- var bannerOptions = [];
455
- var mod = 'j1';
492
+ var logger = log4javascript.getLogger('j1.initBanner');
493
+ var banner = [];
494
+ var bannerOptions = [];
495
+ var mod = 'j1';
496
+ var logText;
456
497
 
457
498
  {% comment %}
458
499
  Closure to pass additional data (e.g. #banner_id) to AJAX load callback
@@ -461,12 +502,19 @@ var j1 = (function () {
461
502
  var cb_load_closure = function(banner_id) {
462
503
  return function ( responseTxt, statusTxt, xhr ) {
463
504
  if ( statusTxt == 'success' ) {
505
+ var logger = log4javascript.getLogger('j1.xhrData');
464
506
  logText = 'loading banner completed on id: ' +banner_id;
507
+ $(banner_id).addClass("mutated");
465
508
  logger.info(logText);
509
+ j1.setXhrDataState(banner_id, statusTxt);
510
+ j1.setXhrDomState(banner_id, statusTxt);
511
+ logger.info('XHR data loaded in the DOM: ' + banner_id);
466
512
  }
467
513
  if ( statusTxt == 'error' ) {
468
514
  logText = 'loading banner failed on id: ' +banner_id+ ', error: ' + xhr.status + ': ' + xhr.statusText;
469
515
  logger.error(logText);
516
+ j1.setXhrDataState(banner_id, statusTxt);
517
+ j1.setXhrDomState(banner_id, statusTxt);
470
518
  // Set|Log status
471
519
  state = 'failed';
472
520
  logger.error('state: ' + state);
@@ -533,14 +581,14 @@ var j1 = (function () {
533
581
  logText = 'loading banner on id: ' +banner[i];
534
582
  logger.info(logText);
535
583
  var banner_data_path = '{{banner_data_path}} ' + id + ' > *';
536
- selector.load( banner_data_path, cb_load_closure( id ) );
584
+ selector.load(banner_data_path, cb_load_closure(id));
537
585
  }
538
- }
586
+ } // END for
539
587
  } else {
540
588
  logText = 'no banner found in site';
541
589
  logger.info(logText);
590
+ return false;
542
591
  }
543
-
544
592
  return true;
545
593
  }, // END initBanner
546
594
 
@@ -550,22 +598,34 @@ var j1 = (function () {
550
598
  // -------------------------------------------------------------------------
551
599
  // ToDo:
552
600
  initPanel: function ( options ) {
553
- var logger = log4javascript.getLogger('j1.initPanel');
554
- var panel = [];
555
- var mod = 'j1';
601
+ var logger = log4javascript.getLogger('j1.initPanel');
602
+ var panel = [];
603
+ var mod = 'j1';
604
+ var logText;
556
605
 
557
606
  {% comment %} Closure to pass additional data (e.g. panel_id) to AJAX load callback
558
607
  See: http://stackoverflow.com/questions/939032/jquery-pass-more-parameters-into-callback
559
608
  -------------------------------------------------------------------------- {% endcomment %}
609
+
610
+ {% comment %} NOTE
611
+ strategy for MutationObserver callbacks to monitor DOM changes
612
+ needs to be checked if multiple containers are chenaged in a row
613
+ -------------------------------------------------------------------------- {% endcomment %}
560
614
  var cb_load_closure = function(panel_id) {
561
615
  return function ( responseTxt, statusTxt, xhr ) {
616
+ var logger = log4javascript.getLogger('j1.xhrData');
562
617
  if ( statusTxt == 'success' ) {
563
618
  logText = 'loading panel completed on id: ' +panel_id;
564
619
  logger.info(logText);
620
+ j1.setXhrDataState(panel_id, statusTxt);
621
+ j1.setXhrDomState(panel_id, statusTxt);
622
+ logger.info('XHR data loaded in the DOM: ' + panel_id);
565
623
  }
566
624
  if ( statusTxt == 'error' ) {
567
625
  logText = 'loading panel failed on id: ' +panel_id+ ', error ' + xhr.status + ': ' + xhr.statusText;
568
626
  logger.error(logText);
627
+ j1.setXhrDataState(panel_id, statusTxt);
628
+ j1.setXhrDomState(panel_id, statusTxt);
569
629
  // Set|Log status
570
630
  state = 'Error';
571
631
  logger.error('state: ' + state);
@@ -616,7 +676,7 @@ var j1 = (function () {
616
676
  {% endfor %} {% comment %} END panel_config {% endcomment %}
617
677
  {% endfor %} {% comment %} END panel_config_settings {% endcomment %}
618
678
 
619
- if ( panel.length ) {
679
+ if (panel.length) {
620
680
  for (var i in panel) {
621
681
  var id = '#' + panel[i];
622
682
  var selector = $(id);
@@ -624,14 +684,14 @@ var j1 = (function () {
624
684
  logText = 'loading panel on id: ' +panel[i];
625
685
  logger.info(logText);
626
686
  var panel_data_path = '{{panel_data_path}} ' + id + ' > *';
627
- selector.load( panel_data_path, cb_load_closure( id ) );
687
+ selector.load(panel_data_path, cb_load_closure(id));
628
688
  }
629
- }
689
+ } // END for
630
690
  } else {
631
691
  logText = 'no panel found in site';
632
692
  logger.info(logText);
693
+ return false;
633
694
  }
634
-
635
695
  return true;
636
696
  }, // END initPanel
637
697
 
@@ -640,21 +700,28 @@ var j1 = (function () {
640
700
  // AJAX fetcher to load and place the footer used for a page
641
701
  // -------------------------------------------------------------------------
642
702
  initFooter: function ( options ) {
643
- var logger = log4javascript.getLogger('j1.initFooter');
644
- var mod = 'j1';
703
+ var logger = log4javascript.getLogger('j1.initFooter');
704
+ var mod = 'j1';
705
+ var logText;
645
706
 
646
- logText = 'initialization started';
707
+ logText = 'loading footer started';
647
708
  logger.info(logText);
648
709
 
649
710
  var cb_load_closure = function(footer_id) {
650
711
  return function ( responseTxt, statusTxt, xhr ) {
712
+ var logger = log4javascript.getLogger('j1.xhrData');
651
713
  if ( statusTxt == 'success' ) {
652
714
  logText = 'footer loaded successfully on id: ' + footer_id;
653
715
  logger.info(logText);
716
+ $(footer_id).addClass("mutated");
717
+ j1.setXhrDataState(footer_id, statusTxt);
718
+ j1.setXhrDomState(footer_id, statusTxt);
719
+ logger.info('XHR data loaded in the DOM: ' + footer_id);
654
720
 
655
- state = 'footer_loaded';
656
- logger.info('set state for module ' + mod + ': ' + state);
657
- executeFunctionByName(mod + '.setState', window, state);
721
+ // jadams, 2020-07-21: intermediate state DISABLED
722
+ // state = 'footer_loaded';
723
+ // logger.info('set state for module ' + mod + ': ' + state);
724
+ // executeFunctionByName(mod + '.setState', window, state);
658
725
 
659
726
  logText = 'initialization finished';
660
727
  logger.info(logText);
@@ -662,6 +729,9 @@ var j1 = (function () {
662
729
  if ( statusTxt == 'error' ) {
663
730
  logText = 'loading footer failed on id: ' +footer_id+ ', error ' + xhr.status + ': ' + xhr.statusText;
664
731
  logger.error(logText);
732
+ j1.setXhrDataState(footer_id, statusTxt);
733
+ j1.setXhrDomState(footer_id, statusTxt);
734
+
665
735
  // Set|Log status
666
736
  state = 'failed';
667
737
  logger.error('state: ' + state);
@@ -675,10 +745,14 @@ var j1 = (function () {
675
745
  var selector = $(id);
676
746
  if ( selector.length ) {
677
747
  var footer_data_path = '{{footer_data_path}}';
678
- // var footer_data_path = '{{footer_data_path}}' + id + ' > *';
679
- selector.load( footer_data_path, cb_load_closure( id ) );
748
+ selector.load(footer_data_path, cb_load_closure(id));
749
+ } else {
750
+ logText = 'data not loaded';
751
+ logger.warn(logText);
752
+ j1.setXhrDataState(id, 'not loaded');
753
+ j1.setXhrDomState(id, 'pending');
754
+ return false;
680
755
  }
681
-
682
756
  return true;
683
757
  }, // END initFooter
684
758
 
@@ -695,12 +769,12 @@ var j1 = (function () {
695
769
  displayPage: function (options) {
696
770
  var logger = log4javascript.getLogger('j1.displayPage');
697
771
  var flickerTimeout = {{template_config.flicker_timeout}};
698
- var url = new parseURL(window.location.href);
772
+ var url = new liteURL(window.location.href);
699
773
  var baseUrl = url.origin;
700
774
  var ep_status = baseUrl + '/status' + '?page=' + window.location.pathname;
701
775
  var user_session = j1.readCookie(cookie_names.user_session);
702
776
  var user_state = j1.readCookie(cookie_names.user_state);
703
- var current_url = new parseURL(window.location.href);
777
+ var current_url = new liteURL(window.location.href);
704
778
  var providerPermissions = {};
705
779
  var provider;
706
780
  var previous_page;
@@ -710,8 +784,10 @@ var j1 = (function () {
710
784
  logger.info('finalize page');
711
785
  j1.setCss();
712
786
 
713
- if (j1.appDetected()) {
714
- // APP mode
787
+ logText= 'loading page partials: started';
788
+ logger.info(logText);
789
+
790
+ if (j1.appDetected()) { // app mode
715
791
  logger.info('mode detected: app');
716
792
 
717
793
  $.when ($.ajax(ep_status))
@@ -735,8 +811,8 @@ var j1 = (function () {
735
811
  if (
736
812
  j1.authEnabled() &&
737
813
  user_session.page_permission !== 'public' &&
738
- categoryAllowed === false)
739
- {
814
+ categoryAllowed === false
815
+ ){
740
816
  // redirect to middleware|page_authentication
741
817
  if (data.authenticated === 'true') {
742
818
  var ep_post_authentication = baseUrl + '/post_authentication';
@@ -753,19 +829,16 @@ var j1 = (function () {
753
829
  // display page
754
830
  $('#no_flicker').css('display', 'block');
755
831
 
756
- // bind MDB services to current page
757
- j1.initMDB();
758
-
759
- // show|hide cookie icon
832
+ // show|hide cookie icon (should MOVED to Cookiebar ???)
760
833
  if (user_state.cookies_accepted === 'accepted') {
761
- // show cookie icon
834
+ // Display cookie icon
762
835
  logText = 'show cookie icon';
763
836
  logger.info(logText);
764
837
  $('#quickLinksCookieButton').css('display', 'block');
765
838
  } else {
766
839
  logText = 'hide cookie icon';
767
840
  logger.info(logText);
768
- // hide cookie icon
841
+ // Display cookie icon
769
842
  $('#quickLinksCookieButton').css('display', 'none');
770
843
  }
771
844
 
@@ -777,9 +850,8 @@ var j1 = (function () {
777
850
  }
778
851
 
779
852
  // show cc icon
780
- $('#quickLinksControlCenterButton').css('display', 'block');
853
+ // $('#quickLinksControlCenterButton').css('display', 'block');
781
854
 
782
- // show|hide signin|out icon
783
855
  if (j1.authEnabled()) {
784
856
  if (user_session.authenticated === 'true') {
785
857
  // set signout
@@ -809,7 +881,7 @@ var j1 = (function () {
809
881
  logger.info(logText);
810
882
  }
811
883
 
812
- // update sidebar for changed consent|theme data
884
+ // update sidebar for changed theme data
813
885
  logger.info('update sidebar');
814
886
  user_state = j1.readCookie(cookie_names.user_state);
815
887
  current_user_data = j1.mergeData(user_session, user_state);
@@ -827,6 +899,10 @@ var j1 = (function () {
827
899
  } else { // web mode
828
900
  // show the page delayed
829
901
  setTimeout (function() {
902
+ j1.setState('finished');
903
+ logger.info('state: finished');
904
+ logger.info('page initialization: finished');
905
+
830
906
  // display page
831
907
  $('#no_flicker').css('display', 'block');
832
908
  logger.info('mode detected: web');
@@ -846,7 +922,7 @@ var j1 = (function () {
846
922
  $('.goog-te-combo').addClass('form-control');
847
923
  }
848
924
 
849
- // show|hide cookie icon
925
+ // show|hide cookie icon (should MOVED to Cookiebar ???)
850
926
  if (user_state.cookies_accepted === 'accepted') {
851
927
  // Display cookie icon
852
928
  logText = 'show cookie icon';
@@ -872,7 +948,7 @@ var j1 = (function () {
872
948
  logger.info(logText);
873
949
  }
874
950
 
875
- // update sidebar for changed consent|theme data
951
+ // update sidebar for changed theme data
876
952
  logger.info('update sidebar');
877
953
  user_state = j1.readCookie(cookie_names.user_state);
878
954
  current_user_data = j1.mergeData(user_session, user_state);
@@ -889,26 +965,6 @@ var j1 = (function () {
889
965
  } // END WEB mode
890
966
  }, // END displayPage
891
967
 
892
- // -------------------------------------------------------------------------
893
- // initMDB()
894
- // initialize page for MDB
895
- // -------------------------------------------------------------------------
896
- initMDB: function (options) {
897
- var dependencies_met_bmd = setInterval(function() {
898
- if ( j1.adapter.mdb.getState() == 'finished' ) {
899
- var logger = log4javascript.getLogger('j1.initMDB');
900
- logText = 'initializing MDB for current page: started';
901
- logger.info(logText);
902
-
903
- $('body').bootstrapMaterialDesign();
904
-
905
- logText = 'initializing MDB for current page: finished';
906
- logger.info(logText);
907
- clearInterval(dependencies_met_bmd);
908
- }
909
- }, 25);
910
- }, // END initMDB
911
-
912
968
  // -------------------------------------------------------------------------
913
969
  // Helper functions
914
970
  // -------------------------------------------------------------------------
@@ -932,7 +988,7 @@ var j1 = (function () {
932
988
 
933
989
  // -------------------------------------------------------------------------
934
990
  // getPrevPage()
935
- // returns the last vistited page
991
+ // Returns the last vistited page
936
992
  // -------------------------------------------------------------------------
937
993
  getPrevPage: function () {
938
994
  return previous_page;
@@ -940,7 +996,7 @@ var j1 = (function () {
940
996
 
941
997
  // -------------------------------------------------------------------------
942
998
  // getLanguage()
943
- // returns the preferred language taken form window.navigator
999
+ // Returns the preferred language taken form window.navigator
944
1000
  // See:
945
1001
  // https://stackoverflow.com/questions/1043339/javascript-for-detecting-browser-language-preference
946
1002
  // -------------------------------------------------------------------------
@@ -950,7 +1006,7 @@ var j1 = (function () {
950
1006
 
951
1007
  // -------------------------------------------------------------------------
952
1008
  // getTemplateVersion()
953
- // returns the template version taken from site config (_config.yml)
1009
+ // Returns the template version taken from site config (_config.yml)
954
1010
  // -------------------------------------------------------------------------
955
1011
  getTemplateVersion: function () {
956
1012
  return '{{template_version}}';
@@ -1019,81 +1075,99 @@ var j1 = (function () {
1019
1075
 
1020
1076
  // -------------------------------------------------------------------------
1021
1077
  // xhrData()
1022
- // Load data asychronously using XHR on a DIV container
1023
- // specified (from options: xhr_data_path)
1024
- // -------------------------------------------------------------------------
1025
- xhrData: function (mod, options, status) {
1026
- var logger = log4javascript.getLogger('j1.xhrData');
1027
- var state = status;
1078
+ // Load data asychronously using XHR|jQuery on an HTML element (e.g. <div>)
1079
+ // specified by xhr_container_id, xhr_data_path (options)
1080
+ // -------------------------------------------------------------------------
1081
+ xhrData: function (options, mod, status) {
1082
+ var logger = log4javascript.getLogger('j1.xhrData');
1083
+ var selector = $('#' + options.xhr_container_id);
1084
+ var state = status;
1085
+ var observer_options = {
1086
+ attributes: false,
1087
+ childList: true,
1088
+ characterData: false,
1089
+ subtree: true
1090
+ };
1091
+ var observer;
1028
1092
  var logText;
1029
1093
 
1030
1094
  var cb_load_closure = function(mod, id) {
1031
1095
  return function (responseTxt, statusTxt, xhr) {
1096
+ var logger = log4javascript.getLogger('j1.xhrData');
1032
1097
  if ( statusTxt === 'success' ) {
1033
- if (state) {
1034
- logger.info('set state for ' +mod+ ' to: ' + state);
1035
- executeFunctionByName(mod + '.setState', window, state);
1036
- }
1098
+ // jadams, 2020-07-21: intermediate state should DISABLED
1099
+ // if (state) {
1100
+ // logger.info('set state for ' +mod+ ' to: ' + state);
1101
+ // executeFunctionByName(mod + '.setState', window, state);
1102
+ // }
1103
+ j1.setXhrDataState(id, statusTxt);
1104
+ j1.setXhrDomState(id, 'pending');
1105
+
1037
1106
  logText = 'data loaded successfully on id: ' +id;
1038
1107
  logger.info(logText);
1108
+ state = true;
1039
1109
  }
1040
1110
  if ( statusTxt === 'error' ) {
1041
- state = 'failed';
1042
- logger.info('set state for ' +mod+ ' to: ' + state);
1043
- executeFunctionByName(mod + '.setState', window, state);
1044
- logText = 'loading data failed on id: ' +id+ ', error ' + xhr.status + ': ' + xhr.statusText;
1045
- logger.error(logText);
1111
+ // jadams, 2020-07-21: to be checked why id could be UNDEFINED
1112
+ if (typeof(id) != "undefined") {
1113
+ state = 'failed';
1114
+ logger.info('set state for ' +mod+ ' to: ' + state);
1115
+ // jadams, 2020-07-21: intermediate state should DISABLED
1116
+ // executeFunctionByName(mod + '.setState', window, state);
1117
+ j1.setXhrDataState(id, statusTxt);
1118
+ j1.setXhrDomState(id, 'pending');
1119
+ logText = 'loading data failed on id: ' +id+ ', error ' + xhr.status + ': ' + xhr.statusText;
1120
+ logger.error(logText);
1121
+ state = false;
1122
+ }
1046
1123
  }
1047
1124
  };
1048
1125
  };
1049
-
1126
+ // see: https://stackoverflow.com/questions/20420577/detect-added-element-to-dom-with-mutation-observer
1050
1127
  var id = '#' + options.xhr_container_id;
1051
- var selector = $(id);
1052
-
1053
- if ( selector.length ) {
1054
- var modal_html_data_path = options.xhr_data_path + ' > *';
1055
- selector.load( modal_html_data_path, cb_load_closure( mod, id ) );
1056
- return true;
1128
+ var $selector = $(id);
1129
+ if ( $selector.length ) {
1130
+ var html_data_path = options.xhr_data_path + ' > *';
1131
+ $selector.load( html_data_path, cb_load_closure( mod, id ) );
1132
+
1133
+ var MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
1134
+ var xhrObserver = new MutationObserver (mutationHandler);
1135
+ var obsConfig = {
1136
+ childList: true,
1137
+ characterData: false,
1138
+ attributes: false,
1139
+ subtree: false };
1140
+
1141
+ selector.each(function(){
1142
+ xhrObserver.observe(this, obsConfig);
1143
+ } );
1144
+
1145
+ function mutationHandler (mutationRecords) {
1146
+ mutationRecords.forEach ( function (mutation) {
1147
+ if (mutation.addedNodes.length) {
1148
+ logger.info('XHR data loaded in the DOM: ' + id);
1149
+ j1.setXhrDomState(id, 'success');
1150
+ }
1151
+ });
1152
+ }
1057
1153
  } else {
1058
- logText = 'data not loaded';
1059
- logger.warn(logText);
1060
- // Set processing state to 'finished' to complete module load
1061
- state = 'finished';
1062
- logger.info('state: ' + state);
1063
- executeFunctionByName(mod + '.setState', window, state);
1064
- return false;
1154
+ // jadams, 2020-07-21: To be clarified why a id is "undefined"
1155
+ if (id != '#undefined') {
1156
+ logText = 'data not loaded on id:' + id;
1157
+ logger.warn(logText);
1158
+ j1.setXhrDataState(id, 'not loaded');
1159
+ j1.setXhrDomState(id, 'not loaded');
1160
+ // Set processing state to 'finished' to complete module load
1161
+ state = 'finished';
1162
+ logger.info('state: ' + state);
1163
+ // jadams, 2020-07-21: intermediate state should DISABLED
1164
+ // executeFunctionByName(mod + '.setState', window, state);
1165
+ state = false;
1166
+ }
1065
1167
  }
1168
+ return state;
1066
1169
  }, // END xhrData
1067
1170
 
1068
- // -------------------------------------------------------------------------
1069
- // xhrApi:()
1070
- // XMLHttpRequest (XHR) based async server API request
1071
- // Request an REST API at 'url', using verb 'type' of response type 'type'
1072
- // -------------------------------------------------------------------------
1073
- xhrApi: function (url, request_type, data_type) {
1074
- var logger = log4javascript.getLogger('j1.xhrApi');
1075
- var type = typeof request_type == 'undefined' || request_type == '' ? 'GET' : request_type;
1076
- var data_type = typeof data_type == 'undefined' || data_type == '' ? 'json' : data_type;
1077
-
1078
- return $.ajax({
1079
- url: url,
1080
- type: type,
1081
- dataType: data_type,
1082
- success: function(data) {
1083
- if (typeof data == 'string') {
1084
- return JSON.parse(data);
1085
- }
1086
- if (typeof data == 'object') {
1087
- return data;
1088
- }
1089
- },
1090
- error: function(error) {
1091
- logger.error('xhr request failed: ' + error.statusText);
1092
- }
1093
- });
1094
-
1095
- }, // END xhrApi
1096
-
1097
1171
  // -------------------------------------------------------------------------
1098
1172
  // readCookie()
1099
1173
  // -------------------------------------------------------------------------
@@ -1131,18 +1205,21 @@ var j1 = (function () {
1131
1205
  };
1132
1206
  var settings = $.extend(defaults, options);
1133
1207
 
1134
- var epoch = Math.floor(Date.now()/1000);
1135
- var timestamp = moment.unix(epoch).format('YYYY-MM-DD hh:mm:ss');
1208
+ // var epoch = Math.floor(Date.now()/1000);
1209
+ // var timestamp_now = moment.unix(epoch).format('YYYY-MM-DD HH:mm:ss');
1210
+ var date = new Date();
1211
+ var timestamp_now = date.toISOString();
1136
1212
  var cookie_data = {};
1137
1213
  var data_json;
1138
1214
  var data_encoded;
1139
1215
 
1140
1216
  if (j1.existsCookie(settings.name)) {
1141
- cookie_data = j1.readCookie(settings.name);
1142
- cookie_data.timestamp = timestamp;
1143
- cookie_data = j1.mergeData(cookie_data, settings.data);
1144
- data_json = JSON.stringify( cookie_data );
1145
- data_encoded = window.btoa(data_json);
1217
+ cookie_data = j1.readCookie(settings.name);
1218
+ cookie_data.timestamp = timestamp_now;
1219
+ cookie_data = j1.mergeData(cookie_data, settings.data);
1220
+ data_json = JSON.stringify( cookie_data );
1221
+ data_encoded = window.btoa(data_json);
1222
+
1146
1223
  if (settings.expires > 0) {
1147
1224
  Cookies.set(settings.name, data_encoded, { expires: settings.expires });
1148
1225
  } else {
@@ -1318,6 +1395,7 @@ var j1 = (function () {
1318
1395
  });
1319
1396
 
1320
1397
  });
1398
+ logger.info('met dependencies for: sidebarLoaded');
1321
1399
  clearInterval(sidebarLoaded);
1322
1400
  return true;
1323
1401
  } else {
@@ -1375,6 +1453,7 @@ var j1 = (function () {
1375
1453
  });
1376
1454
 
1377
1455
  });
1456
+ logger.info('met dependencies for: sidebarLoaded');
1378
1457
  clearInterval(sidebarLoaded);
1379
1458
  return true;
1380
1459
  } else {
@@ -1457,8 +1536,8 @@ var j1 = (function () {
1457
1536
 
1458
1537
  // -------------------------------------------------------------------------
1459
1538
  // getStyleValue:
1460
- // returns the value of a style from a css class definition
1461
- // example: j1.getStyleValue('bg-primary', 'background-color')
1539
+ // Returns the value of a style from a css class definition
1540
+ // example: j1.getStyleValue('uno-primary', 'background-color')
1462
1541
  getStyleValue: function (className, style) {
1463
1542
  var elementId = 'test-' + className,
1464
1543
  testElement = document.getElementById(elementId),
@@ -1505,13 +1584,13 @@ var j1 = (function () {
1505
1584
 
1506
1585
  // asciidoc
1507
1586
  // -----------------------------------------------------------------------
1508
- var admonitionblock_note_color = bg_primary;
1587
+ var admonitionblock_note_color = '#0D47A1'; // md-blue-900, was: bg_primary;
1509
1588
  var admonitionblock_tip_color = j1.getStyleValue('btn-success', 'background-color');
1510
1589
  var admonitionblock_important_color = j1.getStyleValue('btn-warning', 'background-color');
1511
1590
  var admonitionblock_warning_color = j1.getStyleValue('icon-warning', 'color');
1512
1591
  var admonitionblock_caution_color = j1.getStyleValue('btn-danger', 'background-color');
1513
1592
 
1514
- $('head').append('<style>.icon-note { color: ' +bg_primary+ ' !important; }</style>');
1593
+ $('head').append('<style>.icon-note { color: ' +admonitionblock_note_color+ ' !important; }</style>');
1515
1594
  $('head').append('<style>.icon-tip { color: ' +admonitionblock_tip_color+ ' !important; }</style>');
1516
1595
  $('head').append('<style>.icon-important { color: ' +admonitionblock_important_color+ ' !important; }</style>');
1517
1596
  $('head').append('<style>.icon-warning { color: ' +admonitionblock_warning_color+ ' !important; }</style>');
@@ -1546,38 +1625,74 @@ var j1 = (function () {
1546
1625
  }, // END setCss
1547
1626
 
1548
1627
  // -------------------------------------------------------------------------
1549
- // Set the current (processing) state of the module
1628
+ // setState()
1629
+ // Set the current (processing) state of the module
1550
1630
  // -------------------------------------------------------------------------
1551
1631
  setState: function (stat) {
1552
- state= stat;
1553
- //j1.state stat;
1632
+ state = stat;
1554
1633
  }, // end setState
1555
1634
 
1556
1635
  // -------------------------------------------------------------------------
1557
- // Returns the current (processing) state of the module
1636
+ // getState()
1637
+ // Returns the current (processing) state of the module
1558
1638
  // -------------------------------------------------------------------------
1559
1639
  getState: function () {
1560
- // return j1.state;
1561
1640
  return state;
1562
1641
  }, // end getState
1563
1642
 
1564
1643
  // -------------------------------------------------------------------------
1565
- // Set the current mode of the site (web|app)
1644
+ // setXhrDataState()
1645
+ // Set the final (loading) state of an element (partial) loaded via Xhr
1646
+ // -------------------------------------------------------------------------
1647
+ setXhrDataState: function (obj, stat) {
1648
+ j1.xhrDataState[obj] = stat;
1649
+ }, // END setXhrDataState
1650
+
1651
+ // -------------------------------------------------------------------------
1652
+ // getXhrDataState()
1653
+ // Returns the final (loading) state of an element (partial) loaded via Xhr
1654
+ // -------------------------------------------------------------------------
1655
+ getXhrDataState: function (obj) {
1656
+ return j1.xhrDataState[obj];
1657
+ }, // END getXhrDataState
1658
+
1659
+ // -------------------------------------------------------------------------
1660
+ // setXhrDomState()
1661
+ // Set the state of an element loaded via Xhr that is
1662
+ // successfully added to the DOM
1663
+ // -------------------------------------------------------------------------
1664
+ setXhrDomState: function (obj, stat) {
1665
+ j1.xhrDOMState[obj] = stat;
1666
+ }, // END setXhrDomState
1667
+
1668
+ // -------------------------------------------------------------------------
1669
+ // getXhrDataState()
1670
+ // Returns the state of an element loaded via Xhr that is
1671
+ // successfully added to the DOM
1672
+ // -------------------------------------------------------------------------
1673
+ getXhrDOMState: function (obj) {
1674
+ return j1.xhrDOMState[obj];
1675
+ }, // END getXhrDOMState
1676
+
1677
+ // -------------------------------------------------------------------------
1678
+ // setMode()
1679
+ // Set the current mode of the site (web|app)
1566
1680
  // -------------------------------------------------------------------------
1567
1681
  setMode: function (mod) {
1568
1682
  mode = mod;
1569
1683
  }, // END setMode
1570
1684
 
1571
1685
  // -------------------------------------------------------------------------
1572
- // Return the current mode of the site (web|app)
1686
+ // getMode()
1687
+ // Returns the current mode of the site (web|app)
1573
1688
  // -------------------------------------------------------------------------
1574
1689
  getMode: function () {
1575
1690
  return mode;
1576
1691
  }, // END getMode
1577
1692
 
1578
1693
  // -------------------------------------------------------------------------
1579
- // getUserAgent
1580
- // Return the name of the web browser
1694
+ // checkUserAgent()
1695
+ // Returns the name (UA) of the web browser
1581
1696
  // -------------------------------------------------------------------------
1582
1697
  checkUserAgent: function () {
1583
1698
  if (navigator.userAgent.search(ua_name) >= 0) {
@@ -1586,22 +1701,40 @@ var j1 = (function () {
1586
1701
  return false;
1587
1702
  }
1588
1703
  }, // END checkUserAgent
1704
+
1705
+ // -------------------------------------------------------------------------
1706
+ // checkUserAgent()
1707
+ // Returns the name (UA) of the web browser
1708
+ // -------------------------------------------------------------------------
1709
+ generateId: function (length) {
1710
+ var result = '';
1711
+ var characters = 'abcdefghijklmnopqrstuvwxyz0123456789';
1712
+ var charactersLength = characters.length;
1713
+ for ( var i = 0; i < length; i++ ) {
1714
+ result += characters.charAt(Math.floor(Math.random() * charactersLength));
1715
+ }
1716
+ return result;
1717
+ }, // END checkUserAgent
1718
+
1589
1719
  // -------------------------------------------------------------------------
1590
- // Return always true (for testing purposes)
1720
+ // getTrue()
1721
+ // Returns always true (for testing purposes)
1591
1722
  // -------------------------------------------------------------------------
1592
1723
  getTrue: function () {
1593
1724
  return true;
1594
1725
  }, // END isTrue
1595
1726
 
1596
1727
  // -------------------------------------------------------------------------
1597
- // Return always false (for testing purposes)
1728
+ // getFalse()
1729
+ // Returns always false (for testing purposes)
1598
1730
  // -------------------------------------------------------------------------
1599
1731
  getFalse: function () {
1600
1732
  return false;
1601
1733
  }, // END isTrue
1602
1734
 
1603
1735
  // -------------------------------------------------------------------------
1604
- // Return users to their browser homepage
1736
+ // goHome()
1737
+ // Redirect current page to the browser homepage
1605
1738
  // -------------------------------------------------------------------------
1606
1739
  goHome: function () {
1607
1740
  // most browsers
@@ -1613,7 +1746,17 @@ var j1 = (function () {
1613
1746
  } else {
1614
1747
  window.location.href = 'about:blank';
1615
1748
  }
1616
- } // END gohome
1749
+ }, // END gohome
1750
+
1751
+ // -------------------------------------------------------------------------
1752
+ // goBack()
1753
+ // Redirect current page to last visited page (referrer)
1754
+ // -------------------------------------------------------------------------
1755
+ goBack: function () {
1756
+ // where visitor has come from
1757
+ window.location.href = document.referrer;
1758
+ } // END goBack
1759
+
1617
1760
  }; // END j1 (return)
1618
1761
  }) (j1, window);
1619
1762