j1-template 2024.3.18 → 2024.3.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1198) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/_includes/themes/j1/modules/searcher/procedures/topsearch.proc +1 -1
  4. data/assets/data/{amplitude.html → amplitude_app.html} +176 -152
  5. data/assets/data/masonry.html +1 -1
  6. data/assets/data/swiper_app.2.html +757 -0
  7. data/assets/data/swiper_app.4.html +769 -0
  8. data/assets/data/swiper_app.html +901 -0
  9. data/assets/data/{swiper.json → swiper_app.json} +10 -7
  10. data/assets/theme/j1/adapter/js/amplitude.js +821 -169
  11. data/assets/theme/j1/adapter/js/carousel.js +1 -1
  12. data/assets/theme/j1/adapter/js/swiper.js +92 -43
  13. data/assets/theme/j1/core/css/animate.css +2 -4
  14. data/assets/theme/j1/core/css/animate.min.css +1 -2
  15. data/assets/theme/j1/core/css/icon-fonts/fontawesome.css +2 -4
  16. data/assets/theme/j1/core/css/icon-fonts/fontawesome.min.css +1 -2
  17. data/assets/theme/j1/core/css/icon-fonts/iconify.css +5 -7
  18. data/assets/theme/j1/core/css/icon-fonts/iconify.min.css +1 -2
  19. data/assets/theme/j1/core/css/icon-fonts/mdi.css +9 -11
  20. data/assets/theme/j1/core/css/icon-fonts/mdi.min.css +1 -2
  21. data/assets/theme/j1/core/css/icon-fonts/mdib.css +7 -9
  22. data/assets/theme/j1/core/css/icon-fonts/mdib.min.css +1 -2
  23. data/assets/theme/j1/core/css/icon-fonts/mdil.css +10 -10
  24. data/assets/theme/j1/core/css/themes/bootstrap/bootstrap.css +112 -104
  25. data/assets/theme/j1/core/css/themes/bootstrap/bootstrap.min.css +1 -2
  26. data/assets/theme/j1/core/css/themes/unodark/bootstrap.css +150 -142
  27. data/assets/theme/j1/core/css/themes/unodark/bootstrap.min.css +1 -2
  28. data/assets/theme/j1/core/css/themes/unolight/bootstrap.css +210 -202
  29. data/assets/theme/j1/core/css/themes/unolight/bootstrap.min.css +1 -2
  30. data/assets/theme/j1/core/css/vendor.css +10 -12
  31. data/assets/theme/j1/core/css/vendor.min.css +1 -2
  32. data/assets/theme/j1/core/js/template.js +10669 -10669
  33. data/assets/theme/j1/core/js/template.min.js +25 -25
  34. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/amplitude.css +141 -212
  35. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/amplitude.min.css +1 -1
  36. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/compact.css +117 -23
  37. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/compact.min.css +1 -1
  38. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.css +323 -493
  39. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.min.css +1 -2
  40. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/mini.css +20 -73
  41. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/mini.min.css +1 -1
  42. data/assets/theme/j1/modules/amplitudejs/js/amplitude.js +1 -2
  43. data/assets/theme/j1/modules/amplitudejs/js/tech/ytp.js +2063 -844
  44. data/assets/theme/j1/modules/amplitudejs/scss/theme/uno/dark/player/large.scss +439 -264
  45. data/assets/theme/j1/modules/bootstrap/js/bootstrap.js +0 -1
  46. data/assets/theme/j1/modules/bootstrap/js/bootstrap.min.js +0 -1
  47. data/assets/theme/j1/modules/gemini/js/gemini.js +1 -1
  48. data/assets/theme/j1/modules/gemini/js/geo/geocoder.js +1975 -0
  49. data/assets/theme/j1/modules/gemini/js/geo/geocoder.min.js +15 -1975
  50. data/assets/theme/j1/modules/gemini/js/geo/leaflet.min.js +4 -3
  51. data/assets/theme/j1/modules/swiperjs/css/modules/layoutBase.css +16 -0
  52. data/assets/theme/j1/modules/swiperjs/css/modules/layoutBase.min.css +16 -0
  53. data/assets/theme/j1/modules/swiperjs/css/modules/layoutExpanding.css +252 -0
  54. data/assets/theme/j1/modules/swiperjs/css/modules/layoutExpanding.min.css +17 -0
  55. data/assets/theme/j1/modules/{swiper/css/modules/effectNeighbor.css → swiperjs/css/modules/layoutNeighbor.css} +12 -11
  56. data/assets/theme/j1/modules/{swiper/css/modules/effectNeighbor.min.css → swiperjs/css/modules/layoutNeighbor.min.css} +3 -3
  57. data/assets/theme/j1/modules/{swiper/css/modules/effectPanorama.css → swiperjs/css/modules/layoutPanorama.css} +2 -2
  58. data/assets/theme/j1/modules/{swiper/css/modules/effectPanorama.min.css → swiperjs/css/modules/layoutPanorama.min.css} +2 -2
  59. data/assets/theme/j1/modules/swiperjs/css/modules/layoutParallax.css +16 -0
  60. data/assets/theme/j1/modules/swiperjs/css/modules/layoutParallax.min.css +16 -0
  61. data/assets/theme/j1/modules/swiperjs/css/modules/layoutStacked.css +97 -0
  62. data/assets/theme/j1/modules/swiperjs/css/modules/layoutStacked.min.css +17 -0
  63. data/assets/theme/j1/modules/{swiper/css/modules/effectThumbs.min.css → swiperjs/css/modules/layoutThumbs.css} +2 -2
  64. data/assets/theme/j1/modules/swiperjs/css/modules/layoutThumbs.min.css +17 -0
  65. data/assets/theme/j1/modules/{swiper → swiperjs}/css/swiper-bundle.css +1 -0
  66. data/assets/theme/j1/modules/{swiper → swiperjs}/css/theme/uno.css +97 -37
  67. data/assets/theme/j1/modules/swiperjs/css/theme/uno.min.css +17 -0
  68. data/assets/theme/j1/modules/swiperjs/js/modules/layoutBase.js +25 -0
  69. data/assets/theme/j1/modules/{swiper/js/modules/effectThumbs.min.js → swiperjs/js/modules/layoutBase.min.js} +10 -18
  70. data/assets/theme/j1/modules/swiperjs/js/modules/layoutExpanding.js +25 -0
  71. data/assets/theme/j1/modules/swiperjs/js/modules/layoutExpanding.min.js +25 -0
  72. data/assets/theme/j1/modules/swiperjs/js/modules/layoutNeighbor.js +107 -0
  73. data/assets/theme/j1/modules/swiperjs/js/modules/layoutNeighbor.min.js +17 -0
  74. data/assets/theme/j1/modules/{swiper/js/modules/effectPanorama.js → swiperjs/js/modules/layoutPanorama.js} +4 -5
  75. data/assets/theme/j1/modules/{swiper/js/modules/effectPanorama.min.js → swiperjs/js/modules/layoutPanorama.min.js} +2 -2
  76. data/assets/theme/j1/modules/{swiper/js/modules/effectNeighbor.js → swiperjs/js/modules/layoutParallax.js} +10 -18
  77. data/assets/theme/j1/modules/{swiper/js/modules/effectNeighbor.min.js → swiperjs/js/modules/layoutParallax.min.js} +10 -18
  78. data/assets/theme/j1/modules/swiperjs/js/modules/layoutStacked.0.js +114 -0
  79. data/assets/theme/j1/modules/swiperjs/js/modules/layoutStacked.1.js +93 -0
  80. data/assets/theme/j1/modules/swiperjs/js/modules/layoutStacked.js +104 -0
  81. data/assets/theme/j1/modules/swiperjs/js/modules/layoutStacked.min.js +17 -0
  82. data/assets/theme/j1/modules/{swiper/js/modules/effectThumbs.js → swiperjs/js/modules/layoutThumbs.js} +79 -28
  83. data/assets/theme/j1/modules/swiperjs/js/modules/layoutThumbs.min.js +17 -0
  84. data/assets/theme/j1/modules/swiperjs/js/swiper-bundle.js +9812 -0
  85. data/assets/theme/j1/modules/swiperjs/js/swiper-bundle.min.js +23 -0
  86. data/assets/theme/j1/modules/videojs/css/plugins/controls/zoom.css +1 -1
  87. data/assets/theme/j1/modules/videojs/css/plugins/controls/zoom.min.css +1 -1
  88. data/assets/theme/j1/modules/videojs/js/plugins/controls/zoom/zoom.js +1 -1
  89. data/assets/theme/j1/modules/videojs/js/plugins/controls/zoom/zoom.min.js +1 -1
  90. data/lib/j1/version.rb +1 -1
  91. data/lib/j1_app/j1_auth_manager/auth_manager.rb +2 -2
  92. data/lib/j1_app/j1_auth_manager/error_pages.rb +1 -1
  93. data/lib/j1_app/j1_auth_manager/helpers_disqus.rb +1 -1
  94. data/lib/j1_app/j1_auth_manager/helpers_facebook.rb +1 -1
  95. data/lib/j1_app/j1_auth_manager/helpers_github.rb +1 -1
  96. data/lib/j1_app/j1_auth_manager/helpers_patreon.rb +1 -1
  97. data/lib/j1_app/j1_auth_manager/helpers_twitter.rb +1 -1
  98. data/lib/j1_app/j1_auth_manager/warden_omniauth.rb +1 -1
  99. data/lib/j1_app/omniauth/strategies/disqus.rb +1 -1
  100. data/lib/j1_app/omniauth/strategies/facebook.rb +1 -1
  101. data/lib/j1_app/omniauth/strategies/github.rb +1 -1
  102. data/lib/j1_app/omniauth/strategies/patreon.rb +1 -1
  103. data/lib/j1_app/omniauth/strategies/twitter.rb +1 -1
  104. data/lib/starter_web/README.md +5 -5
  105. data/lib/starter_web/_config.yml +8 -8
  106. data/lib/starter_web/_data/_defaults/categories.yml +1 -1
  107. data/lib/starter_web/_data/_defaults/colors.yml +1 -1
  108. data/lib/starter_web/_data/_defaults/font_sizes.yml +1 -1
  109. data/lib/starter_web/_data/_defaults/j1_config.yml +2 -2
  110. data/lib/starter_web/_data/_defaults/resources.yml +1 -1
  111. data/lib/starter_web/_data/apps/defaults/justifiedGalleryCustomizer.yml +1 -1
  112. data/lib/starter_web/_data/apps/justifiedGalleryCustomizer.yml +1 -1
  113. data/lib/starter_web/_data/asciidoc2pdf/themes/j1-theme.yml +1 -1
  114. data/lib/starter_web/_data/blocks/banner.yml +3 -3
  115. data/lib/starter_web/_data/blocks/defaults/banner.yml +4 -4
  116. data/lib/starter_web/_data/blocks/defaults/footer.yml +1 -1
  117. data/lib/starter_web/_data/blocks/defaults/panel.yml +1 -1
  118. data/lib/starter_web/_data/blocks/footer.yml +1 -1
  119. data/lib/starter_web/_data/categories.yml +1 -1
  120. data/lib/starter_web/_data/colors.yml +1 -1
  121. data/lib/starter_web/_data/font_sizes.yml +1 -1
  122. data/lib/starter_web/_data/j1_config.yml +1 -1
  123. data/lib/starter_web/_data/layouts/collection.yml +1 -1
  124. data/lib/starter_web/_data/layouts/default.yml +1 -1
  125. data/lib/starter_web/_data/layouts/home.yml +1 -1
  126. data/lib/starter_web/_data/layouts/news_panel_posts.yml +1 -1
  127. data/lib/starter_web/_data/layouts/page.yml +1 -1
  128. data/lib/starter_web/_data/layouts/post.yml +1 -1
  129. data/lib/starter_web/_data/layouts/raw.yml +1 -1
  130. data/lib/starter_web/_data/modules/advertising.yml +7 -2
  131. data/lib/starter_web/_data/modules/{amplitude_players.yml → amplitude_app.yml} +207 -24
  132. data/lib/starter_web/_data/modules/amplitude_playlists.yml +1140 -37
  133. data/lib/starter_web/_data/modules/analytics.yml +7 -2
  134. data/lib/starter_web/_data/modules/attics.yml +8 -2
  135. data/lib/starter_web/_data/modules/blog_navigator.yml +8 -2
  136. data/lib/starter_web/_data/modules/carousel.yml +12 -8
  137. data/lib/starter_web/_data/modules/chatbots.yml +7 -2
  138. data/lib/starter_web/_data/modules/comments.yml +9 -7
  139. data/lib/starter_web/_data/modules/cookieconsent.yml +6 -5
  140. data/lib/starter_web/_data/modules/cookies.yml +7 -2
  141. data/lib/starter_web/_data/modules/defaults/advertising.yml +7 -3
  142. data/lib/starter_web/_data/modules/defaults/amplitude.yml +77 -31
  143. data/lib/starter_web/_data/modules/defaults/analytics.yml +6 -3
  144. data/lib/starter_web/_data/modules/defaults/attics.yml +7 -6
  145. data/lib/starter_web/_data/modules/defaults/authentication.yml +8 -3
  146. data/lib/starter_web/_data/modules/defaults/blog_navigator.yml +9 -3
  147. data/lib/starter_web/_data/modules/defaults/carousel.yml +7 -3
  148. data/lib/starter_web/_data/modules/defaults/chatbots.yml +7 -2
  149. data/lib/starter_web/_data/modules/defaults/comments.yml +6 -2
  150. data/lib/starter_web/_data/modules/defaults/cookieconsent.de.yml +7 -2
  151. data/lib/starter_web/_data/modules/defaults/cookieconsent.en.yml +7 -2
  152. data/lib/starter_web/_data/modules/defaults/cookieconsent.yml +7 -2
  153. data/lib/starter_web/_data/modules/defaults/cookies.yml +7 -3
  154. data/lib/starter_web/_data/modules/defaults/docsearch.yml +7 -2
  155. data/lib/starter_web/_data/modules/defaults/dropdowns.yml +7 -2
  156. data/lib/starter_web/_data/modules/defaults/fab.yml +7 -5
  157. data/lib/starter_web/_data/modules/defaults/gallery.yml +2 -2
  158. data/lib/starter_web/_data/modules/defaults/gemini.yml +3 -3
  159. data/lib/starter_web/_data/modules/defaults/icon_picker.yml +7 -2
  160. data/lib/starter_web/_data/modules/defaults/iframer.yml +7 -3
  161. data/lib/starter_web/_data/modules/defaults/lazyLoader.yml +7 -2
  162. data/lib/starter_web/_data/modules/defaults/lightbox.yml +8 -23
  163. data/lib/starter_web/_data/modules/defaults/log4javascript.yml +8 -3
  164. data/lib/starter_web/_data/modules/defaults/log4r.yml +2 -2
  165. data/lib/starter_web/_data/modules/defaults/lunr.yml +3 -3
  166. data/lib/starter_web/_data/modules/defaults/masonry.yml +7 -3
  167. data/lib/starter_web/_data/modules/defaults/masterslider.yml +7 -2
  168. data/lib/starter_web/_data/modules/defaults/navigator.yml +9 -4
  169. data/lib/starter_web/_data/modules/defaults/particles.yml +5 -4
  170. data/lib/starter_web/_data/modules/defaults/rangeSlider.yml +8 -3
  171. data/lib/starter_web/_data/modules/defaults/rtable.yml +7 -2
  172. data/lib/starter_web/_data/modules/defaults/scroller.yml +7 -2
  173. data/lib/starter_web/_data/modules/defaults/slick.yml +8 -5
  174. data/lib/starter_web/_data/modules/defaults/slim_select.yml +7 -2
  175. data/lib/starter_web/_data/modules/defaults/speak2me.yml +7 -4
  176. data/lib/starter_web/_data/modules/defaults/swiper_app.yml +153 -0
  177. data/lib/starter_web/_data/modules/defaults/theme_toggler.yml +7 -2
  178. data/lib/starter_web/_data/modules/defaults/themes.yml +7 -2
  179. data/lib/starter_web/_data/modules/defaults/toccer.yml +8 -5
  180. data/lib/starter_web/_data/modules/defaults/translator.en.yml +7 -2
  181. data/lib/starter_web/_data/modules/defaults/translator.yml +7 -2
  182. data/lib/starter_web/_data/modules/defaults/videojs.yml +8 -2
  183. data/lib/starter_web/_data/modules/defaults/waves.yml +5 -4
  184. data/lib/starter_web/_data/modules/docsearch.yml +7 -2
  185. data/lib/starter_web/_data/modules/dropdowns.yml +7 -2
  186. data/lib/starter_web/_data/modules/fab.yml +7 -2
  187. data/lib/starter_web/_data/modules/gallery.yml +14 -8
  188. data/lib/starter_web/_data/modules/gallery_app.yml +1002 -0
  189. data/lib/starter_web/_data/modules/gallery_playlists.yml +534 -0
  190. data/lib/starter_web/_data/modules/gemini.yml +4 -5
  191. data/lib/starter_web/_data/modules/icon_picker.yml +7 -2
  192. data/lib/starter_web/_data/modules/iframer.yml +8 -3
  193. data/lib/starter_web/_data/modules/lazyLoader.yml +7 -2
  194. data/lib/starter_web/_data/modules/lightbox.yml +8 -3
  195. data/lib/starter_web/_data/modules/log4r.yml +2 -2
  196. data/lib/starter_web/_data/modules/lunr.yml +4 -5
  197. data/lib/starter_web/_data/modules/masonry.yml +45 -23
  198. data/lib/starter_web/_data/modules/masterslider.yml +65 -59
  199. data/lib/starter_web/_data/modules/particles.yml +7 -2
  200. data/lib/starter_web/_data/modules/rangeSlider.yml +8 -3
  201. data/lib/starter_web/_data/modules/rtable.yml +7 -2
  202. data/lib/starter_web/_data/modules/scroller.yml +8 -3
  203. data/lib/starter_web/_data/modules/slick.yml +33 -16
  204. data/lib/starter_web/_data/modules/slim_select.yml +13 -10
  205. data/lib/starter_web/_data/modules/speak2me.yml +7 -2
  206. data/lib/starter_web/_data/modules/swiper_app.yml +1047 -0
  207. data/lib/starter_web/_data/modules/swiper_playlists.yml +278 -203
  208. data/lib/starter_web/_data/modules/theme_toggler.yml +7 -2
  209. data/lib/starter_web/_data/modules/themes.yml +7 -2
  210. data/lib/starter_web/_data/modules/toccer.yml +7 -2
  211. data/lib/starter_web/_data/modules/translator.yml +7 -2
  212. data/lib/starter_web/_data/modules/videojs.yml +7 -1
  213. data/lib/starter_web/_data/modules/waves.yml +8 -3
  214. data/lib/starter_web/_data/plugins/defaults/feed.yml +1 -1
  215. data/lib/starter_web/_data/plugins/defaults/paginator.yml +1 -1
  216. data/lib/starter_web/_data/plugins/defaults/seo-tags.yml +1 -1
  217. data/lib/starter_web/_data/plugins/defaults/sitemap.yml +1 -1
  218. data/lib/starter_web/_data/plugins/feed.yml +1 -1
  219. data/lib/starter_web/_data/plugins/paginator.yml +1 -1
  220. data/lib/starter_web/_data/plugins/seo-tags.yml +1 -1
  221. data/lib/starter_web/_data/plugins/sitemap.yml +1 -1
  222. data/lib/starter_web/_data/resources.yml +50 -42
  223. data/lib/starter_web/_data/templates/feed.xml +2 -2
  224. data/lib/starter_web/_data/templates/robots.txt +1 -1
  225. data/lib/starter_web/_data/templates/seo-tags.html +1 -1
  226. data/lib/starter_web/_data/templates/sitemap.xml +1 -1
  227. data/lib/starter_web/_data/utilities/defaults/util_srv.yml +1 -1
  228. data/lib/starter_web/_data/utilities/util_srv.yml +1 -1
  229. data/lib/starter_web/_includes/attributes.asciidoc +44 -44
  230. data/lib/starter_web/_includes/custom/templates/collection_panel.html +1 -1
  231. data/lib/starter_web/_includes/tables/jekyll_variables.asciidoc +1 -1
  232. data/lib/starter_web/_plugins/asciidoctor/amplitude-block.rb +2 -2
  233. data/lib/starter_web/_plugins/asciidoctor/lightbox-block.rb +1 -1
  234. data/lib/starter_web/_plugins/asciidoctor/swiper-block.rb +2 -3
  235. data/lib/starter_web/_plugins/asciidoctor/wistia-block.rb +1 -1
  236. data/lib/starter_web/_plugins/asciidoctor/youtube-block.rb +2 -2
  237. data/lib/starter_web/_plugins/filter/filters.rb +1 -11
  238. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  239. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/anthem.jpg +0 -0
  240. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/from-dusk-to-dawn.jpg +0 -0
  241. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/safe-in-the-steep-cliffs.jpg +0 -0
  242. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/soon-it-will-be-cold-enough.jpg +0 -0
  243. data/lib/starter_web/assets/image/block/image/!readme +0 -0
  244. data/lib/starter_web/assets/image/custom/!info/!readme +0 -0
  245. data/lib/starter_web/assets/image/module/attic/!info/!readme +0 -0
  246. data/lib/starter_web/assets/image/module/attic/1920x1280/alexey-ruban.jpg +0 -0
  247. data/lib/starter_web/assets/image/module/attic/1920x1280/markus-spiske.jpg +0 -0
  248. data/lib/starter_web/assets/image/module/attic/1920x1280/tiny_desk.jpg +0 -0
  249. data/lib/starter_web/assets/image/module/attic/alice-donovan-rouse-2.jpg +0 -0
  250. data/lib/starter_web/assets/image/module/carousel/!info/!readme +0 -0
  251. data/lib/starter_web/assets/image/module/gallery/free_animal/!info/!readme +0 -0
  252. data/lib/starter_web/assets/image/module/gallery/free_animal/image/free-animal-1.jpg +0 -0
  253. data/lib/starter_web/assets/image/module/gallery/free_animal/image/free-animal-2.jpg +0 -0
  254. data/lib/starter_web/assets/image/module/gallery/free_animal/image/free-animal-3.jpg +0 -0
  255. data/lib/starter_web/assets/image/module/gallery/free_animal/image/free-animal-4.jpg +0 -0
  256. data/lib/starter_web/assets/image/module/gallery/free_animal/image/free-animal-5.jpg +0 -0
  257. data/lib/starter_web/assets/image/module/gallery/free_animal/image/free-animal-6.jpg +0 -0
  258. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/295683517.jpg +0 -0
  259. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/andreas-brucker_b.jpg +0 -0
  260. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/banter-snaps_b.jpg +0 -0
  261. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/chicago-us.jpg +0 -0
  262. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/denys-nevozhai-1_b.jpg +0 -0
  263. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/denys-nevozhai-1_c.jpg +0 -0
  264. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/denys-nevozhai-2-bw.jpg +0 -0
  265. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/denys-nevozhai-2_b.jpg +0 -0
  266. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/denys-nevozhai-3_b.jpg +0 -0
  267. data/lib/starter_web/assets/image/{modules/gallery/mega_cities → module/gallery/mega_citiy/image}/emmad-mazhari_b.jpg +0 -0
  268. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/emmad-mazhari_c.jpg +0 -0
  269. data/lib/starter_web/assets/image/{modules/gallery/mega_cities → module/gallery/mega_citiy/image}/ethan-brooke_b.jpg +0 -0
  270. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/federico-rizzarelli_b.jpg +0 -0
  271. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/federico-rizzarelli_c.jpg +0 -0
  272. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/gints-gailis_b.jpg +0 -0
  273. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/jakarta_indonesia.jpg +0 -0
  274. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/jakarta_indonesia_2.jpg +0 -0
  275. data/lib/starter_web/assets/image/{modules/gallery/mega_cities → module/gallery/mega_citiy/image}/johan-mouchet_b.jpg +0 -0
  276. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/luca-bravo_b.jpg +0 -0
  277. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/melbourne_australia.jpg +0 -0
  278. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/queen_bees_at_eureka_tower.jpg +0 -0
  279. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/shanghai_china.jpg +0 -0
  280. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/steven-diaz_b.jpg +0 -0
  281. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/thomas-tucker_b.jpg +0 -0
  282. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/tokyo_japan.jpg +0 -0
  283. data/lib/starter_web/assets/image/module/gallery/old_time/image/!info/!readme +0 -0
  284. data/lib/starter_web/assets/image/module/lightbox/!info/!readme +0 -0
  285. data/lib/starter_web/assets/image/module/swiper/audio/!info/!readme +0 -0
  286. data/lib/starter_web/assets/image/module/swiper/audio/!readme +0 -0
  287. data/lib/starter_web/assets/image/module/swiper/avatar/avatar-1.png +0 -0
  288. data/lib/starter_web/assets/image/module/swiper/avatar/avatar-2.png +0 -0
  289. data/lib/starter_web/assets/image/module/swiper/avatar/avatar-3.png +0 -0
  290. data/lib/starter_web/assets/image/module/swiper/avatar/avatar-4.png +0 -0
  291. data/lib/starter_web/assets/image/module/swiper/avatar/avatar-5.png +0 -0
  292. data/lib/starter_web/assets/image/module/swiper/extended/expanding/!info/!readme +0 -0
  293. data/lib/starter_web/assets/image/module/swiper/extended/expanding/image/avatar/avatar-1.jpg +0 -0
  294. data/lib/starter_web/assets/image/module/swiper/extended/expanding/image/avatar/avatar-2.jpg +0 -0
  295. data/lib/starter_web/assets/image/module/swiper/extended/expanding/image/avatar/avatar-3.jpg +0 -0
  296. data/lib/starter_web/assets/image/module/swiper/extended/expanding/image/avatar/avatar-4.jpg +0 -0
  297. data/lib/starter_web/assets/image/module/swiper/extended/expanding/image/london.jpg +0 -0
  298. data/lib/starter_web/assets/image/module/swiper/extended/expanding/image/moscow.jpg +0 -0
  299. data/lib/starter_web/assets/image/module/swiper/extended/expanding/image/san-francisco.jpg +0 -0
  300. data/lib/starter_web/assets/image/module/swiper/extended/expanding/image/tokyo.jpg +0 -0
  301. data/lib/starter_web/assets/image/module/swiper/extended/expanding/scalable/1-star.svg +88 -0
  302. data/lib/starter_web/assets/image/module/swiper/extended/expanding/scalable/2-star.svg +88 -0
  303. data/lib/starter_web/assets/image/module/swiper/extended/expanding/scalable/3-star.svg +88 -0
  304. data/lib/starter_web/assets/image/module/swiper/extended/expanding/scalable/4-star.svg +88 -0
  305. data/lib/starter_web/assets/image/module/swiper/extended/expanding/scalable/5-star.svg +88 -0
  306. data/lib/starter_web/assets/image/module/swiper/extended/expanding/scalable/elements/star-gray.svg +55 -0
  307. data/lib/starter_web/assets/image/module/swiper/extended/expanding/scalable/elements/star-orange.svg +55 -0
  308. data/lib/starter_web/assets/image/module/swiper/extended/neighbor/!info/!readme +0 -0
  309. data/lib/starter_web/assets/image/module/swiper/extended/neighbor/!readme +0 -0
  310. data/lib/starter_web/assets/image/module/swiper/extended/neighbor/image/free-animal-1.jpg +0 -0
  311. data/lib/starter_web/assets/image/module/swiper/extended/neighbor/image/free-animal-2.jpg +0 -0
  312. data/lib/starter_web/assets/image/module/swiper/extended/neighbor/image/free-animal-3.jpg +0 -0
  313. data/lib/starter_web/assets/image/module/swiper/extended/neighbor/image/free-animal-4.jpg +0 -0
  314. data/lib/starter_web/assets/image/module/swiper/extended/neighbor/image/free-animal-5.jpg +0 -0
  315. data/lib/starter_web/assets/image/module/swiper/extended/neighbor/image/free-animal-6.jpg +0 -0
  316. data/lib/starter_web/assets/image/module/swiper/extended/panorama/!info/!readme +0 -0
  317. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/1.jpg +0 -0
  318. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/10.jpg +0 -0
  319. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/11.jpg +0 -0
  320. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/12.jpg +0 -0
  321. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/2.jpg +0 -0
  322. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/3.jpg +0 -0
  323. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/4.jpg +0 -0
  324. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/5.jpg +0 -0
  325. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/6.jpg +0 -0
  326. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/7.jpg +0 -0
  327. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/8.jpg +0 -0
  328. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/9.jpg +0 -0
  329. data/lib/starter_web/assets/image/module/swiper/extended/stacked/!info/!readme +0 -0
  330. data/lib/starter_web/assets/image/module/swiper/extended/stacked/image/!readme +0 -0
  331. data/lib/starter_web/assets/image/module/swiper/extended/stacked/image/1.jpg +0 -0
  332. data/lib/starter_web/assets/image/module/swiper/extended/stacked/image/2.jpg +0 -0
  333. data/lib/starter_web/assets/image/module/swiper/extended/stacked/image/3.jpg +0 -0
  334. data/lib/starter_web/assets/image/module/swiper/extended/stacked/image/4.jpg +0 -0
  335. data/lib/starter_web/assets/image/module/swiper/extended/stacked/image/5.jpg +0 -0
  336. data/lib/starter_web/assets/image/module/swiper/extended/stacked/image/6.jpg +0 -0
  337. data/lib/starter_web/assets/image/module/swiper/simple/free_animal/!info/!readme +0 -0
  338. data/lib/starter_web/assets/image/module/swiper/simple/free_animal/image/free-animal-1.jpg +0 -0
  339. data/lib/starter_web/assets/image/module/swiper/simple/free_animal/image/free-animal-2.jpg +0 -0
  340. data/lib/starter_web/assets/image/module/swiper/simple/free_animal/image/free-animal-3.jpg +0 -0
  341. data/lib/starter_web/assets/image/module/swiper/simple/free_animal/image/free-animal-4.jpg +0 -0
  342. data/lib/starter_web/assets/image/module/swiper/simple/free_animal/image/free-animal-5.jpg +0 -0
  343. data/lib/starter_web/assets/image/module/swiper/simple/free_animal/image/free-animal-6.jpg +0 -0
  344. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/295683517.jpg +0 -0
  345. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/andreas-brucker_b.jpg +0 -0
  346. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/banter-snaps_b.jpg +0 -0
  347. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/chicago-us.jpg +0 -0
  348. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/denys-nevozhai-1_b.jpg +0 -0
  349. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/denys-nevozhai-1_c.jpg +0 -0
  350. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/denys-nevozhai-2-bw.jpg +0 -0
  351. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/denys-nevozhai-2_b.jpg +0 -0
  352. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/denys-nevozhai-3_b.jpg +0 -0
  353. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/emmad-mazhari_b.jpg +0 -0
  354. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/emmad-mazhari_c.jpg +0 -0
  355. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/ethan-brooke_b.jpg +0 -0
  356. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/federico-rizzarelli_b.jpg +0 -0
  357. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/federico-rizzarelli_c.jpg +0 -0
  358. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/gints-gailis_b.jpg +0 -0
  359. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/jakarta_indonesia.jpg +0 -0
  360. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/jakarta_indonesia_2.jpg +0 -0
  361. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/johan-mouchet_b.jpg +0 -0
  362. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/luca-bravo_b.jpg +0 -0
  363. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/melbourne_australia.jpg +0 -0
  364. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/queen_bees_at_eureka_tower.jpg +0 -0
  365. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/shanghai_china.jpg +0 -0
  366. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/steven-diaz_b.jpg +0 -0
  367. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/thomas-tucker_b.jpg +0 -0
  368. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/tokyo_japan.jpg +0 -0
  369. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/info/authors.txt +78 -0
  370. data/lib/starter_web/assets/image/module/swiper/video/!info/!readme +0 -0
  371. data/lib/starter_web/assets/image/module/swiper/video/!readme +0 -0
  372. data/lib/starter_web/assets/image/pattern/rating/scalable/1-star.svg +88 -0
  373. data/lib/starter_web/assets/image/pattern/rating/scalable/2-star.svg +88 -0
  374. data/lib/starter_web/assets/image/pattern/rating/scalable/3-star.svg +88 -0
  375. data/lib/starter_web/assets/image/pattern/rating/scalable/4-star.svg +88 -0
  376. data/lib/starter_web/assets/image/pattern/rating/scalable/5-star.svg +88 -0
  377. data/lib/starter_web/assets/image/pattern/rating/scalable/elements/star-gray.svg +55 -0
  378. data/lib/starter_web/assets/image/pattern/rating/scalable/elements/star-orange.svg +55 -0
  379. data/lib/starter_web/assets/video/poster/dailymotion/meditation.jpg +0 -0
  380. data/lib/starter_web/assets/video/poster/dailymotion/pilates.jpg +0 -0
  381. data/lib/starter_web/assets/video/poster/html5/peck_pocketed.jpg +0 -0
  382. data/lib/starter_web/assets/video/poster/html5/rolling_wild.jpg +0 -0
  383. data/lib/starter_web/assets/video/poster/tiktoc/einhorn.jpg +0 -0
  384. data/lib/starter_web/assets/video/poster/tiktoc/gianna_1.jpg +0 -0
  385. data/lib/starter_web/assets/video/poster/tiktoc/gianna_2.jpg +0 -0
  386. data/lib/starter_web/assets/video/poster/tiktoc/gianna_3.jpg +0 -0
  387. data/lib/starter_web/assets/video/poster/tiktoc/waluschka.jpg +0 -0
  388. data/lib/starter_web/assets/video/poster/vimeo/amazing_nature.jpg +0 -0
  389. data/lib/starter_web/assets/video/poster/vimeo/kick_it_old_school.jpg +0 -0
  390. data/lib/starter_web/assets/video/poster/vimeo/stay_colorful.jpg +0 -0
  391. data/lib/starter_web/assets/video/poster/wistia/thank_you.jpg +0 -0
  392. data/lib/starter_web/assets/video/poster/wistia/wistia_black.jpg +0 -0
  393. data/lib/starter_web/assets/video/poster/wistia/wistia_blue.jpg +0 -0
  394. data/lib/starter_web/assets/video/poster/wistia/wistia_intro.jpg +0 -0
  395. data/lib/starter_web/assets/video/poster/youtube/faelle_des_bnd/der_unverzichtbare_feind.jpg +0 -0
  396. data/lib/starter_web/assets/video/poster/youtube/faelle_des_bnd/ein_diener_vieler_herren.jpg +0 -0
  397. data/lib/starter_web/assets/video/poster/youtube/taylor_swift/cover-1.jpg +0 -0
  398. data/lib/starter_web/assets/video/poster/youtube/taylor_swift/cover-2.jpg +0 -0
  399. data/lib/starter_web/assets/video/poster/youtube/the_piano/the-piano.jpg +0 -0
  400. data/lib/starter_web/assets/video/poster/youtube/voice_kids/banner/best_of.jpg +0 -0
  401. data/lib/starter_web/assets/video/poster/youtube/voice_kids/banner/generic.jpg +0 -0
  402. data/lib/starter_web/collections/_biography/a-life-in-questions.adoc +3 -3
  403. data/lib/starter_web/collections/_biography/becoming.adoc +3 -3
  404. data/lib/starter_web/collections/_biography/born-to-run.adoc +3 -3
  405. data/lib/starter_web/collections/_biography/forty-autumns.adoc +3 -3
  406. data/lib/starter_web/collections/_biography/not-dead-yet.adoc +3 -3
  407. data/lib/starter_web/collections/_biography/princess-diarist-the.adoc +3 -3
  408. data/lib/starter_web/collections/_biography/when-breath-becomes-air.adoc +3 -3
  409. data/lib/starter_web/collections/_fantasy/harry-potter-deathly-hallows.adoc +3 -3
  410. data/lib/starter_web/collections/_fantasy/harry-potter-philosophers-stone.adoc +3 -3
  411. data/lib/starter_web/collections/_fantasy/mistborn-trilogy.adoc +3 -3
  412. data/lib/starter_web/collections/_fantasy/ready-player-one.adoc +3 -3
  413. data/lib/starter_web/collections/_fantasy/sword-of-destiny.adoc +3 -3
  414. data/lib/starter_web/collections/_fantasy/terry-pratchet-diary.adoc +3 -3
  415. data/lib/starter_web/collections/_portfolio/branding.adoc +2 -2
  416. data/lib/starter_web/collections/_portfolio/graphic_design.adoc +2 -2
  417. data/lib/starter_web/collections/_portfolio/identity.adoc +2 -2
  418. data/lib/starter_web/collections/_portfolio/illustration.adoc +2 -2
  419. data/lib/starter_web/collections/_portfolio/photography.adoc +2 -2
  420. data/lib/starter_web/collections/_portfolio/web_design.adoc +2 -2
  421. data/lib/starter_web/collections/_romance/breath-of-snow-and-ashes.adoc +3 -3
  422. data/lib/starter_web/collections/_romance/it-ends-with-us.adoc +3 -3
  423. data/lib/starter_web/collections/_romance/outlander-novel.adoc +3 -3
  424. data/lib/starter_web/collections/_romance/outlander-virgins-short-story.adoc +3 -3
  425. data/lib/starter_web/collections/_romance/the-dressmaker.adoc +3 -3
  426. data/lib/starter_web/collections/_romance/the-fiery-cross.adoc +3 -3
  427. data/lib/starter_web/collections/asciidoc_skeletons/simple-post/_posts/yyyy-mm-dd-your-post-name.asciidoc +3 -3
  428. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +2 -2
  429. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.adoc +2 -2
  430. data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-static-site-generators.adoc +3 -3
  431. data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +2 -2
  432. data/lib/starter_web/collections/posts/public/featured/_posts/2023-10-18-url-types.adoc +2 -2
  433. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/attributes.asciidoc +2 -2
  434. data/lib/starter_web/index.html +2 -2
  435. data/lib/starter_web/package.json +1 -1
  436. data/lib/starter_web/pages/public/about/features.adoc +2 -2
  437. data/lib/starter_web/pages/public/about/reporting_issues.adoc +2 -2
  438. data/lib/starter_web/pages/public/about/site.adoc +2 -2
  439. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/000_intro.adoc +2 -2
  440. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/100_converter.adoc +2 -2
  441. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/200_themes.adoc +2 -2
  442. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/attributes.asciidoc +1 -1
  443. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/100_converter/112_getting_started.asciidoc +1 -1
  444. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/a2p.bat +1 -1
  445. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/a2p.sh +1 -1
  446. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.a2p +1 -1
  447. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +2 -2
  448. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +2 -2
  449. data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +2 -2
  450. data/lib/starter_web/pages/public/blog/navigator/archive/allview.html +2 -2
  451. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +2 -2
  452. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +2 -2
  453. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +2 -2
  454. data/lib/starter_web/pages/public/blog/navigator/index.html +2 -2
  455. data/lib/starter_web/pages/public/features/general.adoc +3 -3
  456. data/lib/starter_web/pages/public/features/template.adoc +15 -15
  457. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_biography.adoc +2 -2
  458. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_fantasy.adoc +2 -2
  459. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_romance.adoc +2 -2
  460. data/lib/starter_web/pages/public/learn/bookshelf/jekyll_collections.adoc +2 -2
  461. data/lib/starter_web/pages/public/learn/bookshelf/viewer_all_books.adoc +2 -2
  462. data/lib/starter_web/pages/public/learn/where_to_go.adoc +2 -2
  463. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +2 -2
  464. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +2 -2
  465. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +2 -2
  466. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +2 -2
  467. data/lib/starter_web/pages/public/panels/intro_panel/_includes/attributes.asciidoc +6 -6
  468. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +6 -6
  469. data/lib/starter_web/pages/public/plans/plans.adoc +2 -2
  470. data/lib/starter_web/pages/public/tools/previewer/_includes/attributes.asciidoc +5 -5
  471. data/lib/starter_web/pages/public/tools/previewer/preview_amplitudejs.adoc +84 -36
  472. data/lib/starter_web/pages/public/tools/previewer/preview_bootstrap_theme.adoc +5 -5
  473. data/lib/starter_web/pages/public/tools/previewer/preview_videojs.adoc +2 -2
  474. data/lib/starter_web/pages/public/tools/tester/{amplitude_yt_tester.adoc → app_tester_amplitudejs_yt.adoc} +75 -27
  475. data/lib/starter_web/pages/public/tools/tester/app_tester_swiperjs.adoc +1215 -0
  476. data/lib/starter_web/pages/public/tour/_includes/attributes.asciidoc +5 -8
  477. data/lib/starter_web/pages/public/tour/_includes/documents/419_advanced_modals_demo.asciidoc +2 -2
  478. data/lib/starter_web/pages/public/tour/asciidoc_extensions.adoc +4 -4
  479. data/lib/starter_web/pages/public/tour/bootstrap_themes.adoc +4 -4
  480. data/lib/starter_web/pages/public/tour/highlghter_rouge.adoc +2 -2
  481. data/lib/starter_web/pages/public/tour/icon_fonts.adoc +2 -2
  482. data/lib/starter_web/pages/public/tour/modal_extentions.adoc +2 -2
  483. data/lib/starter_web/pages/public/tour/play_audio.adoc +62 -72
  484. data/lib/starter_web/pages/public/tour/play_video.adoc +2 -2
  485. data/lib/starter_web/pages/public/tour/present_images.adoc +48 -62
  486. data/lib/starter_web/pages/public/tour/quicksearch.adoc +2 -2
  487. data/lib/starter_web/pages/public/tour/responsive_tables.adoc +2 -2
  488. data/lib/starter_web/pages/public/tour/typography.adoc +2 -2
  489. metadata +713 -731
  490. data/apps/private/README.txt +0 -1
  491. data/apps/protected/README.txt +0 -1
  492. data/apps/public/README.txt +0 -1
  493. data/apps/public/cc/cc.yml +0 -1649
  494. data/apps/public/cc/index.adoc +0 -111
  495. data/assets/data/swiper.html +0 -244
  496. data/assets/theme/j1/adapter/js/amplitude.30.js +0 -1177
  497. data/assets/theme/j1/core/css/animate.css.map +0 -1
  498. data/assets/theme/j1/core/css/animate.min.css.map +0 -1
  499. data/assets/theme/j1/core/css/icon-fonts/fontawesome.css.map +0 -1
  500. data/assets/theme/j1/core/css/icon-fonts/fontawesome.min.css.map +0 -1
  501. data/assets/theme/j1/core/css/icon-fonts/iconify.css.map +0 -1
  502. data/assets/theme/j1/core/css/icon-fonts/iconify.min.css.map +0 -1
  503. data/assets/theme/j1/core/css/icon-fonts/mdi.css.map +0 -1
  504. data/assets/theme/j1/core/css/icon-fonts/mdi.min.css.map +0 -1
  505. data/assets/theme/j1/core/css/icon-fonts/mdib.css.map +0 -1
  506. data/assets/theme/j1/core/css/icon-fonts/mdib.min.css.map +0 -1
  507. data/assets/theme/j1/core/css/themes/bootstrap/bootstrap.css.map +0 -1
  508. data/assets/theme/j1/core/css/themes/bootstrap/bootstrap.min.css.map +0 -1
  509. data/assets/theme/j1/core/css/themes/unodark/bootstrap.css.map +0 -1
  510. data/assets/theme/j1/core/css/themes/unodark/bootstrap.min.css.map +0 -1
  511. data/assets/theme/j1/core/css/themes/unolight/bootstrap.css.map +0 -1
  512. data/assets/theme/j1/core/css/themes/unolight/bootstrap.min.css.map +0 -1
  513. data/assets/theme/j1/core/css/vendor.css.map +0 -1
  514. data/assets/theme/j1/core/css/vendor.min.css.map +0 -1
  515. data/assets/theme/j1/core/js/template.min.js.map +0 -1
  516. data/assets/theme/j1/modules/amplitudejs/js/amplitude.map +0 -20
  517. data/assets/theme/j1/modules/amplitudejs/js/tech/ytp.min.js +0 -14
  518. data/assets/theme/j1/modules/bootstrap/js/bootstrap.js.map +0 -1
  519. data/assets/theme/j1/modules/bootstrap/js/bootstrap.min.js.map +0 -1
  520. data/assets/theme/j1/modules/gemini/js/gemini.js.map +0 -1
  521. data/assets/theme/j1/modules/photoswipe/_info/.version_5.4.4 +0 -6
  522. data/assets/theme/j1/modules/photoswipe/_info/example/photoswipe-caption-plugin.html +0 -237
  523. data/assets/theme/j1/modules/photoswipe/_info/example/test-gallery.html +0 -36
  524. data/assets/theme/j1/modules/photoswipe/js/_info/README.md +0 -43
  525. data/assets/theme/j1/modules/photoswipe/js/photoswipe-lightbox.1.js +0 -1990
  526. data/assets/theme/j1/modules/swiper/_info/.version_1.2.0 +0 -15
  527. data/assets/theme/j1/modules/swiper/_info/swiperjs.com-demos.url +0 -2
  528. data/assets/theme/j1/modules/swiper/css/modules/effectThumbs.css +0 -44
  529. data/assets/theme/j1/modules/swiper/css/theme/uno.min.css +0 -144
  530. data/assets/theme/j1/modules/swiper/js/modules/!readme +0 -3
  531. data/assets/theme/j1/modules/swiper/js/swiper-bundle.js +0 -9791
  532. data/assets/theme/j1/modules/swiper/js/swiper-bundle.min.js +0 -23
  533. data/lib/starter_web/_data/modules/defaults/swiper.yml +0 -175
  534. data/lib/starter_web/_data/modules/swiper.yml +0 -655
  535. data/lib/starter_web/assets/image/custom/header/family.svg +0 -2209
  536. data/lib/starter_web/assets/image/icons/bokeh/bokeh-32x32.ico +0 -0
  537. data/lib/starter_web/assets/image/icons/bokeh/bokeh.ico +0 -0
  538. data/lib/starter_web/assets/image/icons/bokeh/logo-160x160.png +0 -0
  539. data/lib/starter_web/assets/image/icons/jupyter/jupyter-32x32.ico +0 -0
  540. data/lib/starter_web/assets/image/icons/jupyter/jupyter.ico +0 -0
  541. data/lib/starter_web/assets/image/icons/jupyter/logo.png +0 -0
  542. data/lib/starter_web/assets/image/modules/attics/1920x1280/alexey-ruban.jpg +0 -0
  543. data/lib/starter_web/assets/image/modules/attics/1920x1280/kristopher-roller.webp +0 -0
  544. data/lib/starter_web/assets/image/modules/attics/1920x1280/markus-spiske.jpg +0 -0
  545. data/lib/starter_web/assets/image/modules/attics/1920x1280/tiny_desk.jpg +0 -0
  546. data/lib/starter_web/assets/image/modules/attics/alice-donovan-rouse-2.jpg +0 -0
  547. data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-1.jpg +0 -0
  548. data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-2.jpg +0 -0
  549. data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-3.jpg +0 -0
  550. data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-4.jpg +0 -0
  551. data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-5.jpg +0 -0
  552. data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-6.jpg +0 -0
  553. data/lib/starter_web/assets/image/modules/gallery/mega_cities/295683517.jpg +0 -0
  554. data/lib/starter_web/assets/image/modules/gallery/mega_cities/andreas-brucker_b.jpg +0 -0
  555. data/lib/starter_web/assets/image/modules/gallery/mega_cities/banter-snaps_b.jpg +0 -0
  556. data/lib/starter_web/assets/image/modules/gallery/mega_cities/chicago-us.jpg +0 -0
  557. data/lib/starter_web/assets/image/modules/gallery/mega_cities/denys-nevozhai-1_b.jpg +0 -0
  558. data/lib/starter_web/assets/image/modules/gallery/mega_cities/denys-nevozhai-1_c.jpg +0 -0
  559. data/lib/starter_web/assets/image/modules/gallery/mega_cities/denys-nevozhai-2-bw.jpg +0 -0
  560. data/lib/starter_web/assets/image/modules/gallery/mega_cities/denys-nevozhai-2_b.jpg +0 -0
  561. data/lib/starter_web/assets/image/modules/gallery/mega_cities/denys-nevozhai-3_b.jpg +0 -0
  562. data/lib/starter_web/assets/image/modules/gallery/mega_cities/emmad-mazhari_c.jpg +0 -0
  563. data/lib/starter_web/assets/image/modules/gallery/mega_cities/federico-rizzarelli_b.jpg +0 -0
  564. data/lib/starter_web/assets/image/modules/gallery/mega_cities/federico-rizzarelli_c.jpg +0 -0
  565. data/lib/starter_web/assets/image/modules/gallery/mega_cities/gints-gailis_b.jpg +0 -0
  566. data/lib/starter_web/assets/image/modules/gallery/mega_cities/jakarta_indonesia.jpg +0 -0
  567. data/lib/starter_web/assets/image/modules/gallery/mega_cities/jakarta_indonesia_2.jpg +0 -0
  568. data/lib/starter_web/assets/image/modules/gallery/mega_cities/luca-bravo_b.jpg +0 -0
  569. data/lib/starter_web/assets/image/modules/gallery/mega_cities/melbourne_australia.jpg +0 -0
  570. data/lib/starter_web/assets/image/modules/gallery/mega_cities/melbourne_australia.webp +0 -0
  571. data/lib/starter_web/assets/image/modules/gallery/mega_cities/queen_bees_at_eureka_tower.jpg +0 -0
  572. data/lib/starter_web/assets/image/modules/gallery/mega_cities/shanghai_china.jpg +0 -0
  573. data/lib/starter_web/assets/image/modules/gallery/mega_cities/steven-diaz_b.jpg +0 -0
  574. data/lib/starter_web/assets/image/modules/gallery/mega_cities/thomas-tucker_b.jpg +0 -0
  575. data/lib/starter_web/assets/image/modules/gallery/mega_cities/tokyo_japan.jpg +0 -0
  576. data/lib/starter_web/assets/image/modules/gallery/neighbor_slider/guardians-of-the-galaxy.jpg +0 -0
  577. data/lib/starter_web/assets/image/modules/gallery/neighbor_slider/justice-league.jpg +0 -0
  578. data/lib/starter_web/assets/image/modules/gallery/neighbor_slider/spider-man.jpg +0 -0
  579. data/lib/starter_web/assets/image/modules/gallery/neighbor_slider/suicide-squad.jpg +0 -0
  580. data/lib/starter_web/assets/image/modules/gallery/neighbor_slider/thor-ragnarok.jpg +0 -0
  581. data/lib/starter_web/assets/image/modules/gallery/panorama/1.jpg +0 -0
  582. data/lib/starter_web/assets/image/modules/gallery/panorama/10.jpg +0 -0
  583. data/lib/starter_web/assets/image/modules/gallery/panorama/11.jpg +0 -0
  584. data/lib/starter_web/assets/image/modules/gallery/panorama/12.jpg +0 -0
  585. data/lib/starter_web/assets/image/modules/gallery/panorama/2.jpg +0 -0
  586. data/lib/starter_web/assets/image/modules/gallery/panorama/3.jpg +0 -0
  587. data/lib/starter_web/assets/image/modules/gallery/panorama/4.jpg +0 -0
  588. data/lib/starter_web/assets/image/modules/gallery/panorama/5.jpg +0 -0
  589. data/lib/starter_web/assets/image/modules/gallery/panorama/6.jpg +0 -0
  590. data/lib/starter_web/assets/image/modules/gallery/panorama/7.jpg +0 -0
  591. data/lib/starter_web/assets/image/modules/gallery/panorama/8.jpg +0 -0
  592. data/lib/starter_web/assets/image/modules/gallery/panorama/9.jpg +0 -0
  593. data/lib/starter_web/assets/image/modules/icons/algolia/search-by-algolia.png +0 -0
  594. data/lib/starter_web/assets/image/modules/icons/asciidoc/logo-512x512.png +0 -0
  595. data/lib/starter_web/assets/image/modules/icons/bootstrap/bootstrap-solid-32x32.png +0 -0
  596. data/lib/starter_web/assets/image/modules/icons/bootstrap/bs-docs-masthead-pattern.png +0 -0
  597. data/lib/starter_web/assets/image/modules/icons/bootstrap/scalable/bootstrap-outline.svg +0 -20
  598. data/lib/starter_web/assets/image/modules/icons/bootstrap/scalable/bootstrap-punchout.svg +0 -18
  599. data/lib/starter_web/assets/image/modules/icons/bootstrap/scalable/bootstrap-solid.svg +0 -17
  600. data/lib/starter_web/assets/image/modules/icons/components/angular.ui.png +0 -0
  601. data/lib/starter_web/assets/image/modules/icons/components/angularjs.png +0 -0
  602. data/lib/starter_web/assets/image/modules/icons/components/aws.png +0 -0
  603. data/lib/starter_web/assets/image/modules/icons/components/bootstrap.png +0 -0
  604. data/lib/starter_web/assets/image/modules/icons/components/c9.png +0 -0
  605. data/lib/starter_web/assets/image/modules/icons/components/chai.png +0 -0
  606. data/lib/starter_web/assets/image/modules/icons/components/emmet.png +0 -0
  607. data/lib/starter_web/assets/image/modules/icons/components/express.png +0 -0
  608. data/lib/starter_web/assets/image/modules/icons/components/git.png +0 -0
  609. data/lib/starter_web/assets/image/modules/icons/components/github.png +0 -0
  610. data/lib/starter_web/assets/image/modules/icons/components/gulp.png +0 -0
  611. data/lib/starter_web/assets/image/modules/icons/components/heroku.png +0 -0
  612. data/lib/starter_web/assets/image/modules/icons/components/htmlcss-1.png +0 -0
  613. data/lib/starter_web/assets/image/modules/icons/components/htmlcss-2.png +0 -0
  614. data/lib/starter_web/assets/image/modules/icons/components/jasmine.png +0 -0
  615. data/lib/starter_web/assets/image/modules/icons/components/javascript.png +0 -0
  616. data/lib/starter_web/assets/image/modules/icons/components/jquery.png +0 -0
  617. data/lib/starter_web/assets/image/modules/icons/components/kanban.png +0 -0
  618. data/lib/starter_web/assets/image/modules/icons/components/leanux.png +0 -0
  619. data/lib/starter_web/assets/image/modules/icons/components/linkedin.png +0 -0
  620. data/lib/starter_web/assets/image/modules/icons/components/mean.png +0 -0
  621. data/lib/starter_web/assets/image/modules/icons/components/mongodb.png +0 -0
  622. data/lib/starter_web/assets/image/modules/icons/components/node.png +0 -0
  623. data/lib/starter_web/assets/image/modules/icons/components/postgresql.png +0 -0
  624. data/lib/starter_web/assets/image/modules/icons/components/protractor.png +0 -0
  625. data/lib/starter_web/assets/image/modules/icons/components/rails.png +0 -0
  626. data/lib/starter_web/assets/image/modules/icons/components/ruby.png +0 -0
  627. data/lib/starter_web/assets/image/modules/icons/components/sass.png +0 -0
  628. data/lib/starter_web/assets/image/modules/icons/components/scrum.png +0 -0
  629. data/lib/starter_web/assets/image/modules/icons/components/twitter.png +0 -0
  630. data/lib/starter_web/assets/image/modules/icons/j1/favicon.ico +0 -0
  631. data/lib/starter_web/assets/image/modules/icons/j1/j1-256x256.png +0 -0
  632. data/lib/starter_web/assets/image/modules/icons/j1/j1-32x32.ico +0 -0
  633. data/lib/starter_web/assets/image/modules/icons/j1/j1-512x512.png +0 -0
  634. data/lib/starter_web/assets/image/modules/icons/j1/j1-64x64.png +0 -0
  635. data/lib/starter_web/assets/image/modules/icons/j1/j1.ico +0 -0
  636. data/lib/starter_web/assets/image/modules/icons/j1/scalable/j1.svg +0 -2023
  637. data/lib/starter_web/assets/image/modules/icons/netlify/nf-logo.png +0 -0
  638. data/lib/starter_web/assets/image/modules/icons/social/amazon.png +0 -0
  639. data/lib/starter_web/assets/image/modules/icons/social/behance.png +0 -0
  640. data/lib/starter_web/assets/image/modules/icons/social/blogger.png +0 -0
  641. data/lib/starter_web/assets/image/modules/icons/social/dribbble.png +0 -0
  642. data/lib/starter_web/assets/image/modules/icons/social/dropbox.png +0 -0
  643. data/lib/starter_web/assets/image/modules/icons/social/facebook.png +0 -0
  644. data/lib/starter_web/assets/image/modules/icons/social/forrst.png +0 -0
  645. data/lib/starter_web/assets/image/modules/icons/social/github.png +0 -0
  646. data/lib/starter_web/assets/image/modules/icons/social/googleplus.png +0 -0
  647. data/lib/starter_web/assets/image/modules/icons/social/instagram.png +0 -0
  648. data/lib/starter_web/assets/image/modules/icons/social/linkedin.png +0 -0
  649. data/lib/starter_web/assets/image/modules/icons/social/pintrest.png +0 -0
  650. data/lib/starter_web/assets/image/modules/icons/social/rss.png +0 -0
  651. data/lib/starter_web/assets/image/modules/icons/social/scalable/icon-twitter-x-28 - social.svg +0 -86
  652. data/lib/starter_web/assets/image/modules/icons/social/scalable/icon-twitter-x-28.svg +0 -64
  653. data/lib/starter_web/assets/image/modules/icons/social/scalable/icon-twitter-x.svg +0 -1
  654. data/lib/starter_web/assets/image/modules/icons/social/skype.png +0 -0
  655. data/lib/starter_web/assets/image/modules/icons/social/spotify.png +0 -0
  656. data/lib/starter_web/assets/image/modules/icons/social/twitter.png +0 -0
  657. data/lib/starter_web/assets/image/modules/icons/social/twitter_x.png +0 -0
  658. data/lib/starter_web/assets/image/modules/icons/social/vimeo.png +0 -0
  659. data/lib/starter_web/assets/image/modules/icons/social/vk.png +0 -0
  660. data/lib/starter_web/assets/image/modules/icons/social/wordpress.png +0 -0
  661. data/lib/starter_web/assets/image/modules/icons/social/xing.png +0 -0
  662. data/lib/starter_web/assets/image/modules/icons/social/yahoo.png +0 -0
  663. data/lib/starter_web/assets/image/modules/icons/social/youtube.png +0 -0
  664. data/lib/starter_web/assets/video/poster/wistia/sources/banner.psd +0 -0
  665. data/lib/starter_web/assets/video/poster/wistia/sources/logo-text.png +0 -0
  666. data/lib/starter_web/assets/video/poster/wistia/sources/wistia-black.psd +0 -0
  667. data/lib/starter_web/assets/video/poster/wistia/sources/wistia_text_logo_black.jpg +0 -0
  668. data/lib/starter_web/assets/video/poster/youtube/taylor_swift/28-07-_2024_22-21-00.jpg +0 -0
  669. data/lib/starter_web/pages/public/features/template.asciidoc +0 -758
  670. data/lib/starter_web/pages/public/tools/tester/swiper_tester.adoc +0 -796
  671. /data/assets/{error_pages → page}/HTTP204.html +0 -0
  672. /data/assets/{error_pages → page}/HTTP400.html +0 -0
  673. /data/assets/{error_pages → page}/HTTP401.html +0 -0
  674. /data/assets/{error_pages → page}/HTTP403.html +0 -0
  675. /data/assets/{error_pages → page}/HTTP404.html +0 -0
  676. /data/assets/{error_pages → page}/HTTP444.html +0 -0
  677. /data/assets/{error_pages → page}/HTTP445.html +0 -0
  678. /data/assets/{error_pages → page}/HTTP446.html +0 -0
  679. /data/assets/{error_pages → page}/HTTP447.html +0 -0
  680. /data/assets/{error_pages → page}/HTTP448.html +0 -0
  681. /data/assets/{error_pages → page}/HTTP500.html +0 -0
  682. /data/assets/{error_pages → page}/HTTP501.html +0 -0
  683. /data/assets/{error_pages → page}/HTTP502.html +0 -0
  684. /data/assets/{error_pages → page}/HTTP503.html +0 -0
  685. /data/assets/theme/j1/modules/{js-cookies/js/js.cookie.js → cookiejs/js/.cookiejs.js} +0 -0
  686. /data/assets/theme/j1/modules/{js-cookies/js/js.cookie.min.js → cookiejs/js/jcookiejs.min.js} +0 -0
  687. /data/assets/theme/j1/modules/{swiper → swiperjs}/LICENSE +0 -0
  688. /data/assets/theme/j1/modules/{swiper → swiperjs}/README.md +0 -0
  689. /data/assets/theme/j1/modules/{swiper → swiperjs}/css/swiper-bundle.min..css +0 -0
  690. /data/lib/starter_web/assets/audio/album/royalty_free/{disco → !info/disco}/!sound.links.txt +0 -0
  691. /data/lib/starter_web/assets/audio/album/royalty_free/{pop → !info/pop}/!sound.links.txt +0 -0
  692. /data/lib/starter_web/assets/image/{backgrounds → background}/triangles-bg.png +0 -0
  693. /data/lib/starter_web/assets/image/{badges → badge}/configBinder.jpg +0 -0
  694. /data/lib/starter_web/assets/image/{badges → badge}/docsBinder.jpg +0 -0
  695. /data/lib/starter_web/assets/image/{badges → badge}/notebookBinder.jpg +0 -0
  696. /data/lib/starter_web/assets/image/{badges → badge}/png/configBinder.png +0 -0
  697. /data/lib/starter_web/assets/image/{badges → badge}/png/docsBinder.png +0 -0
  698. /data/lib/starter_web/assets/image/{badges → badge}/png/notebookBinder.png +0 -0
  699. /data/lib/starter_web/assets/image/{badges → badge}/scaleable/binder.svg +0 -0
  700. /data/lib/starter_web/assets/image/{badges → badge}/scaleable/configBinder.svg +0 -0
  701. /data/lib/starter_web/assets/image/{badges → badge}/scaleable/docsBinder.svg +0 -0
  702. /data/lib/starter_web/assets/image/{badges → badge}/scaleable/myBinder.svg +0 -0
  703. /data/lib/starter_web/assets/image/{badges → badge}/scaleable/notebookBinder.svg +0 -0
  704. /data/lib/starter_web/assets/image/{blocks → block}/waves/scalable/1920x100/wave-1.svg +0 -0
  705. /data/lib/starter_web/assets/image/{blocks → block}/waves/scalable/1920x100/wave-2.svg +0 -0
  706. /data/lib/starter_web/assets/image/{blocks → block}/waves/scalable/1920x100/wave-3.svg +0 -0
  707. /data/lib/starter_web/assets/image/{blocks → block}/waves/scalable/1920x100/wave-4.svg +0 -0
  708. /data/lib/starter_web/assets/image/{blocks → block}/waves/scalable/1920x100/wave-5.svg +0 -0
  709. /data/lib/starter_web/assets/image/{collections → collection}/books/biography/a_life_in_questions.jpg +0 -0
  710. /data/lib/starter_web/assets/image/{collections → collection}/books/biography/becoming.jpg +0 -0
  711. /data/lib/starter_web/assets/image/{collections → collection}/books/biography/born_to_run.jpg +0 -0
  712. /data/lib/starter_web/assets/image/{collections → collection}/books/biography/forty_autumns.jpg +0 -0
  713. /data/lib/starter_web/assets/image/{collections → collection}/books/biography/not_dead_yet.jpg +0 -0
  714. /data/lib/starter_web/assets/image/{collections → collection}/books/biography/the_princess_diarist.jpg +0 -0
  715. /data/lib/starter_web/assets/image/{collections → collection}/books/biography/when_breath_becomes_air.jpg +0 -0
  716. /data/lib/starter_web/assets/image/{collections → collection}/books/fantasy/harry-potter-deathly-hallows.jpg +0 -0
  717. /data/lib/starter_web/assets/image/{collections → collection}/books/fantasy/harry-potter-philosophers-stone.jpg +0 -0
  718. /data/lib/starter_web/assets/image/{collections → collection}/books/fantasy/mistborn-trilogy.jpg +0 -0
  719. /data/lib/starter_web/assets/image/{collections → collection}/books/fantasy/ready-player-one.jpg +0 -0
  720. /data/lib/starter_web/assets/image/{collections → collection}/books/fantasy/sword-of-destiny.jpg +0 -0
  721. /data/lib/starter_web/assets/image/{collections → collection}/books/fantasy/terry-pratchet-diary.jpg +0 -0
  722. /data/lib/starter_web/assets/image/{collections → collection}/books/romance/breath-of-snow-and-ashes.jpg +0 -0
  723. /data/lib/starter_web/assets/image/{collections → collection}/books/romance/it-ends-with-us.jpg +0 -0
  724. /data/lib/starter_web/assets/image/{collections → collection}/books/romance/outlander-novel.jpg +0 -0
  725. /data/lib/starter_web/assets/image/{collections → collection}/books/romance/outlander-short-story.jpg +0 -0
  726. /data/lib/starter_web/assets/image/{collections → collection}/books/romance/the-fiery-cross.jpg +0 -0
  727. /data/lib/starter_web/assets/image/{collections → collection}/books/romance/the_dressmaker.jpg +0 -0
  728. /data/lib/starter_web/assets/image/{collections → collection}/people/diana-petersen.jpg +0 -0
  729. /data/lib/starter_web/assets/image/{collections → collection}/people/larry-parker.jpg +0 -0
  730. /data/lib/starter_web/assets/image/{collections → collection}/people/parveen-anand.jpg +0 -0
  731. /data/lib/starter_web/assets/image/{collections → collection}/portfolio/1.jpg +0 -0
  732. /data/lib/starter_web/assets/image/{collections → collection}/portfolio/2.jpg +0 -0
  733. /data/lib/starter_web/assets/image/{collections → collection}/portfolio/3.jpg +0 -0
  734. /data/lib/starter_web/assets/image/{collections → collection}/portfolio/4.jpg +0 -0
  735. /data/lib/starter_web/assets/image/{collections → collection}/portfolio/5.jpg +0 -0
  736. /data/lib/starter_web/assets/image/{collections → collection}/portfolio/6.jpg +0 -0
  737. /data/lib/starter_web/assets/image/custom/header/{avatar.svg → scalable/avatar.svg} +0 -0
  738. /data/lib/starter_web/assets/image/{icons → icon}/asciidoc/logo-512x512.png +0 -0
  739. /data/lib/starter_web/assets/image/{icons → icon}/bootstrap/bootstrap-solid-32x32.png +0 -0
  740. /data/lib/starter_web/assets/image/{icons → icon}/bootstrap/bs-docs-masthead-pattern.png +0 -0
  741. /data/lib/starter_web/assets/image/{icons → icon}/bootstrap/scalable/bootstrap-outline.svg +0 -0
  742. /data/lib/starter_web/assets/image/{icons → icon}/bootstrap/scalable/bootstrap-punchout.svg +0 -0
  743. /data/lib/starter_web/assets/image/{icons → icon}/bootstrap/scalable/bootstrap-solid.svg +0 -0
  744. /data/lib/starter_web/assets/image/{icons → icon}/components/angular.ui.png +0 -0
  745. /data/lib/starter_web/assets/image/{icons → icon}/components/angularjs.png +0 -0
  746. /data/lib/starter_web/assets/image/{icons → icon}/components/aws.png +0 -0
  747. /data/lib/starter_web/assets/image/{icons → icon}/components/bootstrap.png +0 -0
  748. /data/lib/starter_web/assets/image/{icons → icon}/components/c9.png +0 -0
  749. /data/lib/starter_web/assets/image/{icons → icon}/components/chai.png +0 -0
  750. /data/lib/starter_web/assets/image/{icons → icon}/components/emmet.png +0 -0
  751. /data/lib/starter_web/assets/image/{icons → icon}/components/express.png +0 -0
  752. /data/lib/starter_web/assets/image/{icons → icon}/components/git.png +0 -0
  753. /data/lib/starter_web/assets/image/{icons → icon}/components/github.png +0 -0
  754. /data/lib/starter_web/assets/image/{icons → icon}/components/gulp.png +0 -0
  755. /data/lib/starter_web/assets/image/{icons → icon}/components/heroku.png +0 -0
  756. /data/lib/starter_web/assets/image/{icons → icon}/components/htmlcss-1.png +0 -0
  757. /data/lib/starter_web/assets/image/{icons → icon}/components/htmlcss-2.png +0 -0
  758. /data/lib/starter_web/assets/image/{icons → icon}/components/jasmine.png +0 -0
  759. /data/lib/starter_web/assets/image/{icons → icon}/components/javascript.png +0 -0
  760. /data/lib/starter_web/assets/image/{icons → icon}/components/jquery.png +0 -0
  761. /data/lib/starter_web/assets/image/{icons → icon}/components/kanban.png +0 -0
  762. /data/lib/starter_web/assets/image/{icons → icon}/components/leanux.png +0 -0
  763. /data/lib/starter_web/assets/image/{icons → icon}/components/linkedin.png +0 -0
  764. /data/lib/starter_web/assets/image/{icons → icon}/components/mean.png +0 -0
  765. /data/lib/starter_web/assets/image/{icons → icon}/components/mongodb.png +0 -0
  766. /data/lib/starter_web/assets/image/{icons → icon}/components/node.png +0 -0
  767. /data/lib/starter_web/assets/image/{icons → icon}/components/postgresql.png +0 -0
  768. /data/lib/starter_web/assets/image/{icons → icon}/components/protractor.png +0 -0
  769. /data/lib/starter_web/assets/image/{icons → icon}/components/rails.png +0 -0
  770. /data/lib/starter_web/assets/image/{icons → icon}/components/ruby.png +0 -0
  771. /data/lib/starter_web/assets/image/{icons → icon}/components/sass.png +0 -0
  772. /data/lib/starter_web/assets/image/{icons → icon}/components/scrum.png +0 -0
  773. /data/lib/starter_web/assets/image/{icons → icon}/components/twitter.png +0 -0
  774. /data/lib/starter_web/assets/image/{icons → icon}/controls/close-icon.svg +0 -0
  775. /data/lib/starter_web/assets/image/{icons → icon}/controls/up.svg +0 -0
  776. /data/lib/starter_web/assets/image/{icons → icon}/github/avatar-icon.png +0 -0
  777. /data/lib/starter_web/assets/image/{icons/hyvor-talk → icon/hyvor}/hyvore-talk.ico +0 -0
  778. /data/lib/starter_web/assets/image/{icons/hyvor-talk → icon/hyvor}/jpg/hyvor-logo.512x512.jpg +0 -0
  779. /data/lib/starter_web/assets/image/{icons/hyvor-talk → icon/hyvor}/png/hyvor-logo.24x24.jpg +0 -0
  780. /data/lib/starter_web/assets/image/{icons/hyvor-talk → icon/hyvor}/png/hyvor-logo.24x24.png +0 -0
  781. /data/lib/starter_web/assets/image/{icons/hyvor-talk → icon/hyvor}/png/hyvor-logo.512x512.png +0 -0
  782. /data/lib/starter_web/assets/image/{icons/hyvor-talk → icon/hyvor}/scalable/hyvor-logo.svg +0 -0
  783. /data/lib/starter_web/assets/image/{icons → icon}/j1/favicon.ico +0 -0
  784. /data/lib/starter_web/assets/image/{icons → icon}/j1/j1-256x256.png +0 -0
  785. /data/lib/starter_web/assets/image/{icons → icon}/j1/j1-32x32.ico +0 -0
  786. /data/lib/starter_web/assets/image/{icons → icon}/j1/j1-512x512.png +0 -0
  787. /data/lib/starter_web/assets/image/{icons → icon}/j1/j1-64x64.png +0 -0
  788. /data/lib/starter_web/assets/image/{icons → icon}/j1/j1.ico +0 -0
  789. /data/lib/starter_web/assets/image/{icons → icon}/j1/jpg/j1-256x256.jpg +0 -0
  790. /data/lib/starter_web/assets/image/{icons → icon}/j1/jpg/j1-512x512.jpg +0 -0
  791. /data/lib/starter_web/assets/image/{icons → icon}/j1/jpg/j1-64x64.jpg +0 -0
  792. /data/lib/starter_web/assets/image/{icons → icon}/j1/png/j1-256x256.png +0 -0
  793. /data/lib/starter_web/assets/image/{icons → icon}/j1/png/j1-512x512.jpg +0 -0
  794. /data/lib/starter_web/assets/image/{icons → icon}/j1/png/j1-512x512.jpg.png +0 -0
  795. /data/lib/starter_web/assets/image/{icons → icon}/j1/png/j1-512x512.png +0 -0
  796. /data/lib/starter_web/assets/image/{icons → icon}/j1/png/j1-64x64.png +0 -0
  797. /data/lib/starter_web/assets/image/{icons → icon}/j1/scalable/j1.svg +0 -0
  798. /data/lib/starter_web/assets/image/{icons → icon}/jekyll/logo-2x.png +0 -0
  799. /data/lib/starter_web/assets/image/{icons → icon}/jekyll/octojekyll.png +0 -0
  800. /data/lib/starter_web/assets/image/{icons → icon}/lanus/favicon.ico +0 -0
  801. /data/lib/starter_web/assets/image/{icons → icon}/lanus/lanus-512x512.png +0 -0
  802. /data/lib/starter_web/assets/image/{icons → icon}/lanus/lanus.ico +0 -0
  803. /data/lib/starter_web/assets/image/{icons → icon}/lanus/lanus.png +0 -0
  804. /data/lib/starter_web/assets/image/{icons → icon}/lanus/scalable/lanus.svg +0 -0
  805. /data/lib/starter_web/assets/image/{icons → icon}/lanus/scalable/lanus_sw.svg +0 -0
  806. /data/lib/starter_web/assets/image/{icons/mdi → icon/mdi/scalable}/mdi.svg +0 -0
  807. /data/lib/starter_web/assets/image/{icons/mdi → icon/mdi/scalable}/mdil.svg +0 -0
  808. /data/lib/starter_web/assets/image/{icons → icon}/os/centos/centos-icon.png +0 -0
  809. /data/lib/starter_web/assets/image/{icons → icon}/os/centos/centos.ico +0 -0
  810. /data/lib/starter_web/assets/image/{icons → icon}/os/suse/suse.gif +0 -0
  811. /data/lib/starter_web/assets/image/{icons → icon}/os/suse/suse.ico +0 -0
  812. /data/lib/starter_web/assets/image/{icons → icon}/os/suse/suse.png +0 -0
  813. /data/lib/starter_web/assets/image/{icons → icon}/os/ubuntu/cof_black_hex.png +0 -0
  814. /data/lib/starter_web/assets/image/{icons → icon}/os/ubuntu/cof_orange_hex.png +0 -0
  815. /data/lib/starter_web/assets/image/{icons → icon}/os/ubuntu/cof_white-black_hex.png +0 -0
  816. /data/lib/starter_web/assets/image/{icons → icon}/os/ubuntu/cof_white-orange_hex.png +0 -0
  817. /data/lib/starter_web/assets/image/{icons → icon}/os/ubuntu/ubuntu.ico +0 -0
  818. /data/lib/starter_web/assets/image/{icons → icon}/os/windows/windows.png +0 -0
  819. /data/lib/starter_web/assets/image/{icons → icon}/os/windows/windows_flags_color.ico +0 -0
  820. /data/lib/starter_web/assets/image/{icons → icon}/os/windows/windows_hdd.ico +0 -0
  821. /data/lib/starter_web/assets/image/{icons → icon}/os/windows/windows_store.ico +0 -0
  822. /data/lib/starter_web/assets/image/{icons → icon}/social/amazon.png +0 -0
  823. /data/lib/starter_web/assets/image/{icons → icon}/social/behance.png +0 -0
  824. /data/lib/starter_web/assets/image/{icons → icon}/social/blogger.png +0 -0
  825. /data/lib/starter_web/assets/image/{icons → icon}/social/deviantart.png +0 -0
  826. /data/lib/starter_web/assets/image/{icons → icon}/social/dribbble.png +0 -0
  827. /data/lib/starter_web/assets/image/{icons → icon}/social/dropbox.png +0 -0
  828. /data/lib/starter_web/assets/image/{icons → icon}/social/evernote.png +0 -0
  829. /data/lib/starter_web/assets/image/{icons → icon}/social/facebook.png +0 -0
  830. /data/lib/starter_web/assets/image/{icons → icon}/social/forrst.png +0 -0
  831. /data/lib/starter_web/assets/image/{icons → icon}/social/github.png +0 -0
  832. /data/lib/starter_web/assets/image/{icons → icon}/social/googleplus.png +0 -0
  833. /data/lib/starter_web/assets/image/{icons → icon}/social/instagram.png +0 -0
  834. /data/lib/starter_web/assets/image/{icons → icon}/social/jolicloud.png +0 -0
  835. /data/lib/starter_web/assets/image/{icons → icon}/social/last-fm.png +0 -0
  836. /data/lib/starter_web/assets/image/{icons → icon}/social/linkedin.png +0 -0
  837. /data/lib/starter_web/assets/image/{icons → icon}/social/picasa.png +0 -0
  838. /data/lib/starter_web/assets/image/{icons → icon}/social/pintrest.png +0 -0
  839. /data/lib/starter_web/assets/image/{icons → icon}/social/rss.png +0 -0
  840. /data/lib/starter_web/assets/image/{icons → icon/social}/scalable/facebook.svg +0 -0
  841. /data/lib/starter_web/assets/image/{icons → icon/social}/scalable/google.svg +0 -0
  842. /data/lib/starter_web/assets/image/{icons → icon/social}/scalable/ibm.svg +0 -0
  843. /data/lib/starter_web/assets/image/{icons → icon/social}/scalable/microsoft.svg +0 -0
  844. /data/lib/starter_web/assets/image/{icons → icon}/social/skype.png +0 -0
  845. /data/lib/starter_web/assets/image/{icons → icon}/social/spotify.png +0 -0
  846. /data/lib/starter_web/assets/image/{icons → icon}/social/stumbleupon.png +0 -0
  847. /data/lib/starter_web/assets/image/{icons → icon}/social/tumblr.png +0 -0
  848. /data/lib/starter_web/assets/image/{icons → icon}/social/twitter.png +0 -0
  849. /data/lib/starter_web/assets/image/{icons → icon}/social/vimeo.png +0 -0
  850. /data/lib/starter_web/assets/image/{icons → icon}/social/vk.png +0 -0
  851. /data/lib/starter_web/assets/image/{icons → icon}/social/wordpress.png +0 -0
  852. /data/lib/starter_web/assets/image/{icons → icon}/social/xing.png +0 -0
  853. /data/lib/starter_web/assets/image/{icons → icon}/social/yahoo.png +0 -0
  854. /data/lib/starter_web/assets/image/{icons → icon}/social/youtube.png +0 -0
  855. /data/lib/starter_web/assets/image/{icons → icon}/tv/Index of -tv-logos-.url +0 -0
  856. /data/lib/starter_web/assets/image/{icons → icon}/tv/TV from Germany - LyngSat Logo.url +0 -0
  857. /data/lib/starter_web/assets/image/{icons → icon}/tv/Zeichnung.svg +0 -0
  858. /data/lib/starter_web/assets/image/{icons → icon}/tv/ard-icon-16x16.ico +0 -0
  859. /data/lib/starter_web/assets/image/{icons → icon}/tv/ard-icon-24x24.png +0 -0
  860. /data/lib/starter_web/assets/image/{icons → icon}/tv/ard-icon-512x512.png +0 -0
  861. /data/lib/starter_web/assets/image/{icons → icon}/tv/ard-icon.jpg +0 -0
  862. /data/lib/starter_web/assets/image/{icons → icon}/tv/ard-icon.jpg (353/303/227353).url" +0 -0
  863. /data/lib/starter_web/assets/image/{icons → icon}/tv/ard-icon.png +0 -0
  864. /data/lib/starter_web/assets/image/{icons → icon}/tv/ard-logo-png_seeklogo-428343.png +0 -0
  865. /data/lib/starter_web/assets/image/{icons → icon}/tv/cytec-tvlogos- collection of mostly german tv channel logos.url +0 -0
  866. /data/lib/starter_web/assets/image/{icons → icon}/tv/output_image.jpg +0 -0
  867. /data/lib/starter_web/assets/image/{icons → icon}/tv/pang.ping +0 -0
  868. /data/lib/starter_web/assets/image/{icons → icon}/tv/tv-logos-countries-germany-0_all_logos_mosaic.md at main /302/267 tv-logo-tv-logos.url" +0 -0
  869. /data/lib/starter_web/assets/image/{icons → icon}/videojs/videojs-logo.png +0 -0
  870. /data/lib/starter_web/assets/image/{icons → icon}/videojs/videojs-poster.png +0 -0
  871. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/alexander-redl.jpg +0 -0
  872. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/alina-grubnyak.jpg +0 -0
  873. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/andrea-badino.jpg +0 -0
  874. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/brad-neathery.jpg +0 -0
  875. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/brigitta-schneiter.jpg +0 -0
  876. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/bruno-figueiredo.jpg +0 -0
  877. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/build-with-gemini.jpg +0 -0
  878. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/clem-onojeghuo.jpg +0 -0
  879. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/crawford-jolly.jpg +0 -0
  880. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/eleni-afiontzi.jpg +0 -0
  881. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/fly-d.jpg +0 -0
  882. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/guillaume-bolduc.jpg +0 -0
  883. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/harpal-singh.jpg +0 -0
  884. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/hayden-mills-2.jpg +0 -0
  885. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/isaac-davis.jpg +0 -0
  886. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/j1-content-mockup-1.jpg +0 -0
  887. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/j1-content-mockup-2.jpg +0 -0
  888. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/j1-content-mockup-3.jpg +0 -0
  889. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/j1-starter-mockup-1.jpg +0 -0
  890. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/john-schnobrich-2.jpg +0 -0
  891. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/josep-martins.jpg +0 -0
  892. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/josh-liu.jpg +0 -0
  893. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/kelly-sikkemal.jpg +0 -0
  894. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/kira-auf-der-heide.jpg +0 -0
  895. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/kristopher-roller.jpg +0 -0
  896. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/matthaeus.jpg +0 -0
  897. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/melanie-deziel.jpg +0 -0
  898. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/milad-fakurian.jpg +0 -0
  899. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/mohammad-rahmani.jpg +0 -0
  900. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/nasa.jpg +0 -0
  901. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/quino-al-2.jpg +0 -0
  902. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/recha-oktaviani.jpg +0 -0
  903. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/admin-dashboard-bootstrap-1280x600.jpg +0 -0
  904. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/building-blocks-1920x1280.jpg +0 -0
  905. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/christina-1920x1280.jpg +0 -0
  906. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/cookies-1920x1200.jpg +0 -0
  907. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/franck-1920x1280.jpg +0 -0
  908. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/giammarco-boscaro-1920x1280.jpg +0 -0
  909. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/ideas-start-here-1920x1280-bw.jpg +0 -0
  910. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/ideas-start-here-1920x1280.jpg +0 -0
  911. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/jessica-ruscello-1920x1280.jpg +0 -0
  912. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/joanna-kosinska-1920x1280.jpg +0 -0
  913. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/katie-moum-1920x1280.jpg +0 -0
  914. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/leon-1920x1280.jpg +0 -0
  915. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/lianhao-1920x1280.jpg +0 -0
  916. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/library-1920x1280.jpg +0 -0
  917. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/lunr-1280x800.jpg +0 -0
  918. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/machine-generator-1920x1280.jpg +0 -0
  919. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/markus-krisetya-1920x1280.jpg +0 -0
  920. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/markus-spiske-1920x1280.jpg +0 -0
  921. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/markus-spiske4-1920x1280.jpg +0 -0
  922. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/matthaeus-1920x1280.jpg +0 -0
  923. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/matthew-dockery-1920x1280.jpg +0 -0
  924. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/no-time-1920x1280.jpg +0 -0
  925. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/placeholder/1x1.png +0 -0
  926. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/placeholder/transparent-1920x1280.png +0 -0
  927. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/rirri-1920x1280.jpg +0 -0
  928. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/shubham-dhage-1920x1280.jpg +0 -0
  929. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/shutterstock_sponsor-1920x1280.jpg +0 -0
  930. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/sigmund-1920x1280.jpg +0 -0
  931. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/szabo-viktor-1920x1280.jpg +0 -0
  932. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/themes-1920x1280-bw.jpg +0 -0
  933. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/tldr-1920x800.jpg +0 -0
  934. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/vladislav-klapin-1920x1280.jpg +0 -0
  935. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/yellow-cactus-1920x1280.jpg +0 -0
  936. /data/lib/starter_web/assets/image/{modules → module}/carousel/cats/cat-1.jpg +0 -0
  937. /data/lib/starter_web/assets/image/{modules → module}/carousel/cats/cat-2.jpg +0 -0
  938. /data/lib/starter_web/assets/image/{modules → module}/carousel/cats/cat-3.jpg +0 -0
  939. /data/lib/starter_web/assets/image/{modules → module}/carousel/cats/cat-4.jpg +0 -0
  940. /data/lib/starter_web/assets/image/{modules → module}/carousel/cats/cat-5.jpg +0 -0
  941. /data/lib/starter_web/assets/image/{modules → module}/carousel/cats/cat-6.jpg +0 -0
  942. /data/lib/starter_web/assets/image/{modules → module}/carousel/cats/cat-7.jpg +0 -0
  943. /data/lib/starter_web/assets/image/{modules → module}/carousel/cats/cat-8.jpg +0 -0
  944. /data/lib/starter_web/assets/image/{modules → module}/carousel/mega_cities/andreas-brucker_b.jpg +0 -0
  945. /data/lib/starter_web/assets/image/{modules → module}/carousel/mega_cities/denys-nevozhai-1_b.jpg +0 -0
  946. /data/lib/starter_web/assets/image/{modules → module}/carousel/mega_cities/denys-nevozhai-2_b.jpg +0 -0
  947. /data/lib/starter_web/assets/image/{modules → module}/carousel/mega_cities/luca-bravo_b.jpg +0 -0
  948. /data/lib/starter_web/assets/image/{modules → module}/carousel/mega_cities/thomas-tucker_b.jpg +0 -0
  949. /data/lib/starter_web/assets/image/{modules/gallery/mega_cities/info/authors.txt → module/gallery/mega_citiy/!info/author.txt} +0 -0
  950. /data/lib/starter_web/assets/image/{modules/gallery/old_times/image_01.jpg → module/gallery/old_time/image/grand_pa/image-1.jpg} +0 -0
  951. /data/lib/starter_web/assets/image/{modules/gallery/old_times/image_02.jpg → module/gallery/old_time/image/grand_pa/image-2.jpg} +0 -0
  952. /data/lib/starter_web/assets/image/{modules/gallery/old_times/image_03.jpg → module/gallery/old_time/image/grand_pa/image-3.jpg} +0 -0
  953. /data/lib/starter_web/assets/image/{modules/gallery/old_times/image_04.jpg → module/gallery/old_time/image/grand_pa/image-4.jpg} +0 -0
  954. /data/lib/starter_web/assets/image/{modules/lightbox → module/lightbox/image}/close.png +0 -0
  955. /data/lib/starter_web/assets/image/{modules/lightbox → module/lightbox/image}/loading.gif +0 -0
  956. /data/lib/starter_web/assets/image/{modules/lightbox → module/lightbox/image}/next.png +0 -0
  957. /data/lib/starter_web/assets/image/{modules/lightbox → module/lightbox/image}/prev.png +0 -0
  958. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_1/cat-1.jpg +0 -0
  959. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_1/cat-2.jpg +0 -0
  960. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_1/cat-3.jpg +0 -0
  961. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_1/cat-4.jpg +0 -0
  962. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_1/cat-5.jpg +0 -0
  963. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_1/cat-6.jpg +0 -0
  964. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_1/cat-7.jpg +0 -0
  965. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_1/cat-8.jpg +0 -0
  966. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_10/panorama-bg-slide1.jpg +0 -0
  967. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_10/panorama-bg-slide2.jpg +0 -0
  968. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_2/andreas-brucker.jpg +0 -0
  969. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_2/denys-nevozhai-1.jpg +0 -0
  970. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_2/denys-nevozhai-2.jpg +0 -0
  971. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_2/luca-bravo.jpg +0 -0
  972. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_2/thomas-tucker.jpg +0 -0
  973. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_3/ms-free-food-family-2.jpg +0 -0
  974. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_3/ms-free-food-hamburger.jpg +0 -0
  975. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_3/ms-free-food-restaurant.jpg +0 -0
  976. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-1-100x80.jpg +0 -0
  977. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-1.jpg +0 -0
  978. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-2-100x80.jpg +0 -0
  979. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-2.jpg +0 -0
  980. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-3-100x80.jpg +0 -0
  981. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-3.jpg +0 -0
  982. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-4-100x80.jpg +0 -0
  983. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-4.jpg +0 -0
  984. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-5-100x80.jpg +0 -0
  985. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-5.jpg +0 -0
  986. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-6-100x80.jpg +0 -0
  987. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-6.jpg +0 -0
  988. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-7-100x80.jpg +0 -0
  989. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-7.jpg +0 -0
  990. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-family-140x80.jpg +0 -0
  991. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-family-2-140x80.jpg +0 -0
  992. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-family-2.jpg +0 -0
  993. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-family-3-140x80.jpg +0 -0
  994. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-family-3.jpg +0 -0
  995. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-family.jpg +0 -0
  996. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-hamburger-140x80.jpg +0 -0
  997. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-hamburger.jpg +0 -0
  998. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-pizza-140x80.jpg +0 -0
  999. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-pizza.jpg +0 -0
  1000. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-table-140x80.jpg +0 -0
  1001. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-table.jpg +0 -0
  1002. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-woman-hand-140x80.jpg +0 -0
  1003. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-woman-hand.jpg +0 -0
  1004. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_6_7/6876385555_74a0d7d7ee_b.jpg +0 -0
  1005. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_6_7/6876387431_d86867a3d9_b.jpg +0 -0
  1006. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_6_7/6876388511_d618d53455_b.jpg +0 -0
  1007. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_6_7/6876389463_db27a377e1_b.jpg +0 -0
  1008. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_6_7/6876390339_2e4dd9dbbb_b.jpg +0 -0
  1009. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_8/postslider-5-img-1.jpg +0 -0
  1010. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_8/postslider-5-img-2.jpg +0 -0
  1011. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_8/postslider-5-img-3.jpg +0 -0
  1012. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_8/postslider6-bg-slide2-1024x622.jpg +0 -0
  1013. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_9/1-2.jpg +0 -0
  1014. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_9/5-2.jpg +0 -0
  1015. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_9/6-2.jpg +0 -0
  1016. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_9/6-3.jpg +0 -0
  1017. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_9/8-1.jpg +0 -0
  1018. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_9/8.jpg +0 -0
  1019. /data/lib/starter_web/assets/image/{modules → module}/masterslider/unify-examples/charity-white-tile-bg.png +0 -0
  1020. /data/lib/starter_web/assets/image/{modules → module}/masterslider/unify-examples/fashion2-controller-arrow-next.png +0 -0
  1021. /data/lib/starter_web/assets/image/{modules → module}/masterslider/unify-examples/fashion2-controller-arrow-prv.png +0 -0
  1022. /data/lib/starter_web/assets/image/{modules → module}/masterslider/unify-examples/fashion2-img-slide1.jpg +0 -0
  1023. /data/lib/starter_web/assets/image/{modules → module}/masterslider/unify-examples/fashion2-img-slide2.jpg +0 -0
  1024. /data/lib/starter_web/assets/image/{modules → module}/masterslider/unify-examples/fashion2-img-slide3.jpg +0 -0
  1025. /data/lib/starter_web/assets/image/{modules → module}/masterslider/wp-examples/ms-free-business-1.jpg +0 -0
  1026. /data/lib/starter_web/assets/image/{modules → module}/masterslider/wp-examples/ms-free-business-2.jpg +0 -0
  1027. /data/lib/starter_web/assets/image/{modules → module}/masterslider/wp-examples/ms-free-business-3.jpg +0 -0
  1028. /data/lib/starter_web/assets/image/{pages → page}/asciidoc_skeletons/example-pdf-screenshot.jpg +0 -0
  1029. /data/lib/starter_web/assets/image/{pages → page}/core_web_vitals/200-create-a-link-1.jpg +0 -0
  1030. /data/lib/starter_web/assets/image/{pages → page}/core_web_vitals/core_web_vitals_best.jpg +0 -0
  1031. /data/lib/starter_web/assets/image/{pages → page}/core_web_vitals/core_web_vitals_best_full.jpg +0 -0
  1032. /data/lib/starter_web/assets/image/{pages → page}/egrid/bg.png +0 -0
  1033. /data/lib/starter_web/assets/image/{pages → page}/egrid/black_denim.png +0 -0
  1034. /data/lib/starter_web/assets/image/{pages → page}/egrid/explanation.png +0 -0
  1035. /data/lib/starter_web/assets/image/{pages → page}/egrid/html_markup.png +0 -0
  1036. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/1.jpg +0 -0
  1037. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/10.jpg +0 -0
  1038. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/11.jpg +0 -0
  1039. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/12.jpg +0 -0
  1040. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/13.jpg +0 -0
  1041. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/14.jpg +0 -0
  1042. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/15.jpg +0 -0
  1043. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/16.jpg +0 -0
  1044. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/17.jpg +0 -0
  1045. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/18.jpg +0 -0
  1046. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/19.jpg +0 -0
  1047. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/2.jpg +0 -0
  1048. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/20.jpg +0 -0
  1049. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/3.jpg +0 -0
  1050. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/4.jpg +0 -0
  1051. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/5.jpg +0 -0
  1052. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/6.jpg +0 -0
  1053. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/7.jpg +0 -0
  1054. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/8.jpg +0 -0
  1055. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/9.jpg +0 -0
  1056. /data/lib/starter_web/assets/image/{pages → page}/egrid/loading.gif +0 -0
  1057. /data/lib/starter_web/assets/image/{pages → page}/egrid/loading_dark.gif +0 -0
  1058. /data/lib/starter_web/assets/image/{pages → page}/egrid/nav-icon.png +0 -0
  1059. /data/lib/starter_web/assets/image/{pages → page}/egrid/nav.png +0 -0
  1060. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/1.jpg +0 -0
  1061. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/10.jpg +0 -0
  1062. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/11.jpg +0 -0
  1063. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/12.jpg +0 -0
  1064. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/13.jpg +0 -0
  1065. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/14.jpg +0 -0
  1066. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/15.jpg +0 -0
  1067. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/16.jpg +0 -0
  1068. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/17.jpg +0 -0
  1069. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/18.jpg +0 -0
  1070. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/19.jpg +0 -0
  1071. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/1a.jpg +0 -0
  1072. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/2.jpg +0 -0
  1073. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/20.jpg +0 -0
  1074. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/3.jpg +0 -0
  1075. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/4.jpg +0 -0
  1076. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/5.jpg +0 -0
  1077. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/6.jpg +0 -0
  1078. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/7.jpg +0 -0
  1079. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/8.jpg +0 -0
  1080. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/9.jpg +0 -0
  1081. /data/lib/starter_web/assets/image/{pages → page}/features/blog-post-navigator-1280x1000.jpg +0 -0
  1082. /data/lib/starter_web/assets/image/{pages → page}/features/bootswatch-themes-1280x800.jpg +0 -0
  1083. /data/lib/starter_web/assets/image/{pages → page}/features/clipboard-1280x600.jpg +0 -0
  1084. /data/lib/starter_web/assets/image/{pages → page}/features/comments-1280x600.jpg +0 -0
  1085. /data/lib/starter_web/assets/image/{pages → page}/features/cookie-consent-1280x800.jpg +0 -0
  1086. /data/lib/starter_web/assets/image/{pages → page}/features/desktop-web-navigation-1280x1000.jpg +0 -0
  1087. /data/lib/starter_web/assets/image/{pages → page}/features/example-content-1280x800.jpg +0 -0
  1088. /data/lib/starter_web/assets/image/{pages → page}/features/example-content-present-videos-1280x800.jpg +0 -0
  1089. /data/lib/starter_web/assets/image/{pages → page}/features/fab-1280x500.jpg +0 -0
  1090. /data/lib/starter_web/assets/image/{pages → page}/features/full-text-search-1280x800.jpg +0 -0
  1091. /data/lib/starter_web/assets/image/{pages → page}/features/global-mobile-traffic-1920x1080.jpg +0 -0
  1092. /data/lib/starter_web/assets/image/{pages → page}/features/google-lighthouse-1080x300.jpg +0 -0
  1093. /data/lib/starter_web/assets/image/{pages → page}/features/intro-panel-1280x800.jpg +0 -0
  1094. /data/lib/starter_web/assets/image/{pages → page}/features/master-header-1280x600.jpg +0 -0
  1095. /data/lib/starter_web/assets/image/{pages → page}/features/mobile-navigation-600x800.jpg +0 -0
  1096. /data/lib/starter_web/assets/image/{pages → page}/features/native-speakers-by-language.jpg +0 -0
  1097. /data/lib/starter_web/assets/image/{pages → page}/features/nav-module-1280x300.jpg +0 -0
  1098. /data/lib/starter_web/assets/image/{pages → page}/features/nbi-barchart-1280x800.jpg +0 -0
  1099. /data/lib/starter_web/assets/image/{pages → page}/features/teaser-banner-1280x600.jpg +0 -0
  1100. /data/lib/starter_web/assets/image/{pages → page}/features/translator-1280x800.jpg +0 -0
  1101. /data/lib/starter_web/assets/image/{pages → page}/html_validator/appdevtools-html-validator.jpg +0 -0
  1102. /data/lib/starter_web/assets/image/{pages → page}/html_validator/freeformatter-html-validator.jpg +0 -0
  1103. /data/lib/starter_web/assets/image/{pages → page}/html_validator/w3c-nu-checker.jpg +0 -0
  1104. /data/lib/starter_web/assets/image/{pages → page}/html_validator/w3c-validator.jpg +0 -0
  1105. /data/lib/starter_web/assets/image/{pages → page}/modals/01_frame_modal.jpg +0 -0
  1106. /data/lib/starter_web/assets/image/{pages → page}/modals/02_site_modal.jpg +0 -0
  1107. /data/lib/starter_web/assets/image/{pages → page}/modals/03_central_modal.jpg +0 -0
  1108. /data/lib/starter_web/assets/image/{pages → page}/modals/04_fluid_modal.jpg +0 -0
  1109. /data/lib/starter_web/assets/image/{pages → page}/panels/florian-olivo-1920x800.jpg +0 -0
  1110. /data/lib/starter_web/assets/image/{pages → page}/panels/modules-apps-1920x800.jpg +0 -0
  1111. /data/lib/starter_web/assets/image/{pages → page}/panels/no-time-1920x800.jpg +0 -0
  1112. /data/lib/starter_web/assets/image/{pages → page}/panels/responsive-text-1920x800.jpg +0 -0
  1113. /data/lib/starter_web/assets/image/{pages → page}/panels/the-place-1920x800.jpg +0 -0
  1114. /data/lib/starter_web/assets/image/{pages → page}/posts/adrien-olichon-1920x1280.jpg +0 -0
  1115. /data/lib/starter_web/assets/image/{pages → page}/posts/alejandro-barba-1920x1280.jpg +0 -0
  1116. /data/lib/starter_web/assets/image/{pages → page}/posts/andre-francois-mckenzie-1920x1280.jpg +0 -0
  1117. /data/lib/starter_web/assets/image/{pages → page}/posts/andreas-steger-1920x1280.jpg +0 -0
  1118. /data/lib/starter_web/assets/image/{pages → page}/posts/ansgar-scheffold-1920x1280.jpg +0 -0
  1119. /data/lib/starter_web/assets/image/{pages → page}/posts/ben-white-1920x1280.jpg +0 -0
  1120. /data/lib/starter_web/assets/image/{pages → page}/posts/craig-sybert-1920x1280.jpg +0 -0
  1121. /data/lib/starter_web/assets/image/{pages → page}/posts/danielle-cerullo-1920x1280.jpg +0 -0
  1122. /data/lib/starter_web/assets/image/{pages → page}/posts/deb-dowd-1920x1280.jpg +0 -0
  1123. /data/lib/starter_web/assets/image/{pages → page}/posts/halgatewood-1920x1280.jpg +0 -0
  1124. /data/lib/starter_web/assets/image/{pages → page}/posts/hans-eiskonen-1920x1280.jpg +0 -0
  1125. /data/lib/starter_web/assets/image/{pages → page}/posts/ian-barsby-1920x1280.jpg +0 -0
  1126. /data/lib/starter_web/assets/image/{pages → page}/posts/ivan-aleksic-1920x1280.jpg +0 -0
  1127. /data/lib/starter_web/assets/image/{pages → page}/posts/markus-krisetya-1920x1280.jpg +0 -0
  1128. /data/lib/starter_web/assets/image/{pages → page}/posts/markus-spiske-6-1920x1280.jpg +0 -0
  1129. /data/lib/starter_web/assets/image/{pages → page}/posts/markus-winkler-1920x1280.jpg +0 -0
  1130. /data/lib/starter_web/assets/image/{pages → page}/posts/markus-winkler-2-1920x1280.jpg +0 -0
  1131. /data/lib/starter_web/assets/image/{pages → page}/posts/michelle-cassar-1920x1280.jpg +0 -0
  1132. /data/lib/starter_web/assets/image/{pages → page}/posts/mika-baumeister-1920x1280.jpg +0 -0
  1133. /data/lib/starter_web/assets/image/{pages → page}/posts/science-in-hd-1920x1280.jpg +0 -0
  1134. /data/lib/starter_web/assets/image/{pages → page}/previewer/bs-color-palette.png +0 -0
  1135. /data/lib/starter_web/assets/image/{pages → page}/previewer/material-design-color-palette.jpg +0 -0
  1136. /data/lib/starter_web/assets/image/{pages → page}/previewer/material-design-color-palette.png +0 -0
  1137. /data/lib/starter_web/assets/image/{pages → page}/previewer/tunnel_bear_set_gatewy.jpg +0 -0
  1138. /data/lib/starter_web/assets/image/{pages → page}/previewer/tunnel_bear_subscribe.jpg +0 -0
  1139. /data/lib/starter_web/assets/image/{pages → page}/previewer/tunnel_bear_verify_email_address.jpg +0 -0
  1140. /data/lib/starter_web/assets/image/{pages → page}/skeleton/annie-spratt-1920x1280.jpg +0 -0
  1141. /data/lib/starter_web/assets/image/{pages → page}/skeleton/antonino-visalli-1920x1280.jpg +0 -0
  1142. /data/lib/starter_web/assets/image/{pages → page}/skeleton/humble-lamb-1920x1280.jpg +0 -0
  1143. /data/lib/starter_web/assets/image/{pages → page}/skeleton/library-1920x1280.jpg +0 -0
  1144. /data/lib/starter_web/assets/image/{pages → page}/skeleton/romain-vignes-1920x1280.jpg +0 -0
  1145. /data/lib/starter_web/assets/image/{pages → page}/skeleton/sigmund-1920x1280.jpg +0 -0
  1146. /data/lib/starter_web/assets/image/{pages → page}/tour/100_present_images/lightbox-image-1.jpg +0 -0
  1147. /data/lib/starter_web/assets/image/{pages → page}/tour/100_present_images/lightbox-image-2.jpg +0 -0
  1148. /data/lib/starter_web/assets/image/{pages → page}/tour/100_present_images/lightbox-image-3.jpg +0 -0
  1149. /data/lib/starter_web/assets/image/{pages → page}/tour/100_present_images/lightbox-thumb-1.jpg +0 -0
  1150. /data/lib/starter_web/assets/image/{pages → page}/tour/100_present_images/lightbox-thumb-2.jpg +0 -0
  1151. /data/lib/starter_web/assets/image/{pages → page}/tour/100_present_images/lightbox-thumb-3.jpg +0 -0
  1152. /data/lib/starter_web/assets/image/{pages → page}/tour/410_bs_modals_extentions/avatar.jpg +0 -0
  1153. /data/lib/starter_web/assets/image/{pages → page}/tour/410_bs_modals_extentions/marc.jpg +0 -0
  1154. /data/lib/starter_web/assets/image/{pages → page}/tour/600_quicksearch/quicksearch_icon.jpg +0 -0
  1155. /data/lib/starter_web/assets/image/{pages → page}/tour/600_quicksearch/quicksearch_input.jpg +0 -0
  1156. /data/lib/starter_web/assets/image/{pages → page}/tour/600_quicksearch/quicksearch_results.jpg +0 -0
  1157. /data/lib/starter_web/assets/image/{pages → page}/tour/bootstrap-1920x1000-bw.jpg +0 -0
  1158. /data/lib/starter_web/assets/image/{pages → page}/tour/cards-1920x1280-bw.jpg +0 -0
  1159. /data/lib/starter_web/assets/image/{pages → page}/tour/emojies-1920x1280-bw.jpg +0 -0
  1160. /data/lib/starter_web/assets/image/{pages → page}/tour/icon-fonts-1920x1280-bw.jpg +0 -0
  1161. /data/lib/starter_web/assets/image/{pages → page}/tour/images-1920x1280-bw.jpg +0 -0
  1162. /data/lib/starter_web/assets/image/{pages → page}/tour/puzzle-1920x1280-bw.jpg +0 -0
  1163. /data/lib/starter_web/assets/image/{pages → page}/tour/tables-1920x1280-bw.jpg +0 -0
  1164. /data/lib/starter_web/assets/image/{pages → page}/tour/themes-1920x1280.jpg +0 -0
  1165. /data/lib/starter_web/assets/image/{pages → page}/tour/typography-1920x1280-bw.jpg +0 -0
  1166. /data/lib/starter_web/assets/image/{modules/patterns → pattern/image}/1x1.png +0 -0
  1167. /data/lib/starter_web/assets/image/{modules/patterns → pattern/image}/gridtile.png +0 -0
  1168. /data/lib/starter_web/assets/image/{posts → post}/featured/dynamic-web-access.jpg +0 -0
  1169. /data/lib/starter_web/assets/image/{posts → post}/featured/jamstack-generators.jpg +0 -0
  1170. /data/lib/starter_web/assets/image/{posts → post}/featured/jekyll.1200x400.jpg +0 -0
  1171. /data/lib/starter_web/assets/image/{posts → post}/featured/jekyll.jpg +0 -0
  1172. /data/lib/starter_web/assets/image/{posts → post}/featured/static-web-access.jpg +0 -0
  1173. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-1.jpg +0 -0
  1174. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-10.jpg +0 -0
  1175. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-11.jpg +0 -0
  1176. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-12.jpg +0 -0
  1177. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-13.jpg +0 -0
  1178. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-2.jpg +0 -0
  1179. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-3.jpg +0 -0
  1180. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-4.jpg +0 -0
  1181. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-5.jpg +0 -0
  1182. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-6.jpg +0 -0
  1183. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-7.jpg +0 -0
  1184. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-8.jpg +0 -0
  1185. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-9.jpg +0 -0
  1186. /data/lib/starter_web/assets/image/{posts → post}/post-img.jpg +0 -0
  1187. /data/lib/starter_web/assets/image/{posts → post}/post-single.jpg +0 -0
  1188. /data/lib/starter_web/assets/image/{quotes → quote}/colored-1.jpg +0 -0
  1189. /data/lib/starter_web/assets/image/{quotes → quote}/colored-2.jpg +0 -0
  1190. /data/lib/starter_web/assets/image/{quotes → quote}/default.jpg +0 -0
  1191. /data/lib/starter_web/assets/image/{quotes → quote}/light-blue.jpg +0 -0
  1192. /data/lib/starter_web/assets/image/{quotes → quote}/people.jpg +0 -0
  1193. /data/lib/starter_web/assets/image/{quotes → quote}/promo/home/screenshot.jpg +0 -0
  1194. /data/lib/starter_web/assets/image/{quotes → quote}/promo/jekyll/jekyll-faq.jpg +0 -0
  1195. /data/lib/starter_web/assets/image/{quotes → quote}/promo/jekyll/jekyll-generator.jpg +0 -0
  1196. /data/lib/starter_web/assets/image/{quotes → quote}/promo/jekyll/jekyll-generator.png +0 -0
  1197. /data/lib/starter_web/assets/image/{quotes → quote}/promo/jekyll/jekyll-og.png +0 -0
  1198. /data/lib/starter_web/assets/image/{quotes → quote}/promo/jekyll/scalable/jekyll-faq.psd +0 -0
@@ -6,8 +6,8 @@ regenerate: true
6
6
 
7
7
  {% comment %}
8
8
  # -----------------------------------------------------------------------------
9
- # ~/assets/theme/j1/adapter/js/amplitude.js
10
- # Liquid template to adapt the AmplitudeJS v4 module
9
+ # ~/assets/theme/j1/adapter/js/amplitude.38.js
10
+ # Liquid template to adapt J1 AmplitudeJS Apps
11
11
  #
12
12
  # Product/Info:
13
13
  # https://jekyll.one
@@ -42,7 +42,7 @@ regenerate: true
42
42
  {% comment %} Set config data (settings only)
43
43
  -------------------------------------------------------------------------------- {% endcomment %}
44
44
  {% assign amplitude_defaults = modules.defaults.amplitude.defaults %}
45
- {% assign amplitude_players = modules.amplitude_players.settings %}
45
+ {% assign amplitude_players = modules.amplitude_app.settings %}
46
46
  {% assign amplitude_playlists = modules.amplitude_playlists.settings %}
47
47
 
48
48
  {% comment %} Set config options (settings only)
@@ -63,7 +63,7 @@ regenerate: true
63
63
 
64
64
  /*
65
65
  # -----------------------------------------------------------------------------
66
- # ~/assets/theme/j1/adapter/js/amplitude.js
66
+ # ~/assets/theme/j1/adapter/js/amplitude.38.js
67
67
  # J1 Adapter for the amplitude module
68
68
  #
69
69
  # Product/Info:
@@ -83,8 +83,8 @@ regenerate: true
83
83
  // -----------------------------------------------------------------------------
84
84
  /* eslint indent: "off" */
85
85
  // -----------------------------------------------------------------------------
86
-
87
86
  "use strict";
87
+
88
88
  j1.adapter.amplitude = ((j1, window) => {
89
89
 
90
90
  // global settings
@@ -97,17 +97,6 @@ j1.adapter.amplitude = ((j1, window) => {
97
97
  // module settings
98
98
  // ---------------------------------------------------------------------------
99
99
 
100
- // YT player settings
101
- // ---------------------------------------------------------------------------
102
- // const YT_PLAYER_STATE = {
103
- // not_started: -1,
104
- // ended: 0,
105
- // playing: 1,
106
- // paused: 2,
107
- // buffering: 3,
108
- // video_cued: 5
109
- // };
110
-
111
100
  // control|logging
112
101
  // ---------------------------------------------------------------------------
113
102
  var _this;
@@ -126,22 +115,39 @@ j1.adapter.amplitude = ((j1, window) => {
126
115
 
127
116
  // AmplitudeJS API settings
128
117
  // ---------------------------------------------------------------------------
129
- var ytpSongIndex = "0";
130
- var ytpAutoPlay = false;
131
- var ytpLoop = true;
118
+ const AT_PLAYER_STATE = {
119
+ ENDED: 0,
120
+ PLAYING: 1,
121
+ PAUSED: 2,
122
+ STOPPED: 3,
123
+ PREVIOUS: 4,
124
+ NEXT: 5,
125
+ CHANGED: 6,
126
+ };
127
+
128
+ const AT_PLAYER_STATE_NAMES = {
129
+ 0: "ended",
130
+ 1: "playing",
131
+ 2: "paused",
132
+ 3: "stopped",
133
+ 4: "previous",
134
+ 5: "next",
135
+ 6: "changed",
136
+ };
137
+
132
138
  var playLists = {};
133
139
  var playersUILoaded = { state: false };
134
140
  var apiInitialized = { state: false };
135
- var playList;
136
- var playerID;
137
- var playerType;
138
- var playListTitle;
139
- var playListName;
141
+
142
+ var isFadingIn = false;
143
+ var isFadingOut = false;
144
+
140
145
  var amplitudePlayerState;
141
146
  var amplitudeDefaults;
142
147
  var amplitudePlayers
143
148
  var amplitudePlaylists
144
149
  var amplitudeOptions;
150
+
145
151
  var ytPlayer;
146
152
  var ytpPlaybackRate
147
153
 
@@ -157,7 +163,10 @@ j1.adapter.amplitude = ((j1, window) => {
157
163
  var playersProcessed = [];
158
164
  var playersHtmlLoaded = false;
159
165
  var processingPlayersFinished = false;
160
- var pluginManagerRunOnce = false;
166
+
167
+ var playerSongElementHeigthDesktop = {{amplitude_defaults.player.song_element_heigt_desktop}};
168
+ var playerSongElementHeigthMobile = {{amplitude_defaults.player.song_element_heigth_mobile}};
169
+ var playerAutoScrollSongElement = {{amplitude_defaults.player.player_auto_scroll_song_element}};
161
170
 
162
171
  var playerAudioInfo = ('{{amplitude_defaults.playlist.audio_info}}' === 'true') ? true : false;
163
172
  var playerDefaultPluginManager = ('{{amplitude_defaults.player.plugin_manager.enabled}}' === 'true') ? true : false;
@@ -208,21 +217,24 @@ j1.adapter.amplitude = ((j1, window) => {
208
217
  amplitudePlaylists = $.extend({}, {{amplitude_playlists | replace: 'nil', 'null' | replace: '=>', ':' }});
209
218
  amplitudeOptions = $.extend(true, {}, amplitudeDefaults, amplitudePlayers, amplitudePlaylists);
210
219
 
211
- // save AJS player setiings for later use (e.g. the AJS plugins)
212
- // j1.adapter.amplitude['amplitudeDefaults'] = amplitudeDefaults;
213
- // j1.adapter.amplitude['amplitudeSettings'] = amplitudeSettings;
214
- // j1.adapter.amplitude['amplitudeOptions'] = amplitudeOptions;
215
-
216
220
  // -----------------------------------------------------------------------
217
221
  // control|logging settings
218
222
  // -----------------------------------------------------------------------
219
- _this = j1.adapter.amplitude;
220
- logger = log4javascript.getLogger('j1.adapter.amplitude');
223
+ _this = j1.adapter.amplitude;
224
+ logger = log4javascript.getLogger('j1.adapter.amplitude');
221
225
 
222
226
  // prepare data element for later use
223
227
  j1.adapter.amplitude.data = {};
224
- j1.adapter.amplitude.data.ytpGlobals = {};
228
+ j1.adapter.amplitude.data.atpGlobals = {};
229
+ j1.adapter.amplitude.data.ytpGlobals = {};
225
230
  j1.adapter.amplitude.data.ytPlayers = {};
231
+
232
+ // (initial) YT player data for later use (e.g. events)
233
+ j1.adapter.amplitude.data.activePlayer = 'not_set';
234
+ j1.adapter.amplitude.data.playerSongElementHeigth = 'not_set';
235
+ j1.adapter.amplitude.data.atpGlobals.activePlayerType = 'not_set';
236
+ j1.adapter.amplitude.data.atpGlobals.ytpInstalled = false;
237
+ j1.adapter.amplitude.data.ytpGlobals.activePlayerType = 'not_set';
226
238
 
227
239
  // -----------------------------------------------------------------------
228
240
  // module initializer
@@ -231,14 +243,18 @@ j1.adapter.amplitude = ((j1, window) => {
231
243
  var pageState = $('#content').css("display");
232
244
  var pageVisible = (pageState === 'block') ? true : false;
233
245
  var j1CoreFinished = (j1.getState() === 'finished') ? true : false;
246
+ var atticFinished = (j1.adapter.attic.getState() == 'finished') ? true : false;
234
247
 
235
- if (j1CoreFinished && pageVisible) {
248
+ if (j1CoreFinished && pageVisible && atticFinished) {
236
249
  startTimeModule = Date.now();
237
250
 
238
251
  _this.setState('started');
239
252
  logger.debug('\n' + 'module state: ' + _this.getState());
240
253
  logger.info('\n' + 'module is being initialized');
241
254
 
255
+ // set default viewport setting
256
+ j1.adapter.amplitude.data.playerSongElementHeigth = playerSongElementHeigthDesktop;
257
+
242
258
  // -------------------------------------------------------------------
243
259
  // create global playlist (songs)
244
260
  // -------------------------------------------------------------------
@@ -263,7 +279,7 @@ j1.adapter.amplitude = ((j1, window) => {
263
279
  }, 10); // END dependencies_met_players_loaded
264
280
 
265
281
  // -------------------------------------------------------------------
266
- // initialize player specific UI events
282
+ // initialize player specific events
267
283
  // -------------------------------------------------------------------
268
284
  var dependencies_met_api_initialized = setInterval (() => {
269
285
  if (apiInitialized.state) {
@@ -273,6 +289,24 @@ j1.adapter.amplitude = ((j1, window) => {
273
289
  } // END if apiInitialized
274
290
  }, 10); // END dependencies_met_api_initialized
275
291
 
292
+ // initialize viewPort specific (GLOBAL) settings
293
+ $(window).bind('resizeEnd', function() {
294
+ var viewPortSize = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);
295
+ //do something, window hasn't changed size in 500ms
296
+ if (viewPortSize > 578) {
297
+ j1.adapter.amplitude.data.playerSongElementHeigth = playerSongElementHeigthDesktop;
298
+ } else {
299
+ j1.adapter.amplitude.data.playerSongElementHeigth = playerSongElementHeigthMobile;
300
+ }
301
+ });
302
+
303
+ $(window).resize(function() {
304
+ if(this.resizeTO) clearTimeout(this.resizeTO);
305
+ this.resizeTO = setTimeout(function() {
306
+ $(this).trigger('resizeEnd');
307
+ }, 500);
308
+ });
309
+
276
310
  clearInterval(dependencies_met_page_ready);
277
311
  } // END pageVisible
278
312
  }, 10); // END dependencies_met_page_ready
@@ -320,7 +354,10 @@ j1.adapter.amplitude = ((j1, window) => {
320
354
  continue;
321
355
  } else if (key === 'rating') {
322
356
  song.rating = item[key];
323
- continue;
357
+ continue;
358
+ } else if (key === 'shuffle') {
359
+ song.shuffle = item[key];
360
+ continue;
324
361
  } else {
325
362
  song[key] = item[key];
326
363
  } // END if key
@@ -332,7 +369,7 @@ j1.adapter.amplitude = ((j1, window) => {
332
369
 
333
370
  {% endif %} {% endfor %}
334
371
 
335
- logger.info('\n' + 'creating global playlist (API): finished');
372
+ logger.info('\n' + 'creating global playlist (API): finished');
336
373
  }, // END songLoader
337
374
 
338
375
  // -------------------------------------------------------------------------
@@ -348,7 +385,7 @@ j1.adapter.amplitude = ((j1, window) => {
348
385
 
349
386
  {% for player in amplitude_options.players %} {% if player.enabled %}
350
387
  {% assign xhr_data_path = amplitude_options.xhr_data_path %}
351
- {% capture xhr_container_id %}{{player.id}}_parent{% endcapture %}
388
+ {% capture xhr_container_id %}{{player.id}}_app{% endcapture %}
352
389
 
353
390
  // load players only that are configured in current page
354
391
  //
@@ -408,6 +445,7 @@ j1.adapter.amplitude = ((j1, window) => {
408
445
  // initApi
409
446
  // -------------------------------------------------------------------------
410
447
  initApi: (songlist) => {
448
+
411
449
  logger.info('\n' + 'initialze API: started');
412
450
 
413
451
  {% comment %} collect playlists
@@ -424,16 +462,25 @@ j1.adapter.amplitude = ((j1, window) => {
424
462
  {% assign playlist_title = list.title %}
425
463
 
426
464
  {% comment %} collect song items
465
+ NOTE: configure all properties avaialble in songs array
427
466
  ------------------------------------------------------------------------ {% endcomment %}
428
467
  {% for item in playlist_items %} {% if item.enabled %}
429
468
  {% capture song_item %}
430
469
  {
431
470
  "name": "{{item.title}}",
471
+ // "track": "{{item.track}}",
432
472
  "artist": "{{item.artist}}",
473
+ "playlist": "{{item.playlist}}",
433
474
  "album": "{{item.name}}",
434
475
  "url": "{{item.audio_base}}/{{item.audio}}",
435
476
  "audio_info": "{{item.audio_info}}",
436
477
  "rating": "{{item.rating}}",
478
+ "start": "{{item.start}}",
479
+ "end": "{{item.end}}",
480
+ "shuffle": "{{item.shuffle}}",
481
+ "duration": "{{item.duration}}",
482
+ // "audio_fade_in": "{{item.audio_fade_in}}",
483
+ // "audio_fade_out": "{{item.audio_fade_out}}",
437
484
  "cover_art_url": "{{item.cover_image}}"
438
485
  }{% if forloop.last %}{% else %},{% endif %}
439
486
  {% endcapture %}
@@ -492,26 +539,40 @@ j1.adapter.amplitude = ((j1, window) => {
492
539
  console.error('\n' + 'Amplitude API failed on initialization');
493
540
  },
494
541
  play: function() {
495
- var songMetaData = Amplitude.getActiveSongMetadata();
496
- logger.debug('\n' + 'playing title: ' + songMetaData.name);
497
- document.getElementById('album-art').style.visibility = 'hidden';
498
- document.getElementById('large-visualization').style.visibility = 'visible';
542
+ // make sure the player is playing
543
+ setTimeout(() => {
544
+ onPlayerStateChange(1);
545
+ }, 150);
499
546
  },
500
547
  pause: function() {
501
- var songMetaData = Amplitude.getActiveSongMetadata();
502
- logger.debug('\n' + 'pause title: ' + songMetaData.name);
503
- document.getElementById('album-art').style.visibility = 'visible';
504
- document.getElementById('large-visualization').style.visibility = 'hidden';
548
+ // make sure the player is paused
549
+ setTimeout(() => {
550
+ onPlayerStateChange(2);
551
+ }, 150);
552
+ },
553
+ stop: function() {
554
+ // make sure the player is stopped
555
+ setTimeout(() => {
556
+ onPlayerStateChange(3);
557
+ }, 150);
505
558
  },
506
559
  song_change: function() {
507
- var songMetaData = Amplitude.getActiveSongMetadata();
508
- logger.debug('\n' + 'changed to title: ' + songMetaData.name + ' with titleIndex ' + songMetaData.index);
560
+ // make sure the player has changed
561
+ setTimeout(() => {
562
+ var currentState = Amplitude.getPlayerState();
563
+ if (currentState === 'stopped') {
564
+ // onPlayerStateChange(3);
565
+ return;
566
+ } else {
567
+ onPlayerStateChange(6);
568
+ }
569
+ }, 150);
509
570
  },
510
- next: function() {
511
- var songMetaData = Amplitude.getActiveSongMetadata();
512
-
571
+ prev: function() {
572
+ var currentState = Amplitude.getPlayerState();
573
+ onPlayerStateChange(4);
513
574
  if (playerDelayNextTitle) {
514
- logger.debug('\n' + 'delay on next title: ' + songMetaData.name + ' with titleIndex ' + songMetaData.index);
575
+ logger.debug('\n' + 'delay on previous title: ' + songMetaData.name + ' with titleIndex ' + songMetaData.index);
515
576
  }
516
577
 
517
578
  if (playerPauseNextTitle) {
@@ -524,12 +585,13 @@ j1.adapter.amplitude = ((j1, window) => {
524
585
  }, 150);
525
586
  } // END if playing
526
587
  } // END if pause on next title
527
- },
528
- prev: function() {
529
- var songMetaData = Amplitude.getActiveSongMetadata();
530
588
 
589
+ return;
590
+ },
591
+ next: function() {
592
+ onPlayerStateChange(5);
531
593
  if (playerDelayNextTitle) {
532
- logger.debug('\n' + 'delay on previous title: ' + songMetaData.name + ' with titleIndex ' + songMetaData.index);
594
+ logger.debug('\n' + 'delay on next title: ' + songMetaData.name + ' with titleIndex ' + songMetaData.index);
533
595
  }
534
596
 
535
597
  if (playerPauseNextTitle) {
@@ -542,6 +604,12 @@ j1.adapter.amplitude = ((j1, window) => {
542
604
  }, 150);
543
605
  } // END if playing
544
606
  } // END if pause on next title
607
+
608
+ return;
609
+ },
610
+ ended: function() {
611
+ onPlayerStateChange(0);
612
+ return;
545
613
  }
546
614
  }, // END callbacks
547
615
 
@@ -556,8 +624,403 @@ j1.adapter.amplitude = ((j1, window) => {
556
624
 
557
625
  }); // END Amplitude init
558
626
 
627
+ // -----------------------------------------------------------------------
628
+ // timestamp2seconds
629
+ //
630
+ // TODO: Add support for timestamp w/o hours like mm:ss
631
+ // -----------------------------------------------------------------------
632
+ function timestamp2seconds(timestamp) {
633
+ // split timestamp
634
+ const parts = timestamp.split(':');
635
+
636
+ // check timestamp format
637
+ if (parts.length !== 3) {
638
+ // return "invalid timestamp";
639
+ return false;
640
+ }
641
+
642
+ // convert parts to integers
643
+ const hours = parseInt(parts[0], 10);
644
+ const minutes = parseInt(parts[1], 10);
645
+ const seconds = parseInt(parts[2], 10);
646
+
647
+ // check valid timestamp values
648
+ if (isNaN(hours) || isNaN(minutes) || isNaN(seconds) ||
649
+ hours < 0 || hours > 23 ||
650
+ minutes < 0 || minutes > 59 ||
651
+ seconds < 0 || seconds > 59) {
652
+ return "invalid timestamp";
653
+ }
654
+
655
+ const totalSeconds = (hours * 3600) + (minutes * 60) + seconds;
656
+
657
+ return totalSeconds;
658
+ } // END timestamp2seconds
659
+
660
+ // -----------------------------------------------------------------------
661
+ // seconds2timestamp
662
+ // -----------------------------------------------------------------------
663
+ function seconds2timestamp(seconds) {
664
+
665
+ if (isNaN(seconds)) {
666
+ return false;
667
+ }
668
+
669
+ const hours = Math.floor(seconds / 3600);
670
+ const minutes = Math.floor((seconds % 3600) / 60);
671
+ const remainSeconds = seconds % 60;
672
+ const tsHours = hours.toString().padStart(2, '0');
673
+ const tsMinutes = minutes.toString().padStart(2, '0');
674
+ const tsSeconds = remainSeconds.toString().padStart(2, '0');
675
+
676
+ return `${tsHours}:${tsMinutes}:${tsSeconds}`;
677
+ } // END seconds2timestamp
678
+
679
+ // -----------------------------------------------------------------------
680
+ // atpFadeInAudio
681
+ // -----------------------------------------------------------------------
682
+ function atpFadeInAudio(params) {
683
+ const cycle = 1;
684
+ var settings, currentStep, steps, sliderID, volumeSlider;
685
+
686
+ isFadingIn = true;
687
+
688
+ // current fade-in settings using DEFAULTS (if available)
689
+ settings = {
690
+ playerID: params.playerID,
691
+ targetVolume: params.targetVolume = 50,
692
+ speed: params.speed = 'default'
693
+ };
694
+
695
+ // number of iteration steps to INCREASE the players volume on fade-in
696
+ // NOTE: number of steps controls how long and smooth the fade-in
697
+ // transition will be
698
+ const iterationSteps = {
699
+ 'default': 150,
700
+ 'slow': 250,
701
+ 'slower': 350,
702
+ 'slowest': 500
703
+ };
704
+
705
+ sliderID = 'volume_slider_' + settings.playerID;
706
+ volumeSlider = document.getElementById(sliderID);
707
+ steps = iterationSteps[settings.speed];
708
+ currentStep = 1;
709
+
710
+ if (volumeSlider === undefined || volumeSlider === null) {
711
+ logger.warn('\n' + 'no volume slider found at playerID: ' + settings.playerID);
712
+ return;
713
+ }
714
+
715
+ // Start the players volume muted
716
+ Amplitude.setVolume(0);
717
+
718
+ const fadeInInterval = setInterval(() => {
719
+ const newVolume = settings.targetVolume * (currentStep / steps);
720
+
721
+ Amplitude.setVolume(newVolume);
722
+ volumeSlider.value = newVolume;
723
+ currentStep++;
724
+
725
+ if (currentStep > steps) {
726
+ isFadingIn = false;
727
+ clearInterval(fadeInInterval);
728
+ }
729
+
730
+ }, cycle);
731
+
732
+ } // END atpFadeInAudio
733
+
734
+ // -----------------------------------------------------------------------
735
+ // atpFadeAudioOut
736
+ //
737
+ // returns true if fade-out is finished
738
+ // -----------------------------------------------------------------------
739
+ function atpFadeAudioOut(params) {
740
+ const cycle = 1;
741
+ var settings, currentStep, steps, sliderID, songs,
742
+ startVolume, newVolume, defaultVolume, volumeSlider;
743
+
744
+ // current fade-out settings using DEFAULTS (if available)
745
+ settings = {
746
+ playerID: params.playerID,
747
+ speed: params.speed = 'default'
748
+ };
749
+
750
+ isFadingOut = true;
751
+
752
+ // number of iteration steps to INCREASE the players volume on fade-in
753
+ // NOTE: number of steps controls how long and smooth the fade-in
754
+ // transition will be
755
+ const iterationSteps = {
756
+ 'default': 150,
757
+ 'slow': 250,
758
+ 'slower': 350,
759
+ 'slowest': 500
760
+ };
761
+
762
+ sliderID = 'volume_slider_' + settings.playerID;
763
+ volumeSlider = document.getElementById(sliderID);
764
+ startVolume = Amplitude.getVolume();
765
+ steps = iterationSteps[settings.speed];
766
+ currentStep = 1;
767
+ defaultVolume = 50;
768
+
769
+ var songMetaData = Amplitude.getActiveSongMetadata();
770
+ var songEndTS = songMetaData.end;
771
+ var playlist = songMetaData.playlist;
772
+ var songIndex = songMetaData.index;
773
+ var trackID = songIndex + 1;
774
+
775
+ if (volumeSlider !== null) {
776
+ const fadeOutInterval = setInterval(() => {
777
+ newVolume = startVolume * (1 - currentStep / steps);
778
+
779
+ Amplitude.setVolume(newVolume);
780
+ volumeSlider.value = newVolume;
781
+ currentStep++;
782
+
783
+ // seek current audio to total end to continue on next track
784
+ if (currentStep > steps) {
785
+ songs = Amplitude.getSongsInPlaylist(playlist);
786
+
787
+ if (songIndex === songs.length-1) {
788
+ logger.debug('\n' + 'restore player volume on last trackID|volume at: ' + trackID + '|' + defaultVolume);
789
+ volumeSlider.value = defaultVolume;
790
+ }
791
+
792
+ isFadingOut = false;
793
+ clearInterval(fadeOutInterval);
794
+ }
795
+ }, cycle);
796
+ } // END if volumeSlider
797
+
798
+ } // END atpFadeAudioOut
799
+
800
+ // -----------------------------------------------------------------------
801
+ // onPlayerStateChange
802
+ //
803
+ // update AT player on state change
804
+ // -----------------------------------------------------------------------
805
+ function onPlayerStateChange(state) {
806
+ var playerID, playlist, songs, songIndex, songIndex, trackID,
807
+ songStart, songEnd, songStartSec, songEndSec,
808
+ songStartTS, songEndTS, songMetaData, currentVolume,
809
+ activeSongMetadata, fadeAudio;
810
+
811
+ activeSongMetadata = Amplitude.getActiveSongMetadata();
812
+ playlist = Amplitude.getActivePlaylist();
813
+ // playlist = activeSongMetadata.playlist
814
+ playerID = playlist + '_large';
815
+ songs = Amplitude.getSongsInPlaylist(playlist);
816
+ songMetaData = Amplitude.getActiveSongMetadata();
817
+ songIndex = songMetaData.index;
818
+ trackID = songIndex + 1;
819
+
820
+ if (state === AT_PLAYER_STATE.UNSTARTED) {
821
+ // logger.debug('\n' + 'current audio state: unstarted');
822
+ return;
823
+ }
824
+
825
+ if (state === AT_PLAYER_STATE.STOPPED) {
826
+ logger.debug('\n' + 'audio player on playlist: ' + playlist + ' at trackID|state: ' + trackID + '|' + AT_PLAYER_STATE_NAMES[state]);
827
+ return;
828
+ }
829
+
830
+ if (state === AT_PLAYER_STATE.PAUSED) {
831
+ logger.debug('\n' + 'audio player on playlist: ' + playlist + ' at trackID|state: ' + trackID + '|' + AT_PLAYER_STATE_NAMES[state]);
832
+ return;
833
+ }
834
+
835
+ if (state === AT_PLAYER_STATE.PREVIOUS) {
836
+ logger.debug('\n' + 'audio player on playlist: ' + playlist + ' at trackID|state: ' + trackID + '|' + AT_PLAYER_STATE_NAMES[state]);
837
+ return;
838
+ }
839
+
840
+ if (state === AT_PLAYER_STATE.NEXT) {
841
+ logger.debug('\n' + 'audio player on playlist: ' + playlist + ' at trackID|state: ' + trackID + '|' + AT_PLAYER_STATE_NAMES[state]);
842
+ return;
843
+ }
844
+
845
+ if (state === AT_PLAYER_STATE.CHANGED) {
846
+ logger.debug('\n' + 'audio player on playlist: ' + playlist + ' at trackID|state: ' + trackID + '|' + AT_PLAYER_STATE_NAMES[state]);
847
+ return;
848
+ }
849
+
850
+ if (state === AT_PLAYER_STATE.PLAYING) {
851
+ var playList, activePlayist, playerID, playerType,
852
+ activePlayerType, startVolume, songIndex,
853
+ ratingIndex, rating, ratingElement,
854
+ screenControlRatingElements, screenControlRating;
855
+
856
+ songMetaData = Amplitude.getActiveSongMetadata();
857
+ songIndex = songMetaData.index;
858
+ playList = songMetaData.playlist;
859
+ playList = Amplitude.getActivePlaylist();
860
+ trackID = songIndex + 1;
861
+
862
+ songStartTS = songMetaData.start;
863
+ songEndTS = songMetaData.end;
864
+ songStartSec = timestamp2seconds(songStartTS);
865
+ songEndSec = timestamp2seconds(songEndTS);
866
+ startVolume = Amplitude.getVolume();
867
+
868
+ logger.debug('\n' + 'audio player on playlist: ' + playList + ' at trackID|state: ' + trackID + '|' + AT_PLAYER_STATE_NAMES[state]);
869
+
870
+ // update song rating in playlist-screen|meta-container
871
+ // -------------------------------------------------------------------
872
+
873
+ // search for ACTIVE screenControlRatingElement
874
+ screenControlRating = null;
875
+ screenControlRatingElements = document.getElementsByClassName('audio-rating-screen-controls');
876
+ for (let i=0; i<screenControlRatingElements.length; i++) {
877
+ ratingElement = screenControlRatingElements[i];
878
+ rating = parseInt(songMetaData.rating);
879
+ playerType = ratingElement.dataset.playerType;
880
+ activePlayerType = j1.adapter.amplitude.data.atpGlobals.activePlayerType;
881
+ activePlayist = songMetaData.playlist
882
+
883
+ if (ratingElement.dataset.amplitudePlaylist === activePlayist && playerType === activePlayerType) {
884
+ ratingIndex = i;
885
+ screenControlRating = ratingElement;
886
+ break;
887
+ }
888
+ }
889
+
890
+ // set the rating for ACTIVE screenControlRatingElements
891
+ if (screenControlRating) {
892
+ if (rating) {
893
+ screenControlRatingElements[ratingIndex].innerHTML = '<img src="/assets/image/pattern/rating/scalable/' + rating + '-star.svg"' + 'alt="song rating">';
894
+ } else {
895
+ screenControlRatingElements[ratingIndex].innerHTML = '';
896
+ }
897
+ } // END if screenControlRating
898
+
899
+ // process audio for configured START position
900
+ // -------------------------------------------------------------------
901
+ var checkIsFading = setInterval (() => {
902
+ if (!isFadingIn) {
903
+ var currentAudioTime = Amplitude.getSongPlayedSeconds();
904
+ if (songStartSec && currentAudioTime <= songStartSec) {
905
+ var songDurationSec = timestamp2seconds(songMetaData.duration);
906
+
907
+ // seek audio to configured START position
908
+ // NOTE: use setSongPlayedPercentage for seeking to NOT
909
+ // generation any addition state changes like stopped
910
+ // or playing
911
+ logger.debug('\n' + 'seek audio in on playlist: ' + playList + ' at|to trackID|timestamp: ' + trackID + '|' + songStartTS);
912
+ Amplitude.setSongPlayedPercentage((songStartSec / songDurationSec) * 100);
913
+
914
+ // fade-in audio (if enabled)
915
+ var fadeAudioIn = (songMetaData.audio_fade_in === 'true') ? true : false;
916
+ if (fadeAudioIn) {
917
+ logger.debug('\n' + 'faden audio in on playlist: ' + playList + ' at|to trackID|timestamp: ' + trackID + '|' + songStartTS);
918
+ atpFadeInAudio({ playerID: playerID });
919
+ } // END if fadeAudio
920
+
921
+ } // END if songStartSec
922
+
923
+ clearInterval(checkIsFading);
924
+ }
925
+ }, 100); // END checkIsFading
926
+
927
+ // check|process audio for configured END position
928
+ // -------------------------------------------------------------------
929
+ if (songEndSec > songStartSec) {
930
+ var checkIsOnVideoEnd = setInterval(() => {
931
+
932
+ if (!isFadingOut) {
933
+ var currentAudioTime = Amplitude.getSongPlayedSeconds();
934
+ var songMetaData = Amplitude.getActiveSongMetadata();
935
+ var songEndTS = songMetaData.end;
936
+ var songEndSec = timestamp2seconds(songEndTS);
937
+
938
+ if (currentAudioTime > songEndSec) {
939
+ songMetaData = Amplitude.getActiveSongMetadata();
940
+ songIndex = songMetaData.index;
941
+ trackID = songIndex + 1;
942
+
943
+ // seek audio out to total end END position
944
+ // NOTE: use setSongPlayedPercentage for seeking to NOT
945
+ // generation any addition state changes like stopped
946
+ // or playing
947
+ logger.debug('\n' + 'seek audio out to end on playlist: ' + playList + ' at trackID|timestamp: ' + trackID + '|' + songEndTS);
948
+ Amplitude.setSongPlayedPercentage(99.99);
949
+
950
+ // fade-out audio (if enabled)
951
+ var fadeAudioOut = (songMetaData.audio_fade_out === 'true') ? true : false;
952
+ if (fadeAudioOut) {
953
+ logger.debug('\n' + 'fade audio out on playlist: ' + playList + ' at|to trackID|timestamp: ' + trackID + '|' + songEndTS);
954
+ atpFadeAudioOut({ playerID: playerID });
955
+ } // END if fadeAudio
956
+
957
+ clearInterval(checkIsOnVideoEnd);
958
+ } // END if currentAudioTime
959
+
960
+ } // END if !isFading
961
+
962
+ }, 100); // END checkIsOnVideoEnd
963
+ } // END if songEndSec
964
+
965
+ // stop active YT players running in parallel
966
+ // -------------------------------------------------------------------
967
+ const ytPlayers = Object.keys(j1.adapter.amplitude.data.ytPlayers);
968
+ for (let i=0; i<ytPlayers.length; i++) {
969
+ const ytPlayerID = ytPlayers[i];
970
+ const playerProperties = j1.adapter.amplitude.data.ytPlayers[ytPlayerID];
971
+
972
+ var player = j1.adapter.amplitude['data']['ytPlayers'][ytPlayerID]['player'];
973
+ var playerState = (player.getPlayerState() > 0) ? player.getPlayerState() : 6;
974
+ var ytPlayerState = YT_PLAYER_STATE_NAMES[playerState];
975
+
976
+ // if (ytPlayerState === 'playing' || ytPlayerState === 'paused' || ytPlayerState === 'buffering' || ytPlayerState === 'cued' || ytPlayerState === 'unstarted') {
977
+ if (ytPlayerState === 'playing' || ytPlayerState === 'paused') {
978
+ logger.debug('\n' + `STOP YT player at onPlayerStateChange for id: ${ytPlayerID}`);
979
+ player.stopVideo();
980
+ j1.adapter.amplitude.data.ytpGlobals.activeIndex = 0;
981
+ }
982
+
983
+ } // END stop active YT players
984
+
985
+ } // END state AT_PLAYER_STATE PLAYING
986
+
987
+ if (state === AT_PLAYER_STATE.ENDED) {
988
+ // Amplitude.setVolume(50);
989
+ } // END state AT_PLAYER_STATE.ENDED
990
+
991
+ } // END onPlayerStateChange
992
+
559
993
  }, // END initApi
560
994
 
995
+ // -------------------------------------------------------------------------
996
+ // monitorPlayerActiveElementChanges
997
+ //
998
+ // -------------------------------------------------------------------------
999
+ monitorPlayerActiveElementChanges: () => {
1000
+ // var playerSongContainers = document.getElementsByClassName("large-player-title-list");
1001
+ var playerSongContainers = document.getElementsByClassName("large-player-title-list");
1002
+ for (var i=0; i<playerSongContainers.length; i++) {
1003
+ var scrollableList = document.getElementById(playerSongContainers[0].id);
1004
+ var observer = new MutationObserver((mutationsList, observer) => {
1005
+ for (const mutation of mutationsList) {
1006
+ if (mutation.type === 'attributes' && mutation.attributeName === 'class') {
1007
+ // Überprüfen, ob das geänderte Element jetzt die aktive Klasse besitzt
1008
+ if (mutation.target.classList.contains('amplitude-active-song-container')) {
1009
+ scrollableList.scrollTop = mutation.target.offsetTop;
1010
+ }
1011
+ }
1012
+ }
1013
+ }); // END observer
1014
+
1015
+ // Optionen für den Observer: Nur Änderungen an Attributen beobachten
1016
+ observer.observe(scrollableList, {
1017
+ attributes: true,
1018
+ subtree: true
1019
+ }); // END observer options
1020
+
1021
+ } // END for playerSongContainers
1022
+ }, // END monitorPlayerActiveElementChanges
1023
+
561
1024
  // -------------------------------------------------------------------------
562
1025
  // initPlayerUiEvents
563
1026
  // -------------------------------------------------------------------------
@@ -572,15 +1035,7 @@ j1.adapter.amplitude = ((j1, window) => {
572
1035
 
573
1036
  {% for player in amplitude_options.players %} {% if player.enabled %}
574
1037
  {% assign xhr_data_path = amplitude_options.xhr_data_path %}
575
- {% capture xhr_container_id %}{{player.id}}_parent{% endcapture %}
576
-
577
- playerID = '{{player.id}}';
578
- playerType = '{{player.type}}';
579
- playList = '{{player.playlist}}';
580
- playListName = '{{player.playlist.name}}'
581
- playListTitle = '{{player.playlist.title}}';
582
-
583
- logger.debug('\n' + 'set playlist {{player.playlist}} on id #{{player.id}} with title: ' + playListTitle);
1038
+ {% capture xhr_container_id %}{{player.id}}_app{% endcapture %}
584
1039
 
585
1040
  // dynamic loader variable to setup the player on ID {{player.id}}
586
1041
  dependency = 'dependencies_met_player_loaded_{{player.id}}';
@@ -590,11 +1045,18 @@ j1.adapter.amplitude = ((j1, window) => {
590
1045
  // initialize player instance (when player UI is loaded)
591
1046
  // -----------------------------------------------------------------
592
1047
  load_dependencies['dependencies_met_player_loaded_{{player.id}}'] = setInterval (() => {
593
- // check if HTML portion of the player is loaded successfully
594
- var xhrLoadState = j1.xhrDOMState['#' + '{{xhr_container_id}}'];
595
- var playerExistsInPage = ($('#' + '{{xhr_container_id}}')[0] !== undefined) ? true : false;
1048
+ var xhrDataLoaded = (j1.xhrDOMState['#' + '{{xhr_container_id}}'] === 'success') ? true : false;
1049
+ var playerExistsInPage = ($('#' + '{{xhr_container_id}}')[0] !== undefined) ? true : false;
596
1050
 
597
- if (xhrLoadState === 'success' && playerExistsInPage) {
1051
+ // check the player HTML portion is loaded and player exists (in page)
1052
+ if (xhrDataLoaded && playerExistsInPage) {
1053
+ var playerID = '{{player.id}}';
1054
+ var playerType = '{{player.type}}';
1055
+ var playList = '{{player.playlist}}';
1056
+ var playListName = '{{player.playlist.name}}';
1057
+ var playListTitle = '{{player.playlist.title}}';
1058
+
1059
+ logger.debug('\n' + 'initialize audio player instance on id: {{player.id}}');
598
1060
 
599
1061
  // set song (title) specific audio info links
600
1062
  // -------------------------------------------------------------
@@ -603,15 +1065,9 @@ j1.adapter.amplitude = ((j1, window) => {
603
1065
  _this.setAudioInfo(infoLinks);
604
1066
  }
605
1067
 
606
- // jadams, 2024-10-19: (song) events DISABLED
607
- // set song (title) specific UI events
1068
+ // set player specific UI events
608
1069
  // -------------------------------------------------------------
609
- // var songElements = document.getElementsByClassName('song');
610
- // _this.songEvents(songElements);
611
-
612
- // player specific UI events
613
- // -------------------------------------------------------------
614
- logger.debug('\n' + 'setup player specific UI events on ID #{{player.id}}: started');
1070
+ logger.debug('\n' + 'setup audio player specific UI events on ID #{{player.id}}: started');
615
1071
 
616
1072
  var dependencies_met_api_initialized = setInterval (() => {
617
1073
  if (apiInitialized.state) {
@@ -641,15 +1097,20 @@ j1.adapter.amplitude = ((j1, window) => {
641
1097
  }
642
1098
  } // END for
643
1099
 
644
- // for (var i=0; i<progressBars.length; i++) {
645
- // progressBars[i].addEventListener('click', function(event) {
646
- // var offset = this.getBoundingClientRect();
647
- // var xpos = event.pageX - offset.left;
648
-
649
- // Amplitude.setSongPlayedPercentage(
650
- // (parseFloat(xpos)/parseFloat(this.offsetWidth))*100);
651
- // });
652
- // }
1100
+ // click on play_pause button (MINI player)
1101
+ var miniPlayerPlayPauseButton = document.getElementsByClassName('mini-player-play-pause');
1102
+ for (var i=0; i<miniPlayerPlayPauseButton.length; i++) {
1103
+ if (miniPlayerPlayPauseButton[i].dataset.amplitudeSource === 'youtube') {
1104
+ // do nothing
1105
+ } else {
1106
+ var currentPlaylist = miniPlayerPlayPauseButton[i].dataset.amplitudePlaylist;
1107
+ if (currentPlaylist === playList) {
1108
+ miniPlayerPlayPauseButton[i].addEventListener('click', function(event) {
1109
+ // do nothing
1110
+ });
1111
+ }
1112
+ }
1113
+ } // END play_pause button (MINI player)
653
1114
 
654
1115
  } // END mini player UI events
655
1116
  {% endif %}
@@ -670,10 +1131,8 @@ j1.adapter.amplitude = ((j1, window) => {
670
1131
  }
671
1132
  }
672
1133
 
673
- // show|hide playlist
674
- // -------------------------------------------------------
675
-
676
1134
  // show playlist
1135
+ // -------------------------------------------------------
677
1136
  var showPlaylist = document.getElementById("show_playlist_{{player.id}}");
678
1137
  if (showPlaylist !== null) {
679
1138
  showPlaylist.addEventListener('click', function(event) {
@@ -701,81 +1160,138 @@ j1.adapter.amplitude = ((j1, window) => {
701
1160
  }
702
1161
  }
703
1162
  }); // END EventListener 'click' (compact player|show playlist)
704
- } // END if showPlaylist
1163
+ } // END if showPlaylist
1164
+
1165
+ // hide playlist
1166
+ // -------------------------------------------------------
1167
+ var hidePlaylist = document.getElementById("hide_playlist_{{player.id}}");
1168
+ if (hidePlaylist !== null) {
1169
+ hidePlaylist.addEventListener('click', function(event) {
1170
+ var playlistScreen = document.getElementById("playlist_screen_{{player.id}}");
1171
+
1172
+ playlistScreen.classList.remove('slide-in-top');
1173
+ playlistScreen.classList.add('slislide-out-top');
1174
+ playlistScreen.style.display = "none";
1175
+ playlistScreen.style.zIndex = "1";
1176
+
1177
+ // enable scrolling
1178
+ if ($('body').hasClass('stop-scrolling')) {
1179
+ $('body').removeClass('stop-scrolling');
1180
+ }
1181
+ }); // END EventListener 'click' (compact player|show playlist)
1182
+ } // END if hidePlaylist
705
1183
 
706
- // hide playlist
707
- var hidePlaylist = document.getElementById("hide_playlist_{{player.id}}");
708
- if (hidePlaylist !== null) {
709
- hidePlaylist.addEventListener('click', function(event) {
710
- var playlistScreen = document.getElementById("playlist_screen_{{player.id}}");
711
1184
 
712
- playlistScreen.classList.remove('slide-in-top');
713
- playlistScreen.classList.add('slislide-out-top');
714
- playlistScreen.style.display = "none";
715
- playlistScreen.style.zIndex = "1";
1185
+ // add listeners to all progress bars found (compact-player)
1186
+ // getElementsByClassName returns an Array-like object
1187
+ // -------------------------------------------------------
1188
+ var progressBars = document.getElementsByClassName("compact-player-progress");
1189
+ for (var i=0; i<progressBars.length; i++) {
1190
+ if (progressBars[i].dataset.amplitudeSource === 'youtube') {
1191
+ // do nothing
1192
+ } else {
1193
+ progressBars[i].addEventListener('click', function(event) {
1194
+ var offset = this.getBoundingClientRect();
1195
+ var xpos = event.pageX - offset.left;
716
1196
 
717
- // enable scrolling
718
- if ($('body').hasClass('stop-scrolling')) {
719
- $('body').removeClass('stop-scrolling');
1197
+ Amplitude.setSongPlayedPercentage(
1198
+ (parseFloat(xpos)/parseFloat(this.offsetWidth))*100);
1199
+ }); // END EventListener 'click'
720
1200
  }
721
- }); // END EventListener 'click' (compact player|show playlist)
722
- } // END if hidePlaylist
723
-
724
- // add listeners to all progress bars found (compact-player)
725
- // getElementsByClassName returns an Array-like object
726
- // -------------------------------------------------------
727
- var progressBars = document.getElementsByClassName("compact-player-progress");
728
- for (var i=0; i<progressBars.length; i++) {
729
- if (progressBars[i].dataset.amplitudeSource === 'youtube') {
730
- // do nothing
731
- } else {
732
- progressBars[i].addEventListener('click', function(event) {
733
- var offset = this.getBoundingClientRect();
734
- var xpos = event.pageX - offset.left;
735
-
736
- Amplitude.setSongPlayedPercentage(
737
- (parseFloat(xpos)/parseFloat(this.offsetWidth))*100);
738
- }); // END EventListener 'click'
739
- }
740
- } // END for
1201
+ } // END for
1202
+
1203
+
1204
+ // click on Next|Previous Buttons (COMPACT player)
1205
+ // -------------------------------------------------------
1206
+
1207
+ // add listeners to all Next Buttons found
1208
+ var largeNextButtons = document.getElementsByClassName("compact-player-next");
1209
+ for (var i=0; i<largeNextButtons.length; i++) {
1210
+ if (largeNextButtons[i].dataset.amplitudeSource === 'youtube') {
1211
+ // do nothing
1212
+ } else {
1213
+ if (largeNextButtons[i].id === 'compact_player_next_{{player.id}}') {
1214
+ largeNextButtons[i].addEventListener('click', function(event) {
1215
+ // do nothing
1216
+ }); // END EventListener 'click'
1217
+ } // END if ID
1218
+ }
1219
+ } // END Next Buttons (COMPACT player)
1220
+
1221
+ // add listeners to all Previous Buttons found
1222
+ var compactPreviousButtons = document.getElementsByClassName("compact-player-previous");
1223
+ for (var i=0; i<compactPreviousButtons.length; i++) {
1224
+ if (compactPreviousButtons[i].dataset.amplitudeSource === 'youtube') {
1225
+ // do nothing
1226
+ } else {
1227
+ if (compactPreviousButtons[i].id === 'compact_player_previous_{{player.id}}') {
1228
+ compactPreviousButtons[i].addEventListener('click', function(event) {
1229
+ // do nothing
1230
+ }); // END EventListener 'click'
1231
+ } // END if ID
1232
+ }
1233
+ } // END Previous Buttons (COMPACT player)
741
1234
 
742
- // click on skip forward|backward (compact player)
1235
+ // click on play_pause button (COMPACT player)
1236
+ var compactPlayerPlayPauseButton = document.getElementsByClassName('compact-player-play-pause');
1237
+ for (var i=0; i<compactPlayerPlayPauseButton.length; i++) {
1238
+ if (compactPlayerPlayPauseButton[i].dataset.amplitudeSource === 'youtube') {
1239
+ // do nothing (managed by plugin)
1240
+ } else {
1241
+ var currentPlaylist = compactPlayerPlayPauseButton[i].dataset.amplitudePlaylist;
1242
+ if (currentPlaylist === playList) {
1243
+ compactPlayerPlayPauseButton[i].addEventListener('click', function(event) {
1244
+ // do nothing
1245
+ });
1246
+ }
1247
+ }
1248
+ } // END play_pause button (COMPACT player)
1249
+
1250
+ // click on skip forward|backward (COMPACT player)
743
1251
  // See: https://github.com/serversideup/amplitudejs/issues/384
744
1252
  // -------------------------------------------------------
745
1253
 
746
1254
  // add listeners to all SkipForwardButtons found
747
1255
  var compactPlayerSkipForwardButtons = document.getElementsByClassName("compact-player-skip-forward");
748
1256
  for (var i=0; i<compactPlayerSkipForwardButtons.length; i++) {
749
- if (compactPlayerSkipForwardButtons[i].id === 'skip-forward_{{player.id}}') {
750
- compactPlayerSkipForwardButtons[i].addEventListener('click', function(event) {
751
- const skipOffset = parseFloat(playerForwardBackwardSkipSeconds);
752
- const duration = Amplitude.getSongDuration();
753
- const currentTime = parseFloat(Amplitude.getSongPlayedSeconds());
754
- const targetTime = parseFloat(currentTime + skipOffset);
755
-
756
- if (currentTime > 0) {
757
- Amplitude.setSongPlayedPercentage((targetTime / duration) * 100);
758
- }
759
- }); // END EventListener 'click'
760
- } // END if ID
761
- } // END for SkipForwardButtons
1257
+ if (compactPlayerSkipForwardButtons[i].dataset.amplitudeSource === 'youtube') {
1258
+ // do nothing
1259
+ } else {
1260
+ if (compactPlayerSkipForwardButtons[i].id === 'skip-forward_{{player.id}}') {
1261
+ compactPlayerSkipForwardButtons[i].addEventListener('click', function(event) {
1262
+ const skipOffset = parseFloat(playerForwardBackwardSkipSeconds);
1263
+ const duration = Amplitude.getSongDuration();
1264
+ const currentTime = parseFloat(Amplitude.getSongPlayedSeconds());
1265
+ const targetTime = parseFloat(currentTime + skipOffset);
1266
+
1267
+ if (currentTime > 0) {
1268
+ Amplitude.setSongPlayedPercentage((targetTime / duration) * 100);
1269
+ }
1270
+ }); // END EventListener 'click'
1271
+ } // END if ID
1272
+ }
1273
+ } // END SkipForwardButtons (COMPACT player)
762
1274
 
763
1275
  // add listeners to all SkipBackwardButtons found
764
1276
  var compactPlayerSkipBackwardButtons = document.getElementsByClassName("compact-player-skip-backward");
765
1277
  for (var i=0; i<compactPlayerSkipBackwardButtons.length; i++) {
766
- if (compactPlayerSkipBackwardButtons[i].id === 'skip-backward_{{player.id}}') {
767
- compactPlayerSkipBackwardButtons[i].addEventListener('click', function(event) {
768
- const skipOffset = parseFloat(playerForwardBackwardSkipSeconds);
769
- const duration = Amplitude.getSongDuration();
770
- const currentTime = parseFloat(Amplitude.getSongPlayedSeconds());
771
- const targetTime = parseFloat(currentTime - skipOffset);
772
-
773
- if (currentTime > 0) {
774
- Amplitude.setSongPlayedPercentage((targetTime / duration) * 100);
775
- }
776
- }); // END EventListener 'click'
777
- } // END if ID
778
- } // END for SkipBackwardButtons
1278
+ if (compactPlayerSkipBackwardButtons[i].dataset.amplitudeSource === 'youtube') {
1279
+ // do nothing
1280
+ } else {
1281
+ if (compactPlayerSkipBackwardButtons[i].id === 'skip-backward_{{player.id}}') {
1282
+ compactPlayerSkipBackwardButtons[i].addEventListener('click', function(event) {
1283
+ const skipOffset = parseFloat(playerForwardBackwardSkipSeconds);
1284
+ const duration = Amplitude.getSongDuration();
1285
+ const currentTime = parseFloat(Amplitude.getSongPlayedSeconds());
1286
+ const targetTime = parseFloat(currentTime - skipOffset);
1287
+
1288
+ if (currentTime > 0) {
1289
+ Amplitude.setSongPlayedPercentage((targetTime / duration) * 100);
1290
+ }
1291
+ }); // END EventListener 'click'
1292
+ } // END if ID
1293
+ }
1294
+ } // END SkipBackwardButtons (COMPACT player)
779
1295
 
780
1296
  // click on shuffle button
781
1297
  var compactPlayerShuffleButton = document.getElementById('compact_player_shuffle');
@@ -785,7 +1301,7 @@ j1.adapter.amplitude = ((j1, window) => {
785
1301
 
786
1302
  Amplitude.setShuffle(shuffleState)
787
1303
  }); // END EventListener 'click'
788
- } // END compactPlayerShuffleButton
1304
+ } // END PlayerShuffleButton (COMPACT player)
789
1305
 
790
1306
  // click on repeat button
791
1307
  var compactPlayerRepeatButton = document.getElementById('compact_player_repeat');
@@ -795,18 +1311,44 @@ j1.adapter.amplitude = ((j1, window) => {
795
1311
 
796
1312
  Amplitude.setRepeat(repeatState)
797
1313
  }); // END EventListener 'click'
798
- } // END compactPlayerRepeatButton
1314
+ } // END PlayerRepeatButton (COMPACT player)
799
1315
 
800
1316
  } // END compact player UI events
801
1317
  {% endif %}
802
1318
 
803
1319
  {% if player.id contains 'large' %}
804
1320
  // START large player UI events
805
- //
1321
+ // ---------------------------------------------------------
806
1322
  if (document.getElementById('{{player.id}}') !== null) {
1323
+ // var playlist = '{{player.id}}_yt';
1324
+ var playlistInfo = {{player.playlist | replace: 'nil', 'null' | replace: '=>', ':'}};
1325
+ var playList = playlistInfo.name;
807
1326
 
808
1327
  // NOTE: listener overloads for video managed by plugin
809
1328
  // -------------------------------------------------------
1329
+ var largetPlayerSongContainer = document.getElementsByClassName("amplitude-song-container");
1330
+ for (var i=0; i<largetPlayerSongContainer.length; i++) {
1331
+ if (largetPlayerSongContainer[i].dataset.amplitudeSource === 'youtube') {
1332
+ // do nothing
1333
+ } else {
1334
+ var currentPlaylist = largetPlayerSongContainer[i].dataset.amplitudePlaylist;
1335
+ if (currentPlaylist === playList) {
1336
+ largetPlayerSongContainer[i].addEventListener('click', function(event) {
1337
+ var ytpPlayer, ytpPlayerState, ytpPlayerState, playerState,
1338
+ classArray, atpPlayerActive, playlist;
1339
+
1340
+ classArray = [].slice.call(this.classList, 0);
1341
+ atpPlayerActive = classArray[0].split('-');
1342
+ playlist = this.getAttribute("data-amplitude-playlist");
1343
+
1344
+ // scroll song active at index in player
1345
+ if (playerAutoScrollSongElement) {
1346
+ j1.adapter.amplitude.atPlayerScrollToActiveElement(playlist);
1347
+ }
1348
+ });
1349
+ }
1350
+ }
1351
+ } // END player SongContainer
810
1352
 
811
1353
  // click on prev button
812
1354
  var largePlayerPreviousButton = document.getElementById('large_player_previous');
@@ -814,9 +1356,22 @@ j1.adapter.amplitude = ((j1, window) => {
814
1356
  // do nothing (managed by plugin)
815
1357
  }
816
1358
 
817
- // click on play_pause button
818
- var largePlayerPlayButton = document.getElementById('large_player_play_pause');
819
- // add listeners to all progress bars found (large-player)
1359
+ // click on play_pause button (LARGE player)
1360
+ var largePlayerPlayPauseButton = document.getElementsByClassName('large-player-play-pause');
1361
+ for (var i=0; i<largePlayerPlayPauseButton.length; i++) {
1362
+ if (largePlayerPlayPauseButton[i].dataset.amplitudeSource === 'youtube') {
1363
+ // do nothing (managed by YTP plugin)
1364
+ } else {
1365
+ var currentPlaylist = largePlayerPlayPauseButton[i].dataset.amplitudePlaylist;
1366
+ if (currentPlaylist === playList) {
1367
+ largePlayerPlayPauseButton[i].addEventListener('click', function(event) {
1368
+ // do nothing
1369
+ });
1370
+ }
1371
+ }
1372
+ } // END play_pause button (LARGE player)
1373
+
1374
+ // add listeners to all progress bars found (LARGE player)
820
1375
  // -------------------------------------------------------
821
1376
  var progressBars = document.getElementsByClassName("large-player-progress");
822
1377
  for (var i=0; i<progressBars.length; i++) {
@@ -826,13 +1381,69 @@ j1.adapter.amplitude = ((j1, window) => {
826
1381
  progressBars[i].addEventListener('click', function(event) {
827
1382
  var offset = this.getBoundingClientRect();
828
1383
  var xpos = event.pageX - offset.left;
829
-
830
- Amplitude.setSongPlayedPercentage(
831
- (parseFloat(xpos)/parseFloat(this.offsetWidth))*100);
1384
+
1385
+ if (Amplitude.getPlayerState() === 'playing') {
1386
+ Amplitude.setSongPlayedPercentage((parseFloat(xpos)/parseFloat(this.offsetWidth))*100);
1387
+ }
832
1388
  }); // END EventListener 'click'
833
1389
  }
834
1390
  } // END for
835
1391
 
1392
+
1393
+ // click on Next|Previous Buttons (LARGE player)
1394
+ // -------------------------------------------------------
1395
+
1396
+ // add listeners to all Next Buttons found
1397
+ var largeNextButtons = document.getElementsByClassName("large-player-next");
1398
+ for (var i=0; i<largeNextButtons.length; i++) {
1399
+ if (largeNextButtons[i].dataset.amplitudeSource === 'youtube') {
1400
+ // do nothing (managed by plugin)
1401
+ } else {
1402
+ if (largeNextButtons[i].id === 'large_player_next_{{player.id}}') {
1403
+ largeNextButtons[i].addEventListener('click', function(event) {
1404
+ var atpPlayerID = this.id;
1405
+ var atpPlayerActive = atpPlayerID.split('_');
1406
+ var playlist = this.getAttribute("data-amplitude-playlist");
1407
+
1408
+ // scroll song active at index in player
1409
+ if (playerAutoScrollSongElement) {
1410
+ j1.adapter.amplitude.atPlayerScrollToActiveElement(playlist);
1411
+ }
1412
+
1413
+ // save YT player data for later use (e.g. events)
1414
+ j1.adapter.amplitude.data.activePlayer = 'atp';
1415
+ j1.adapter.amplitude.data.atpGlobals.activePlayerType = atpPlayerActive[0];
1416
+ }); // END EventListener 'click'
1417
+ } // END if ID
1418
+ }
1419
+ } // END for Next Buttons
1420
+
1421
+ // add listeners to all Previous Buttons found
1422
+ var largePreviousButtons = document.getElementsByClassName("large-player-previous");
1423
+ for (var i=0; i<largePreviousButtons.length; i++) {
1424
+ if (largePreviousButtons[i].dataset.amplitudeSource === 'youtube') {
1425
+ // do nothing (managed by plugin)
1426
+ } else {
1427
+ if (largePreviousButtons[i].id === 'large_player_previous_{{player.id}}') {
1428
+ largePreviousButtons[i].addEventListener('click', function(event) {
1429
+ var atpPlayerID = this.id;
1430
+ var atpPlayerActive = atpPlayerID.split('_');
1431
+ var playlist = this.getAttribute("data-amplitude-playlist");
1432
+
1433
+ // scroll song active at index in player
1434
+ if (playerAutoScrollSongElement) {
1435
+ j1.adapter.amplitude.atPlayerScrollToActiveElement(playlist);
1436
+ }
1437
+
1438
+ // save YT player data for later use (e.g. events)
1439
+ j1.adapter.amplitude.data.activePlayer = 'atp';
1440
+ j1.adapter.amplitude.data.atpGlobals.activePlayerType = atpPlayerActive[0];
1441
+ }); // END EventListener 'click'
1442
+ } // END if ID
1443
+ }
1444
+ } // END for Previous Buttons
1445
+
1446
+
836
1447
  // click on skip forward|backward (large player)
837
1448
  // See: https://github.com/serversideup/amplitudejs/issues/384
838
1449
  // -------------------------------------------------------
@@ -890,7 +1501,7 @@ j1.adapter.amplitude = ((j1, window) => {
890
1501
 
891
1502
  // click on repeat button
892
1503
  var largePlayerRepeatButton = document.getElementById('large_player_repeat');
893
- if (largePlayerShuffleButton) {
1504
+ if (largePlayerRepeatButton) {
894
1505
  largePlayerRepeatButton.addEventListener('click', function(event) {
895
1506
  var repeatState = (document.getElementById('large_player_repeat').className.includes('amplitude-repeat-on')) ? true : false;
896
1507
  Amplitude.setRepeat(repeatState)
@@ -903,8 +1514,7 @@ j1.adapter.amplitude = ((j1, window) => {
903
1514
 
904
1515
  // show|hide scrollbar in playlist
905
1516
  // -----------------------------------------------------
906
- const songsInPlaylist = Amplitude.getSongsInPlaylist(playListName);
907
-
1517
+ var songsInPlaylist = Amplitude.getSongsInPlaylist(playListName);
908
1518
  if (songsInPlaylist.length <= 8) {
909
1519
  const titleListLargePlayer = document.getElementById('large_player_title_list_' + playListName);
910
1520
  if (titleListLargePlayer !== null) {
@@ -1034,14 +1644,12 @@ j1.adapter.amplitude = ((j1, window) => {
1034
1644
  } // END if apiInitialized
1035
1645
  }, 10); // END dependencies_met_api_initialized
1036
1646
 
1037
- playerExistsInPage = (document.getElementById('{{player.id}}_parent') !== null) ? true : false;
1647
+ playerExistsInPage = (document.getElementById('{{player.id}}_app') !== null) ? true : false;
1038
1648
  pluginManagerEnabled = ('{{player.plugin_manager.enabled}}'.length > 0 && '{{player.plugin_manager.enabled}}' === 'true') ? true : playerDefaultPluginManager;
1039
1649
 
1040
- if (playerExistsInPage && pluginManagerEnabled && !pluginManagerRunOnce) {
1650
+ var ytpPluginInstalled = j1.adapter.amplitude.data.atpGlobals.ytpInstalled;
1651
+ if (playerExistsInPage && pluginManagerEnabled && !ytpPluginInstalled) {
1041
1652
  _this.pluginManager('{{player.plugin_manager.plugins}}');
1042
-
1043
- // make sure the plugin is loaded|run only ONCE
1044
- pluginManagerRunOnce = true;
1045
1653
  }
1046
1654
 
1047
1655
  clearInterval(load_dependencies['dependencies_met_player_loaded_{{player.id}}']);
@@ -1116,9 +1724,21 @@ j1.adapter.amplitude = ((j1, window) => {
1116
1724
  // pluginManager()
1117
1725
  //
1118
1726
  // -------------------------------------------------------------------------
1119
- pluginManager: (plugin) => {
1120
- // if (plugin === 'ytp' && j1.adapter.amplitude['ytPlayerReady'] === undefined ) {
1121
- if (plugin === 'ytp') {
1727
+ pluginManager: (plugin) => {
1728
+
1729
+ function isPluginLoaded(pluginName) {
1730
+ const scripts = document.scripts;
1731
+ const pluginFile = pluginName + '.js';
1732
+
1733
+ for (let i = 0; i < scripts.length; i++) {
1734
+ if (scripts[i].src.includes(pluginFile)) {
1735
+ return true;
1736
+ }
1737
+ }
1738
+ return false;
1739
+ }
1740
+
1741
+ if (plugin !== '' && plugin === 'ytp') {
1122
1742
  var tech;
1123
1743
  var techScript;
1124
1744
 
@@ -1129,8 +1749,40 @@ j1.adapter.amplitude = ((j1, window) => {
1129
1749
 
1130
1750
  techScript.parentNode.insertBefore(tech, techScript);
1131
1751
  }
1752
+
1753
+ if (plugin !== '' && isPluginLoaded(plugin)) {
1754
+ logger.debug('\n' + 'plugin loaded: ' + plugin);
1755
+
1756
+ // make sure the plugin installed only ONCE
1757
+ j1.adapter.amplitude.data.atpGlobals.ytpInstalled = true;
1758
+ }
1132
1759
  }, // END pluginManager
1133
1760
 
1761
+ // -------------------------------------------------------------------------
1762
+ // atPlayerScrollToActiveElement(activePlaylist)
1763
+ // -------------------------------------------------------------------------
1764
+ atPlayerScrollToActiveElement: (activePlaylist) => {
1765
+ var scrollableList, songIndex,
1766
+ activeElement, activeElementOffsetTop;
1767
+
1768
+ scrollableList = document.getElementById('large_player_title_list_' + activePlaylist);
1769
+ activeElement = scrollableList.querySelector('.amplitude-active-song-container');
1770
+
1771
+ if (activeElement === null || scrollableList === null) {
1772
+ // do nothing if NO scrollableList or active element found (failsafe)
1773
+ return;
1774
+ }
1775
+
1776
+ songIndex = parseInt(activeElement.getAttribute("data-amplitude-song-index"));
1777
+ activeElementOffsetTop = songIndex * j1.adapter.amplitude.data.playerSongElementHeigth;
1778
+ scrollableList.scrollTop = activeElementOffsetTop;
1779
+
1780
+ if (songIndex === 0) {
1781
+ var bla = 'puups';
1782
+ }
1783
+
1784
+ }, // END atPlayerScrollToActiveElement
1785
+
1134
1786
  // -------------------------------------------------------------------------
1135
1787
  // messageHandler()
1136
1788
  // manage messages send from other J1 modules