j1-template 2024.3.18 → 2024.3.19

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 (1172) 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} +4 -4
  5. data/assets/data/masonry.html +1 -1
  6. data/assets/data/swiper_app.html +757 -0
  7. data/assets/data/{swiper.json → swiper_app.json} +10 -7
  8. data/assets/theme/j1/adapter/js/amplitude.js +6 -6
  9. data/assets/theme/j1/adapter/js/carousel.js +1 -1
  10. data/assets/theme/j1/adapter/js/swiper.js +30 -29
  11. data/assets/theme/j1/core/css/animate.css +2 -4
  12. data/assets/theme/j1/core/css/animate.min.css +1 -2
  13. data/assets/theme/j1/core/css/icon-fonts/fontawesome.css +2 -4
  14. data/assets/theme/j1/core/css/icon-fonts/fontawesome.min.css +1 -2
  15. data/assets/theme/j1/core/css/icon-fonts/iconify.css +5 -7
  16. data/assets/theme/j1/core/css/icon-fonts/iconify.min.css +1 -2
  17. data/assets/theme/j1/core/css/icon-fonts/mdi.css +9 -11
  18. data/assets/theme/j1/core/css/icon-fonts/mdi.min.css +1 -2
  19. data/assets/theme/j1/core/css/icon-fonts/mdib.css +7 -9
  20. data/assets/theme/j1/core/css/icon-fonts/mdib.min.css +1 -2
  21. data/assets/theme/j1/core/css/icon-fonts/mdil.css +10 -10
  22. data/assets/theme/j1/core/css/themes/bootstrap/bootstrap.css +1 -3
  23. data/assets/theme/j1/core/css/themes/bootstrap/bootstrap.min.css +1 -2
  24. data/assets/theme/j1/core/css/themes/unodark/bootstrap.css +39 -41
  25. data/assets/theme/j1/core/css/themes/unodark/bootstrap.min.css +1 -2
  26. data/assets/theme/j1/core/css/themes/unolight/bootstrap.css +99 -101
  27. data/assets/theme/j1/core/css/themes/unolight/bootstrap.min.css +1 -2
  28. data/assets/theme/j1/core/css/vendor.css +10 -12
  29. data/assets/theme/j1/core/css/vendor.min.css +1 -2
  30. data/assets/theme/j1/core/js/template.js +10669 -10669
  31. data/assets/theme/j1/core/js/template.min.js +25 -25
  32. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/amplitude.css +9 -1
  33. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/amplitude.min.css +1 -1
  34. data/assets/theme/j1/modules/amplitudejs/js/amplitude.js +1 -2
  35. data/assets/theme/j1/modules/amplitudejs/js/tech/ytp.js +3 -3
  36. data/assets/theme/j1/modules/bootstrap/js/bootstrap.js +0 -1
  37. data/assets/theme/j1/modules/bootstrap/js/bootstrap.min.js +0 -1
  38. data/assets/theme/j1/modules/gemini/js/gemini.js +1 -1
  39. data/assets/theme/j1/modules/gemini/js/geo/geocoder.js +1975 -0
  40. data/assets/theme/j1/modules/gemini/js/geo/geocoder.min.js +15 -1975
  41. data/assets/theme/j1/modules/gemini/js/geo/leaflet.min.js +4 -3
  42. data/assets/theme/j1/modules/swiperjs/css/modules/layoutExpanding.css +252 -0
  43. data/assets/theme/j1/modules/swiperjs/css/modules/layoutExpanding.min.css +251 -0
  44. data/assets/theme/j1/modules/{swiper/css/modules/effectNeighbor.css → swiperjs/css/modules/layoutNeighbor.css} +12 -11
  45. data/assets/theme/j1/modules/{swiper/css/modules/effectNeighbor.min.css → swiperjs/css/modules/layoutNeighbor.min.css} +2 -2
  46. data/assets/theme/j1/modules/{swiper/css/modules/effectPanorama.css → swiperjs/css/modules/layoutPanorama.css} +2 -2
  47. data/assets/theme/j1/modules/{swiper/css/modules/effectPanorama.min.css → swiperjs/css/modules/layoutPanorama.min.css} +2 -2
  48. data/assets/theme/j1/modules/swiperjs/css/modules/layoutStacked.css +98 -0
  49. data/assets/theme/j1/modules/swiperjs/css/modules/layoutStacked.min.css +98 -0
  50. data/assets/theme/j1/modules/{swiper/css/modules/effectThumbs.min.css → swiperjs/css/modules/layoutThumbs.css} +2 -2
  51. data/assets/theme/j1/modules/{swiper/css/modules/effectThumbs.css → swiperjs/css/modules/layoutThumbs.min.css} +2 -2
  52. data/assets/theme/j1/modules/{swiper → swiperjs}/css/swiper-bundle.css +1 -0
  53. data/assets/theme/j1/modules/{swiper → swiperjs}/css/theme/uno.css +79 -36
  54. data/assets/theme/j1/modules/swiperjs/css/theme/uno.min.css +17 -0
  55. data/assets/theme/j1/modules/swiperjs/js/highlightJS.js +13376 -0
  56. data/assets/theme/j1/modules/swiperjs/js/highlightJS.min.js +1246 -0
  57. data/assets/theme/j1/modules/swiperjs/js/modules/!readme +3 -0
  58. data/assets/theme/j1/modules/{swiper/js/modules/effectNeighbor.js → swiperjs/js/modules/layoutExpanding.js} +11 -15
  59. data/assets/theme/j1/modules/swiperjs/js/modules/layoutExpanding.min.js +29 -0
  60. data/assets/theme/j1/modules/swiperjs/js/modules/layoutNeighbor.js +109 -0
  61. data/assets/theme/j1/modules/{swiper/js/modules/effectNeighbor.min.js → swiperjs/js/modules/layoutNeighbor.min.js} +4 -4
  62. data/assets/theme/j1/modules/{swiper/js/modules/effectPanorama.js → swiperjs/js/modules/layoutPanorama.js} +4 -4
  63. data/assets/theme/j1/modules/{swiper/js/modules/effectPanorama.min.js → swiperjs/js/modules/layoutPanorama.min.js} +2 -2
  64. data/assets/theme/j1/modules/swiperjs/js/modules/layoutStacked.js +75 -0
  65. data/assets/theme/j1/modules/{swiper/js/modules/effectThumbs.js → swiperjs/js/modules/layoutThumbs.js} +10 -10
  66. data/assets/theme/j1/modules/{swiper/js/modules/effectThumbs.min.js → swiperjs/js/modules/layoutThumbs.min.js} +4 -4
  67. data/assets/theme/j1/modules/videojs/css/plugins/controls/zoom.css +1 -1
  68. data/assets/theme/j1/modules/videojs/css/plugins/controls/zoom.min.css +1 -1
  69. data/assets/theme/j1/modules/videojs/js/plugins/controls/zoom/zoom.js +1 -1
  70. data/assets/theme/j1/modules/videojs/js/plugins/controls/zoom/zoom.min.js +1 -1
  71. data/lib/j1/version.rb +1 -1
  72. data/lib/j1_app/j1_auth_manager/auth_manager.rb +2 -2
  73. data/lib/j1_app/j1_auth_manager/error_pages.rb +1 -1
  74. data/lib/j1_app/j1_auth_manager/helpers_disqus.rb +1 -1
  75. data/lib/j1_app/j1_auth_manager/helpers_facebook.rb +1 -1
  76. data/lib/j1_app/j1_auth_manager/helpers_github.rb +1 -1
  77. data/lib/j1_app/j1_auth_manager/helpers_patreon.rb +1 -1
  78. data/lib/j1_app/j1_auth_manager/helpers_twitter.rb +1 -1
  79. data/lib/j1_app/j1_auth_manager/warden_omniauth.rb +1 -1
  80. data/lib/j1_app/omniauth/strategies/disqus.rb +1 -1
  81. data/lib/j1_app/omniauth/strategies/facebook.rb +1 -1
  82. data/lib/j1_app/omniauth/strategies/github.rb +1 -1
  83. data/lib/j1_app/omniauth/strategies/patreon.rb +1 -1
  84. data/lib/j1_app/omniauth/strategies/twitter.rb +1 -1
  85. data/lib/starter_web/README.md +5 -5
  86. data/lib/starter_web/_config.yml +8 -8
  87. data/lib/starter_web/_data/_defaults/categories.yml +1 -1
  88. data/lib/starter_web/_data/_defaults/colors.yml +1 -1
  89. data/lib/starter_web/_data/_defaults/font_sizes.yml +1 -1
  90. data/lib/starter_web/_data/_defaults/j1_config.yml +2 -2
  91. data/lib/starter_web/_data/_defaults/resources.yml +1 -1
  92. data/lib/starter_web/_data/apps/defaults/justifiedGalleryCustomizer.yml +1 -1
  93. data/lib/starter_web/_data/apps/justifiedGalleryCustomizer.yml +1 -1
  94. data/lib/starter_web/_data/asciidoc2pdf/themes/j1-theme.yml +1 -1
  95. data/lib/starter_web/_data/blocks/banner.yml +3 -3
  96. data/lib/starter_web/_data/blocks/defaults/banner.yml +4 -4
  97. data/lib/starter_web/_data/blocks/defaults/footer.yml +1 -1
  98. data/lib/starter_web/_data/blocks/defaults/panel.yml +1 -1
  99. data/lib/starter_web/_data/blocks/footer.yml +1 -1
  100. data/lib/starter_web/_data/categories.yml +1 -1
  101. data/lib/starter_web/_data/colors.yml +1 -1
  102. data/lib/starter_web/_data/font_sizes.yml +1 -1
  103. data/lib/starter_web/_data/j1_config.yml +1 -1
  104. data/lib/starter_web/_data/layouts/collection.yml +1 -1
  105. data/lib/starter_web/_data/layouts/default.yml +1 -1
  106. data/lib/starter_web/_data/layouts/home.yml +1 -1
  107. data/lib/starter_web/_data/layouts/news_panel_posts.yml +1 -1
  108. data/lib/starter_web/_data/layouts/page.yml +1 -1
  109. data/lib/starter_web/_data/layouts/post.yml +1 -1
  110. data/lib/starter_web/_data/layouts/raw.yml +1 -1
  111. data/lib/starter_web/_data/modules/advertising.yml +7 -2
  112. data/lib/starter_web/_data/modules/{amplitude_players.yml → amplitude_app.yml} +1 -1
  113. data/lib/starter_web/_data/modules/amplitude_playlists.yml +18 -18
  114. data/lib/starter_web/_data/modules/analytics.yml +7 -2
  115. data/lib/starter_web/_data/modules/attics.yml +8 -2
  116. data/lib/starter_web/_data/modules/blog_navigator.yml +8 -2
  117. data/lib/starter_web/_data/modules/carousel.yml +12 -8
  118. data/lib/starter_web/_data/modules/chatbots.yml +7 -2
  119. data/lib/starter_web/_data/modules/comments.yml +9 -7
  120. data/lib/starter_web/_data/modules/cookieconsent.yml +6 -5
  121. data/lib/starter_web/_data/modules/cookies.yml +7 -2
  122. data/lib/starter_web/_data/modules/defaults/advertising.yml +7 -3
  123. data/lib/starter_web/_data/modules/defaults/{amplitude.yml → amplitude_app.yml} +10 -8
  124. data/lib/starter_web/_data/modules/defaults/analytics.yml +6 -3
  125. data/lib/starter_web/_data/modules/defaults/attics.yml +7 -6
  126. data/lib/starter_web/_data/modules/defaults/authentication.yml +8 -3
  127. data/lib/starter_web/_data/modules/defaults/blog_navigator.yml +9 -3
  128. data/lib/starter_web/_data/modules/defaults/carousel.yml +7 -3
  129. data/lib/starter_web/_data/modules/defaults/chatbots.yml +7 -2
  130. data/lib/starter_web/_data/modules/defaults/comments.yml +6 -2
  131. data/lib/starter_web/_data/modules/defaults/cookieconsent.de.yml +7 -2
  132. data/lib/starter_web/_data/modules/defaults/cookieconsent.en.yml +7 -2
  133. data/lib/starter_web/_data/modules/defaults/cookieconsent.yml +7 -2
  134. data/lib/starter_web/_data/modules/defaults/cookies.yml +7 -3
  135. data/lib/starter_web/_data/modules/defaults/docsearch.yml +7 -2
  136. data/lib/starter_web/_data/modules/defaults/dropdowns.yml +7 -2
  137. data/lib/starter_web/_data/modules/defaults/fab.yml +7 -5
  138. data/lib/starter_web/_data/modules/defaults/gallery.yml +2 -2
  139. data/lib/starter_web/_data/modules/defaults/gemini.yml +3 -3
  140. data/lib/starter_web/_data/modules/defaults/icon_picker.yml +7 -2
  141. data/lib/starter_web/_data/modules/defaults/iframer.yml +7 -3
  142. data/lib/starter_web/_data/modules/defaults/lazyLoader.yml +7 -2
  143. data/lib/starter_web/_data/modules/defaults/lightbox.yml +8 -23
  144. data/lib/starter_web/_data/modules/defaults/log4javascript.yml +8 -3
  145. data/lib/starter_web/_data/modules/defaults/log4r.yml +2 -2
  146. data/lib/starter_web/_data/modules/defaults/lunr.yml +3 -3
  147. data/lib/starter_web/_data/modules/defaults/masonry.yml +7 -3
  148. data/lib/starter_web/_data/modules/defaults/masterslider.yml +7 -2
  149. data/lib/starter_web/_data/modules/defaults/navigator.yml +9 -4
  150. data/lib/starter_web/_data/modules/defaults/particles.yml +5 -4
  151. data/lib/starter_web/_data/modules/defaults/rangeSlider.yml +8 -3
  152. data/lib/starter_web/_data/modules/defaults/rtable.yml +7 -2
  153. data/lib/starter_web/_data/modules/defaults/scroller.yml +7 -2
  154. data/lib/starter_web/_data/modules/defaults/slick.yml +8 -5
  155. data/lib/starter_web/_data/modules/defaults/slim_select.yml +7 -2
  156. data/lib/starter_web/_data/modules/defaults/speak2me.yml +7 -4
  157. data/lib/starter_web/_data/modules/defaults/swiper_app.yml +153 -0
  158. data/lib/starter_web/_data/modules/defaults/theme_toggler.yml +7 -2
  159. data/lib/starter_web/_data/modules/defaults/themes.yml +7 -2
  160. data/lib/starter_web/_data/modules/defaults/toccer.yml +8 -5
  161. data/lib/starter_web/_data/modules/defaults/translator.en.yml +7 -2
  162. data/lib/starter_web/_data/modules/defaults/translator.yml +7 -2
  163. data/lib/starter_web/_data/modules/defaults/videojs.yml +8 -2
  164. data/lib/starter_web/_data/modules/defaults/waves.yml +5 -4
  165. data/lib/starter_web/_data/modules/docsearch.yml +7 -2
  166. data/lib/starter_web/_data/modules/dropdowns.yml +7 -2
  167. data/lib/starter_web/_data/modules/fab.yml +7 -2
  168. data/lib/starter_web/_data/modules/gallery.yml +14 -8
  169. data/lib/starter_web/_data/modules/gallery_app.yml +1002 -0
  170. data/lib/starter_web/_data/modules/gallery_playlists.yml +534 -0
  171. data/lib/starter_web/_data/modules/gemini.yml +4 -5
  172. data/lib/starter_web/_data/modules/icon_picker.yml +7 -2
  173. data/lib/starter_web/_data/modules/iframer.yml +8 -3
  174. data/lib/starter_web/_data/modules/lazyLoader.yml +7 -2
  175. data/lib/starter_web/_data/modules/lightbox.yml +8 -3
  176. data/lib/starter_web/_data/modules/log4r.yml +2 -2
  177. data/lib/starter_web/_data/modules/lunr.yml +4 -5
  178. data/lib/starter_web/_data/modules/masonry.yml +45 -23
  179. data/lib/starter_web/_data/modules/masterslider.yml +65 -59
  180. data/lib/starter_web/_data/modules/particles.yml +7 -2
  181. data/lib/starter_web/_data/modules/rangeSlider.yml +8 -3
  182. data/lib/starter_web/_data/modules/rtable.yml +7 -2
  183. data/lib/starter_web/_data/modules/scroller.yml +8 -3
  184. data/lib/starter_web/_data/modules/slick.yml +33 -16
  185. data/lib/starter_web/_data/modules/slim_select.yml +13 -10
  186. data/lib/starter_web/_data/modules/speak2me.yml +7 -2
  187. data/lib/starter_web/_data/modules/swiper_app.yml +913 -0
  188. data/lib/starter_web/_data/modules/swiper_playlists.yml +228 -203
  189. data/lib/starter_web/_data/modules/theme_toggler.yml +7 -2
  190. data/lib/starter_web/_data/modules/themes.yml +7 -2
  191. data/lib/starter_web/_data/modules/toccer.yml +7 -2
  192. data/lib/starter_web/_data/modules/translator.yml +7 -2
  193. data/lib/starter_web/_data/modules/videojs.yml +7 -1
  194. data/lib/starter_web/_data/modules/waves.yml +8 -3
  195. data/lib/starter_web/_data/plugins/defaults/feed.yml +1 -1
  196. data/lib/starter_web/_data/plugins/defaults/paginator.yml +1 -1
  197. data/lib/starter_web/_data/plugins/defaults/seo-tags.yml +1 -1
  198. data/lib/starter_web/_data/plugins/defaults/sitemap.yml +1 -1
  199. data/lib/starter_web/_data/plugins/feed.yml +1 -1
  200. data/lib/starter_web/_data/plugins/paginator.yml +1 -1
  201. data/lib/starter_web/_data/plugins/seo-tags.yml +1 -1
  202. data/lib/starter_web/_data/plugins/sitemap.yml +1 -1
  203. data/lib/starter_web/_data/resources.yml +44 -40
  204. data/lib/starter_web/_data/templates/feed.xml +2 -2
  205. data/lib/starter_web/_data/templates/robots.txt +1 -1
  206. data/lib/starter_web/_data/templates/seo-tags.html +1 -1
  207. data/lib/starter_web/_data/templates/sitemap.xml +1 -1
  208. data/lib/starter_web/_data/utilities/defaults/util_srv.yml +1 -1
  209. data/lib/starter_web/_data/utilities/util_srv.yml +1 -1
  210. data/lib/starter_web/_includes/attributes.asciidoc +44 -44
  211. data/lib/starter_web/_includes/custom/templates/collection_panel.html +1 -1
  212. data/lib/starter_web/_includes/tables/jekyll_variables.asciidoc +1 -1
  213. data/lib/starter_web/_plugins/asciidoctor/amplitude-block.rb +2 -2
  214. data/lib/starter_web/_plugins/asciidoctor/lightbox-block.rb +1 -1
  215. data/lib/starter_web/_plugins/asciidoctor/swiper-block.rb +2 -3
  216. data/lib/starter_web/_plugins/asciidoctor/wistia-block.rb +1 -1
  217. data/lib/starter_web/_plugins/asciidoctor/youtube-block.rb +2 -2
  218. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  219. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/anthem.jpg +0 -0
  220. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/from-dusk-to-dawn.jpg +0 -0
  221. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/safe-in-the-steep-cliffs.jpg +0 -0
  222. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/soon-it-will-be-cold-enough.jpg +0 -0
  223. data/lib/starter_web/assets/image/block/image/!readme +0 -0
  224. data/lib/starter_web/assets/image/custom/!info/!readme +0 -0
  225. data/lib/starter_web/assets/image/module/attic/!info/!readme +0 -0
  226. data/lib/starter_web/assets/image/module/attic/1920x1280/alexey-ruban.jpg +0 -0
  227. data/lib/starter_web/assets/image/module/attic/1920x1280/markus-spiske.jpg +0 -0
  228. data/lib/starter_web/assets/image/module/attic/1920x1280/tiny_desk.jpg +0 -0
  229. data/lib/starter_web/assets/image/module/attic/alice-donovan-rouse-2.jpg +0 -0
  230. data/lib/starter_web/assets/image/module/carousel/!info/!readme +0 -0
  231. data/lib/starter_web/assets/image/module/gallery/free_animal/!info/!readme +0 -0
  232. data/lib/starter_web/assets/image/module/gallery/free_animal/image/free-animal-1.jpg +0 -0
  233. data/lib/starter_web/assets/image/module/gallery/free_animal/image/free-animal-2.jpg +0 -0
  234. data/lib/starter_web/assets/image/module/gallery/free_animal/image/free-animal-3.jpg +0 -0
  235. data/lib/starter_web/assets/image/module/gallery/free_animal/image/free-animal-4.jpg +0 -0
  236. data/lib/starter_web/assets/image/module/gallery/free_animal/image/free-animal-5.jpg +0 -0
  237. data/lib/starter_web/assets/image/module/gallery/free_animal/image/free-animal-6.jpg +0 -0
  238. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/295683517.jpg +0 -0
  239. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/andreas-brucker_b.jpg +0 -0
  240. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/banter-snaps_b.jpg +0 -0
  241. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/chicago-us.jpg +0 -0
  242. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/denys-nevozhai-1_b.jpg +0 -0
  243. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/denys-nevozhai-1_c.jpg +0 -0
  244. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/denys-nevozhai-2-bw.jpg +0 -0
  245. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/denys-nevozhai-2_b.jpg +0 -0
  246. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/denys-nevozhai-3_b.jpg +0 -0
  247. data/lib/starter_web/assets/image/{modules/gallery/mega_cities → module/gallery/mega_citiy/image}/emmad-mazhari_b.jpg +0 -0
  248. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/emmad-mazhari_c.jpg +0 -0
  249. data/lib/starter_web/assets/image/{modules/gallery/mega_cities → module/gallery/mega_citiy/image}/ethan-brooke_b.jpg +0 -0
  250. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/federico-rizzarelli_b.jpg +0 -0
  251. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/federico-rizzarelli_c.jpg +0 -0
  252. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/gints-gailis_b.jpg +0 -0
  253. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/jakarta_indonesia.jpg +0 -0
  254. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/jakarta_indonesia_2.jpg +0 -0
  255. data/lib/starter_web/assets/image/{modules/gallery/mega_cities → module/gallery/mega_citiy/image}/johan-mouchet_b.jpg +0 -0
  256. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/luca-bravo_b.jpg +0 -0
  257. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/melbourne_australia.jpg +0 -0
  258. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/queen_bees_at_eureka_tower.jpg +0 -0
  259. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/shanghai_china.jpg +0 -0
  260. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/steven-diaz_b.jpg +0 -0
  261. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/thomas-tucker_b.jpg +0 -0
  262. data/lib/starter_web/assets/image/module/gallery/mega_citiy/image/tokyo_japan.jpg +0 -0
  263. data/lib/starter_web/assets/image/module/gallery/old_time/image/!info/!readme +0 -0
  264. data/lib/starter_web/assets/image/module/lightbox/!info/!readme +0 -0
  265. data/lib/starter_web/assets/image/module/swiper/audio/!info/!readme +0 -0
  266. data/lib/starter_web/assets/image/module/swiper/audio/!readme +0 -0
  267. data/lib/starter_web/assets/image/module/swiper/extended/expanding/!info/!readme +0 -0
  268. data/lib/starter_web/assets/image/module/swiper/extended/expanding/image/avatar/avatar-1.jpg +0 -0
  269. data/lib/starter_web/assets/image/module/swiper/extended/expanding/image/avatar/avatar-2.jpg +0 -0
  270. data/lib/starter_web/assets/image/module/swiper/extended/expanding/image/avatar/avatar-3.jpg +0 -0
  271. data/lib/starter_web/assets/image/module/swiper/extended/expanding/image/avatar/avatar-4.jpg +0 -0
  272. data/lib/starter_web/assets/image/module/swiper/extended/expanding/image/london.jpg +0 -0
  273. data/lib/starter_web/assets/image/module/swiper/extended/expanding/image/moscow.jpg +0 -0
  274. data/lib/starter_web/assets/image/module/swiper/extended/expanding/image/san-francisco.jpg +0 -0
  275. data/lib/starter_web/assets/image/module/swiper/extended/expanding/image/tokyo.jpg +0 -0
  276. data/lib/starter_web/assets/image/module/swiper/extended/expanding/scalable/1-star.svg +88 -0
  277. data/lib/starter_web/assets/image/module/swiper/extended/expanding/scalable/2-star.svg +88 -0
  278. data/lib/starter_web/assets/image/module/swiper/extended/expanding/scalable/3-star.svg +88 -0
  279. data/lib/starter_web/assets/image/module/swiper/extended/expanding/scalable/4-star.svg +88 -0
  280. data/lib/starter_web/assets/image/module/swiper/extended/expanding/scalable/5-star.svg +88 -0
  281. data/lib/starter_web/assets/image/module/swiper/extended/expanding/scalable/elements/star-gray.svg +55 -0
  282. data/lib/starter_web/assets/image/module/swiper/extended/expanding/scalable/elements/star-orange.svg +55 -0
  283. data/lib/starter_web/assets/image/module/swiper/extended/neighbor/!info/!readme +0 -0
  284. data/lib/starter_web/assets/image/module/swiper/extended/neighbor/!readme +0 -0
  285. data/lib/starter_web/assets/image/module/swiper/extended/neighbor/image/free-animal-1.jpg +0 -0
  286. data/lib/starter_web/assets/image/module/swiper/extended/neighbor/image/free-animal-2.jpg +0 -0
  287. data/lib/starter_web/assets/image/module/swiper/extended/neighbor/image/free-animal-3.jpg +0 -0
  288. data/lib/starter_web/assets/image/module/swiper/extended/neighbor/image/free-animal-4.jpg +0 -0
  289. data/lib/starter_web/assets/image/module/swiper/extended/neighbor/image/free-animal-5.jpg +0 -0
  290. data/lib/starter_web/assets/image/module/swiper/extended/neighbor/image/free-animal-6.jpg +0 -0
  291. data/lib/starter_web/assets/image/module/swiper/extended/panorama/!info/!readme +0 -0
  292. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/1.jpg +0 -0
  293. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/10.jpg +0 -0
  294. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/11.jpg +0 -0
  295. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/12.jpg +0 -0
  296. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/2.jpg +0 -0
  297. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/3.jpg +0 -0
  298. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/4.jpg +0 -0
  299. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/5.jpg +0 -0
  300. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/6.jpg +0 -0
  301. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/7.jpg +0 -0
  302. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/8.jpg +0 -0
  303. data/lib/starter_web/assets/image/module/swiper/extended/panorama/image/9.jpg +0 -0
  304. data/lib/starter_web/assets/image/module/swiper/extended/poster/!info/!readme +0 -0
  305. data/lib/starter_web/assets/image/module/swiper/extended/poster/image/!readme +0 -0
  306. data/lib/starter_web/assets/image/module/swiper/extended/poster/image/1.jpg +0 -0
  307. data/lib/starter_web/assets/image/module/swiper/extended/poster/image/2.jpg +0 -0
  308. data/lib/starter_web/assets/image/module/swiper/extended/poster/image/3.jpg +0 -0
  309. data/lib/starter_web/assets/image/module/swiper/extended/poster/image/4.jpg +0 -0
  310. data/lib/starter_web/assets/image/module/swiper/extended/poster/image/5.jpg +0 -0
  311. data/lib/starter_web/assets/image/module/swiper/extended/poster/image/6.jpg +0 -0
  312. data/lib/starter_web/assets/image/module/swiper/simple/free_animal/!info/!readme +0 -0
  313. data/lib/starter_web/assets/image/module/swiper/simple/free_animal/image/free-animal-1.jpg +0 -0
  314. data/lib/starter_web/assets/image/module/swiper/simple/free_animal/image/free-animal-2.jpg +0 -0
  315. data/lib/starter_web/assets/image/module/swiper/simple/free_animal/image/free-animal-3.jpg +0 -0
  316. data/lib/starter_web/assets/image/module/swiper/simple/free_animal/image/free-animal-4.jpg +0 -0
  317. data/lib/starter_web/assets/image/module/swiper/simple/free_animal/image/free-animal-5.jpg +0 -0
  318. data/lib/starter_web/assets/image/module/swiper/simple/free_animal/image/free-animal-6.jpg +0 -0
  319. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/295683517.jpg +0 -0
  320. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/andreas-brucker_b.jpg +0 -0
  321. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/banter-snaps_b.jpg +0 -0
  322. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/chicago-us.jpg +0 -0
  323. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/denys-nevozhai-1_b.jpg +0 -0
  324. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/denys-nevozhai-1_c.jpg +0 -0
  325. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/denys-nevozhai-2-bw.jpg +0 -0
  326. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/denys-nevozhai-2_b.jpg +0 -0
  327. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/denys-nevozhai-3_b.jpg +0 -0
  328. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/emmad-mazhari_b.jpg +0 -0
  329. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/emmad-mazhari_c.jpg +0 -0
  330. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/ethan-brooke_b.jpg +0 -0
  331. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/federico-rizzarelli_b.jpg +0 -0
  332. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/federico-rizzarelli_c.jpg +0 -0
  333. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/gints-gailis_b.jpg +0 -0
  334. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/jakarta_indonesia.jpg +0 -0
  335. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/jakarta_indonesia_2.jpg +0 -0
  336. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/johan-mouchet_b.jpg +0 -0
  337. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/luca-bravo_b.jpg +0 -0
  338. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/melbourne_australia.jpg +0 -0
  339. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/queen_bees_at_eureka_tower.jpg +0 -0
  340. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/shanghai_china.jpg +0 -0
  341. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/steven-diaz_b.jpg +0 -0
  342. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/thomas-tucker_b.jpg +0 -0
  343. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/image/tokyo_japan.jpg +0 -0
  344. data/lib/starter_web/assets/image/module/swiper/simple/mega_city/info/authors.txt +78 -0
  345. data/lib/starter_web/assets/image/module/swiper/video/!info/!readme +0 -0
  346. data/lib/starter_web/assets/image/module/swiper/video/!readme +0 -0
  347. data/lib/starter_web/assets/image/pattern/rating/scalable/1-star.svg +88 -0
  348. data/lib/starter_web/assets/image/pattern/rating/scalable/2-star.svg +88 -0
  349. data/lib/starter_web/assets/image/pattern/rating/scalable/3-star.svg +88 -0
  350. data/lib/starter_web/assets/image/pattern/rating/scalable/4-star.svg +88 -0
  351. data/lib/starter_web/assets/image/pattern/rating/scalable/5-star.svg +88 -0
  352. data/lib/starter_web/assets/image/pattern/rating/scalable/elements/star-gray.svg +55 -0
  353. data/lib/starter_web/assets/image/pattern/rating/scalable/elements/star-orange.svg +55 -0
  354. data/lib/starter_web/assets/video/poster/dailymotion/meditation.jpg +0 -0
  355. data/lib/starter_web/assets/video/poster/dailymotion/pilates.jpg +0 -0
  356. data/lib/starter_web/assets/video/poster/html5/peck_pocketed.jpg +0 -0
  357. data/lib/starter_web/assets/video/poster/html5/rolling_wild.jpg +0 -0
  358. data/lib/starter_web/assets/video/poster/tiktoc/einhorn.jpg +0 -0
  359. data/lib/starter_web/assets/video/poster/tiktoc/gianna_1.jpg +0 -0
  360. data/lib/starter_web/assets/video/poster/tiktoc/gianna_2.jpg +0 -0
  361. data/lib/starter_web/assets/video/poster/tiktoc/gianna_3.jpg +0 -0
  362. data/lib/starter_web/assets/video/poster/tiktoc/waluschka.jpg +0 -0
  363. data/lib/starter_web/assets/video/poster/vimeo/amazing_nature.jpg +0 -0
  364. data/lib/starter_web/assets/video/poster/vimeo/kick_it_old_school.jpg +0 -0
  365. data/lib/starter_web/assets/video/poster/vimeo/stay_colorful.jpg +0 -0
  366. data/lib/starter_web/assets/video/poster/wistia/thank_you.jpg +0 -0
  367. data/lib/starter_web/assets/video/poster/wistia/wistia_black.jpg +0 -0
  368. data/lib/starter_web/assets/video/poster/wistia/wistia_blue.jpg +0 -0
  369. data/lib/starter_web/assets/video/poster/wistia/wistia_intro.jpg +0 -0
  370. data/lib/starter_web/assets/video/poster/youtube/faelle_des_bnd/der_unverzichtbare_feind.jpg +0 -0
  371. data/lib/starter_web/assets/video/poster/youtube/faelle_des_bnd/ein_diener_vieler_herren.jpg +0 -0
  372. data/lib/starter_web/assets/video/poster/youtube/taylor_swift/cover-1.jpg +0 -0
  373. data/lib/starter_web/assets/video/poster/youtube/taylor_swift/cover-2.jpg +0 -0
  374. data/lib/starter_web/assets/video/poster/youtube/the_piano/the-piano.jpg +0 -0
  375. data/lib/starter_web/assets/video/poster/youtube/voice_kids/banner/best_of.jpg +0 -0
  376. data/lib/starter_web/assets/video/poster/youtube/voice_kids/banner/generic.jpg +0 -0
  377. data/lib/starter_web/collections/_biography/a-life-in-questions.adoc +3 -3
  378. data/lib/starter_web/collections/_biography/becoming.adoc +3 -3
  379. data/lib/starter_web/collections/_biography/born-to-run.adoc +3 -3
  380. data/lib/starter_web/collections/_biography/forty-autumns.adoc +3 -3
  381. data/lib/starter_web/collections/_biography/not-dead-yet.adoc +3 -3
  382. data/lib/starter_web/collections/_biography/princess-diarist-the.adoc +3 -3
  383. data/lib/starter_web/collections/_biography/when-breath-becomes-air.adoc +3 -3
  384. data/lib/starter_web/collections/_fantasy/harry-potter-deathly-hallows.adoc +3 -3
  385. data/lib/starter_web/collections/_fantasy/harry-potter-philosophers-stone.adoc +3 -3
  386. data/lib/starter_web/collections/_fantasy/mistborn-trilogy.adoc +3 -3
  387. data/lib/starter_web/collections/_fantasy/ready-player-one.adoc +3 -3
  388. data/lib/starter_web/collections/_fantasy/sword-of-destiny.adoc +3 -3
  389. data/lib/starter_web/collections/_fantasy/terry-pratchet-diary.adoc +3 -3
  390. data/lib/starter_web/collections/_portfolio/branding.adoc +2 -2
  391. data/lib/starter_web/collections/_portfolio/graphic_design.adoc +2 -2
  392. data/lib/starter_web/collections/_portfolio/identity.adoc +2 -2
  393. data/lib/starter_web/collections/_portfolio/illustration.adoc +2 -2
  394. data/lib/starter_web/collections/_portfolio/photography.adoc +2 -2
  395. data/lib/starter_web/collections/_portfolio/web_design.adoc +2 -2
  396. data/lib/starter_web/collections/_romance/breath-of-snow-and-ashes.adoc +3 -3
  397. data/lib/starter_web/collections/_romance/it-ends-with-us.adoc +3 -3
  398. data/lib/starter_web/collections/_romance/outlander-novel.adoc +3 -3
  399. data/lib/starter_web/collections/_romance/outlander-virgins-short-story.adoc +3 -3
  400. data/lib/starter_web/collections/_romance/the-dressmaker.adoc +3 -3
  401. data/lib/starter_web/collections/_romance/the-fiery-cross.adoc +3 -3
  402. data/lib/starter_web/collections/asciidoc_skeletons/simple-post/_posts/yyyy-mm-dd-your-post-name.asciidoc +3 -3
  403. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +2 -2
  404. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.adoc +2 -2
  405. data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-static-site-generators.adoc +3 -3
  406. data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +2 -2
  407. data/lib/starter_web/collections/posts/public/featured/_posts/2023-10-18-url-types.adoc +2 -2
  408. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/attributes.asciidoc +2 -2
  409. data/lib/starter_web/index.html +2 -2
  410. data/lib/starter_web/package.json +1 -1
  411. data/lib/starter_web/pages/public/about/features.adoc +2 -2
  412. data/lib/starter_web/pages/public/about/reporting_issues.adoc +2 -2
  413. data/lib/starter_web/pages/public/about/site.adoc +2 -2
  414. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/000_intro.adoc +2 -2
  415. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/100_converter.adoc +2 -2
  416. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/200_themes.adoc +2 -2
  417. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/attributes.asciidoc +1 -1
  418. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/100_converter/112_getting_started.asciidoc +1 -1
  419. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/a2p.bat +1 -1
  420. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/a2p.sh +1 -1
  421. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.a2p +1 -1
  422. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +2 -2
  423. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +2 -2
  424. data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +2 -2
  425. data/lib/starter_web/pages/public/blog/navigator/archive/allview.html +2 -2
  426. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +2 -2
  427. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +2 -2
  428. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +2 -2
  429. data/lib/starter_web/pages/public/blog/navigator/index.html +2 -2
  430. data/lib/starter_web/pages/public/features/general.adoc +3 -3
  431. data/lib/starter_web/pages/public/features/template.adoc +15 -15
  432. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_biography.adoc +2 -2
  433. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_fantasy.adoc +2 -2
  434. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_romance.adoc +2 -2
  435. data/lib/starter_web/pages/public/learn/bookshelf/jekyll_collections.adoc +2 -2
  436. data/lib/starter_web/pages/public/learn/bookshelf/viewer_all_books.adoc +2 -2
  437. data/lib/starter_web/pages/public/learn/where_to_go.adoc +2 -2
  438. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +2 -2
  439. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +2 -2
  440. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +2 -2
  441. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +2 -2
  442. data/lib/starter_web/pages/public/panels/intro_panel/_includes/attributes.asciidoc +6 -6
  443. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +6 -6
  444. data/lib/starter_web/pages/public/plans/plans.adoc +2 -2
  445. data/lib/starter_web/pages/public/tools/previewer/_includes/attributes.asciidoc +5 -5
  446. data/lib/starter_web/pages/public/tools/previewer/preview_amplitudejs.adoc +2 -2
  447. data/lib/starter_web/pages/public/tools/previewer/preview_bootstrap_theme.adoc +5 -5
  448. data/lib/starter_web/pages/public/tools/previewer/preview_videojs.adoc +2 -2
  449. data/lib/starter_web/pages/public/tools/tester/{amplitude_yt_tester.adoc → app_tester_amplitudejs_yt.adoc} +13 -12
  450. data/lib/starter_web/pages/public/tools/tester/app_tester_swiperjs.adoc +1130 -0
  451. data/lib/starter_web/pages/public/tour/_includes/attributes.asciidoc +5 -8
  452. data/lib/starter_web/pages/public/tour/_includes/documents/419_advanced_modals_demo.asciidoc +2 -2
  453. data/lib/starter_web/pages/public/tour/asciidoc_extensions.adoc +4 -4
  454. data/lib/starter_web/pages/public/tour/bootstrap_themes.adoc +4 -4
  455. data/lib/starter_web/pages/public/tour/highlghter_rouge.adoc +2 -2
  456. data/lib/starter_web/pages/public/tour/icon_fonts.adoc +2 -2
  457. data/lib/starter_web/pages/public/tour/modal_extentions.adoc +2 -2
  458. data/lib/starter_web/pages/public/tour/play_audio.adoc +2 -2
  459. data/lib/starter_web/pages/public/tour/play_video.adoc +1 -1
  460. data/lib/starter_web/pages/public/tour/present_images.adoc +48 -62
  461. data/lib/starter_web/pages/public/tour/quicksearch.adoc +2 -2
  462. data/lib/starter_web/pages/public/tour/responsive_tables.adoc +2 -2
  463. data/lib/starter_web/pages/public/tour/typography.adoc +2 -2
  464. metadata +699 -732
  465. data/apps/private/README.txt +0 -1
  466. data/apps/protected/README.txt +0 -1
  467. data/apps/public/README.txt +0 -1
  468. data/apps/public/cc/cc.yml +0 -1649
  469. data/apps/public/cc/index.adoc +0 -111
  470. data/assets/data/swiper.html +0 -244
  471. data/assets/theme/j1/adapter/js/amplitude.30.js +0 -1177
  472. data/assets/theme/j1/core/css/animate.css.map +0 -1
  473. data/assets/theme/j1/core/css/animate.min.css.map +0 -1
  474. data/assets/theme/j1/core/css/icon-fonts/fontawesome.css.map +0 -1
  475. data/assets/theme/j1/core/css/icon-fonts/fontawesome.min.css.map +0 -1
  476. data/assets/theme/j1/core/css/icon-fonts/iconify.css.map +0 -1
  477. data/assets/theme/j1/core/css/icon-fonts/iconify.min.css.map +0 -1
  478. data/assets/theme/j1/core/css/icon-fonts/mdi.css.map +0 -1
  479. data/assets/theme/j1/core/css/icon-fonts/mdi.min.css.map +0 -1
  480. data/assets/theme/j1/core/css/icon-fonts/mdib.css.map +0 -1
  481. data/assets/theme/j1/core/css/icon-fonts/mdib.min.css.map +0 -1
  482. data/assets/theme/j1/core/css/themes/bootstrap/bootstrap.css.map +0 -1
  483. data/assets/theme/j1/core/css/themes/bootstrap/bootstrap.min.css.map +0 -1
  484. data/assets/theme/j1/core/css/themes/unodark/bootstrap.css.map +0 -1
  485. data/assets/theme/j1/core/css/themes/unodark/bootstrap.min.css.map +0 -1
  486. data/assets/theme/j1/core/css/themes/unolight/bootstrap.css.map +0 -1
  487. data/assets/theme/j1/core/css/themes/unolight/bootstrap.min.css.map +0 -1
  488. data/assets/theme/j1/core/css/vendor.css.map +0 -1
  489. data/assets/theme/j1/core/css/vendor.min.css.map +0 -1
  490. data/assets/theme/j1/core/js/template.min.js.map +0 -1
  491. data/assets/theme/j1/modules/amplitudejs/js/amplitude.map +0 -20
  492. data/assets/theme/j1/modules/amplitudejs/js/tech/ytp.min.js +0 -14
  493. data/assets/theme/j1/modules/bootstrap/js/bootstrap.js.map +0 -1
  494. data/assets/theme/j1/modules/bootstrap/js/bootstrap.min.js.map +0 -1
  495. data/assets/theme/j1/modules/gemini/js/gemini.js.map +0 -1
  496. data/assets/theme/j1/modules/photoswipe/_info/.version_5.4.4 +0 -6
  497. data/assets/theme/j1/modules/photoswipe/_info/example/photoswipe-caption-plugin.html +0 -237
  498. data/assets/theme/j1/modules/photoswipe/_info/example/test-gallery.html +0 -36
  499. data/assets/theme/j1/modules/photoswipe/js/_info/README.md +0 -43
  500. data/assets/theme/j1/modules/photoswipe/js/photoswipe-lightbox.1.js +0 -1990
  501. data/assets/theme/j1/modules/swiper/_info/.version_1.2.0 +0 -15
  502. data/assets/theme/j1/modules/swiper/_info/swiperjs.com-demos.url +0 -2
  503. data/assets/theme/j1/modules/swiper/css/theme/uno.min.css +0 -144
  504. data/assets/theme/j1/modules/swiper/js/modules/!readme +0 -3
  505. data/lib/starter_web/_data/modules/defaults/swiper.yml +0 -175
  506. data/lib/starter_web/_data/modules/swiper.yml +0 -655
  507. data/lib/starter_web/assets/image/custom/header/family.svg +0 -2209
  508. data/lib/starter_web/assets/image/icons/bokeh/bokeh-32x32.ico +0 -0
  509. data/lib/starter_web/assets/image/icons/bokeh/bokeh.ico +0 -0
  510. data/lib/starter_web/assets/image/icons/bokeh/logo-160x160.png +0 -0
  511. data/lib/starter_web/assets/image/icons/jupyter/jupyter-32x32.ico +0 -0
  512. data/lib/starter_web/assets/image/icons/jupyter/jupyter.ico +0 -0
  513. data/lib/starter_web/assets/image/icons/jupyter/logo.png +0 -0
  514. data/lib/starter_web/assets/image/modules/attics/1920x1280/alexey-ruban.jpg +0 -0
  515. data/lib/starter_web/assets/image/modules/attics/1920x1280/kristopher-roller.webp +0 -0
  516. data/lib/starter_web/assets/image/modules/attics/1920x1280/markus-spiske.jpg +0 -0
  517. data/lib/starter_web/assets/image/modules/attics/1920x1280/tiny_desk.jpg +0 -0
  518. data/lib/starter_web/assets/image/modules/attics/alice-donovan-rouse-2.jpg +0 -0
  519. data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-1.jpg +0 -0
  520. data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-2.jpg +0 -0
  521. data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-3.jpg +0 -0
  522. data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-4.jpg +0 -0
  523. data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-5.jpg +0 -0
  524. data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-6.jpg +0 -0
  525. data/lib/starter_web/assets/image/modules/gallery/mega_cities/295683517.jpg +0 -0
  526. data/lib/starter_web/assets/image/modules/gallery/mega_cities/andreas-brucker_b.jpg +0 -0
  527. data/lib/starter_web/assets/image/modules/gallery/mega_cities/banter-snaps_b.jpg +0 -0
  528. data/lib/starter_web/assets/image/modules/gallery/mega_cities/chicago-us.jpg +0 -0
  529. data/lib/starter_web/assets/image/modules/gallery/mega_cities/denys-nevozhai-1_b.jpg +0 -0
  530. data/lib/starter_web/assets/image/modules/gallery/mega_cities/denys-nevozhai-1_c.jpg +0 -0
  531. data/lib/starter_web/assets/image/modules/gallery/mega_cities/denys-nevozhai-2-bw.jpg +0 -0
  532. data/lib/starter_web/assets/image/modules/gallery/mega_cities/denys-nevozhai-2_b.jpg +0 -0
  533. data/lib/starter_web/assets/image/modules/gallery/mega_cities/denys-nevozhai-3_b.jpg +0 -0
  534. data/lib/starter_web/assets/image/modules/gallery/mega_cities/emmad-mazhari_c.jpg +0 -0
  535. data/lib/starter_web/assets/image/modules/gallery/mega_cities/federico-rizzarelli_b.jpg +0 -0
  536. data/lib/starter_web/assets/image/modules/gallery/mega_cities/federico-rizzarelli_c.jpg +0 -0
  537. data/lib/starter_web/assets/image/modules/gallery/mega_cities/gints-gailis_b.jpg +0 -0
  538. data/lib/starter_web/assets/image/modules/gallery/mega_cities/jakarta_indonesia.jpg +0 -0
  539. data/lib/starter_web/assets/image/modules/gallery/mega_cities/jakarta_indonesia_2.jpg +0 -0
  540. data/lib/starter_web/assets/image/modules/gallery/mega_cities/luca-bravo_b.jpg +0 -0
  541. data/lib/starter_web/assets/image/modules/gallery/mega_cities/melbourne_australia.jpg +0 -0
  542. data/lib/starter_web/assets/image/modules/gallery/mega_cities/melbourne_australia.webp +0 -0
  543. data/lib/starter_web/assets/image/modules/gallery/mega_cities/queen_bees_at_eureka_tower.jpg +0 -0
  544. data/lib/starter_web/assets/image/modules/gallery/mega_cities/shanghai_china.jpg +0 -0
  545. data/lib/starter_web/assets/image/modules/gallery/mega_cities/steven-diaz_b.jpg +0 -0
  546. data/lib/starter_web/assets/image/modules/gallery/mega_cities/thomas-tucker_b.jpg +0 -0
  547. data/lib/starter_web/assets/image/modules/gallery/mega_cities/tokyo_japan.jpg +0 -0
  548. data/lib/starter_web/assets/image/modules/gallery/neighbor_slider/guardians-of-the-galaxy.jpg +0 -0
  549. data/lib/starter_web/assets/image/modules/gallery/neighbor_slider/justice-league.jpg +0 -0
  550. data/lib/starter_web/assets/image/modules/gallery/neighbor_slider/spider-man.jpg +0 -0
  551. data/lib/starter_web/assets/image/modules/gallery/neighbor_slider/suicide-squad.jpg +0 -0
  552. data/lib/starter_web/assets/image/modules/gallery/neighbor_slider/thor-ragnarok.jpg +0 -0
  553. data/lib/starter_web/assets/image/modules/gallery/panorama/1.jpg +0 -0
  554. data/lib/starter_web/assets/image/modules/gallery/panorama/10.jpg +0 -0
  555. data/lib/starter_web/assets/image/modules/gallery/panorama/11.jpg +0 -0
  556. data/lib/starter_web/assets/image/modules/gallery/panorama/12.jpg +0 -0
  557. data/lib/starter_web/assets/image/modules/gallery/panorama/2.jpg +0 -0
  558. data/lib/starter_web/assets/image/modules/gallery/panorama/3.jpg +0 -0
  559. data/lib/starter_web/assets/image/modules/gallery/panorama/4.jpg +0 -0
  560. data/lib/starter_web/assets/image/modules/gallery/panorama/5.jpg +0 -0
  561. data/lib/starter_web/assets/image/modules/gallery/panorama/6.jpg +0 -0
  562. data/lib/starter_web/assets/image/modules/gallery/panorama/7.jpg +0 -0
  563. data/lib/starter_web/assets/image/modules/gallery/panorama/8.jpg +0 -0
  564. data/lib/starter_web/assets/image/modules/gallery/panorama/9.jpg +0 -0
  565. data/lib/starter_web/assets/image/modules/icons/algolia/search-by-algolia.png +0 -0
  566. data/lib/starter_web/assets/image/modules/icons/asciidoc/logo-512x512.png +0 -0
  567. data/lib/starter_web/assets/image/modules/icons/bootstrap/bootstrap-solid-32x32.png +0 -0
  568. data/lib/starter_web/assets/image/modules/icons/bootstrap/bs-docs-masthead-pattern.png +0 -0
  569. data/lib/starter_web/assets/image/modules/icons/bootstrap/scalable/bootstrap-outline.svg +0 -20
  570. data/lib/starter_web/assets/image/modules/icons/bootstrap/scalable/bootstrap-punchout.svg +0 -18
  571. data/lib/starter_web/assets/image/modules/icons/bootstrap/scalable/bootstrap-solid.svg +0 -17
  572. data/lib/starter_web/assets/image/modules/icons/components/angular.ui.png +0 -0
  573. data/lib/starter_web/assets/image/modules/icons/components/angularjs.png +0 -0
  574. data/lib/starter_web/assets/image/modules/icons/components/aws.png +0 -0
  575. data/lib/starter_web/assets/image/modules/icons/components/bootstrap.png +0 -0
  576. data/lib/starter_web/assets/image/modules/icons/components/c9.png +0 -0
  577. data/lib/starter_web/assets/image/modules/icons/components/chai.png +0 -0
  578. data/lib/starter_web/assets/image/modules/icons/components/emmet.png +0 -0
  579. data/lib/starter_web/assets/image/modules/icons/components/express.png +0 -0
  580. data/lib/starter_web/assets/image/modules/icons/components/git.png +0 -0
  581. data/lib/starter_web/assets/image/modules/icons/components/github.png +0 -0
  582. data/lib/starter_web/assets/image/modules/icons/components/gulp.png +0 -0
  583. data/lib/starter_web/assets/image/modules/icons/components/heroku.png +0 -0
  584. data/lib/starter_web/assets/image/modules/icons/components/htmlcss-1.png +0 -0
  585. data/lib/starter_web/assets/image/modules/icons/components/htmlcss-2.png +0 -0
  586. data/lib/starter_web/assets/image/modules/icons/components/jasmine.png +0 -0
  587. data/lib/starter_web/assets/image/modules/icons/components/javascript.png +0 -0
  588. data/lib/starter_web/assets/image/modules/icons/components/jquery.png +0 -0
  589. data/lib/starter_web/assets/image/modules/icons/components/kanban.png +0 -0
  590. data/lib/starter_web/assets/image/modules/icons/components/leanux.png +0 -0
  591. data/lib/starter_web/assets/image/modules/icons/components/linkedin.png +0 -0
  592. data/lib/starter_web/assets/image/modules/icons/components/mean.png +0 -0
  593. data/lib/starter_web/assets/image/modules/icons/components/mongodb.png +0 -0
  594. data/lib/starter_web/assets/image/modules/icons/components/node.png +0 -0
  595. data/lib/starter_web/assets/image/modules/icons/components/postgresql.png +0 -0
  596. data/lib/starter_web/assets/image/modules/icons/components/protractor.png +0 -0
  597. data/lib/starter_web/assets/image/modules/icons/components/rails.png +0 -0
  598. data/lib/starter_web/assets/image/modules/icons/components/ruby.png +0 -0
  599. data/lib/starter_web/assets/image/modules/icons/components/sass.png +0 -0
  600. data/lib/starter_web/assets/image/modules/icons/components/scrum.png +0 -0
  601. data/lib/starter_web/assets/image/modules/icons/components/twitter.png +0 -0
  602. data/lib/starter_web/assets/image/modules/icons/j1/favicon.ico +0 -0
  603. data/lib/starter_web/assets/image/modules/icons/j1/j1-256x256.png +0 -0
  604. data/lib/starter_web/assets/image/modules/icons/j1/j1-32x32.ico +0 -0
  605. data/lib/starter_web/assets/image/modules/icons/j1/j1-512x512.png +0 -0
  606. data/lib/starter_web/assets/image/modules/icons/j1/j1-64x64.png +0 -0
  607. data/lib/starter_web/assets/image/modules/icons/j1/j1.ico +0 -0
  608. data/lib/starter_web/assets/image/modules/icons/j1/scalable/j1.svg +0 -2023
  609. data/lib/starter_web/assets/image/modules/icons/netlify/nf-logo.png +0 -0
  610. data/lib/starter_web/assets/image/modules/icons/social/amazon.png +0 -0
  611. data/lib/starter_web/assets/image/modules/icons/social/behance.png +0 -0
  612. data/lib/starter_web/assets/image/modules/icons/social/blogger.png +0 -0
  613. data/lib/starter_web/assets/image/modules/icons/social/dribbble.png +0 -0
  614. data/lib/starter_web/assets/image/modules/icons/social/dropbox.png +0 -0
  615. data/lib/starter_web/assets/image/modules/icons/social/facebook.png +0 -0
  616. data/lib/starter_web/assets/image/modules/icons/social/forrst.png +0 -0
  617. data/lib/starter_web/assets/image/modules/icons/social/github.png +0 -0
  618. data/lib/starter_web/assets/image/modules/icons/social/googleplus.png +0 -0
  619. data/lib/starter_web/assets/image/modules/icons/social/instagram.png +0 -0
  620. data/lib/starter_web/assets/image/modules/icons/social/linkedin.png +0 -0
  621. data/lib/starter_web/assets/image/modules/icons/social/pintrest.png +0 -0
  622. data/lib/starter_web/assets/image/modules/icons/social/rss.png +0 -0
  623. data/lib/starter_web/assets/image/modules/icons/social/scalable/icon-twitter-x-28 - social.svg +0 -86
  624. data/lib/starter_web/assets/image/modules/icons/social/scalable/icon-twitter-x-28.svg +0 -64
  625. data/lib/starter_web/assets/image/modules/icons/social/scalable/icon-twitter-x.svg +0 -1
  626. data/lib/starter_web/assets/image/modules/icons/social/skype.png +0 -0
  627. data/lib/starter_web/assets/image/modules/icons/social/spotify.png +0 -0
  628. data/lib/starter_web/assets/image/modules/icons/social/twitter.png +0 -0
  629. data/lib/starter_web/assets/image/modules/icons/social/twitter_x.png +0 -0
  630. data/lib/starter_web/assets/image/modules/icons/social/vimeo.png +0 -0
  631. data/lib/starter_web/assets/image/modules/icons/social/vk.png +0 -0
  632. data/lib/starter_web/assets/image/modules/icons/social/wordpress.png +0 -0
  633. data/lib/starter_web/assets/image/modules/icons/social/xing.png +0 -0
  634. data/lib/starter_web/assets/image/modules/icons/social/yahoo.png +0 -0
  635. data/lib/starter_web/assets/image/modules/icons/social/youtube.png +0 -0
  636. data/lib/starter_web/assets/video/poster/wistia/sources/banner.psd +0 -0
  637. data/lib/starter_web/assets/video/poster/wistia/sources/logo-text.png +0 -0
  638. data/lib/starter_web/assets/video/poster/wistia/sources/wistia-black.psd +0 -0
  639. data/lib/starter_web/assets/video/poster/wistia/sources/wistia_text_logo_black.jpg +0 -0
  640. data/lib/starter_web/assets/video/poster/youtube/taylor_swift/28-07-_2024_22-21-00.jpg +0 -0
  641. data/lib/starter_web/pages/public/features/template.asciidoc +0 -758
  642. data/lib/starter_web/pages/public/tools/tester/swiper_tester.adoc +0 -796
  643. /data/assets/{error_pages → page}/HTTP204.html +0 -0
  644. /data/assets/{error_pages → page}/HTTP400.html +0 -0
  645. /data/assets/{error_pages → page}/HTTP401.html +0 -0
  646. /data/assets/{error_pages → page}/HTTP403.html +0 -0
  647. /data/assets/{error_pages → page}/HTTP404.html +0 -0
  648. /data/assets/{error_pages → page}/HTTP444.html +0 -0
  649. /data/assets/{error_pages → page}/HTTP445.html +0 -0
  650. /data/assets/{error_pages → page}/HTTP446.html +0 -0
  651. /data/assets/{error_pages → page}/HTTP447.html +0 -0
  652. /data/assets/{error_pages → page}/HTTP448.html +0 -0
  653. /data/assets/{error_pages → page}/HTTP500.html +0 -0
  654. /data/assets/{error_pages → page}/HTTP501.html +0 -0
  655. /data/assets/{error_pages → page}/HTTP502.html +0 -0
  656. /data/assets/{error_pages → page}/HTTP503.html +0 -0
  657. /data/assets/theme/j1/modules/{js-cookies/js/js.cookie.js → cookiejs/js/.cookiejs.js} +0 -0
  658. /data/assets/theme/j1/modules/{js-cookies/js/js.cookie.min.js → cookiejs/js/jcookiejs.min.js} +0 -0
  659. /data/assets/theme/j1/modules/{swiper → swiperjs}/LICENSE +0 -0
  660. /data/assets/theme/j1/modules/{swiper → swiperjs}/README.md +0 -0
  661. /data/assets/theme/j1/modules/{swiper → swiperjs}/css/swiper-bundle.min..css +0 -0
  662. /data/assets/theme/j1/modules/{swiper → swiperjs}/js/swiper-bundle.js +0 -0
  663. /data/assets/theme/j1/modules/{swiper → swiperjs}/js/swiper-bundle.min.js +0 -0
  664. /data/lib/starter_web/assets/audio/album/royalty_free/{disco → !info/disco}/!sound.links.txt +0 -0
  665. /data/lib/starter_web/assets/audio/album/royalty_free/{pop → !info/pop}/!sound.links.txt +0 -0
  666. /data/lib/starter_web/assets/image/{backgrounds → background}/triangles-bg.png +0 -0
  667. /data/lib/starter_web/assets/image/{badges → badge}/configBinder.jpg +0 -0
  668. /data/lib/starter_web/assets/image/{badges → badge}/docsBinder.jpg +0 -0
  669. /data/lib/starter_web/assets/image/{badges → badge}/notebookBinder.jpg +0 -0
  670. /data/lib/starter_web/assets/image/{badges → badge}/png/configBinder.png +0 -0
  671. /data/lib/starter_web/assets/image/{badges → badge}/png/docsBinder.png +0 -0
  672. /data/lib/starter_web/assets/image/{badges → badge}/png/notebookBinder.png +0 -0
  673. /data/lib/starter_web/assets/image/{badges → badge}/scaleable/binder.svg +0 -0
  674. /data/lib/starter_web/assets/image/{badges → badge}/scaleable/configBinder.svg +0 -0
  675. /data/lib/starter_web/assets/image/{badges → badge}/scaleable/docsBinder.svg +0 -0
  676. /data/lib/starter_web/assets/image/{badges → badge}/scaleable/myBinder.svg +0 -0
  677. /data/lib/starter_web/assets/image/{badges → badge}/scaleable/notebookBinder.svg +0 -0
  678. /data/lib/starter_web/assets/image/{blocks → block}/waves/scalable/1920x100/wave-1.svg +0 -0
  679. /data/lib/starter_web/assets/image/{blocks → block}/waves/scalable/1920x100/wave-2.svg +0 -0
  680. /data/lib/starter_web/assets/image/{blocks → block}/waves/scalable/1920x100/wave-3.svg +0 -0
  681. /data/lib/starter_web/assets/image/{blocks → block}/waves/scalable/1920x100/wave-4.svg +0 -0
  682. /data/lib/starter_web/assets/image/{blocks → block}/waves/scalable/1920x100/wave-5.svg +0 -0
  683. /data/lib/starter_web/assets/image/{collections → collection}/books/biography/a_life_in_questions.jpg +0 -0
  684. /data/lib/starter_web/assets/image/{collections → collection}/books/biography/becoming.jpg +0 -0
  685. /data/lib/starter_web/assets/image/{collections → collection}/books/biography/born_to_run.jpg +0 -0
  686. /data/lib/starter_web/assets/image/{collections → collection}/books/biography/forty_autumns.jpg +0 -0
  687. /data/lib/starter_web/assets/image/{collections → collection}/books/biography/not_dead_yet.jpg +0 -0
  688. /data/lib/starter_web/assets/image/{collections → collection}/books/biography/the_princess_diarist.jpg +0 -0
  689. /data/lib/starter_web/assets/image/{collections → collection}/books/biography/when_breath_becomes_air.jpg +0 -0
  690. /data/lib/starter_web/assets/image/{collections → collection}/books/fantasy/harry-potter-deathly-hallows.jpg +0 -0
  691. /data/lib/starter_web/assets/image/{collections → collection}/books/fantasy/harry-potter-philosophers-stone.jpg +0 -0
  692. /data/lib/starter_web/assets/image/{collections → collection}/books/fantasy/mistborn-trilogy.jpg +0 -0
  693. /data/lib/starter_web/assets/image/{collections → collection}/books/fantasy/ready-player-one.jpg +0 -0
  694. /data/lib/starter_web/assets/image/{collections → collection}/books/fantasy/sword-of-destiny.jpg +0 -0
  695. /data/lib/starter_web/assets/image/{collections → collection}/books/fantasy/terry-pratchet-diary.jpg +0 -0
  696. /data/lib/starter_web/assets/image/{collections → collection}/books/romance/breath-of-snow-and-ashes.jpg +0 -0
  697. /data/lib/starter_web/assets/image/{collections → collection}/books/romance/it-ends-with-us.jpg +0 -0
  698. /data/lib/starter_web/assets/image/{collections → collection}/books/romance/outlander-novel.jpg +0 -0
  699. /data/lib/starter_web/assets/image/{collections → collection}/books/romance/outlander-short-story.jpg +0 -0
  700. /data/lib/starter_web/assets/image/{collections → collection}/books/romance/the-fiery-cross.jpg +0 -0
  701. /data/lib/starter_web/assets/image/{collections → collection}/books/romance/the_dressmaker.jpg +0 -0
  702. /data/lib/starter_web/assets/image/{collections → collection}/people/diana-petersen.jpg +0 -0
  703. /data/lib/starter_web/assets/image/{collections → collection}/people/larry-parker.jpg +0 -0
  704. /data/lib/starter_web/assets/image/{collections → collection}/people/parveen-anand.jpg +0 -0
  705. /data/lib/starter_web/assets/image/{collections → collection}/portfolio/1.jpg +0 -0
  706. /data/lib/starter_web/assets/image/{collections → collection}/portfolio/2.jpg +0 -0
  707. /data/lib/starter_web/assets/image/{collections → collection}/portfolio/3.jpg +0 -0
  708. /data/lib/starter_web/assets/image/{collections → collection}/portfolio/4.jpg +0 -0
  709. /data/lib/starter_web/assets/image/{collections → collection}/portfolio/5.jpg +0 -0
  710. /data/lib/starter_web/assets/image/{collections → collection}/portfolio/6.jpg +0 -0
  711. /data/lib/starter_web/assets/image/custom/header/{avatar.svg → scalable/avatar.svg} +0 -0
  712. /data/lib/starter_web/assets/image/{icons → icon}/asciidoc/logo-512x512.png +0 -0
  713. /data/lib/starter_web/assets/image/{icons → icon}/bootstrap/bootstrap-solid-32x32.png +0 -0
  714. /data/lib/starter_web/assets/image/{icons → icon}/bootstrap/bs-docs-masthead-pattern.png +0 -0
  715. /data/lib/starter_web/assets/image/{icons → icon}/bootstrap/scalable/bootstrap-outline.svg +0 -0
  716. /data/lib/starter_web/assets/image/{icons → icon}/bootstrap/scalable/bootstrap-punchout.svg +0 -0
  717. /data/lib/starter_web/assets/image/{icons → icon}/bootstrap/scalable/bootstrap-solid.svg +0 -0
  718. /data/lib/starter_web/assets/image/{icons → icon}/components/angular.ui.png +0 -0
  719. /data/lib/starter_web/assets/image/{icons → icon}/components/angularjs.png +0 -0
  720. /data/lib/starter_web/assets/image/{icons → icon}/components/aws.png +0 -0
  721. /data/lib/starter_web/assets/image/{icons → icon}/components/bootstrap.png +0 -0
  722. /data/lib/starter_web/assets/image/{icons → icon}/components/c9.png +0 -0
  723. /data/lib/starter_web/assets/image/{icons → icon}/components/chai.png +0 -0
  724. /data/lib/starter_web/assets/image/{icons → icon}/components/emmet.png +0 -0
  725. /data/lib/starter_web/assets/image/{icons → icon}/components/express.png +0 -0
  726. /data/lib/starter_web/assets/image/{icons → icon}/components/git.png +0 -0
  727. /data/lib/starter_web/assets/image/{icons → icon}/components/github.png +0 -0
  728. /data/lib/starter_web/assets/image/{icons → icon}/components/gulp.png +0 -0
  729. /data/lib/starter_web/assets/image/{icons → icon}/components/heroku.png +0 -0
  730. /data/lib/starter_web/assets/image/{icons → icon}/components/htmlcss-1.png +0 -0
  731. /data/lib/starter_web/assets/image/{icons → icon}/components/htmlcss-2.png +0 -0
  732. /data/lib/starter_web/assets/image/{icons → icon}/components/jasmine.png +0 -0
  733. /data/lib/starter_web/assets/image/{icons → icon}/components/javascript.png +0 -0
  734. /data/lib/starter_web/assets/image/{icons → icon}/components/jquery.png +0 -0
  735. /data/lib/starter_web/assets/image/{icons → icon}/components/kanban.png +0 -0
  736. /data/lib/starter_web/assets/image/{icons → icon}/components/leanux.png +0 -0
  737. /data/lib/starter_web/assets/image/{icons → icon}/components/linkedin.png +0 -0
  738. /data/lib/starter_web/assets/image/{icons → icon}/components/mean.png +0 -0
  739. /data/lib/starter_web/assets/image/{icons → icon}/components/mongodb.png +0 -0
  740. /data/lib/starter_web/assets/image/{icons → icon}/components/node.png +0 -0
  741. /data/lib/starter_web/assets/image/{icons → icon}/components/postgresql.png +0 -0
  742. /data/lib/starter_web/assets/image/{icons → icon}/components/protractor.png +0 -0
  743. /data/lib/starter_web/assets/image/{icons → icon}/components/rails.png +0 -0
  744. /data/lib/starter_web/assets/image/{icons → icon}/components/ruby.png +0 -0
  745. /data/lib/starter_web/assets/image/{icons → icon}/components/sass.png +0 -0
  746. /data/lib/starter_web/assets/image/{icons → icon}/components/scrum.png +0 -0
  747. /data/lib/starter_web/assets/image/{icons → icon}/components/twitter.png +0 -0
  748. /data/lib/starter_web/assets/image/{icons → icon}/controls/close-icon.svg +0 -0
  749. /data/lib/starter_web/assets/image/{icons → icon}/controls/up.svg +0 -0
  750. /data/lib/starter_web/assets/image/{icons → icon}/github/avatar-icon.png +0 -0
  751. /data/lib/starter_web/assets/image/{icons/hyvor-talk → icon/hyvor}/hyvore-talk.ico +0 -0
  752. /data/lib/starter_web/assets/image/{icons/hyvor-talk → icon/hyvor}/jpg/hyvor-logo.512x512.jpg +0 -0
  753. /data/lib/starter_web/assets/image/{icons/hyvor-talk → icon/hyvor}/png/hyvor-logo.24x24.jpg +0 -0
  754. /data/lib/starter_web/assets/image/{icons/hyvor-talk → icon/hyvor}/png/hyvor-logo.24x24.png +0 -0
  755. /data/lib/starter_web/assets/image/{icons/hyvor-talk → icon/hyvor}/png/hyvor-logo.512x512.png +0 -0
  756. /data/lib/starter_web/assets/image/{icons/hyvor-talk → icon/hyvor}/scalable/hyvor-logo.svg +0 -0
  757. /data/lib/starter_web/assets/image/{icons → icon}/j1/favicon.ico +0 -0
  758. /data/lib/starter_web/assets/image/{icons → icon}/j1/j1-256x256.png +0 -0
  759. /data/lib/starter_web/assets/image/{icons → icon}/j1/j1-32x32.ico +0 -0
  760. /data/lib/starter_web/assets/image/{icons → icon}/j1/j1-512x512.png +0 -0
  761. /data/lib/starter_web/assets/image/{icons → icon}/j1/j1-64x64.png +0 -0
  762. /data/lib/starter_web/assets/image/{icons → icon}/j1/j1.ico +0 -0
  763. /data/lib/starter_web/assets/image/{icons → icon}/j1/jpg/j1-256x256.jpg +0 -0
  764. /data/lib/starter_web/assets/image/{icons → icon}/j1/jpg/j1-512x512.jpg +0 -0
  765. /data/lib/starter_web/assets/image/{icons → icon}/j1/jpg/j1-64x64.jpg +0 -0
  766. /data/lib/starter_web/assets/image/{icons → icon}/j1/png/j1-256x256.png +0 -0
  767. /data/lib/starter_web/assets/image/{icons → icon}/j1/png/j1-512x512.jpg +0 -0
  768. /data/lib/starter_web/assets/image/{icons → icon}/j1/png/j1-512x512.jpg.png +0 -0
  769. /data/lib/starter_web/assets/image/{icons → icon}/j1/png/j1-512x512.png +0 -0
  770. /data/lib/starter_web/assets/image/{icons → icon}/j1/png/j1-64x64.png +0 -0
  771. /data/lib/starter_web/assets/image/{icons → icon}/j1/scalable/j1.svg +0 -0
  772. /data/lib/starter_web/assets/image/{icons → icon}/jekyll/logo-2x.png +0 -0
  773. /data/lib/starter_web/assets/image/{icons → icon}/jekyll/octojekyll.png +0 -0
  774. /data/lib/starter_web/assets/image/{icons → icon}/lanus/favicon.ico +0 -0
  775. /data/lib/starter_web/assets/image/{icons → icon}/lanus/lanus-512x512.png +0 -0
  776. /data/lib/starter_web/assets/image/{icons → icon}/lanus/lanus.ico +0 -0
  777. /data/lib/starter_web/assets/image/{icons → icon}/lanus/lanus.png +0 -0
  778. /data/lib/starter_web/assets/image/{icons → icon}/lanus/scalable/lanus.svg +0 -0
  779. /data/lib/starter_web/assets/image/{icons → icon}/lanus/scalable/lanus_sw.svg +0 -0
  780. /data/lib/starter_web/assets/image/{icons/mdi → icon/mdi/scalable}/mdi.svg +0 -0
  781. /data/lib/starter_web/assets/image/{icons/mdi → icon/mdi/scalable}/mdil.svg +0 -0
  782. /data/lib/starter_web/assets/image/{icons → icon}/os/centos/centos-icon.png +0 -0
  783. /data/lib/starter_web/assets/image/{icons → icon}/os/centos/centos.ico +0 -0
  784. /data/lib/starter_web/assets/image/{icons → icon}/os/suse/suse.gif +0 -0
  785. /data/lib/starter_web/assets/image/{icons → icon}/os/suse/suse.ico +0 -0
  786. /data/lib/starter_web/assets/image/{icons → icon}/os/suse/suse.png +0 -0
  787. /data/lib/starter_web/assets/image/{icons → icon}/os/ubuntu/cof_black_hex.png +0 -0
  788. /data/lib/starter_web/assets/image/{icons → icon}/os/ubuntu/cof_orange_hex.png +0 -0
  789. /data/lib/starter_web/assets/image/{icons → icon}/os/ubuntu/cof_white-black_hex.png +0 -0
  790. /data/lib/starter_web/assets/image/{icons → icon}/os/ubuntu/cof_white-orange_hex.png +0 -0
  791. /data/lib/starter_web/assets/image/{icons → icon}/os/ubuntu/ubuntu.ico +0 -0
  792. /data/lib/starter_web/assets/image/{icons → icon}/os/windows/windows.png +0 -0
  793. /data/lib/starter_web/assets/image/{icons → icon}/os/windows/windows_flags_color.ico +0 -0
  794. /data/lib/starter_web/assets/image/{icons → icon}/os/windows/windows_hdd.ico +0 -0
  795. /data/lib/starter_web/assets/image/{icons → icon}/os/windows/windows_store.ico +0 -0
  796. /data/lib/starter_web/assets/image/{icons → icon}/social/amazon.png +0 -0
  797. /data/lib/starter_web/assets/image/{icons → icon}/social/behance.png +0 -0
  798. /data/lib/starter_web/assets/image/{icons → icon}/social/blogger.png +0 -0
  799. /data/lib/starter_web/assets/image/{icons → icon}/social/deviantart.png +0 -0
  800. /data/lib/starter_web/assets/image/{icons → icon}/social/dribbble.png +0 -0
  801. /data/lib/starter_web/assets/image/{icons → icon}/social/dropbox.png +0 -0
  802. /data/lib/starter_web/assets/image/{icons → icon}/social/evernote.png +0 -0
  803. /data/lib/starter_web/assets/image/{icons → icon}/social/facebook.png +0 -0
  804. /data/lib/starter_web/assets/image/{icons → icon}/social/forrst.png +0 -0
  805. /data/lib/starter_web/assets/image/{icons → icon}/social/github.png +0 -0
  806. /data/lib/starter_web/assets/image/{icons → icon}/social/googleplus.png +0 -0
  807. /data/lib/starter_web/assets/image/{icons → icon}/social/instagram.png +0 -0
  808. /data/lib/starter_web/assets/image/{icons → icon}/social/jolicloud.png +0 -0
  809. /data/lib/starter_web/assets/image/{icons → icon}/social/last-fm.png +0 -0
  810. /data/lib/starter_web/assets/image/{icons → icon}/social/linkedin.png +0 -0
  811. /data/lib/starter_web/assets/image/{icons → icon}/social/picasa.png +0 -0
  812. /data/lib/starter_web/assets/image/{icons → icon}/social/pintrest.png +0 -0
  813. /data/lib/starter_web/assets/image/{icons → icon}/social/rss.png +0 -0
  814. /data/lib/starter_web/assets/image/{icons → icon/social}/scalable/facebook.svg +0 -0
  815. /data/lib/starter_web/assets/image/{icons → icon/social}/scalable/google.svg +0 -0
  816. /data/lib/starter_web/assets/image/{icons → icon/social}/scalable/ibm.svg +0 -0
  817. /data/lib/starter_web/assets/image/{icons → icon/social}/scalable/microsoft.svg +0 -0
  818. /data/lib/starter_web/assets/image/{icons → icon}/social/skype.png +0 -0
  819. /data/lib/starter_web/assets/image/{icons → icon}/social/spotify.png +0 -0
  820. /data/lib/starter_web/assets/image/{icons → icon}/social/stumbleupon.png +0 -0
  821. /data/lib/starter_web/assets/image/{icons → icon}/social/tumblr.png +0 -0
  822. /data/lib/starter_web/assets/image/{icons → icon}/social/twitter.png +0 -0
  823. /data/lib/starter_web/assets/image/{icons → icon}/social/vimeo.png +0 -0
  824. /data/lib/starter_web/assets/image/{icons → icon}/social/vk.png +0 -0
  825. /data/lib/starter_web/assets/image/{icons → icon}/social/wordpress.png +0 -0
  826. /data/lib/starter_web/assets/image/{icons → icon}/social/xing.png +0 -0
  827. /data/lib/starter_web/assets/image/{icons → icon}/social/yahoo.png +0 -0
  828. /data/lib/starter_web/assets/image/{icons → icon}/social/youtube.png +0 -0
  829. /data/lib/starter_web/assets/image/{icons → icon}/tv/Index of -tv-logos-.url +0 -0
  830. /data/lib/starter_web/assets/image/{icons → icon}/tv/TV from Germany - LyngSat Logo.url +0 -0
  831. /data/lib/starter_web/assets/image/{icons → icon}/tv/Zeichnung.svg +0 -0
  832. /data/lib/starter_web/assets/image/{icons → icon}/tv/ard-icon-16x16.ico +0 -0
  833. /data/lib/starter_web/assets/image/{icons → icon}/tv/ard-icon-24x24.png +0 -0
  834. /data/lib/starter_web/assets/image/{icons → icon}/tv/ard-icon-512x512.png +0 -0
  835. /data/lib/starter_web/assets/image/{icons → icon}/tv/ard-icon.jpg +0 -0
  836. /data/lib/starter_web/assets/image/{icons → icon}/tv/ard-icon.jpg (353/303/227353).url" +0 -0
  837. /data/lib/starter_web/assets/image/{icons → icon}/tv/ard-icon.png +0 -0
  838. /data/lib/starter_web/assets/image/{icons → icon}/tv/ard-logo-png_seeklogo-428343.png +0 -0
  839. /data/lib/starter_web/assets/image/{icons → icon}/tv/cytec-tvlogos- collection of mostly german tv channel logos.url +0 -0
  840. /data/lib/starter_web/assets/image/{icons → icon}/tv/output_image.jpg +0 -0
  841. /data/lib/starter_web/assets/image/{icons → icon}/tv/pang.ping +0 -0
  842. /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
  843. /data/lib/starter_web/assets/image/{icons → icon}/videojs/videojs-logo.png +0 -0
  844. /data/lib/starter_web/assets/image/{icons → icon}/videojs/videojs-poster.png +0 -0
  845. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/alexander-redl.jpg +0 -0
  846. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/alina-grubnyak.jpg +0 -0
  847. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/andrea-badino.jpg +0 -0
  848. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/brad-neathery.jpg +0 -0
  849. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/brigitta-schneiter.jpg +0 -0
  850. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/bruno-figueiredo.jpg +0 -0
  851. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/build-with-gemini.jpg +0 -0
  852. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/clem-onojeghuo.jpg +0 -0
  853. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/crawford-jolly.jpg +0 -0
  854. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/eleni-afiontzi.jpg +0 -0
  855. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/fly-d.jpg +0 -0
  856. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/guillaume-bolduc.jpg +0 -0
  857. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/harpal-singh.jpg +0 -0
  858. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/hayden-mills-2.jpg +0 -0
  859. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/isaac-davis.jpg +0 -0
  860. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/j1-content-mockup-1.jpg +0 -0
  861. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/j1-content-mockup-2.jpg +0 -0
  862. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/j1-content-mockup-3.jpg +0 -0
  863. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/j1-starter-mockup-1.jpg +0 -0
  864. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/john-schnobrich-2.jpg +0 -0
  865. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/josep-martins.jpg +0 -0
  866. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/josh-liu.jpg +0 -0
  867. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/kelly-sikkemal.jpg +0 -0
  868. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/kira-auf-der-heide.jpg +0 -0
  869. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/kristopher-roller.jpg +0 -0
  870. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/matthaeus.jpg +0 -0
  871. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/melanie-deziel.jpg +0 -0
  872. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/milad-fakurian.jpg +0 -0
  873. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/mohammad-rahmani.jpg +0 -0
  874. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/nasa.jpg +0 -0
  875. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/quino-al-2.jpg +0 -0
  876. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/1920x1280/recha-oktaviani.jpg +0 -0
  877. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/admin-dashboard-bootstrap-1280x600.jpg +0 -0
  878. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/building-blocks-1920x1280.jpg +0 -0
  879. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/christina-1920x1280.jpg +0 -0
  880. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/cookies-1920x1200.jpg +0 -0
  881. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/franck-1920x1280.jpg +0 -0
  882. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/giammarco-boscaro-1920x1280.jpg +0 -0
  883. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/ideas-start-here-1920x1280-bw.jpg +0 -0
  884. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/ideas-start-here-1920x1280.jpg +0 -0
  885. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/jessica-ruscello-1920x1280.jpg +0 -0
  886. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/joanna-kosinska-1920x1280.jpg +0 -0
  887. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/katie-moum-1920x1280.jpg +0 -0
  888. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/leon-1920x1280.jpg +0 -0
  889. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/lianhao-1920x1280.jpg +0 -0
  890. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/library-1920x1280.jpg +0 -0
  891. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/lunr-1280x800.jpg +0 -0
  892. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/machine-generator-1920x1280.jpg +0 -0
  893. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/markus-krisetya-1920x1280.jpg +0 -0
  894. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/markus-spiske-1920x1280.jpg +0 -0
  895. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/markus-spiske4-1920x1280.jpg +0 -0
  896. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/matthaeus-1920x1280.jpg +0 -0
  897. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/matthew-dockery-1920x1280.jpg +0 -0
  898. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/no-time-1920x1280.jpg +0 -0
  899. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/placeholder/1x1.png +0 -0
  900. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/placeholder/transparent-1920x1280.png +0 -0
  901. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/rirri-1920x1280.jpg +0 -0
  902. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/shubham-dhage-1920x1280.jpg +0 -0
  903. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/shutterstock_sponsor-1920x1280.jpg +0 -0
  904. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/sigmund-1920x1280.jpg +0 -0
  905. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/szabo-viktor-1920x1280.jpg +0 -0
  906. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/themes-1920x1280-bw.jpg +0 -0
  907. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/tldr-1920x800.jpg +0 -0
  908. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/vladislav-klapin-1920x1280.jpg +0 -0
  909. /data/lib/starter_web/assets/image/{modules/attics → module/attic}/yellow-cactus-1920x1280.jpg +0 -0
  910. /data/lib/starter_web/assets/image/{modules → module}/carousel/cats/cat-1.jpg +0 -0
  911. /data/lib/starter_web/assets/image/{modules → module}/carousel/cats/cat-2.jpg +0 -0
  912. /data/lib/starter_web/assets/image/{modules → module}/carousel/cats/cat-3.jpg +0 -0
  913. /data/lib/starter_web/assets/image/{modules → module}/carousel/cats/cat-4.jpg +0 -0
  914. /data/lib/starter_web/assets/image/{modules → module}/carousel/cats/cat-5.jpg +0 -0
  915. /data/lib/starter_web/assets/image/{modules → module}/carousel/cats/cat-6.jpg +0 -0
  916. /data/lib/starter_web/assets/image/{modules → module}/carousel/cats/cat-7.jpg +0 -0
  917. /data/lib/starter_web/assets/image/{modules → module}/carousel/cats/cat-8.jpg +0 -0
  918. /data/lib/starter_web/assets/image/{modules → module}/carousel/mega_cities/andreas-brucker_b.jpg +0 -0
  919. /data/lib/starter_web/assets/image/{modules → module}/carousel/mega_cities/denys-nevozhai-1_b.jpg +0 -0
  920. /data/lib/starter_web/assets/image/{modules → module}/carousel/mega_cities/denys-nevozhai-2_b.jpg +0 -0
  921. /data/lib/starter_web/assets/image/{modules → module}/carousel/mega_cities/luca-bravo_b.jpg +0 -0
  922. /data/lib/starter_web/assets/image/{modules → module}/carousel/mega_cities/thomas-tucker_b.jpg +0 -0
  923. /data/lib/starter_web/assets/image/{modules/gallery/mega_cities/info/authors.txt → module/gallery/mega_citiy/!info/author.txt} +0 -0
  924. /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
  925. /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
  926. /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
  927. /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
  928. /data/lib/starter_web/assets/image/{modules/lightbox → module/lightbox/image}/close.png +0 -0
  929. /data/lib/starter_web/assets/image/{modules/lightbox → module/lightbox/image}/loading.gif +0 -0
  930. /data/lib/starter_web/assets/image/{modules/lightbox → module/lightbox/image}/next.png +0 -0
  931. /data/lib/starter_web/assets/image/{modules/lightbox → module/lightbox/image}/prev.png +0 -0
  932. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_1/cat-1.jpg +0 -0
  933. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_1/cat-2.jpg +0 -0
  934. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_1/cat-3.jpg +0 -0
  935. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_1/cat-4.jpg +0 -0
  936. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_1/cat-5.jpg +0 -0
  937. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_1/cat-6.jpg +0 -0
  938. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_1/cat-7.jpg +0 -0
  939. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_1/cat-8.jpg +0 -0
  940. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_10/panorama-bg-slide1.jpg +0 -0
  941. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_10/panorama-bg-slide2.jpg +0 -0
  942. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_2/andreas-brucker.jpg +0 -0
  943. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_2/denys-nevozhai-1.jpg +0 -0
  944. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_2/denys-nevozhai-2.jpg +0 -0
  945. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_2/luca-bravo.jpg +0 -0
  946. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_2/thomas-tucker.jpg +0 -0
  947. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_3/ms-free-food-family-2.jpg +0 -0
  948. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_3/ms-free-food-hamburger.jpg +0 -0
  949. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_3/ms-free-food-restaurant.jpg +0 -0
  950. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-1-100x80.jpg +0 -0
  951. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-1.jpg +0 -0
  952. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-2-100x80.jpg +0 -0
  953. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-2.jpg +0 -0
  954. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-3-100x80.jpg +0 -0
  955. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-3.jpg +0 -0
  956. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-4-100x80.jpg +0 -0
  957. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-4.jpg +0 -0
  958. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-5-100x80.jpg +0 -0
  959. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-5.jpg +0 -0
  960. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-6-100x80.jpg +0 -0
  961. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-6.jpg +0 -0
  962. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-7-100x80.jpg +0 -0
  963. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_4/ms-free-animals-7.jpg +0 -0
  964. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-family-140x80.jpg +0 -0
  965. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-family-2-140x80.jpg +0 -0
  966. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-family-2.jpg +0 -0
  967. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-family-3-140x80.jpg +0 -0
  968. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-family-3.jpg +0 -0
  969. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-family.jpg +0 -0
  970. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-hamburger-140x80.jpg +0 -0
  971. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-hamburger.jpg +0 -0
  972. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-pizza-140x80.jpg +0 -0
  973. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-pizza.jpg +0 -0
  974. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-table-140x80.jpg +0 -0
  975. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-table.jpg +0 -0
  976. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-woman-hand-140x80.jpg +0 -0
  977. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_5/ms-free-food-woman-hand.jpg +0 -0
  978. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_6_7/6876385555_74a0d7d7ee_b.jpg +0 -0
  979. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_6_7/6876387431_d86867a3d9_b.jpg +0 -0
  980. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_6_7/6876388511_d618d53455_b.jpg +0 -0
  981. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_6_7/6876389463_db27a377e1_b.jpg +0 -0
  982. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_6_7/6876390339_2e4dd9dbbb_b.jpg +0 -0
  983. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_8/postslider-5-img-1.jpg +0 -0
  984. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_8/postslider-5-img-2.jpg +0 -0
  985. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_8/postslider-5-img-3.jpg +0 -0
  986. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_8/postslider6-bg-slide2-1024x622.jpg +0 -0
  987. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_9/1-2.jpg +0 -0
  988. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_9/5-2.jpg +0 -0
  989. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_9/6-2.jpg +0 -0
  990. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_9/6-3.jpg +0 -0
  991. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_9/8-1.jpg +0 -0
  992. /data/lib/starter_web/assets/image/{modules → module}/masterslider/slider_9/8.jpg +0 -0
  993. /data/lib/starter_web/assets/image/{modules → module}/masterslider/unify-examples/charity-white-tile-bg.png +0 -0
  994. /data/lib/starter_web/assets/image/{modules → module}/masterslider/unify-examples/fashion2-controller-arrow-next.png +0 -0
  995. /data/lib/starter_web/assets/image/{modules → module}/masterslider/unify-examples/fashion2-controller-arrow-prv.png +0 -0
  996. /data/lib/starter_web/assets/image/{modules → module}/masterslider/unify-examples/fashion2-img-slide1.jpg +0 -0
  997. /data/lib/starter_web/assets/image/{modules → module}/masterslider/unify-examples/fashion2-img-slide2.jpg +0 -0
  998. /data/lib/starter_web/assets/image/{modules → module}/masterslider/unify-examples/fashion2-img-slide3.jpg +0 -0
  999. /data/lib/starter_web/assets/image/{modules → module}/masterslider/wp-examples/ms-free-business-1.jpg +0 -0
  1000. /data/lib/starter_web/assets/image/{modules → module}/masterslider/wp-examples/ms-free-business-2.jpg +0 -0
  1001. /data/lib/starter_web/assets/image/{modules → module}/masterslider/wp-examples/ms-free-business-3.jpg +0 -0
  1002. /data/lib/starter_web/assets/image/{pages → page}/asciidoc_skeletons/example-pdf-screenshot.jpg +0 -0
  1003. /data/lib/starter_web/assets/image/{pages → page}/core_web_vitals/200-create-a-link-1.jpg +0 -0
  1004. /data/lib/starter_web/assets/image/{pages → page}/core_web_vitals/core_web_vitals_best.jpg +0 -0
  1005. /data/lib/starter_web/assets/image/{pages → page}/core_web_vitals/core_web_vitals_best_full.jpg +0 -0
  1006. /data/lib/starter_web/assets/image/{pages → page}/egrid/bg.png +0 -0
  1007. /data/lib/starter_web/assets/image/{pages → page}/egrid/black_denim.png +0 -0
  1008. /data/lib/starter_web/assets/image/{pages → page}/egrid/explanation.png +0 -0
  1009. /data/lib/starter_web/assets/image/{pages → page}/egrid/html_markup.png +0 -0
  1010. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/1.jpg +0 -0
  1011. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/10.jpg +0 -0
  1012. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/11.jpg +0 -0
  1013. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/12.jpg +0 -0
  1014. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/13.jpg +0 -0
  1015. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/14.jpg +0 -0
  1016. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/15.jpg +0 -0
  1017. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/16.jpg +0 -0
  1018. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/17.jpg +0 -0
  1019. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/18.jpg +0 -0
  1020. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/19.jpg +0 -0
  1021. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/2.jpg +0 -0
  1022. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/20.jpg +0 -0
  1023. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/3.jpg +0 -0
  1024. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/4.jpg +0 -0
  1025. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/5.jpg +0 -0
  1026. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/6.jpg +0 -0
  1027. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/7.jpg +0 -0
  1028. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/8.jpg +0 -0
  1029. /data/lib/starter_web/assets/image/{pages → page}/egrid/large/9.jpg +0 -0
  1030. /data/lib/starter_web/assets/image/{pages → page}/egrid/loading.gif +0 -0
  1031. /data/lib/starter_web/assets/image/{pages → page}/egrid/loading_dark.gif +0 -0
  1032. /data/lib/starter_web/assets/image/{pages → page}/egrid/nav-icon.png +0 -0
  1033. /data/lib/starter_web/assets/image/{pages → page}/egrid/nav.png +0 -0
  1034. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/1.jpg +0 -0
  1035. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/10.jpg +0 -0
  1036. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/11.jpg +0 -0
  1037. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/12.jpg +0 -0
  1038. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/13.jpg +0 -0
  1039. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/14.jpg +0 -0
  1040. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/15.jpg +0 -0
  1041. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/16.jpg +0 -0
  1042. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/17.jpg +0 -0
  1043. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/18.jpg +0 -0
  1044. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/19.jpg +0 -0
  1045. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/1a.jpg +0 -0
  1046. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/2.jpg +0 -0
  1047. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/20.jpg +0 -0
  1048. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/3.jpg +0 -0
  1049. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/4.jpg +0 -0
  1050. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/5.jpg +0 -0
  1051. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/6.jpg +0 -0
  1052. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/7.jpg +0 -0
  1053. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/8.jpg +0 -0
  1054. /data/lib/starter_web/assets/image/{pages → page}/egrid/small/9.jpg +0 -0
  1055. /data/lib/starter_web/assets/image/{pages → page}/features/blog-post-navigator-1280x1000.jpg +0 -0
  1056. /data/lib/starter_web/assets/image/{pages → page}/features/bootswatch-themes-1280x800.jpg +0 -0
  1057. /data/lib/starter_web/assets/image/{pages → page}/features/clipboard-1280x600.jpg +0 -0
  1058. /data/lib/starter_web/assets/image/{pages → page}/features/comments-1280x600.jpg +0 -0
  1059. /data/lib/starter_web/assets/image/{pages → page}/features/cookie-consent-1280x800.jpg +0 -0
  1060. /data/lib/starter_web/assets/image/{pages → page}/features/desktop-web-navigation-1280x1000.jpg +0 -0
  1061. /data/lib/starter_web/assets/image/{pages → page}/features/example-content-1280x800.jpg +0 -0
  1062. /data/lib/starter_web/assets/image/{pages → page}/features/example-content-present-videos-1280x800.jpg +0 -0
  1063. /data/lib/starter_web/assets/image/{pages → page}/features/fab-1280x500.jpg +0 -0
  1064. /data/lib/starter_web/assets/image/{pages → page}/features/full-text-search-1280x800.jpg +0 -0
  1065. /data/lib/starter_web/assets/image/{pages → page}/features/global-mobile-traffic-1920x1080.jpg +0 -0
  1066. /data/lib/starter_web/assets/image/{pages → page}/features/google-lighthouse-1080x300.jpg +0 -0
  1067. /data/lib/starter_web/assets/image/{pages → page}/features/intro-panel-1280x800.jpg +0 -0
  1068. /data/lib/starter_web/assets/image/{pages → page}/features/master-header-1280x600.jpg +0 -0
  1069. /data/lib/starter_web/assets/image/{pages → page}/features/mobile-navigation-600x800.jpg +0 -0
  1070. /data/lib/starter_web/assets/image/{pages → page}/features/native-speakers-by-language.jpg +0 -0
  1071. /data/lib/starter_web/assets/image/{pages → page}/features/nav-module-1280x300.jpg +0 -0
  1072. /data/lib/starter_web/assets/image/{pages → page}/features/nbi-barchart-1280x800.jpg +0 -0
  1073. /data/lib/starter_web/assets/image/{pages → page}/features/teaser-banner-1280x600.jpg +0 -0
  1074. /data/lib/starter_web/assets/image/{pages → page}/features/translator-1280x800.jpg +0 -0
  1075. /data/lib/starter_web/assets/image/{pages → page}/html_validator/appdevtools-html-validator.jpg +0 -0
  1076. /data/lib/starter_web/assets/image/{pages → page}/html_validator/freeformatter-html-validator.jpg +0 -0
  1077. /data/lib/starter_web/assets/image/{pages → page}/html_validator/w3c-nu-checker.jpg +0 -0
  1078. /data/lib/starter_web/assets/image/{pages → page}/html_validator/w3c-validator.jpg +0 -0
  1079. /data/lib/starter_web/assets/image/{pages → page}/modals/01_frame_modal.jpg +0 -0
  1080. /data/lib/starter_web/assets/image/{pages → page}/modals/02_site_modal.jpg +0 -0
  1081. /data/lib/starter_web/assets/image/{pages → page}/modals/03_central_modal.jpg +0 -0
  1082. /data/lib/starter_web/assets/image/{pages → page}/modals/04_fluid_modal.jpg +0 -0
  1083. /data/lib/starter_web/assets/image/{pages → page}/panels/florian-olivo-1920x800.jpg +0 -0
  1084. /data/lib/starter_web/assets/image/{pages → page}/panels/modules-apps-1920x800.jpg +0 -0
  1085. /data/lib/starter_web/assets/image/{pages → page}/panels/no-time-1920x800.jpg +0 -0
  1086. /data/lib/starter_web/assets/image/{pages → page}/panels/responsive-text-1920x800.jpg +0 -0
  1087. /data/lib/starter_web/assets/image/{pages → page}/panels/the-place-1920x800.jpg +0 -0
  1088. /data/lib/starter_web/assets/image/{pages → page}/posts/adrien-olichon-1920x1280.jpg +0 -0
  1089. /data/lib/starter_web/assets/image/{pages → page}/posts/alejandro-barba-1920x1280.jpg +0 -0
  1090. /data/lib/starter_web/assets/image/{pages → page}/posts/andre-francois-mckenzie-1920x1280.jpg +0 -0
  1091. /data/lib/starter_web/assets/image/{pages → page}/posts/andreas-steger-1920x1280.jpg +0 -0
  1092. /data/lib/starter_web/assets/image/{pages → page}/posts/ansgar-scheffold-1920x1280.jpg +0 -0
  1093. /data/lib/starter_web/assets/image/{pages → page}/posts/ben-white-1920x1280.jpg +0 -0
  1094. /data/lib/starter_web/assets/image/{pages → page}/posts/craig-sybert-1920x1280.jpg +0 -0
  1095. /data/lib/starter_web/assets/image/{pages → page}/posts/danielle-cerullo-1920x1280.jpg +0 -0
  1096. /data/lib/starter_web/assets/image/{pages → page}/posts/deb-dowd-1920x1280.jpg +0 -0
  1097. /data/lib/starter_web/assets/image/{pages → page}/posts/halgatewood-1920x1280.jpg +0 -0
  1098. /data/lib/starter_web/assets/image/{pages → page}/posts/hans-eiskonen-1920x1280.jpg +0 -0
  1099. /data/lib/starter_web/assets/image/{pages → page}/posts/ian-barsby-1920x1280.jpg +0 -0
  1100. /data/lib/starter_web/assets/image/{pages → page}/posts/ivan-aleksic-1920x1280.jpg +0 -0
  1101. /data/lib/starter_web/assets/image/{pages → page}/posts/markus-krisetya-1920x1280.jpg +0 -0
  1102. /data/lib/starter_web/assets/image/{pages → page}/posts/markus-spiske-6-1920x1280.jpg +0 -0
  1103. /data/lib/starter_web/assets/image/{pages → page}/posts/markus-winkler-1920x1280.jpg +0 -0
  1104. /data/lib/starter_web/assets/image/{pages → page}/posts/markus-winkler-2-1920x1280.jpg +0 -0
  1105. /data/lib/starter_web/assets/image/{pages → page}/posts/michelle-cassar-1920x1280.jpg +0 -0
  1106. /data/lib/starter_web/assets/image/{pages → page}/posts/mika-baumeister-1920x1280.jpg +0 -0
  1107. /data/lib/starter_web/assets/image/{pages → page}/posts/science-in-hd-1920x1280.jpg +0 -0
  1108. /data/lib/starter_web/assets/image/{pages → page}/previewer/bs-color-palette.png +0 -0
  1109. /data/lib/starter_web/assets/image/{pages → page}/previewer/material-design-color-palette.jpg +0 -0
  1110. /data/lib/starter_web/assets/image/{pages → page}/previewer/material-design-color-palette.png +0 -0
  1111. /data/lib/starter_web/assets/image/{pages → page}/previewer/tunnel_bear_set_gatewy.jpg +0 -0
  1112. /data/lib/starter_web/assets/image/{pages → page}/previewer/tunnel_bear_subscribe.jpg +0 -0
  1113. /data/lib/starter_web/assets/image/{pages → page}/previewer/tunnel_bear_verify_email_address.jpg +0 -0
  1114. /data/lib/starter_web/assets/image/{pages → page}/skeleton/annie-spratt-1920x1280.jpg +0 -0
  1115. /data/lib/starter_web/assets/image/{pages → page}/skeleton/antonino-visalli-1920x1280.jpg +0 -0
  1116. /data/lib/starter_web/assets/image/{pages → page}/skeleton/humble-lamb-1920x1280.jpg +0 -0
  1117. /data/lib/starter_web/assets/image/{pages → page}/skeleton/library-1920x1280.jpg +0 -0
  1118. /data/lib/starter_web/assets/image/{pages → page}/skeleton/romain-vignes-1920x1280.jpg +0 -0
  1119. /data/lib/starter_web/assets/image/{pages → page}/skeleton/sigmund-1920x1280.jpg +0 -0
  1120. /data/lib/starter_web/assets/image/{pages → page}/tour/100_present_images/lightbox-image-1.jpg +0 -0
  1121. /data/lib/starter_web/assets/image/{pages → page}/tour/100_present_images/lightbox-image-2.jpg +0 -0
  1122. /data/lib/starter_web/assets/image/{pages → page}/tour/100_present_images/lightbox-image-3.jpg +0 -0
  1123. /data/lib/starter_web/assets/image/{pages → page}/tour/100_present_images/lightbox-thumb-1.jpg +0 -0
  1124. /data/lib/starter_web/assets/image/{pages → page}/tour/100_present_images/lightbox-thumb-2.jpg +0 -0
  1125. /data/lib/starter_web/assets/image/{pages → page}/tour/100_present_images/lightbox-thumb-3.jpg +0 -0
  1126. /data/lib/starter_web/assets/image/{pages → page}/tour/410_bs_modals_extentions/avatar.jpg +0 -0
  1127. /data/lib/starter_web/assets/image/{pages → page}/tour/410_bs_modals_extentions/marc.jpg +0 -0
  1128. /data/lib/starter_web/assets/image/{pages → page}/tour/600_quicksearch/quicksearch_icon.jpg +0 -0
  1129. /data/lib/starter_web/assets/image/{pages → page}/tour/600_quicksearch/quicksearch_input.jpg +0 -0
  1130. /data/lib/starter_web/assets/image/{pages → page}/tour/600_quicksearch/quicksearch_results.jpg +0 -0
  1131. /data/lib/starter_web/assets/image/{pages → page}/tour/bootstrap-1920x1000-bw.jpg +0 -0
  1132. /data/lib/starter_web/assets/image/{pages → page}/tour/cards-1920x1280-bw.jpg +0 -0
  1133. /data/lib/starter_web/assets/image/{pages → page}/tour/emojies-1920x1280-bw.jpg +0 -0
  1134. /data/lib/starter_web/assets/image/{pages → page}/tour/icon-fonts-1920x1280-bw.jpg +0 -0
  1135. /data/lib/starter_web/assets/image/{pages → page}/tour/images-1920x1280-bw.jpg +0 -0
  1136. /data/lib/starter_web/assets/image/{pages → page}/tour/puzzle-1920x1280-bw.jpg +0 -0
  1137. /data/lib/starter_web/assets/image/{pages → page}/tour/tables-1920x1280-bw.jpg +0 -0
  1138. /data/lib/starter_web/assets/image/{pages → page}/tour/themes-1920x1280.jpg +0 -0
  1139. /data/lib/starter_web/assets/image/{pages → page}/tour/typography-1920x1280-bw.jpg +0 -0
  1140. /data/lib/starter_web/assets/image/{modules/patterns → pattern/image}/1x1.png +0 -0
  1141. /data/lib/starter_web/assets/image/{modules/patterns → pattern/image}/gridtile.png +0 -0
  1142. /data/lib/starter_web/assets/image/{posts → post}/featured/dynamic-web-access.jpg +0 -0
  1143. /data/lib/starter_web/assets/image/{posts → post}/featured/jamstack-generators.jpg +0 -0
  1144. /data/lib/starter_web/assets/image/{posts → post}/featured/jekyll.1200x400.jpg +0 -0
  1145. /data/lib/starter_web/assets/image/{posts → post}/featured/jekyll.jpg +0 -0
  1146. /data/lib/starter_web/assets/image/{posts → post}/featured/static-web-access.jpg +0 -0
  1147. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-1.jpg +0 -0
  1148. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-10.jpg +0 -0
  1149. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-11.jpg +0 -0
  1150. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-12.jpg +0 -0
  1151. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-13.jpg +0 -0
  1152. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-2.jpg +0 -0
  1153. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-3.jpg +0 -0
  1154. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-4.jpg +0 -0
  1155. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-5.jpg +0 -0
  1156. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-6.jpg +0 -0
  1157. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-7.jpg +0 -0
  1158. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-8.jpg +0 -0
  1159. /data/lib/starter_web/assets/image/{posts → post}/natural_food/post-9.jpg +0 -0
  1160. /data/lib/starter_web/assets/image/{posts → post}/post-img.jpg +0 -0
  1161. /data/lib/starter_web/assets/image/{posts → post}/post-single.jpg +0 -0
  1162. /data/lib/starter_web/assets/image/{quotes → quote}/colored-1.jpg +0 -0
  1163. /data/lib/starter_web/assets/image/{quotes → quote}/colored-2.jpg +0 -0
  1164. /data/lib/starter_web/assets/image/{quotes → quote}/default.jpg +0 -0
  1165. /data/lib/starter_web/assets/image/{quotes → quote}/light-blue.jpg +0 -0
  1166. /data/lib/starter_web/assets/image/{quotes → quote}/people.jpg +0 -0
  1167. /data/lib/starter_web/assets/image/{quotes → quote}/promo/home/screenshot.jpg +0 -0
  1168. /data/lib/starter_web/assets/image/{quotes → quote}/promo/jekyll/jekyll-faq.jpg +0 -0
  1169. /data/lib/starter_web/assets/image/{quotes → quote}/promo/jekyll/jekyll-generator.jpg +0 -0
  1170. /data/lib/starter_web/assets/image/{quotes → quote}/promo/jekyll/jekyll-generator.png +0 -0
  1171. /data/lib/starter_web/assets/image/{quotes → quote}/promo/jekyll/jekyll-og.png +0 -0
  1172. /data/lib/starter_web/assets/image/{quotes → quote}/promo/jekyll/scalable/jekyll-faq.psd +0 -0
@@ -1,1990 +0,0 @@
1
- /*
2
- # -----------------------------------------------------------------------------
3
- # ~/assets/theme/j1/modules/photoswipe/js/photoswipe-lightbox.js
4
- # PhotoSwipe v5.4.4 Lightbox JS by Dmytro Semenov
5
- # Provides PhotoSwipe Lightbox (UMD version to be used with webbrowsers)
6
- # -----------------------------------------------------------------------------
7
- #
8
- # Product/Info:
9
- # https://photoswipe.com
10
-
11
- # Copyright (C) 2014 - 2024 Dmitry Semenov
12
- #
13
- # PhotoSwipe is licensed under the MIT License.
14
- # See: https://github.com/dimsemenov/PhotoSwipe/blob/master/LICENSE
15
- # -----------------------------------------------------------------------------
16
- */
17
-
18
- (function (global, factory) {
19
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
20
- typeof define === 'function' && define.amd ? define(factory) :
21
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.PhotoSwipeLightbox = factory());
22
- })(this, (function () { 'use strict';
23
-
24
- /** @typedef {import('../photoswipe.js').Point} Point */
25
-
26
- /**
27
- * @template {keyof HTMLElementTagNameMap} T
28
- * @param {string} className
29
- * @param {T} tagName
30
- * @param {Node} [appendToEl]
31
- * @returns {HTMLElementTagNameMap[T]}
32
- */
33
- function createElement(className, tagName, appendToEl) {
34
- const el = document.createElement(tagName);
35
-
36
- if (className) {
37
- el.className = className;
38
- }
39
-
40
- if (appendToEl) {
41
- appendToEl.appendChild(el);
42
- }
43
-
44
- return el;
45
- }
46
- /**
47
- * Get transform string
48
- *
49
- * @param {number} x
50
- * @param {number} [y]
51
- * @param {number} [scale]
52
- * @returns {string}
53
- */
54
-
55
- function toTransformString(x, y, scale) {
56
- let propValue = `translate3d(${x}px,${y || 0}px,0)`;
57
-
58
- if (scale !== undefined) {
59
- propValue += ` scale3d(${scale},${scale},1)`;
60
- }
61
-
62
- return propValue;
63
- }
64
- /**
65
- * Apply width and height CSS properties to element
66
- *
67
- * @param {HTMLElement} el
68
- * @param {string | number} w
69
- * @param {string | number} h
70
- */
71
-
72
- function setWidthHeight(el, w, h) {
73
- el.style.width = typeof w === 'number' ? `${w}px` : w;
74
- el.style.height = typeof h === 'number' ? `${h}px` : h;
75
- }
76
- /** @typedef {LOAD_STATE[keyof LOAD_STATE]} LoadState */
77
-
78
- /** @type {{ IDLE: 'idle'; LOADING: 'loading'; LOADED: 'loaded'; ERROR: 'error' }} */
79
-
80
- const LOAD_STATE = {
81
- IDLE: 'idle',
82
- LOADING: 'loading',
83
- LOADED: 'loaded',
84
- ERROR: 'error'
85
- };
86
- /**
87
- * Check if click or keydown event was dispatched
88
- * with a special key or via mouse wheel.
89
- *
90
- * @param {MouseEvent | KeyboardEvent} e
91
- * @returns {boolean}
92
- */
93
-
94
- function specialKeyUsed(e) {
95
- return 'button' in e && e.button === 1 || e.ctrlKey || e.metaKey || e.altKey || e.shiftKey;
96
- }
97
- /**
98
- * Parse `gallery` or `children` options.
99
- *
100
- * @param {import('../photoswipe.js').ElementProvider} [option]
101
- * @param {string} [legacySelector]
102
- * @param {HTMLElement | Document} [parent]
103
- * @returns HTMLElement[]
104
- */
105
-
106
- function getElementsFromOption(option, legacySelector, parent = document) {
107
- /** @type {HTMLElement[]} */
108
- let elements = [];
109
-
110
- if (option instanceof Element) {
111
- elements = [option];
112
- } else if (option instanceof NodeList || Array.isArray(option)) {
113
- elements = Array.from(option);
114
- } else {
115
- const selector = typeof option === 'string' ? option : legacySelector;
116
-
117
- if (selector) {
118
- elements = Array.from(parent.querySelectorAll(selector));
119
- }
120
- }
121
-
122
- return elements;
123
- }
124
- /**
125
- * Check if variable is PhotoSwipe class
126
- *
127
- * @param {any} fn
128
- * @returns {boolean}
129
- */
130
-
131
- function isPswpClass(fn) {
132
- return typeof fn === 'function' && fn.prototype && fn.prototype.goTo;
133
- }
134
- /**
135
- * Check if browser is Safari
136
- *
137
- * @returns {boolean}
138
- */
139
-
140
- function isSafari() {
141
- return !!(navigator.vendor && navigator.vendor.match(/apple/i));
142
- }
143
-
144
- /** @typedef {import('../lightbox/lightbox.js').default} PhotoSwipeLightbox */
145
-
146
- /** @typedef {import('../photoswipe.js').default} PhotoSwipe */
147
-
148
- /** @typedef {import('../photoswipe.js').PhotoSwipeOptions} PhotoSwipeOptions */
149
-
150
- /** @typedef {import('../photoswipe.js').DataSource} DataSource */
151
-
152
- /** @typedef {import('../ui/ui-element.js').UIElementData} UIElementData */
153
-
154
- /** @typedef {import('../slide/content.js').default} ContentDefault */
155
-
156
- /** @typedef {import('../slide/slide.js').default} Slide */
157
-
158
- /** @typedef {import('../slide/slide.js').SlideData} SlideData */
159
-
160
- /** @typedef {import('../slide/zoom-level.js').default} ZoomLevel */
161
-
162
- /** @typedef {import('../slide/get-thumb-bounds.js').Bounds} Bounds */
163
-
164
- /**
165
- * Allow adding an arbitrary props to the Content
166
- * https://photoswipe.com/custom-content/#using-webp-image-format
167
- * @typedef {ContentDefault & Record<string, any>} Content
168
- */
169
-
170
- /** @typedef {{ x?: number; y?: number }} Point */
171
-
172
- /**
173
- * @typedef {Object} PhotoSwipeEventsMap https://photoswipe.com/events/
174
- *
175
- *
176
- * https://photoswipe.com/adding-ui-elements/
177
- *
178
- * @prop {undefined} uiRegister
179
- * @prop {{ data: UIElementData }} uiElementCreate
180
- *
181
- *
182
- * https://photoswipe.com/events/#initialization-events
183
- *
184
- * @prop {undefined} beforeOpen
185
- * @prop {undefined} firstUpdate
186
- * @prop {undefined} initialLayout
187
- * @prop {undefined} change
188
- * @prop {undefined} afterInit
189
- * @prop {undefined} bindEvents
190
- *
191
- *
192
- * https://photoswipe.com/events/#opening-or-closing-transition-events
193
- *
194
- * @prop {undefined} openingAnimationStart
195
- * @prop {undefined} openingAnimationEnd
196
- * @prop {undefined} closingAnimationStart
197
- * @prop {undefined} closingAnimationEnd
198
- *
199
- *
200
- * https://photoswipe.com/events/#closing-events
201
- *
202
- * @prop {undefined} close
203
- * @prop {undefined} destroy
204
- *
205
- *
206
- * https://photoswipe.com/events/#pointer-and-gesture-events
207
- *
208
- * @prop {{ originalEvent: PointerEvent }} pointerDown
209
- * @prop {{ originalEvent: PointerEvent }} pointerMove
210
- * @prop {{ originalEvent: PointerEvent }} pointerUp
211
- * @prop {{ bgOpacity: number }} pinchClose can be default prevented
212
- * @prop {{ panY: number }} verticalDrag can be default prevented
213
- *
214
- *
215
- * https://photoswipe.com/events/#slide-content-events
216
- *
217
- * @prop {{ content: Content }} contentInit
218
- * @prop {{ content: Content; isLazy: boolean }} contentLoad can be default prevented
219
- * @prop {{ content: Content; isLazy: boolean }} contentLoadImage can be default prevented
220
- * @prop {{ content: Content; slide: Slide; isError?: boolean }} loadComplete
221
- * @prop {{ content: Content; slide: Slide }} loadError
222
- * @prop {{ content: Content; width: number; height: number }} contentResize can be default prevented
223
- * @prop {{ content: Content; width: number; height: number; slide: Slide }} imageSizeChange
224
- * @prop {{ content: Content }} contentLazyLoad can be default prevented
225
- * @prop {{ content: Content }} contentAppend can be default prevented
226
- * @prop {{ content: Content }} contentActivate can be default prevented
227
- * @prop {{ content: Content }} contentDeactivate can be default prevented
228
- * @prop {{ content: Content }} contentRemove can be default prevented
229
- * @prop {{ content: Content }} contentDestroy can be default prevented
230
- *
231
- *
232
- * undocumented
233
- *
234
- * @prop {{ point: Point; originalEvent: PointerEvent }} imageClickAction can be default prevented
235
- * @prop {{ point: Point; originalEvent: PointerEvent }} bgClickAction can be default prevented
236
- * @prop {{ point: Point; originalEvent: PointerEvent }} tapAction can be default prevented
237
- * @prop {{ point: Point; originalEvent: PointerEvent }} doubleTapAction can be default prevented
238
- *
239
- * @prop {{ originalEvent: KeyboardEvent }} keydown can be default prevented
240
- * @prop {{ x: number; dragging: boolean }} moveMainScroll
241
- * @prop {{ slide: Slide }} firstZoomPan
242
- * @prop {{ slide: Slide | undefined, data: SlideData, index: number }} gettingData
243
- * @prop {undefined} beforeResize
244
- * @prop {undefined} resize
245
- * @prop {undefined} viewportSize
246
- * @prop {undefined} updateScrollOffset
247
- * @prop {{ slide: Slide }} slideInit
248
- * @prop {{ slide: Slide }} afterSetContent
249
- * @prop {{ slide: Slide }} slideLoad
250
- * @prop {{ slide: Slide }} appendHeavy can be default prevented
251
- * @prop {{ slide: Slide }} appendHeavyContent
252
- * @prop {{ slide: Slide }} slideActivate
253
- * @prop {{ slide: Slide }} slideDeactivate
254
- * @prop {{ slide: Slide }} slideDestroy
255
- * @prop {{ destZoomLevel: number, centerPoint: Point | undefined, transitionDuration: number | false | undefined }} beforeZoomTo
256
- * @prop {{ slide: Slide }} zoomPanUpdate
257
- * @prop {{ slide: Slide }} initialZoomPan
258
- * @prop {{ slide: Slide }} calcSlideSize
259
- * @prop {undefined} resolutionChanged
260
- * @prop {{ originalEvent: WheelEvent }} wheel can be default prevented
261
- * @prop {{ content: Content }} contentAppendImage can be default prevented
262
- * @prop {{ index: number; itemData: SlideData }} lazyLoadSlide can be default prevented
263
- * @prop {undefined} lazyLoad
264
- * @prop {{ slide: Slide }} calcBounds
265
- * @prop {{ zoomLevels: ZoomLevel, slideData: SlideData }} zoomLevelsUpdate
266
- *
267
- *
268
- * legacy
269
- *
270
- * @prop {undefined} init
271
- * @prop {undefined} initialZoomIn
272
- * @prop {undefined} initialZoomOut
273
- * @prop {undefined} initialZoomInEnd
274
- * @prop {undefined} initialZoomOutEnd
275
- * @prop {{ dataSource: DataSource | undefined, numItems: number }} numItems
276
- * @prop {{ itemData: SlideData; index: number }} itemData
277
- * @prop {{ index: number, itemData: SlideData, instance: PhotoSwipe }} thumbBounds
278
- */
279
-
280
- /**
281
- * @typedef {Object} PhotoSwipeFiltersMap https://photoswipe.com/filters/
282
- *
283
- * @prop {(numItems: number, dataSource: DataSource | undefined) => number} numItems
284
- * Modify the total amount of slides. Example on Data sources page.
285
- * https://photoswipe.com/filters/#numitems
286
- *
287
- * @prop {(itemData: SlideData, index: number) => SlideData} itemData
288
- * Modify slide item data. Example on Data sources page.
289
- * https://photoswipe.com/filters/#itemdata
290
- *
291
- * @prop {(itemData: SlideData, element: HTMLElement, linkEl: HTMLAnchorElement) => SlideData} domItemData
292
- * Modify item data when it's parsed from DOM element. Example on Data sources page.
293
- * https://photoswipe.com/filters/#domitemdata
294
- *
295
- * @prop {(clickedIndex: number, e: MouseEvent, instance: PhotoSwipeLightbox) => number} clickedIndex
296
- * Modify clicked gallery item index.
297
- * https://photoswipe.com/filters/#clickedindex
298
- *
299
- * @prop {(placeholderSrc: string | false, content: Content) => string | false} placeholderSrc
300
- * Modify placeholder image source.
301
- * https://photoswipe.com/filters/#placeholdersrc
302
- *
303
- * @prop {(isContentLoading: boolean, content: Content) => boolean} isContentLoading
304
- * Modify if the content is currently loading.
305
- * https://photoswipe.com/filters/#iscontentloading
306
- *
307
- * @prop {(isContentZoomable: boolean, content: Content) => boolean} isContentZoomable
308
- * Modify if the content can be zoomed.
309
- * https://photoswipe.com/filters/#iscontentzoomable
310
- *
311
- * @prop {(useContentPlaceholder: boolean, content: Content) => boolean} useContentPlaceholder
312
- * Modify if the placeholder should be used for the content.
313
- * https://photoswipe.com/filters/#usecontentplaceholder
314
- *
315
- * @prop {(isKeepingPlaceholder: boolean, content: Content) => boolean} isKeepingPlaceholder
316
- * Modify if the placeholder should be kept after the content is loaded.
317
- * https://photoswipe.com/filters/#iskeepingplaceholder
318
- *
319
- *
320
- * @prop {(contentErrorElement: HTMLElement, content: Content) => HTMLElement} contentErrorElement
321
- * Modify an element when the content has error state (for example, if image cannot be loaded).
322
- * https://photoswipe.com/filters/#contenterrorelement
323
- *
324
- * @prop {(element: HTMLElement, data: UIElementData) => HTMLElement} uiElement
325
- * Modify a UI element that's being created.
326
- * https://photoswipe.com/filters/#uielement
327
- *
328
- * @prop {(thumbnail: HTMLElement | null | undefined, itemData: SlideData, index: number) => HTMLElement} thumbEl
329
- * Modify the thumbnail element from which opening zoom animation starts or ends.
330
- * https://photoswipe.com/filters/#thumbel
331
- *
332
- * @prop {(thumbBounds: Bounds | undefined, itemData: SlideData, index: number) => Bounds} thumbBounds
333
- * Modify the thumbnail bounds from which opening zoom animation starts or ends.
334
- * https://photoswipe.com/filters/#thumbbounds
335
- *
336
- * @prop {(srcsetSizesWidth: number, content: Content) => number} srcsetSizesWidth
337
- *
338
- * @prop {(preventPointerEvent: boolean, event: PointerEvent, pointerType: string) => boolean} preventPointerEvent
339
- *
340
- */
341
-
342
- /**
343
- * @template {keyof PhotoSwipeFiltersMap} T
344
- * @typedef {{ fn: PhotoSwipeFiltersMap[T], priority: number }} Filter
345
- */
346
-
347
- /**
348
- * @template {keyof PhotoSwipeEventsMap} T
349
- * @typedef {PhotoSwipeEventsMap[T] extends undefined ? PhotoSwipeEvent<T> : PhotoSwipeEvent<T> & PhotoSwipeEventsMap[T]} AugmentedEvent
350
- */
351
-
352
- /**
353
- * @template {keyof PhotoSwipeEventsMap} T
354
- * @typedef {(event: AugmentedEvent<T>) => void} EventCallback
355
- */
356
-
357
- /**
358
- * Base PhotoSwipe event object
359
- *
360
- * @template {keyof PhotoSwipeEventsMap} T
361
- */
362
- class PhotoSwipeEvent {
363
- /**
364
- * @param {T} type
365
- * @param {PhotoSwipeEventsMap[T]} [details]
366
- */
367
- constructor(type, details) {
368
- this.type = type;
369
- this.defaultPrevented = false;
370
-
371
- if (details) {
372
- Object.assign(this, details);
373
- }
374
- }
375
-
376
- preventDefault() {
377
- this.defaultPrevented = true;
378
- }
379
-
380
- }
381
- /**
382
- * PhotoSwipe base class that can listen and dispatch for events.
383
- * Shared by PhotoSwipe Core and PhotoSwipe Lightbox, extended by base.js
384
- */
385
-
386
-
387
- class Eventable {
388
- constructor() {
389
- /**
390
- * @type {{ [T in keyof PhotoSwipeEventsMap]?: ((event: AugmentedEvent<T>) => void)[] }}
391
- */
392
- this._listeners = {};
393
- /**
394
- * @type {{ [T in keyof PhotoSwipeFiltersMap]?: Filter<T>[] }}
395
- */
396
-
397
- this._filters = {};
398
- /** @type {PhotoSwipe | undefined} */
399
-
400
- this.pswp = undefined;
401
- /** @type {PhotoSwipeOptions | undefined} */
402
-
403
- this.options = undefined;
404
- }
405
- /**
406
- * @template {keyof PhotoSwipeFiltersMap} T
407
- * @param {T} name
408
- * @param {PhotoSwipeFiltersMap[T]} fn
409
- * @param {number} priority
410
- */
411
-
412
-
413
- addFilter(name, fn, priority = 100) {
414
- var _this$_filters$name, _this$_filters$name2, _this$pswp;
415
-
416
- if (!this._filters[name]) {
417
- this._filters[name] = [];
418
- }
419
-
420
- (_this$_filters$name = this._filters[name]) === null || _this$_filters$name === void 0 || _this$_filters$name.push({
421
- fn,
422
- priority
423
- });
424
- (_this$_filters$name2 = this._filters[name]) === null || _this$_filters$name2 === void 0 || _this$_filters$name2.sort((f1, f2) => f1.priority - f2.priority);
425
- (_this$pswp = this.pswp) === null || _this$pswp === void 0 || _this$pswp.addFilter(name, fn, priority);
426
- }
427
- /**
428
- * @template {keyof PhotoSwipeFiltersMap} T
429
- * @param {T} name
430
- * @param {PhotoSwipeFiltersMap[T]} fn
431
- */
432
-
433
-
434
- removeFilter(name, fn) {
435
- if (this._filters[name]) {
436
- // @ts-expect-error
437
- this._filters[name] = this._filters[name].filter(filter => filter.fn !== fn);
438
- }
439
-
440
- if (this.pswp) {
441
- this.pswp.removeFilter(name, fn);
442
- }
443
- }
444
- /**
445
- * @template {keyof PhotoSwipeFiltersMap} T
446
- * @param {T} name
447
- * @param {Parameters<PhotoSwipeFiltersMap[T]>} args
448
- * @returns {Parameters<PhotoSwipeFiltersMap[T]>[0]}
449
- */
450
-
451
-
452
- applyFilters(name, ...args) {
453
- var _this$_filters$name3;
454
-
455
- (_this$_filters$name3 = this._filters[name]) === null || _this$_filters$name3 === void 0 || _this$_filters$name3.forEach(filter => {
456
- // @ts-expect-error
457
- args[0] = filter.fn.apply(this, args);
458
- });
459
- return args[0];
460
- }
461
- /**
462
- * @template {keyof PhotoSwipeEventsMap} T
463
- * @param {T} name
464
- * @param {EventCallback<T>} fn
465
- */
466
-
467
-
468
- on(name, fn) {
469
- var _this$_listeners$name, _this$pswp2;
470
-
471
- if (!this._listeners[name]) {
472
- this._listeners[name] = [];
473
- }
474
-
475
- (_this$_listeners$name = this._listeners[name]) === null || _this$_listeners$name === void 0 || _this$_listeners$name.push(fn); // When binding events to lightbox,
476
- // also bind events to PhotoSwipe Core,
477
- // if it's open.
478
-
479
- (_this$pswp2 = this.pswp) === null || _this$pswp2 === void 0 || _this$pswp2.on(name, fn);
480
- }
481
- /**
482
- * @template {keyof PhotoSwipeEventsMap} T
483
- * @param {T} name
484
- * @param {EventCallback<T>} fn
485
- */
486
-
487
-
488
- off(name, fn) {
489
- var _this$pswp3;
490
-
491
- if (this._listeners[name]) {
492
- // @ts-expect-error
493
- this._listeners[name] = this._listeners[name].filter(listener => fn !== listener);
494
- }
495
-
496
- (_this$pswp3 = this.pswp) === null || _this$pswp3 === void 0 || _this$pswp3.off(name, fn);
497
- }
498
- /**
499
- * @template {keyof PhotoSwipeEventsMap} T
500
- * @param {T} name
501
- * @param {PhotoSwipeEventsMap[T]} [details]
502
- * @returns {AugmentedEvent<T>}
503
- */
504
-
505
-
506
- dispatch(name, details) {
507
- var _this$_listeners$name2;
508
-
509
- if (this.pswp) {
510
- return this.pswp.dispatch(name, details);
511
- }
512
-
513
- const event =
514
- /** @type {AugmentedEvent<T>} */
515
- new PhotoSwipeEvent(name, details);
516
- (_this$_listeners$name2 = this._listeners[name]) === null || _this$_listeners$name2 === void 0 || _this$_listeners$name2.forEach(listener => {
517
- listener.call(this, event);
518
- });
519
- return event;
520
- }
521
-
522
- }
523
-
524
- class Placeholder {
525
- /**
526
- * @param {string | false} imageSrc
527
- * @param {HTMLElement} container
528
- */
529
- constructor(imageSrc, container) {
530
- // Create placeholder
531
- // (stretched thumbnail or simple div behind the main image)
532
-
533
- /** @type {HTMLImageElement | HTMLDivElement | null} */
534
- this.element = createElement('pswp__img pswp__img--placeholder', imageSrc ? 'img' : 'div', container);
535
-
536
- if (imageSrc) {
537
- const imgEl =
538
- /** @type {HTMLImageElement} */
539
- this.element;
540
- imgEl.decoding = 'async';
541
- imgEl.alt = '';
542
- imgEl.src = imageSrc;
543
- imgEl.setAttribute('role', 'presentation');
544
- }
545
-
546
- this.element.setAttribute('aria-hidden', 'true');
547
- }
548
- /**
549
- * @param {number} width
550
- * @param {number} height
551
- */
552
-
553
-
554
- setDisplayedSize(width, height) {
555
- if (!this.element) {
556
- return;
557
- }
558
-
559
- if (this.element.tagName === 'IMG') {
560
- // Use transform scale() to modify img placeholder size
561
- // (instead of changing width/height directly).
562
- // This helps with performance, specifically in iOS15 Safari.
563
- setWidthHeight(this.element, 250, 'auto');
564
- this.element.style.transformOrigin = '0 0';
565
- this.element.style.transform = toTransformString(0, 0, width / 250);
566
- } else {
567
- setWidthHeight(this.element, width, height);
568
- }
569
- }
570
-
571
- destroy() {
572
- var _this$element;
573
-
574
- if ((_this$element = this.element) !== null && _this$element !== void 0 && _this$element.parentNode) {
575
- this.element.remove();
576
- }
577
-
578
- this.element = null;
579
- }
580
-
581
- }
582
-
583
- /** @typedef {import('./slide.js').default} Slide */
584
-
585
- /** @typedef {import('./slide.js').SlideData} SlideData */
586
-
587
- /** @typedef {import('../core/base.js').default} PhotoSwipeBase */
588
-
589
- /** @typedef {import('../util/util.js').LoadState} LoadState */
590
-
591
- class Content {
592
- /**
593
- * @param {SlideData} itemData Slide data
594
- * @param {PhotoSwipeBase} instance PhotoSwipe or PhotoSwipeLightbox instance
595
- * @param {number} index
596
- */
597
- constructor(itemData, instance, index) {
598
- this.instance = instance;
599
- this.data = itemData;
600
- this.index = index;
601
- /** @type {HTMLImageElement | HTMLDivElement | undefined} */
602
-
603
- this.element = undefined;
604
- /** @type {Placeholder | undefined} */
605
-
606
- this.placeholder = undefined;
607
- /** @type {Slide | undefined} */
608
-
609
- this.slide = undefined;
610
- this.displayedImageWidth = 0;
611
- this.displayedImageHeight = 0;
612
- this.width = Number(this.data.w) || Number(this.data.width) || 0;
613
- this.height = Number(this.data.h) || Number(this.data.height) || 0;
614
- this.isAttached = false;
615
- this.hasSlide = false;
616
- this.isDecoding = false;
617
- /** @type {LoadState} */
618
-
619
- this.state = LOAD_STATE.IDLE;
620
-
621
- if (this.data.type) {
622
- this.type = this.data.type;
623
- } else if (this.data.src) {
624
- this.type = 'image';
625
- } else {
626
- this.type = 'html';
627
- }
628
-
629
- this.instance.dispatch('contentInit', {
630
- content: this
631
- });
632
- }
633
-
634
- removePlaceholder() {
635
- if (this.placeholder && !this.keepPlaceholder()) {
636
- // With delay, as image might be loaded, but not rendered
637
- setTimeout(() => {
638
- if (this.placeholder) {
639
- this.placeholder.destroy();
640
- this.placeholder = undefined;
641
- }
642
- }, 1000);
643
- }
644
- }
645
- /**
646
- * Preload content
647
- *
648
- * @param {boolean} isLazy
649
- * @param {boolean} [reload]
650
- */
651
-
652
-
653
- load(isLazy, reload) {
654
- if (this.slide && this.usePlaceholder()) {
655
- if (!this.placeholder) {
656
- const placeholderSrc = this.instance.applyFilters('placeholderSrc', // use image-based placeholder only for the first slide,
657
- // as rendering (even small stretched thumbnail) is an expensive operation
658
- this.data.msrc && this.slide.isFirstSlide ? this.data.msrc : false, this);
659
- this.placeholder = new Placeholder(placeholderSrc, this.slide.container);
660
- } else {
661
- const placeholderEl = this.placeholder.element; // Add placeholder to DOM if it was already created
662
-
663
- if (placeholderEl && !placeholderEl.parentElement) {
664
- this.slide.container.prepend(placeholderEl);
665
- }
666
- }
667
- }
668
-
669
- if (this.element && !reload) {
670
- return;
671
- }
672
-
673
- if (this.instance.dispatch('contentLoad', {
674
- content: this,
675
- isLazy
676
- }).defaultPrevented) {
677
- return;
678
- }
679
-
680
- if (this.isImageContent()) {
681
- this.element = createElement('pswp__img', 'img'); // Start loading only after width is defined, as sizes might depend on it.
682
- // Due to Safari feature, we must define sizes before srcset.
683
-
684
- if (this.displayedImageWidth) {
685
- this.loadImage(isLazy);
686
- }
687
- } else {
688
- this.element = createElement('pswp__content', 'div');
689
- this.element.innerHTML = this.data.html || '';
690
- }
691
-
692
- if (reload && this.slide) {
693
- this.slide.updateContentSize(true);
694
- }
695
- }
696
- /**
697
- * Preload image
698
- *
699
- * @param {boolean} isLazy
700
- */
701
-
702
-
703
- loadImage(isLazy) {
704
- var _this$data$src, _this$data$alt;
705
-
706
- if (!this.isImageContent() || !this.element || this.instance.dispatch('contentLoadImage', {
707
- content: this,
708
- isLazy
709
- }).defaultPrevented) {
710
- return;
711
- }
712
-
713
- const imageElement =
714
- /** @type HTMLImageElement */
715
- this.element;
716
- this.updateSrcsetSizes();
717
-
718
- if (this.data.srcset) {
719
- imageElement.srcset = this.data.srcset;
720
- }
721
-
722
- imageElement.src = (_this$data$src = this.data.src) !== null && _this$data$src !== void 0 ? _this$data$src : '';
723
- imageElement.alt = (_this$data$alt = this.data.alt) !== null && _this$data$alt !== void 0 ? _this$data$alt : '';
724
- this.state = LOAD_STATE.LOADING;
725
-
726
- if (imageElement.complete) {
727
- this.onLoaded();
728
- } else {
729
- imageElement.onload = () => {
730
- this.onLoaded();
731
- };
732
-
733
- imageElement.onerror = () => {
734
- this.onError();
735
- };
736
- }
737
- }
738
- /**
739
- * Assign slide to content
740
- *
741
- * @param {Slide} slide
742
- */
743
-
744
-
745
- setSlide(slide) {
746
- this.slide = slide;
747
- this.hasSlide = true;
748
- this.instance = slide.pswp; // todo: do we need to unset slide?
749
- }
750
- /**
751
- * Content load success handler
752
- */
753
-
754
-
755
- onLoaded() {
756
- this.state = LOAD_STATE.LOADED;
757
-
758
- if (this.slide && this.element) {
759
- this.instance.dispatch('loadComplete', {
760
- slide: this.slide,
761
- content: this
762
- }); // if content is reloaded
763
-
764
- if (this.slide.isActive && this.slide.heavyAppended && !this.element.parentNode) {
765
- this.append();
766
- this.slide.updateContentSize(true);
767
- }
768
-
769
- if (this.state === LOAD_STATE.LOADED || this.state === LOAD_STATE.ERROR) {
770
- this.removePlaceholder();
771
- }
772
- }
773
- }
774
- /**
775
- * Content load error handler
776
- */
777
-
778
-
779
- onError() {
780
- this.state = LOAD_STATE.ERROR;
781
-
782
- if (this.slide) {
783
- this.displayError();
784
- this.instance.dispatch('loadComplete', {
785
- slide: this.slide,
786
- isError: true,
787
- content: this
788
- });
789
- this.instance.dispatch('loadError', {
790
- slide: this.slide,
791
- content: this
792
- });
793
- }
794
- }
795
- /**
796
- * @returns {Boolean} If the content is currently loading
797
- */
798
-
799
-
800
- isLoading() {
801
- return this.instance.applyFilters('isContentLoading', this.state === LOAD_STATE.LOADING, this);
802
- }
803
- /**
804
- * @returns {Boolean} If the content is in error state
805
- */
806
-
807
-
808
- isError() {
809
- return this.state === LOAD_STATE.ERROR;
810
- }
811
- /**
812
- * @returns {boolean} If the content is image
813
- */
814
-
815
-
816
- isImageContent() {
817
- return this.type === 'image';
818
- }
819
- /**
820
- * Update content size
821
- *
822
- * @param {Number} width
823
- * @param {Number} height
824
- */
825
-
826
-
827
- setDisplayedSize(width, height) {
828
- if (!this.element) {
829
- return;
830
- }
831
-
832
- if (this.placeholder) {
833
- this.placeholder.setDisplayedSize(width, height);
834
- }
835
-
836
- if (this.instance.dispatch('contentResize', {
837
- content: this,
838
- width,
839
- height
840
- }).defaultPrevented) {
841
- return;
842
- }
843
-
844
- setWidthHeight(this.element, width, height);
845
-
846
- if (this.isImageContent() && !this.isError()) {
847
- const isInitialSizeUpdate = !this.displayedImageWidth && width;
848
- this.displayedImageWidth = width;
849
- this.displayedImageHeight = height;
850
-
851
- if (isInitialSizeUpdate) {
852
- this.loadImage(false);
853
- } else {
854
- this.updateSrcsetSizes();
855
- }
856
-
857
- if (this.slide) {
858
- this.instance.dispatch('imageSizeChange', {
859
- slide: this.slide,
860
- width,
861
- height,
862
- content: this
863
- });
864
- }
865
- }
866
- }
867
- /**
868
- * @returns {boolean} If the content can be zoomed
869
- */
870
-
871
-
872
- isZoomable() {
873
- return this.instance.applyFilters('isContentZoomable', this.isImageContent() && this.state !== LOAD_STATE.ERROR, this);
874
- }
875
- /**
876
- * Update image srcset sizes attribute based on width and height
877
- */
878
-
879
-
880
- updateSrcsetSizes() {
881
- // Handle srcset sizes attribute.
882
- //
883
- // Never lower quality, if it was increased previously.
884
- // Chrome does this automatically, Firefox and Safari do not,
885
- // so we store largest used size in dataset.
886
- if (!this.isImageContent() || !this.element || !this.data.srcset) {
887
- return;
888
- }
889
-
890
- const image =
891
- /** @type HTMLImageElement */
892
- this.element;
893
- const sizesWidth = this.instance.applyFilters('srcsetSizesWidth', this.displayedImageWidth, this);
894
-
895
- if (!image.dataset.largestUsedSize || sizesWidth > parseInt(image.dataset.largestUsedSize, 10)) {
896
- image.sizes = sizesWidth + 'px';
897
- image.dataset.largestUsedSize = String(sizesWidth);
898
- }
899
- }
900
- /**
901
- * @returns {boolean} If content should use a placeholder (from msrc by default)
902
- */
903
-
904
-
905
- usePlaceholder() {
906
- return this.instance.applyFilters('useContentPlaceholder', this.isImageContent(), this);
907
- }
908
- /**
909
- * Preload content with lazy-loading param
910
- */
911
-
912
-
913
- lazyLoad() {
914
- if (this.instance.dispatch('contentLazyLoad', {
915
- content: this
916
- }).defaultPrevented) {
917
- return;
918
- }
919
-
920
- this.load(true);
921
- }
922
- /**
923
- * @returns {boolean} If placeholder should be kept after content is loaded
924
- */
925
-
926
-
927
- keepPlaceholder() {
928
- return this.instance.applyFilters('isKeepingPlaceholder', this.isLoading(), this);
929
- }
930
- /**
931
- * Destroy the content
932
- */
933
-
934
-
935
- destroy() {
936
- this.hasSlide = false;
937
- this.slide = undefined;
938
-
939
- if (this.instance.dispatch('contentDestroy', {
940
- content: this
941
- }).defaultPrevented) {
942
- return;
943
- }
944
-
945
- this.remove();
946
-
947
- if (this.placeholder) {
948
- this.placeholder.destroy();
949
- this.placeholder = undefined;
950
- }
951
-
952
- if (this.isImageContent() && this.element) {
953
- this.element.onload = null;
954
- this.element.onerror = null;
955
- this.element = undefined;
956
- }
957
- }
958
- /**
959
- * Display error message
960
- */
961
-
962
-
963
- displayError() {
964
- if (this.slide) {
965
- var _this$instance$option, _this$instance$option2;
966
-
967
- let errorMsgEl = createElement('pswp__error-msg', 'div');
968
- errorMsgEl.innerText = (_this$instance$option = (_this$instance$option2 = this.instance.options) === null || _this$instance$option2 === void 0 ? void 0 : _this$instance$option2.errorMsg) !== null && _this$instance$option !== void 0 ? _this$instance$option : '';
969
- errorMsgEl =
970
- /** @type {HTMLDivElement} */
971
- this.instance.applyFilters('contentErrorElement', errorMsgEl, this);
972
- this.element = createElement('pswp__content pswp__error-msg-container', 'div');
973
- this.element.appendChild(errorMsgEl);
974
- this.slide.container.innerText = '';
975
- this.slide.container.appendChild(this.element);
976
- this.slide.updateContentSize(true);
977
- this.removePlaceholder();
978
- }
979
- }
980
- /**
981
- * Append the content
982
- */
983
-
984
-
985
- append() {
986
- if (this.isAttached || !this.element) {
987
- return;
988
- }
989
-
990
- this.isAttached = true;
991
-
992
- if (this.state === LOAD_STATE.ERROR) {
993
- this.displayError();
994
- return;
995
- }
996
-
997
- if (this.instance.dispatch('contentAppend', {
998
- content: this
999
- }).defaultPrevented) {
1000
- return;
1001
- }
1002
-
1003
- const supportsDecode = ('decode' in this.element);
1004
-
1005
- if (this.isImageContent()) {
1006
- // Use decode() on nearby slides
1007
- //
1008
- // Nearby slide images are in DOM and not hidden via display:none.
1009
- // However, they are placed offscreen (to the left and right side).
1010
- //
1011
- // Some browsers do not composite the image until it's actually visible,
1012
- // using decode() helps.
1013
- //
1014
- // You might ask "why dont you just decode() and then append all images",
1015
- // that's because I want to show image before it's fully loaded,
1016
- // as browser can render parts of image while it is loading.
1017
- // We do not do this in Safari due to partial loading bug.
1018
- if (supportsDecode && this.slide && (!this.slide.isActive || isSafari())) {
1019
- this.isDecoding = true; // purposefully using finally instead of then,
1020
- // as if srcset sizes changes dynamically - it may cause decode error
1021
-
1022
- /** @type {HTMLImageElement} */
1023
-
1024
- this.element.decode().catch(() => {}).finally(() => {
1025
- this.isDecoding = false;
1026
- this.appendImage();
1027
- });
1028
- } else {
1029
- this.appendImage();
1030
- }
1031
- } else if (this.slide && !this.element.parentNode) {
1032
- this.slide.container.appendChild(this.element);
1033
- }
1034
- }
1035
- /**
1036
- * Activate the slide,
1037
- * active slide is generally the current one,
1038
- * meaning the user can see it.
1039
- */
1040
-
1041
-
1042
- activate() {
1043
- if (this.instance.dispatch('contentActivate', {
1044
- content: this
1045
- }).defaultPrevented || !this.slide) {
1046
- return;
1047
- }
1048
-
1049
- if (this.isImageContent() && this.isDecoding && !isSafari()) {
1050
- // add image to slide when it becomes active,
1051
- // even if it's not finished decoding
1052
- this.appendImage();
1053
- } else if (this.isError()) {
1054
- this.load(false, true); // try to reload
1055
- }
1056
-
1057
- if (this.slide.holderElement) {
1058
- this.slide.holderElement.setAttribute('aria-hidden', 'false');
1059
- }
1060
- }
1061
- /**
1062
- * Deactivate the content
1063
- */
1064
-
1065
-
1066
- deactivate() {
1067
- this.instance.dispatch('contentDeactivate', {
1068
- content: this
1069
- });
1070
-
1071
- if (this.slide && this.slide.holderElement) {
1072
- this.slide.holderElement.setAttribute('aria-hidden', 'true');
1073
- }
1074
- }
1075
- /**
1076
- * Remove the content from DOM
1077
- */
1078
-
1079
-
1080
- remove() {
1081
- this.isAttached = false;
1082
-
1083
- if (this.instance.dispatch('contentRemove', {
1084
- content: this
1085
- }).defaultPrevented) {
1086
- return;
1087
- }
1088
-
1089
- if (this.element && this.element.parentNode) {
1090
- this.element.remove();
1091
- }
1092
-
1093
- if (this.placeholder && this.placeholder.element) {
1094
- this.placeholder.element.remove();
1095
- }
1096
- }
1097
- /**
1098
- * Append the image content to slide container
1099
- */
1100
-
1101
-
1102
- appendImage() {
1103
- if (!this.isAttached) {
1104
- return;
1105
- }
1106
-
1107
- if (this.instance.dispatch('contentAppendImage', {
1108
- content: this
1109
- }).defaultPrevented) {
1110
- return;
1111
- } // ensure that element exists and is not already appended
1112
-
1113
-
1114
- if (this.slide && this.element && !this.element.parentNode) {
1115
- this.slide.container.appendChild(this.element);
1116
- }
1117
-
1118
- if (this.state === LOAD_STATE.LOADED || this.state === LOAD_STATE.ERROR) {
1119
- this.removePlaceholder();
1120
- }
1121
- }
1122
-
1123
- }
1124
-
1125
- /** @typedef {import('../photoswipe.js').PhotoSwipeOptions} PhotoSwipeOptions */
1126
-
1127
- /** @typedef {import('../core/base.js').default} PhotoSwipeBase */
1128
-
1129
- /** @typedef {import('../photoswipe.js').Point} Point */
1130
-
1131
- /** @typedef {import('../slide/slide.js').SlideData} SlideData */
1132
-
1133
- /**
1134
- * @param {PhotoSwipeOptions} options
1135
- * @param {PhotoSwipeBase} pswp
1136
- * @returns {Point}
1137
- */
1138
- function getViewportSize(options, pswp) {
1139
- if (options.getViewportSizeFn) {
1140
- const newViewportSize = options.getViewportSizeFn(options, pswp);
1141
-
1142
- if (newViewportSize) {
1143
- return newViewportSize;
1144
- }
1145
- }
1146
-
1147
- return {
1148
- x: document.documentElement.clientWidth,
1149
- // TODO: height on mobile is very incosistent due to toolbar
1150
- // find a way to improve this
1151
- //
1152
- // document.documentElement.clientHeight - doesn't seem to work well
1153
- y: window.innerHeight
1154
- };
1155
- }
1156
- /**
1157
- * Parses padding option.
1158
- * Supported formats:
1159
- *
1160
- * // Object
1161
- * padding: {
1162
- * top: 0,
1163
- * bottom: 0,
1164
- * left: 0,
1165
- * right: 0
1166
- * }
1167
- *
1168
- * // A function that returns the object
1169
- * paddingFn: (viewportSize, itemData, index) => {
1170
- * return {
1171
- * top: 0,
1172
- * bottom: 0,
1173
- * left: 0,
1174
- * right: 0
1175
- * };
1176
- * }
1177
- *
1178
- * // Legacy variant
1179
- * paddingLeft: 0,
1180
- * paddingRight: 0,
1181
- * paddingTop: 0,
1182
- * paddingBottom: 0,
1183
- *
1184
- * @param {'left' | 'top' | 'bottom' | 'right'} prop
1185
- * @param {PhotoSwipeOptions} options PhotoSwipe options
1186
- * @param {Point} viewportSize PhotoSwipe viewport size, for example: { x:800, y:600 }
1187
- * @param {SlideData} itemData Data about the slide
1188
- * @param {number} index Slide index
1189
- * @returns {number}
1190
- */
1191
-
1192
- function parsePaddingOption(prop, options, viewportSize, itemData, index) {
1193
- let paddingValue = 0;
1194
-
1195
- if (options.paddingFn) {
1196
- paddingValue = options.paddingFn(viewportSize, itemData, index)[prop];
1197
- } else if (options.padding) {
1198
- paddingValue = options.padding[prop];
1199
- } else {
1200
- const legacyPropName = 'padding' + prop[0].toUpperCase() + prop.slice(1); // @ts-expect-error
1201
-
1202
- if (options[legacyPropName]) {
1203
- // @ts-expect-error
1204
- paddingValue = options[legacyPropName];
1205
- }
1206
- }
1207
-
1208
- return Number(paddingValue) || 0;
1209
- }
1210
- /**
1211
- * @param {PhotoSwipeOptions} options
1212
- * @param {Point} viewportSize
1213
- * @param {SlideData} itemData
1214
- * @param {number} index
1215
- * @returns {Point}
1216
- */
1217
-
1218
- function getPanAreaSize(options, viewportSize, itemData, index) {
1219
- return {
1220
- x: viewportSize.x - parsePaddingOption('left', options, viewportSize, itemData, index) - parsePaddingOption('right', options, viewportSize, itemData, index),
1221
- y: viewportSize.y - parsePaddingOption('top', options, viewportSize, itemData, index) - parsePaddingOption('bottom', options, viewportSize, itemData, index)
1222
- };
1223
- }
1224
-
1225
- const MAX_IMAGE_WIDTH = 4000;
1226
- /** @typedef {import('../photoswipe.js').default} PhotoSwipe */
1227
-
1228
- /** @typedef {import('../photoswipe.js').PhotoSwipeOptions} PhotoSwipeOptions */
1229
-
1230
- /** @typedef {import('../photoswipe.js').Point} Point */
1231
-
1232
- /** @typedef {import('../slide/slide.js').SlideData} SlideData */
1233
-
1234
- /** @typedef {'fit' | 'fill' | number | ((zoomLevelObject: ZoomLevel) => number)} ZoomLevelOption */
1235
-
1236
- /**
1237
- * Calculates zoom levels for specific slide.
1238
- * Depends on viewport size and image size.
1239
- */
1240
-
1241
- class ZoomLevel {
1242
- /**
1243
- * @param {PhotoSwipeOptions} options PhotoSwipe options
1244
- * @param {SlideData} itemData Slide data
1245
- * @param {number} index Slide index
1246
- * @param {PhotoSwipe} [pswp] PhotoSwipe instance, can be undefined if not initialized yet
1247
- */
1248
- constructor(options, itemData, index, pswp) {
1249
- this.pswp = pswp;
1250
- this.options = options;
1251
- this.itemData = itemData;
1252
- this.index = index;
1253
- /** @type { Point | null } */
1254
-
1255
- this.panAreaSize = null;
1256
- /** @type { Point | null } */
1257
-
1258
- this.elementSize = null;
1259
- this.fit = 1;
1260
- this.fill = 1;
1261
- this.vFill = 1;
1262
- this.initial = 1;
1263
- this.secondary = 1;
1264
- this.max = 1;
1265
- this.min = 1;
1266
- }
1267
- /**
1268
- * Calculate initial, secondary and maximum zoom level for the specified slide.
1269
- *
1270
- * It should be called when either image or viewport size changes.
1271
- *
1272
- * @param {number} maxWidth
1273
- * @param {number} maxHeight
1274
- * @param {Point} panAreaSize
1275
- */
1276
-
1277
-
1278
- update(maxWidth, maxHeight, panAreaSize) {
1279
- /** @type {Point} */
1280
- const elementSize = {
1281
- x: maxWidth,
1282
- y: maxHeight
1283
- };
1284
- this.elementSize = elementSize;
1285
- this.panAreaSize = panAreaSize;
1286
- const hRatio = panAreaSize.x / elementSize.x;
1287
- const vRatio = panAreaSize.y / elementSize.y;
1288
- this.fit = Math.min(1, hRatio < vRatio ? hRatio : vRatio);
1289
- this.fill = Math.min(1, hRatio > vRatio ? hRatio : vRatio); // zoom.vFill defines zoom level of the image
1290
- // when it has 100% of viewport vertical space (height)
1291
-
1292
- this.vFill = Math.min(1, vRatio);
1293
- this.initial = this._getInitial();
1294
- this.secondary = this._getSecondary();
1295
- this.max = Math.max(this.initial, this.secondary, this._getMax());
1296
- this.min = Math.min(this.fit, this.initial, this.secondary);
1297
-
1298
- if (this.pswp) {
1299
- this.pswp.dispatch('zoomLevelsUpdate', {
1300
- zoomLevels: this,
1301
- slideData: this.itemData
1302
- });
1303
- }
1304
- }
1305
- /**
1306
- * Parses user-defined zoom option.
1307
- *
1308
- * @private
1309
- * @param {'initial' | 'secondary' | 'max'} optionPrefix Zoom level option prefix (initial, secondary, max)
1310
- * @returns { number | undefined }
1311
- */
1312
-
1313
-
1314
- _parseZoomLevelOption(optionPrefix) {
1315
- const optionName =
1316
- /** @type {'initialZoomLevel' | 'secondaryZoomLevel' | 'maxZoomLevel'} */
1317
- optionPrefix + 'ZoomLevel';
1318
- const optionValue = this.options[optionName];
1319
-
1320
- if (!optionValue) {
1321
- return;
1322
- }
1323
-
1324
- if (typeof optionValue === 'function') {
1325
- return optionValue(this);
1326
- }
1327
-
1328
- if (optionValue === 'fill') {
1329
- return this.fill;
1330
- }
1331
-
1332
- if (optionValue === 'fit') {
1333
- return this.fit;
1334
- }
1335
-
1336
- return Number(optionValue);
1337
- }
1338
- /**
1339
- * Get zoom level to which image will be zoomed after double-tap gesture,
1340
- * or when user clicks on zoom icon,
1341
- * or mouse-click on image itself.
1342
- * If you return 1 image will be zoomed to its original size.
1343
- *
1344
- * @private
1345
- * @return {number}
1346
- */
1347
-
1348
-
1349
- _getSecondary() {
1350
- let currZoomLevel = this._parseZoomLevelOption('secondary');
1351
-
1352
- if (currZoomLevel) {
1353
- return currZoomLevel;
1354
- } // 3x of "fit" state, but not larger than original
1355
-
1356
-
1357
- currZoomLevel = Math.min(1, this.fit * 3);
1358
-
1359
- if (this.elementSize && currZoomLevel * this.elementSize.x > MAX_IMAGE_WIDTH) {
1360
- currZoomLevel = MAX_IMAGE_WIDTH / this.elementSize.x;
1361
- }
1362
-
1363
- return currZoomLevel;
1364
- }
1365
- /**
1366
- * Get initial image zoom level.
1367
- *
1368
- * @private
1369
- * @return {number}
1370
- */
1371
-
1372
-
1373
- _getInitial() {
1374
- return this._parseZoomLevelOption('initial') || this.fit;
1375
- }
1376
- /**
1377
- * Maximum zoom level when user zooms
1378
- * via zoom/pinch gesture,
1379
- * via cmd/ctrl-wheel or via trackpad.
1380
- *
1381
- * @private
1382
- * @return {number}
1383
- */
1384
-
1385
-
1386
- _getMax() {
1387
- // max zoom level is x4 from "fit state",
1388
- // used for zoom gesture and ctrl/trackpad zoom
1389
- return this._parseZoomLevelOption('max') || Math.max(1, this.fit * 4);
1390
- }
1391
-
1392
- }
1393
-
1394
- /**
1395
- * Lazy-load an image
1396
- * This function is used both by Lightbox and PhotoSwipe core,
1397
- * thus it can be called before dialog is opened.
1398
- *
1399
- * @param {SlideData} itemData Data about the slide
1400
- * @param {PhotoSwipeBase} instance PhotoSwipe or PhotoSwipeLightbox instance
1401
- * @param {number} index
1402
- * @returns {Content} Image that is being decoded or false.
1403
- */
1404
-
1405
- function lazyLoadData(itemData, instance, index) {
1406
- const content = instance.createContentFromData(itemData, index);
1407
- /** @type {ZoomLevel | undefined} */
1408
-
1409
- let zoomLevel;
1410
- const {
1411
- options
1412
- } = instance; // We need to know dimensions of the image to preload it,
1413
- // as it might use srcset, and we need to define sizes
1414
-
1415
- if (options) {
1416
- zoomLevel = new ZoomLevel(options, itemData, -1);
1417
- let viewportSize;
1418
-
1419
- if (instance.pswp) {
1420
- viewportSize = instance.pswp.viewportSize;
1421
- } else {
1422
- viewportSize = getViewportSize(options, instance);
1423
- }
1424
-
1425
- const panAreaSize = getPanAreaSize(options, viewportSize, itemData, index);
1426
- zoomLevel.update(content.width, content.height, panAreaSize);
1427
- }
1428
-
1429
- content.lazyLoad();
1430
-
1431
- if (zoomLevel) {
1432
- content.setDisplayedSize(Math.ceil(content.width * zoomLevel.initial), Math.ceil(content.height * zoomLevel.initial));
1433
- }
1434
-
1435
- return content;
1436
- }
1437
- /**
1438
- * Lazy-loads specific slide.
1439
- * This function is used both by Lightbox and PhotoSwipe core,
1440
- * thus it can be called before dialog is opened.
1441
- *
1442
- * By default, it loads image based on viewport size and initial zoom level.
1443
- *
1444
- * @param {number} index Slide index
1445
- * @param {PhotoSwipeBase} instance PhotoSwipe or PhotoSwipeLightbox eventable instance
1446
- * @returns {Content | undefined}
1447
- */
1448
-
1449
- function lazyLoadSlide(index, instance) {
1450
- const itemData = instance.getItemData(index);
1451
-
1452
- if (instance.dispatch('lazyLoadSlide', {
1453
- index,
1454
- itemData
1455
- }).defaultPrevented) {
1456
- return;
1457
- }
1458
-
1459
- return lazyLoadData(itemData, instance, index);
1460
- }
1461
-
1462
- /** @typedef {import("../photoswipe.js").default} PhotoSwipe */
1463
-
1464
- /** @typedef {import("../slide/slide.js").SlideData} SlideData */
1465
-
1466
- /**
1467
- * PhotoSwipe base class that can retrieve data about every slide.
1468
- * Shared by PhotoSwipe Core and PhotoSwipe Lightbox
1469
- */
1470
-
1471
- class PhotoSwipeBase extends Eventable {
1472
- /**
1473
- * Get total number of slides
1474
- *
1475
- * @returns {number}
1476
- */
1477
- getNumItems() {
1478
- var _this$options;
1479
-
1480
- let numItems = 0;
1481
- const dataSource = (_this$options = this.options) === null || _this$options === void 0 ? void 0 : _this$options.dataSource;
1482
-
1483
- if (dataSource && 'length' in dataSource) {
1484
- // may be an array or just object with length property
1485
- numItems = dataSource.length;
1486
- } else if (dataSource && 'gallery' in dataSource) {
1487
- // query DOM elements
1488
- if (!dataSource.items) {
1489
- dataSource.items = this._getGalleryDOMElements(dataSource.gallery);
1490
- }
1491
-
1492
- if (dataSource.items) {
1493
- numItems = dataSource.items.length;
1494
- }
1495
- } // legacy event, before filters were introduced
1496
-
1497
-
1498
- const event = this.dispatch('numItems', {
1499
- dataSource,
1500
- numItems
1501
- });
1502
- return this.applyFilters('numItems', event.numItems, dataSource);
1503
- }
1504
- /**
1505
- * @param {SlideData} slideData
1506
- * @param {number} index
1507
- * @returns {Content}
1508
- */
1509
-
1510
-
1511
- createContentFromData(slideData, index) {
1512
- return new Content(slideData, this, index);
1513
- }
1514
- /**
1515
- * Get item data by index.
1516
- *
1517
- * "item data" should contain normalized information that PhotoSwipe needs to generate a slide.
1518
- * For example, it may contain properties like
1519
- * `src`, `srcset`, `w`, `h`, which will be used to generate a slide with image.
1520
- *
1521
- * @param {number} index
1522
- * @returns {SlideData}
1523
- */
1524
-
1525
-
1526
- getItemData(index) {
1527
- var _this$options2;
1528
-
1529
- const dataSource = (_this$options2 = this.options) === null || _this$options2 === void 0 ? void 0 : _this$options2.dataSource;
1530
- /** @type {SlideData | HTMLElement} */
1531
-
1532
- let dataSourceItem = {};
1533
-
1534
- if (Array.isArray(dataSource)) {
1535
- // Datasource is an array of elements
1536
- dataSourceItem = dataSource[index];
1537
- } else if (dataSource && 'gallery' in dataSource) {
1538
- // dataSource has gallery property,
1539
- // thus it was created by Lightbox, based on
1540
- // gallery and children options
1541
- // query DOM elements
1542
- if (!dataSource.items) {
1543
- dataSource.items = this._getGalleryDOMElements(dataSource.gallery);
1544
- }
1545
-
1546
- dataSourceItem = dataSource.items[index];
1547
- }
1548
-
1549
- let itemData = dataSourceItem;
1550
-
1551
- if (itemData instanceof Element) {
1552
- itemData = this._domElementToItemData(itemData);
1553
- } // Dispatching the itemData event,
1554
- // it's a legacy verion before filters were introduced
1555
-
1556
-
1557
- const event = this.dispatch('itemData', {
1558
- itemData: itemData || {},
1559
- index
1560
- });
1561
- return this.applyFilters('itemData', event.itemData, index);
1562
- }
1563
- /**
1564
- * Get array of gallery DOM elements,
1565
- * based on childSelector and gallery element.
1566
- *
1567
- * @param {HTMLElement} galleryElement
1568
- * @returns {HTMLElement[]}
1569
- */
1570
-
1571
-
1572
- _getGalleryDOMElements(galleryElement) {
1573
- var _this$options3, _this$options4;
1574
-
1575
- if ((_this$options3 = this.options) !== null && _this$options3 !== void 0 && _this$options3.children || (_this$options4 = this.options) !== null && _this$options4 !== void 0 && _this$options4.childSelector) {
1576
- return getElementsFromOption(this.options.children, this.options.childSelector, galleryElement) || [];
1577
- }
1578
-
1579
- return [galleryElement];
1580
- }
1581
- /**
1582
- * Converts DOM element to item data object.
1583
- *
1584
- * @param {HTMLElement} element DOM element
1585
- * @returns {SlideData}
1586
- */
1587
-
1588
-
1589
- _domElementToItemData(element) {
1590
- /** @type {SlideData} */
1591
- const itemData = {
1592
- element
1593
- };
1594
- const linkEl =
1595
- /** @type {HTMLAnchorElement} */
1596
- element.tagName === 'A' ? element : element.querySelector('a');
1597
-
1598
- if (linkEl) {
1599
- // src comes from data-pswp-src attribute,
1600
- // if it's empty link href is used
1601
- itemData.src = linkEl.dataset.pswpSrc || linkEl.href;
1602
-
1603
- if (linkEl.dataset.pswpSrcset) {
1604
- itemData.srcset = linkEl.dataset.pswpSrcset;
1605
- }
1606
-
1607
- // jadams, 2025-01-31:
1608
- //
1609
- if (linkEl.dataset.pswpWidth !== 'auto') {
1610
- const image = element.querySelector('img');
1611
- } else {
1612
- itemData.width = linkEl.dataset.pswpWidth ? parseInt(linkEl.dataset.pswpWidth, 10) : 0;
1613
- itemData.height = linkEl.dataset.pswpHeight ? parseInt(linkEl.dataset.pswpHeight, 10) : 0; // support legacy w & h properties
1614
- }
1615
-
1616
- // itemData.width = linkEl.dataset.pswpWidth ? parseInt(linkEl.dataset.pswpWidth, 10) : 0;
1617
- // itemData.height = linkEl.dataset.pswpHeight ? parseInt(linkEl.dataset.pswpHeight, 10) : 0; // support legacy w & h properties
1618
-
1619
- itemData.w = itemData.width;
1620
- itemData.h = itemData.height;
1621
-
1622
- if (linkEl.dataset.pswpType) {
1623
- itemData.type = linkEl.dataset.pswpType;
1624
- }
1625
-
1626
- const thumbnailEl = element.querySelector('img');
1627
-
1628
- if (thumbnailEl) {
1629
- var _thumbnailEl$getAttri;
1630
-
1631
- // msrc is URL to placeholder image that's displayed before large image is loaded
1632
- // by default it's displayed only for the first slide
1633
- itemData.msrc = thumbnailEl.currentSrc || thumbnailEl.src;
1634
- itemData.alt = (_thumbnailEl$getAttri = thumbnailEl.getAttribute('alt')) !== null && _thumbnailEl$getAttri !== void 0 ? _thumbnailEl$getAttri : '';
1635
- }
1636
-
1637
- if (linkEl.dataset.pswpCropped || linkEl.dataset.cropped) {
1638
- itemData.thumbCropped = true;
1639
- }
1640
- }
1641
-
1642
- return this.applyFilters('domItemData', itemData, element, linkEl);
1643
- }
1644
- /**
1645
- * Lazy-load by slide data
1646
- *
1647
- * @param {SlideData} itemData Data about the slide
1648
- * @param {number} index
1649
- * @returns {Content} Image that is being decoded or false.
1650
- */
1651
-
1652
-
1653
- lazyLoadData(itemData, index) {
1654
- return lazyLoadData(itemData, this, index);
1655
- }
1656
-
1657
- }
1658
-
1659
- /**
1660
- * @template T
1661
- * @typedef {import('../types.js').Type<T>} Type<T>
1662
- */
1663
-
1664
- /** @typedef {import('../photoswipe.js').default} PhotoSwipe */
1665
-
1666
- /** @typedef {import('../photoswipe.js').PhotoSwipeOptions} PhotoSwipeOptions */
1667
-
1668
- /** @typedef {import('../photoswipe.js').DataSource} DataSource */
1669
-
1670
- /** @typedef {import('../photoswipe.js').Point} Point */
1671
-
1672
- /** @typedef {import('../slide/content.js').default} Content */
1673
-
1674
- /** @typedef {import('../core/eventable.js').PhotoSwipeEventsMap} PhotoSwipeEventsMap */
1675
-
1676
- /** @typedef {import('../core/eventable.js').PhotoSwipeFiltersMap} PhotoSwipeFiltersMap */
1677
-
1678
- /**
1679
- * @template {keyof PhotoSwipeEventsMap} T
1680
- * @typedef {import('../core/eventable.js').EventCallback<T>} EventCallback<T>
1681
- */
1682
-
1683
- /**
1684
- * PhotoSwipe Lightbox
1685
- *
1686
- * - If user has unsupported browser it falls back to default browser action (just opens URL)
1687
- * - Binds click event to links that should open PhotoSwipe
1688
- * - parses DOM strcture for PhotoSwipe (retrieves large image URLs and sizes)
1689
- * - Initializes PhotoSwipe
1690
- *
1691
- *
1692
- * Loader options use the same object as PhotoSwipe, and supports such options:
1693
- *
1694
- * gallery - Element | Element[] | NodeList | string selector for the gallery element
1695
- * children - Element | Element[] | NodeList | string selector for the gallery children
1696
- *
1697
- */
1698
-
1699
- class PhotoSwipeLightbox extends PhotoSwipeBase {
1700
- /**
1701
- * @param {PhotoSwipeOptions} [options]
1702
- */
1703
- constructor(options) {
1704
- super();
1705
- /** @type {PhotoSwipeOptions} */
1706
-
1707
- this.options = options || {};
1708
- this._uid = 0;
1709
- this.shouldOpen = false;
1710
- /**
1711
- * @private
1712
- * @type {Content | undefined}
1713
- */
1714
-
1715
- this._preloadedContent = undefined;
1716
- this.onThumbnailsClick = this.onThumbnailsClick.bind(this);
1717
- }
1718
- /**
1719
- * Initialize lightbox, should be called only once.
1720
- * It's not included in the main constructor, so you may bind events before it.
1721
- */
1722
-
1723
-
1724
- init() {
1725
- // Bind click events to each gallery
1726
- getElementsFromOption(this.options.gallery, this.options.gallerySelector).forEach(galleryElement => {
1727
- galleryElement.addEventListener('click', this.onThumbnailsClick, false);
1728
- });
1729
- }
1730
- /**
1731
- * @param {MouseEvent} e
1732
- */
1733
-
1734
-
1735
- onThumbnailsClick(e) {
1736
- // Exit and allow default browser action if:
1737
- if (specialKeyUsed(e) // ... if clicked with a special key (ctrl/cmd...)
1738
- || window.pswp) {
1739
- // ... if PhotoSwipe is already open
1740
- return;
1741
- } // If both clientX and clientY are 0 or not defined,
1742
- // the event is likely triggered by keyboard,
1743
- // so we do not pass the initialPoint
1744
- //
1745
- // Note that some screen readers emulate the mouse position,
1746
- // so it's not the ideal way to detect them.
1747
- //
1748
-
1749
- /** @type {Point | null} */
1750
-
1751
-
1752
- let initialPoint = {
1753
- x: e.clientX,
1754
- y: e.clientY
1755
- };
1756
-
1757
- if (!initialPoint.x && !initialPoint.y) {
1758
- initialPoint = null;
1759
- }
1760
-
1761
- let clickedIndex = this.getClickedIndex(e);
1762
- clickedIndex = this.applyFilters('clickedIndex', clickedIndex, e, this);
1763
- /** @type {DataSource} */
1764
-
1765
- const dataSource = {
1766
- gallery:
1767
- /** @type {HTMLElement} */
1768
- e.currentTarget
1769
- };
1770
-
1771
- if (clickedIndex >= 0) {
1772
- e.preventDefault();
1773
- this.loadAndOpen(clickedIndex, dataSource, initialPoint);
1774
- }
1775
- }
1776
- /**
1777
- * Get index of gallery item that was clicked.
1778
- *
1779
- * @param {MouseEvent} e click event
1780
- * @returns {number}
1781
- */
1782
-
1783
-
1784
- getClickedIndex(e) {
1785
- // legacy option
1786
- if (this.options.getClickedIndexFn) {
1787
- return this.options.getClickedIndexFn.call(this, e);
1788
- }
1789
-
1790
- const clickedTarget =
1791
- /** @type {HTMLElement} */
1792
- e.target;
1793
- const childElements = getElementsFromOption(this.options.children, this.options.childSelector,
1794
- /** @type {HTMLElement} */
1795
- e.currentTarget);
1796
- const clickedChildIndex = childElements.findIndex(child => child === clickedTarget || child.contains(clickedTarget));
1797
-
1798
- if (clickedChildIndex !== -1) {
1799
- return clickedChildIndex;
1800
- } else if (this.options.children || this.options.childSelector) {
1801
- // click wasn't on a child element
1802
- return -1;
1803
- } // There is only one item (which is the gallery)
1804
-
1805
-
1806
- return 0;
1807
- }
1808
- /**
1809
- * Load and open PhotoSwipe
1810
- *
1811
- * @param {number} index
1812
- * @param {DataSource} [dataSource]
1813
- * @param {Point | null} [initialPoint]
1814
- * @returns {boolean}
1815
- */
1816
-
1817
-
1818
- loadAndOpen(index, dataSource, initialPoint) {
1819
- // Check if the gallery is already open
1820
- if (window.pswp || !this.options) {
1821
- return false;
1822
- } // Use the first gallery element if dataSource is not provided
1823
-
1824
-
1825
- if (!dataSource && this.options.gallery && this.options.children) {
1826
- const galleryElements = getElementsFromOption(this.options.gallery);
1827
-
1828
- if (galleryElements[0]) {
1829
- dataSource = {
1830
- gallery: galleryElements[0]
1831
- };
1832
- }
1833
- } // set initial index
1834
-
1835
-
1836
- this.options.index = index; // define options for PhotoSwipe constructor
1837
-
1838
- this.options.initialPointerPos = initialPoint;
1839
- this.shouldOpen = true;
1840
- this.preload(index, dataSource);
1841
- return true;
1842
- }
1843
- /**
1844
- * Load the main module and the slide content by index
1845
- *
1846
- * @param {number} index
1847
- * @param {DataSource} [dataSource]
1848
- */
1849
-
1850
-
1851
- preload(index, dataSource) {
1852
- const {
1853
- options
1854
- } = this;
1855
-
1856
- if (dataSource) {
1857
- options.dataSource = dataSource;
1858
- } // Add the main module
1859
-
1860
- /** @type {Promise<Type<PhotoSwipe>>[]} */
1861
-
1862
-
1863
- const promiseArray = [];
1864
- const pswpModuleType = typeof options.pswpModule;
1865
-
1866
- if (isPswpClass(options.pswpModule)) {
1867
- promiseArray.push(Promise.resolve(
1868
- /** @type {Type<PhotoSwipe>} */
1869
- options.pswpModule));
1870
- } else if (pswpModuleType === 'string') {
1871
- throw new Error('pswpModule as string is no longer supported');
1872
- } else if (pswpModuleType === 'function') {
1873
- promiseArray.push(
1874
- /** @type {() => Promise<Type<PhotoSwipe>>} */
1875
- options.pswpModule());
1876
- } else {
1877
- throw new Error('pswpModule is not valid');
1878
- } // Add custom-defined promise, if any
1879
-
1880
-
1881
- if (typeof options.openPromise === 'function') {
1882
- // allow developers to perform some task before opening
1883
- promiseArray.push(options.openPromise());
1884
- }
1885
-
1886
- if (options.preloadFirstSlide !== false && index >= 0) {
1887
- this._preloadedContent = lazyLoadSlide(index, this);
1888
- } // Wait till all promises resolve and open PhotoSwipe
1889
-
1890
-
1891
- const uid = ++this._uid;
1892
- Promise.all(promiseArray).then(iterableModules => {
1893
- if (this.shouldOpen) {
1894
- const mainModule = iterableModules[0];
1895
-
1896
- this._openPhotoswipe(mainModule, uid);
1897
- }
1898
- });
1899
- }
1900
- /**
1901
- * @private
1902
- * @param {Type<PhotoSwipe> | { default: Type<PhotoSwipe> }} module
1903
- * @param {number} uid
1904
- */
1905
-
1906
-
1907
- _openPhotoswipe(module, uid) {
1908
- // Cancel opening if UID doesn't match the current one
1909
- // (if user clicked on another gallery item before current was loaded).
1910
- //
1911
- // Or if shouldOpen flag is set to false
1912
- // (developer may modify it via public API)
1913
- if (uid !== this._uid && this.shouldOpen) {
1914
- return;
1915
- }
1916
-
1917
- this.shouldOpen = false; // PhotoSwipe is already open
1918
-
1919
- if (window.pswp) {
1920
- return;
1921
- }
1922
- /**
1923
- * Pass data to PhotoSwipe and open init
1924
- *
1925
- * @type {PhotoSwipe}
1926
- */
1927
-
1928
-
1929
- const pswp = typeof module === 'object' ? new module.default(this.options) // eslint-disable-line
1930
- : new module(this.options); // eslint-disable-line
1931
-
1932
- this.pswp = pswp;
1933
- window.pswp = pswp; // map listeners from Lightbox to PhotoSwipe Core
1934
-
1935
- /** @type {(keyof PhotoSwipeEventsMap)[]} */
1936
-
1937
- Object.keys(this._listeners).forEach(name => {
1938
- var _this$_listeners$name;
1939
-
1940
- (_this$_listeners$name = this._listeners[name]) === null || _this$_listeners$name === void 0 || _this$_listeners$name.forEach(fn => {
1941
- pswp.on(name,
1942
- /** @type {EventCallback<typeof name>} */
1943
- fn);
1944
- });
1945
- }); // same with filters
1946
-
1947
- /** @type {(keyof PhotoSwipeFiltersMap)[]} */
1948
-
1949
- Object.keys(this._filters).forEach(name => {
1950
- var _this$_filters$name;
1951
-
1952
- (_this$_filters$name = this._filters[name]) === null || _this$_filters$name === void 0 || _this$_filters$name.forEach(filter => {
1953
- pswp.addFilter(name, filter.fn, filter.priority);
1954
- });
1955
- });
1956
-
1957
- if (this._preloadedContent) {
1958
- pswp.contentLoader.addToCache(this._preloadedContent);
1959
- this._preloadedContent = undefined;
1960
- }
1961
-
1962
- pswp.on('destroy', () => {
1963
- // clean up public variables
1964
- this.pswp = undefined;
1965
- delete window.pswp;
1966
- });
1967
- pswp.init();
1968
- }
1969
- /**
1970
- * Unbinds all events, closes PhotoSwipe if it's open.
1971
- */
1972
-
1973
-
1974
- destroy() {
1975
- var _this$pswp;
1976
-
1977
- (_this$pswp = this.pswp) === null || _this$pswp === void 0 || _this$pswp.destroy();
1978
- this.shouldOpen = false;
1979
- this._listeners = {};
1980
- getElementsFromOption(this.options.gallery, this.options.gallerySelector).forEach(galleryElement => {
1981
- galleryElement.removeEventListener('click', this.onThumbnailsClick, false);
1982
- });
1983
- }
1984
-
1985
- }
1986
-
1987
- return PhotoSwipeLightbox;
1988
-
1989
- }));
1990
-