j1-template 2024.3.17 → 2024.3.18

Sign up to get free protection for your applications and to get access to all the features.
Files changed (610) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/content_generator_collection.html +1 -1
  3. data/_includes/themes/j1/layouts/content_generator_news_panel_posts.html +1 -1
  4. data/_includes/themes/j1/layouts/content_generator_page.html +1 -1
  5. data/_includes/themes/j1/layouts/content_generator_post.html +1 -1
  6. data/_includes/themes/j1/layouts/content_generator_raw.html +1 -1
  7. data/_includes/themes/j1/layouts/layout_metadata_generator.html +1 -1
  8. data/_includes/themes/j1/layouts/layout_module_generator.html +1 -1
  9. data/_includes/themes/j1/layouts/layout_resource_generator.html +1 -1
  10. data/_includes/themes/j1/modules/attics/generator.html +1 -1
  11. data/_includes/themes/j1/modules/navigator/generator.html +1 -1
  12. data/_includes/themes/j1/modules/searcher/generator.html +1 -1
  13. data/_includes/themes/j1/modules/searcher/procedures/topsearch.proc +1 -1
  14. data/_includes/themes/j1/procedures/blocks/footer/boxes/about_box.proc +1 -1
  15. data/_includes/themes/j1/procedures/blocks/footer/boxes/contacts_box.proc +1 -1
  16. data/_includes/themes/j1/procedures/blocks/footer/boxes/issue.proc +1 -1
  17. data/_includes/themes/j1/procedures/blocks/footer/boxes/legal_statements.proc +1 -1
  18. data/_includes/themes/j1/procedures/blocks/footer/boxes/links_box.proc +1 -1
  19. data/_includes/themes/j1/procedures/blocks/footer/boxes/news_box.proc +1 -1
  20. data/_includes/themes/j1/procedures/blocks/footer/boxes/social_media_icons.proc +1 -1
  21. data/_includes/themes/j1/procedures/blocks/get_wave.proc +1 -1
  22. data/_includes/themes/j1/procedures/collections/create_collection_article_preview.proc +1 -1
  23. data/_includes/themes/j1/procedures/collections/pager.proc +1 -1
  24. data/_includes/themes/j1/procedures/global/attributes_loader.proc +1 -1
  25. data/_includes/themes/j1/procedures/global/collect_frontmatter_options.proc +1 -1
  26. data/_includes/themes/j1/procedures/global/collect_page_options.proc +1 -1
  27. data/_includes/themes/j1/procedures/global/create_bs_button.proc +1 -1
  28. data/_includes/themes/j1/procedures/global/create_word_cloud.proc +1 -1
  29. data/_includes/themes/j1/procedures/global/date-german.proc +1 -1
  30. data/_includes/themes/j1/procedures/global/get_category.proc +1 -1
  31. data/_includes/themes/j1/procedures/global/get_category_item.proc +1 -1
  32. data/_includes/themes/j1/procedures/global/get_documents_dir.proc +1 -1
  33. data/_includes/themes/j1/procedures/global/get_page_path.proc +1 -1
  34. data/_includes/themes/j1/procedures/global/get_page_url.proc +1 -1
  35. data/_includes/themes/j1/procedures/global/select_color.proc +1 -1
  36. data/_includes/themes/j1/procedures/global/select_font_size.proc +1 -1
  37. data/_includes/themes/j1/procedures/global/select_icon_size.proc +1 -1
  38. data/_includes/themes/j1/procedures/global/select_location.proc +1 -1
  39. data/_includes/themes/j1/procedures/global/set_base_vars_folders.proc +1 -1
  40. data/_includes/themes/j1/procedures/global/set_env_entry_document.proc +1 -1
  41. data/_includes/themes/j1/procedures/global/set_image_block.proc +1 -1
  42. data/_includes/themes/j1/procedures/global/setup.proc +1 -1
  43. data/_includes/themes/j1/procedures/layouts/content_writer.proc +1 -1
  44. data/_includes/themes/j1/procedures/layouts/default_writer.proc +1 -1
  45. data/_includes/themes/j1/procedures/layouts/module_writer.proc +1 -1
  46. data/_includes/themes/j1/procedures/layouts/resource_writer.proc +1 -1
  47. data/_includes/themes/j1/procedures/posts/collate_calendar.proc +1 -1
  48. data/_includes/themes/j1/procedures/posts/collate_list.proc +1 -1
  49. data/_includes/themes/j1/procedures/posts/collate_timeline.proc +1 -1
  50. data/_includes/themes/j1/procedures/posts/create_ad_block.proc +1 -1
  51. data/_includes/themes/j1/procedures/posts/create_series_header.proc +1 -1
  52. data/_includes/themes/j1/procedures/posts/pager.proc +1 -1
  53. data/_layouts/autopage_category.html +1 -1
  54. data/_layouts/autopage_collection.html +1 -1
  55. data/_layouts/autopage_collections_tags.html +1 -1
  56. data/_layouts/autopage_tags.html +1 -1
  57. data/_layouts/collection.html +1 -1
  58. data/_layouts/compress.html +1 -1
  59. data/_layouts/default.html +1 -1
  60. data/_layouts/home.html +1 -1
  61. data/_layouts/news_panel_posts.html +1 -1
  62. data/_layouts/page.html +1 -1
  63. data/_layouts/post.html +1 -1
  64. data/_layouts/raw.html +1 -1
  65. data/apps/public/cc/cc.yml +1 -1
  66. data/assets/data/amplitude.html +5 -5
  67. data/assets/data/authclient.html +1 -1
  68. data/assets/data/banner.html +1 -1
  69. data/assets/data/carousel.json +1 -1
  70. data/assets/data/cookieconsent.html +1 -1
  71. data/assets/data/docsearch.html +1 -1
  72. data/assets/data/fab.html +1 -1
  73. data/assets/data/footer.html +1 -1
  74. data/assets/data/galeries.html +1 -1
  75. data/assets/data/gallery_customizer.html +1 -1
  76. data/assets/data/gemini-ui.html +1 -1
  77. data/assets/data/iframes.html +1 -1
  78. data/assets/data/iso-3166-country-codes.json +1 -1
  79. data/assets/data/iso-639-language-codes.json +1 -1
  80. data/assets/data/j1_config.json +1 -1
  81. data/assets/data/masonry.html +1 -1
  82. data/assets/data/masterslider.html +1 -1
  83. data/assets/data/mdi_icons.json +1 -1
  84. data/assets/data/mdil_icons.json +1 -1
  85. data/assets/data/menu.html +1 -1
  86. data/assets/data/mmenu.html +1 -1
  87. data/assets/data/mmenu_sidebar.html +1 -1
  88. data/assets/data/mmenu_toc.html +1 -1
  89. data/assets/data/panel.html +1 -1
  90. data/assets/data/particles.yml +1 -1
  91. data/assets/data/private.json +1 -1
  92. data/assets/data/quicklinks.html +1 -1
  93. data/assets/data/rtext_resizer.html +1 -1
  94. data/assets/data/slick.html +1 -1
  95. data/assets/data/speak2me.html +1 -1
  96. data/assets/data/swiper.html +137 -206
  97. data/assets/data/swiper.json +84 -0
  98. data/assets/data/themes.bootswatch.json +1 -1
  99. data/assets/data/themes.json +1 -1
  100. data/assets/data/translator.html +1 -1
  101. data/assets/error_pages/HTTP204.html +1 -1
  102. data/assets/error_pages/HTTP400.html +1 -1
  103. data/assets/error_pages/HTTP401.html +1 -1
  104. data/assets/error_pages/HTTP403.html +1 -1
  105. data/assets/error_pages/HTTP404.html +1 -1
  106. data/assets/error_pages/HTTP444.html +1 -1
  107. data/assets/error_pages/HTTP445.html +1 -1
  108. data/assets/error_pages/HTTP446.html +1 -1
  109. data/assets/error_pages/HTTP447.html +1 -1
  110. data/assets/error_pages/HTTP448.html +1 -1
  111. data/assets/error_pages/HTTP500.html +1 -1
  112. data/assets/error_pages/HTTP501.html +1 -1
  113. data/assets/error_pages/HTTP502.html +1 -1
  114. data/assets/error_pages/HTTP503.html +1 -1
  115. data/assets/theme/j1/adapter/js/advertising.js +2 -2
  116. data/assets/theme/j1/adapter/js/algolia.js +2 -2
  117. data/assets/theme/j1/adapter/js/amplitude.30.js +2 -2
  118. data/assets/theme/j1/adapter/js/amplitude.js +35 -33
  119. data/assets/theme/j1/adapter/js/analytics.js +2 -2
  120. data/assets/theme/j1/adapter/js/asciidoctor.js +2 -2
  121. data/assets/theme/j1/adapter/js/attic.js +2 -2
  122. data/assets/theme/j1/adapter/js/bmd.js +2 -2
  123. data/assets/theme/j1/adapter/js/carousel.js +2 -2
  124. data/assets/theme/j1/adapter/js/chatbot.js +2 -2
  125. data/assets/theme/j1/adapter/js/clipboard.js +2 -2
  126. data/assets/theme/j1/adapter/js/comments.js +2 -2
  127. data/assets/theme/j1/adapter/js/cookieConsent.js +2 -2
  128. data/assets/theme/j1/adapter/js/customFunctions.js +2 -2
  129. data/assets/theme/j1/adapter/js/customModule.js +2 -2
  130. data/assets/theme/j1/adapter/js/docsearch.js +2 -2
  131. data/assets/theme/j1/adapter/js/dropdowns.js +2 -2
  132. data/assets/theme/j1/adapter/js/fab.js +2 -2
  133. data/assets/theme/j1/adapter/js/gallery.js +2 -2
  134. data/assets/theme/j1/adapter/js/gemini.js +2 -2
  135. data/assets/theme/j1/adapter/js/iconPicker.js +2 -2
  136. data/assets/theme/j1/adapter/js/iconPickerPage.js +2 -2
  137. data/assets/theme/j1/adapter/js/iframer.js +2 -2
  138. data/assets/theme/j1/adapter/js/j1.js +2 -2
  139. data/assets/theme/j1/adapter/js/lazyLoader.js +2 -2
  140. data/assets/theme/j1/adapter/js/lightbox.js +2 -2
  141. data/assets/theme/j1/adapter/js/logger.js +2 -2
  142. data/assets/theme/j1/adapter/js/lunr.js +2 -2
  143. data/assets/theme/j1/adapter/js/masonry.js +2 -2
  144. data/assets/theme/j1/adapter/js/masterslider.js +2 -2
  145. data/assets/theme/j1/adapter/js/mmenu.js +2 -2
  146. data/assets/theme/j1/adapter/js/navigator.js +2 -2
  147. data/assets/theme/j1/adapter/js/particles.js +2 -2
  148. data/assets/theme/j1/adapter/js/rangeSlider.js +2 -2
  149. data/assets/theme/j1/adapter/js/rouge.js +2 -2
  150. data/assets/theme/j1/adapter/js/rtable.js +2 -2
  151. data/assets/theme/j1/adapter/js/rtextResizer.js +2 -2
  152. data/assets/theme/j1/adapter/js/scroller.js +2 -2
  153. data/assets/theme/j1/adapter/js/slick.js +2 -2
  154. data/assets/theme/j1/adapter/js/slimSelect.js +2 -2
  155. data/assets/theme/j1/adapter/js/speak2me.js +2 -2
  156. data/assets/theme/j1/adapter/js/swiper.js +280 -8
  157. data/assets/theme/j1/adapter/js/themeToggler.js +2 -2
  158. data/assets/theme/j1/adapter/js/themes.js +2 -2
  159. data/assets/theme/j1/adapter/js/toccer.js +2 -2
  160. data/assets/theme/j1/adapter/js/translator.js +2 -2
  161. data/assets/theme/j1/adapter/js/videojs.js +2 -2
  162. data/assets/theme/j1/adapter/js/waves.js +2 -2
  163. data/assets/theme/j1/core/country-flags/css/theme/uno.css +1 -1
  164. data/assets/theme/j1/core/country-flags/css/theme/uno.min.css +1 -1
  165. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/amplitude.css +1 -1
  166. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/amplitude.min.css +1 -1
  167. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/compact.css +1 -1
  168. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/compact.min.css +1 -1
  169. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.css +1 -1
  170. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.min.css +1 -1
  171. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/mini.css +1 -1
  172. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/mini.min.css +1 -1
  173. data/assets/theme/j1/modules/amplitudejs/js/amplitude.js +1 -1
  174. data/assets/theme/j1/modules/amplitudejs/js/amplitude.map +1 -1
  175. data/assets/theme/j1/modules/amplitudejs/js/amplitude.min.js +1 -1
  176. data/assets/theme/j1/modules/amplitudejs/js/tech/ytp.js +25 -22
  177. data/assets/theme/j1/modules/amplitudejs/js/tech/ytp.min.js +14 -0
  178. data/assets/theme/j1/modules/amplitudejs/js/visualizations/bar.js +1 -1
  179. data/assets/theme/j1/modules/amplitudejs/js/visualizations/bar.min.js +1 -1
  180. data/assets/theme/j1/modules/amplitudejs/js/visualizations/circular-equalizer.js +1 -1
  181. data/assets/theme/j1/modules/amplitudejs/js/visualizations/circular-equalizer.min.js +1 -1
  182. data/assets/theme/j1/modules/amplitudejs/js/visualizations/frequency-analyzer.js +1 -1
  183. data/assets/theme/j1/modules/amplitudejs/js/visualizations/frequency-analyzer.min.js +1 -1
  184. data/assets/theme/j1/modules/amplitudejs/js/visualizations/michael-bromley.js +1 -1
  185. data/assets/theme/j1/modules/amplitudejs/js/visualizations/michael-bromley.min.js +1 -1
  186. data/assets/theme/j1/modules/amplitudejs/js/visualizations/template.js +1 -1
  187. data/assets/theme/j1/modules/amplitudejs/js/visualizations/template.min.js +1 -1
  188. data/assets/theme/j1/modules/amplitudejs/scss/theme/uno/dark/amplitude.scss +1 -1
  189. data/assets/theme/j1/modules/amplitudejs/scss/theme/uno/dark/player/compact.scss +1 -1
  190. data/assets/theme/j1/modules/amplitudejs/scss/theme/uno/dark/player/large.scss +1 -1
  191. data/assets/theme/j1/modules/amplitudejs/scss/theme/uno/dark/player/mini.scss +1 -1
  192. data/assets/theme/j1/modules/backstretch/js/backstretch.js +1 -1
  193. data/assets/theme/j1/modules/backstretch/js/backstretch.min.js +1 -1
  194. data/assets/theme/j1/modules/bmd/js/bmd.js +1 -1
  195. data/assets/theme/j1/modules/bmd/js/bmd.min.js +1 -1
  196. data/assets/theme/j1/modules/carousel/css/carousel.css +1 -1
  197. data/assets/theme/j1/modules/carousel/css/carousel.min.css +1 -1
  198. data/assets/theme/j1/modules/carousel/css/carousel_transitions.css +1 -1
  199. data/assets/theme/j1/modules/carousel/css/carousel_transitions.min.css +1 -1
  200. data/assets/theme/j1/modules/carousel/css/theme/uno.css +1 -1
  201. data/assets/theme/j1/modules/carousel/css/theme/uno.min.css +1 -1
  202. data/assets/theme/j1/modules/chatbot/css/theme/uno.css +1 -1
  203. data/assets/theme/j1/modules/chatbot/css/theme/uno.min.css +1 -1
  204. data/assets/theme/j1/modules/clipboard/css/theme/uno.css +1 -1
  205. data/assets/theme/j1/modules/clipboard/css/theme/uno.min.css +1 -1
  206. data/assets/theme/j1/modules/cookieConsent/js/cookieConsent.js +1 -1
  207. data/assets/theme/j1/modules/cookieConsent/js/cookieConsent.min.js +1 -1
  208. data/assets/theme/j1/modules/dropdowns/css/theme/uno/dropdowns.css +1 -1
  209. data/assets/theme/j1/modules/dropdowns/css/theme/uno/dropdowns.min.css +1 -1
  210. data/assets/theme/j1/modules/dropdowns/js/cash.js +1 -1
  211. data/assets/theme/j1/modules/dropdowns/js/cash.min.js +1 -1
  212. data/assets/theme/j1/modules/dropdowns/js/dropdowns.js +1 -1
  213. data/assets/theme/j1/modules/dropdowns/js/dropdowns.min.js +1 -1
  214. data/assets/theme/j1/modules/fab/js/cash.js +1 -1
  215. data/assets/theme/j1/modules/fab/js/cash.min.js +1 -1
  216. data/assets/theme/j1/modules/fab/js/fab.js +1 -1
  217. data/assets/theme/j1/modules/fab/js/fab.min.js +1 -1
  218. data/assets/theme/j1/modules/gemini/css/theme/uno.css +1 -1
  219. data/assets/theme/j1/modules/gemini/css/theme/uno.min.css +1 -1
  220. data/assets/theme/j1/modules/gemini/js/gemini.js +1 -1
  221. data/assets/theme/j1/modules/gemini/js/gemini.min.js +1 -1
  222. data/assets/theme/j1/modules/iconPicker/css/theme/uno.css +1 -1
  223. data/assets/theme/j1/modules/iconPicker/css/theme/uno.min.css +1 -1
  224. data/assets/theme/j1/modules/iconPicker/css/universal-icon-picker.css +1 -1
  225. data/assets/theme/j1/modules/iconPicker/css/universal-icon-picker.min.css +1 -1
  226. data/assets/theme/j1/modules/iconPicker/js/universal-icon-picker.js +1 -1
  227. data/assets/theme/j1/modules/iconPicker/js/universal-icon-picker.min.js +1 -1
  228. data/assets/theme/j1/modules/j1LazyLoader/LICENSE +1 -1
  229. data/assets/theme/j1/modules/jquery/js/extensions/hasClass.js +1 -1
  230. data/assets/theme/j1/modules/jquery/js/extensions/hasClass.min.js +1 -1
  231. data/assets/theme/j1/modules/jquery/js/extensions/removeClass.js +1 -1
  232. data/assets/theme/j1/modules/jquery/js/extensions/removeClass.min.js +1 -1
  233. data/assets/theme/j1/modules/justifiedGallery/css/justifiedGallery.css +1 -1
  234. data/assets/theme/j1/modules/justifiedGallery/css/justifiedGallery.min.css +1 -1
  235. data/assets/theme/j1/modules/justifiedGallery/css/theme/uno.css +1 -1
  236. data/assets/theme/j1/modules/justifiedGallery/css/theme/uno.min.css +1 -1
  237. data/assets/theme/j1/modules/lazyCssLoader/js/main.0.js +1 -1
  238. data/assets/theme/j1/modules/lazyCssLoader/js/main.1.js +1 -1
  239. data/assets/theme/j1/modules/lazyCssLoader/js/main.js +1 -1
  240. data/assets/theme/j1/modules/lightGallery/css/lg-transitions.css +1 -1
  241. data/assets/theme/j1/modules/lightGallery/css/lg-transitions.min.css +1 -1
  242. data/assets/theme/j1/modules/lightGallery/css/lightgallery-bundle.css +1 -1
  243. data/assets/theme/j1/modules/lightGallery/css/lightgallery-bundle.min.css +1 -1
  244. data/assets/theme/j1/modules/lightGallery/css/themes/uno/uno.css +1 -1
  245. data/assets/theme/j1/modules/lightGallery/css/themes/uno/uno.min.css +1 -1
  246. data/assets/theme/j1/modules/lightGallery/js/lightgallery.js +1 -1
  247. data/assets/theme/j1/modules/lightGallery/js/lightgallery.min.js +1 -1
  248. data/assets/theme/j1/modules/lightGallery/js/plugins/j1/j1-video.js +1 -1
  249. data/assets/theme/j1/modules/lightGallery/js/plugins/j1/j1-video.min.js +1 -1
  250. data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-video.1.js +1 -1
  251. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-autoplay.js +1 -1
  252. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-autoplay.min.js +1 -1
  253. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-comment.js +1 -1
  254. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-comment.min.js +1 -1
  255. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-fullscreen.js +1 -1
  256. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-fullscreen.min.js +1 -1
  257. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-hash.js +1 -1
  258. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-hash.min.js +1 -1
  259. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-medium-zoom.js +1 -1
  260. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-medium-zoom.min.js +1 -1
  261. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-pager.js +1 -1
  262. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-pager.min.js +1 -1
  263. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-rotate.js +1 -1
  264. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-rotate.min.js +1 -1
  265. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-share.js +1 -1
  266. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-share.min.js +1 -1
  267. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-thumbnail.js +1 -1
  268. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-thumbnail.min.js +1 -1
  269. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.js +1 -1
  270. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.min.js +1 -1
  271. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-vimeo-thumbnail.js +1 -1
  272. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-vimeo-thumbnail.min.js +1 -1
  273. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-zoom.js +1 -1
  274. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-zoom.min.js +1 -1
  275. data/assets/theme/j1/modules/lightbox/css/lightbox.css +1 -1
  276. data/assets/theme/j1/modules/lightbox/css/lightbox.min.css +1 -1
  277. data/assets/theme/j1/modules/lightbox/css/theme/uno.css +1 -1
  278. data/assets/theme/j1/modules/lightbox/css/theme/uno.min.css +1 -1
  279. data/assets/theme/j1/modules/lightbox/js/lightbox.js +1 -1
  280. data/assets/theme/j1/modules/lightbox/js/lightbox.min.js +1 -1
  281. data/assets/theme/j1/modules/lunr/css/theme/uno.css +1 -1
  282. data/assets/theme/j1/modules/lunr/css/theme/uno.min.css +1 -1
  283. data/assets/theme/j1/modules/lunr/js/j1.js +1 -1
  284. data/assets/theme/j1/modules/lunr/js/j1.min.js +1 -1
  285. data/assets/theme/j1/modules/masterslider/css/theme/uno.css +1 -1
  286. data/assets/theme/j1/modules/masterslider/css/theme/uno.min.css +1 -1
  287. data/assets/theme/j1/modules/mmenuLight/css/mmenu-light.css +1 -1
  288. data/assets/theme/j1/modules/mmenuLight/css/mmenu-light.min.css +1 -1
  289. data/assets/theme/j1/modules/mmenuLight/css/theme/uno/mmenu.css +1 -1
  290. data/assets/theme/j1/modules/mmenuLight/css/theme/uno/mmenu.min.css +1 -1
  291. data/assets/theme/j1/modules/mmenuLight/js/mmenu.js +1 -1
  292. data/assets/theme/j1/modules/mmenuLight/js/mmenu.min.js +1 -1
  293. data/assets/theme/j1/modules/msDropdown/css/flags.css +1 -1
  294. data/assets/theme/j1/modules/msDropdown/css/flags.min.css +1 -1
  295. data/assets/theme/j1/modules/msDropdown/css/msDropdown.css +1 -1
  296. data/assets/theme/j1/modules/msDropdown/css/msDropdown.min.css +1 -1
  297. data/assets/theme/j1/modules/msDropdown/css/themes/uno/msDropdown.css +1 -1
  298. data/assets/theme/j1/modules/msDropdown/css/themes/uno/msDropdown.min.css +1 -1
  299. data/assets/theme/j1/modules/msDropdown/js/msDropdown.js +1 -1
  300. data/assets/theme/j1/modules/msDropdown/js/msDropdown.min.js +1 -1
  301. data/assets/theme/j1/modules/photoswipe/css/photoswipe-caption-plugin.css +3 -1
  302. data/assets/theme/j1/modules/photoswipe/css/photoswipe-caption-plugin.min.css +1 -1
  303. data/assets/theme/j1/modules/photoswipe/js/photoswipe-caption-plugin.js +428 -0
  304. data/assets/theme/j1/modules/photoswipe/js/photoswipe-caption-plugin.min.js +17 -4
  305. data/assets/theme/j1/modules/photoswipe/js/photoswipe-core.js +7102 -0
  306. data/assets/theme/j1/modules/photoswipe/js/photoswipe-core.min.js +3 -3
  307. data/assets/theme/j1/modules/photoswipe/js/photoswipe-lightbox.1.js +1990 -0
  308. data/assets/theme/j1/modules/photoswipe/js/photoswipe-lightbox.js +1981 -0
  309. data/assets/theme/j1/modules/photoswipe/js/photoswipe-lightbox.min.js +1 -1
  310. data/assets/theme/j1/modules/rangeSlider/css/theme/uno/nouislider.css +1 -1
  311. data/assets/theme/j1/modules/rangeSlider/css/theme/uno/nouislider.min.css +1 -1
  312. data/assets/theme/j1/modules/rouge/css/base16/theme.css +1 -1
  313. data/assets/theme/j1/modules/rouge/css/base16/theme.min.css +1 -1
  314. data/assets/theme/j1/modules/rouge/css/base16.dark/theme.css +1 -1
  315. data/assets/theme/j1/modules/rouge/css/base16.dark/theme.min.css +1 -1
  316. data/assets/theme/j1/modules/rouge/css/base16.light/theme.css +1 -1
  317. data/assets/theme/j1/modules/rouge/css/base16.light/theme.min.css +1 -1
  318. data/assets/theme/j1/modules/rouge/css/base16.monokai/theme.css +1 -1
  319. data/assets/theme/j1/modules/rouge/css/base16.monokai/theme.min.css +1 -1
  320. data/assets/theme/j1/modules/rouge/css/base16.monokai.dark/theme.css +1 -1
  321. data/assets/theme/j1/modules/rouge/css/base16.monokai.dark/theme.min.css +1 -1
  322. data/assets/theme/j1/modules/rouge/css/base16.monokai.light/theme.css +1 -1
  323. data/assets/theme/j1/modules/rouge/css/base16.monokai.light/theme.min.css +1 -1
  324. data/assets/theme/j1/modules/rouge/css/base16.solarized/theme.css +1 -1
  325. data/assets/theme/j1/modules/rouge/css/base16.solarized/theme.min.css +1 -1
  326. data/assets/theme/j1/modules/rouge/css/base16.solarized.dark/theme.css +1 -1
  327. data/assets/theme/j1/modules/rouge/css/base16.solarized.dark/theme.min.css +1 -1
  328. data/assets/theme/j1/modules/rouge/css/base16.solarized.light/theme.css +1 -1
  329. data/assets/theme/j1/modules/rouge/css/base16.solarized.light/theme.min.css +1 -1
  330. data/assets/theme/j1/modules/rouge/css/colorful/theme.css +1 -1
  331. data/assets/theme/j1/modules/rouge/css/colorful/theme.min.css +1 -1
  332. data/assets/theme/j1/modules/rouge/css/github/theme.css +1 -1
  333. data/assets/theme/j1/modules/rouge/css/github/theme.min.css +1 -1
  334. data/assets/theme/j1/modules/rouge/css/gruvbox/theme.css +1 -1
  335. data/assets/theme/j1/modules/rouge/css/gruvbox/theme.min.css +1 -1
  336. data/assets/theme/j1/modules/rouge/css/gruvbox.dark/theme.css +1 -1
  337. data/assets/theme/j1/modules/rouge/css/gruvbox.dark/theme.min.css +1 -1
  338. data/assets/theme/j1/modules/rouge/css/gruvbox.light/theme.css +1 -1
  339. data/assets/theme/j1/modules/rouge/css/gruvbox.light/theme.min.css +1 -1
  340. data/assets/theme/j1/modules/rouge/css/igorpro/theme.css +1 -1
  341. data/assets/theme/j1/modules/rouge/css/igorpro/theme.min.css +1 -1
  342. data/assets/theme/j1/modules/rouge/css/molokai/theme.css +1 -1
  343. data/assets/theme/j1/modules/rouge/css/molokai/theme.min.css +1 -1
  344. data/assets/theme/j1/modules/rouge/css/monokai/theme.css +1 -1
  345. data/assets/theme/j1/modules/rouge/css/monokai/theme.min.css +1 -1
  346. data/assets/theme/j1/modules/rouge/css/monokai.sublime/theme.css +1 -1
  347. data/assets/theme/j1/modules/rouge/css/monokai.sublime/theme.min.css +1 -1
  348. data/assets/theme/j1/modules/rouge/css/pastie/theme.css +1 -1
  349. data/assets/theme/j1/modules/rouge/css/pastie/theme.min.css +1 -1
  350. data/assets/theme/j1/modules/rouge/css/thankful_eyes/theme.css +1 -1
  351. data/assets/theme/j1/modules/rouge/css/thankful_eyes/theme.min.css +1 -1
  352. data/assets/theme/j1/modules/rouge/css/themes.txt +1 -1
  353. data/assets/theme/j1/modules/rouge/css/tulip/theme.css +1 -1
  354. data/assets/theme/j1/modules/rouge/css/tulip/theme.min.css +1 -1
  355. data/assets/theme/j1/modules/rouge/css/uno.dark/theme.css +1 -1
  356. data/assets/theme/j1/modules/rouge/css/uno.dark/theme.min.css +1 -1
  357. data/assets/theme/j1/modules/rouge/css/uno.light/theme.css +1 -1
  358. data/assets/theme/j1/modules/rouge/css/uno.light/theme.min.css +1 -1
  359. data/assets/theme/j1/modules/rouge/js/select.js +1 -1
  360. data/assets/theme/j1/modules/rtable/css/theme/uno/rtable.css +1 -1
  361. data/assets/theme/j1/modules/rtable/css/theme/uno/rtable.min.css +1 -1
  362. data/assets/theme/j1/modules/rtable/js/rtable.js +1 -1
  363. data/assets/theme/j1/modules/rtable/js/rtable.min.js +1 -1
  364. data/assets/theme/j1/modules/scroller/css/theme/uno.css +1 -1
  365. data/assets/theme/j1/modules/scroller/css/theme/uno.min.css +1 -1
  366. data/assets/theme/j1/modules/scroller/js/scroller.min.js +1 -1
  367. data/assets/theme/j1/modules/slick/lightbox/css/theme/uno.css +1 -1
  368. data/assets/theme/j1/modules/slick/lightbox/css/theme/uno.min.css +1 -1
  369. data/assets/theme/j1/modules/slick/slider/css/theme/uno.css +1 -1
  370. data/assets/theme/j1/modules/slick/slider/css/theme/uno.min.css +1 -1
  371. data/assets/theme/j1/modules/spinner/css/spin.css +1 -1
  372. data/assets/theme/j1/modules/spinner/css/spin.min.css +1 -1
  373. data/assets/theme/j1/modules/spinner/js/spin.js +1 -1
  374. data/assets/theme/j1/modules/spinner/js/spin.min.js +1 -1
  375. data/assets/theme/j1/modules/swiper/css/modules/effectNeighbor.css +53 -0
  376. data/assets/theme/j1/modules/swiper/css/modules/effectNeighbor.min.css +17 -0
  377. data/assets/theme/j1/modules/swiper/css/modules/effectPanorama.css +26 -0
  378. data/assets/theme/j1/modules/swiper/css/modules/effectPanorama.min.css +17 -0
  379. data/assets/theme/j1/modules/swiper/css/modules/effectThumbs.css +44 -0
  380. data/assets/theme/j1/modules/swiper/css/modules/effectThumbs.min.css +44 -0
  381. data/assets/theme/j1/modules/swiper/css/swiper-bundle.css +12 -6
  382. data/assets/theme/j1/modules/swiper/css/swiper-bundle.min..css +12 -6
  383. data/assets/theme/j1/modules/swiper/css/theme/uno.css +15 -35
  384. data/assets/theme/j1/modules/swiper/css/theme/uno.min.css +9 -19
  385. data/assets/theme/j1/modules/swiper/js/modules/!readme +3 -0
  386. data/assets/theme/j1/modules/swiper/js/modules/effectNeighbor.js +33 -0
  387. data/assets/theme/j1/modules/swiper/js/modules/effectNeighbor.min.js +33 -0
  388. data/assets/theme/j1/modules/swiper/js/modules/effectPanorama.js +93 -0
  389. data/assets/theme/j1/modules/swiper/js/modules/effectPanorama.min.js +17 -0
  390. data/assets/theme/j1/modules/swiper/js/modules/effectThumbs.js +113 -0
  391. data/assets/theme/j1/modules/swiper/js/modules/effectThumbs.min.js +33 -0
  392. data/assets/theme/j1/modules/swiper/js/swiper-bundle.js +12 -6
  393. data/assets/theme/j1/modules/swiper/js/swiper-bundle.min.js +12 -6
  394. data/assets/theme/j1/modules/themeSwitcher/js/switcher.js +1 -1
  395. data/assets/theme/j1/modules/themeSwitcher/js/switcher.min.js +1 -1
  396. data/assets/theme/j1/modules/translator/css/translator.css +1 -1
  397. data/assets/theme/j1/modules/translator/css/translator.min.css +1 -1
  398. data/assets/theme/j1/modules/translator/js/translator.js +1 -1
  399. data/assets/theme/j1/modules/translator/js/translator.min.js +1 -1
  400. data/assets/theme/j1/modules/videoPlayer/vimeo/js/player.min.js +1 -1
  401. data/assets/theme/j1/modules/videojs/css/plugins/controls/skipbuttons.0.css +1 -1
  402. data/assets/theme/j1/modules/videojs/css/plugins/controls/skipbuttons.1.css +1 -1
  403. data/assets/theme/j1/modules/videojs/css/plugins/controls/skipbuttons.css +1 -1
  404. data/assets/theme/j1/modules/videojs/css/plugins/controls/skipbuttons.min.css +1 -1
  405. data/assets/theme/j1/modules/videojs/css/plugins/controls/zoom.css +1 -1
  406. data/assets/theme/j1/modules/videojs/css/plugins/controls/zoom.min.css +1 -1
  407. data/assets/theme/j1/modules/videojs/css/themes/uno.css +1 -1
  408. data/assets/theme/j1/modules/videojs/css/themes/uno.min.css +1 -1
  409. data/assets/theme/j1/modules/videojs/js/plugins/controls/autocaption/autocaption.js +1 -1
  410. data/assets/theme/j1/modules/videojs/js/plugins/controls/autocaption/autocaption.min.js +1 -1
  411. data/assets/theme/j1/modules/videojs/js/plugins/controls/hotkeys/hotkeys.js +1 -1
  412. data/assets/theme/j1/modules/videojs/js/plugins/controls/hotkeys/hotkeys.min.js +1 -1
  413. data/assets/theme/j1/modules/videojs/js/plugins/controls/skipbuttons/skipbuttons.js +1 -1
  414. data/assets/theme/j1/modules/videojs/js/plugins/controls/skipbuttons/skipbuttons.min.js +1 -1
  415. data/assets/theme/j1/modules/videojs/js/plugins/controls/zoom/zoom.js +1 -1
  416. data/assets/theme/j1/modules/videojs/js/plugins/controls/zoom/zoom.min.js +1 -1
  417. data/assets/theme/j1/modules/videojs/js/plugins/players/dm/api/dailymotion.sdk.js +1 -1
  418. data/assets/theme/j1/modules/videojs/js/plugins/players/dm/api/dailymotion.sdk.min.js +1 -1
  419. data/assets/theme/j1/modules/videojs/js/plugins/players/dm/dailymotion.js +1 -1
  420. data/assets/theme/j1/modules/videojs/js/plugins/players/dm/dailymotion.min.js +1 -1
  421. data/assets/theme/j1/modules/videojs/js/plugins/players/vm/api/vimeo.js +1 -1
  422. data/assets/theme/j1/modules/videojs/js/plugins/players/vm/api/vimeo.min.js +1 -1
  423. data/assets/theme/j1/modules/videojs/js/plugins/players/vm/vimeo.js +1 -1
  424. data/assets/theme/j1/modules/videojs/js/plugins/players/vm/vimeo.min.js +1 -1
  425. data/assets/theme/j1/modules/videojs/js/plugins/players/wt/wistia.js +1 -1
  426. data/assets/theme/j1/modules/videojs/js/plugins/players/wt/wistia.min.js +1 -1
  427. data/assets/theme/j1/modules/videojs/js/plugins/players/yt/api/youtube.min.js +1 -1
  428. data/assets/theme/j1/modules/videojs/js/plugins/players/yt/v3.0.0/youtube.js +1 -1
  429. data/assets/theme/j1/modules/videojs/js/plugins/players/yt/v3.0.0/youtube.min.js +1 -1
  430. data/assets/theme/j1/modules/videojs/js/plugins/players/yt/youtube.js +1 -1
  431. data/assets/theme/j1/modules/videojs/js/plugins/players/yt/youtube.min.js +1 -1
  432. data/lib/j1/version.rb +1 -1
  433. data/lib/starter_web/Gemfile +1 -1
  434. data/lib/starter_web/README.md +5 -5
  435. data/lib/starter_web/_config.yml +2 -2
  436. data/lib/starter_web/_data/j1_config.yml +1 -1
  437. data/lib/starter_web/_data/modules/amplitude_players.yml +352 -0
  438. data/lib/starter_web/_data/modules/{amplitude.yml → amplitude_playlists.yml} +39 -356
  439. data/lib/starter_web/_data/modules/authentication.yml +1 -1
  440. data/lib/starter_web/_data/modules/defaults/swiper.yml +73 -413
  441. data/lib/starter_web/_data/modules/log4javascript.yml +1 -1
  442. data/lib/starter_web/_data/modules/navigator.yml +1 -1
  443. data/lib/starter_web/_data/modules/navigator_menu.yml +1 -1
  444. data/lib/starter_web/_data/modules/swiper.yml +567 -139
  445. data/lib/starter_web/_data/modules/swiper_playlists.yml +480 -0
  446. data/lib/starter_web/_data/private.yml +1 -1
  447. data/lib/starter_web/_data/resources.yml +234 -172
  448. data/lib/starter_web/_data/templates/feed.xml +1 -1
  449. data/lib/starter_web/_includes/custom/static/bs5_accordion.html +1 -1
  450. data/lib/starter_web/_includes/custom/templates/bs5_accordion.html +1 -1
  451. data/lib/starter_web/_includes/custom/templates/collection_panel.html +1 -1
  452. data/lib/starter_web/_includes/custom/templates/custom_header.html +1 -1
  453. data/lib/starter_web/_includes/custom/templates/people_panel.html +1 -1
  454. data/lib/starter_web/_includes/google/static/google_ad__your-slot-id.html +1 -1
  455. data/lib/starter_web/_includes/google/templates/google_ads.html +1 -1
  456. data/lib/starter_web/_plugins/asciidoctor/admonition-block-answer.rb +1 -1
  457. data/lib/starter_web/_plugins/asciidoctor/admonition-block-question.rb +1 -1
  458. data/lib/starter_web/_plugins/asciidoctor/amplitude-block.rb +1 -1
  459. data/lib/starter_web/_plugins/asciidoctor/banner.rb +1 -1
  460. data/lib/starter_web/_plugins/asciidoctor/callout.rb +1 -1
  461. data/lib/starter_web/_plugins/asciidoctor/carousel-block.rb +1 -1
  462. data/lib/starter_web/_plugins/asciidoctor/conum.rb +1 -1
  463. data/lib/starter_web/_plugins/asciidoctor/dailymotion-block.rb +1 -1
  464. data/lib/starter_web/_plugins/asciidoctor/fab-icon-inline.rb +1 -1
  465. data/lib/starter_web/_plugins/asciidoctor/fas-icon-inline.rb +1 -1
  466. data/lib/starter_web/_plugins/asciidoctor/flag-icon-inline.rb +1 -1
  467. data/lib/starter_web/_plugins/asciidoctor/gallery-block.rb +1 -1
  468. data/lib/starter_web/_plugins/asciidoctor/gemini-ui-block.rb +1 -1
  469. data/lib/starter_web/_plugins/asciidoctor/gist-block.rb +1 -1
  470. data/lib/starter_web/_plugins/asciidoctor/google-ad-block.rb +1 -1
  471. data/lib/starter_web/_plugins/asciidoctor/iconify-icon-inline.rb +1 -1
  472. data/lib/starter_web/_plugins/asciidoctor/iframe-block.rb +1 -1
  473. data/lib/starter_web/_plugins/asciidoctor/lightbox-block.rb +1 -1
  474. data/lib/starter_web/_plugins/asciidoctor/lorem_inline.rb +1 -1
  475. data/lib/starter_web/_plugins/asciidoctor/masonry-block.rb +1 -1
  476. data/lib/starter_web/_plugins/asciidoctor/masterslider-block.rb +1 -1
  477. data/lib/starter_web/_plugins/asciidoctor/mdi-icon-inline.rb +1 -1
  478. data/lib/starter_web/_plugins/asciidoctor/mdib-icon-inline.rb +1 -1
  479. data/lib/starter_web/_plugins/asciidoctor/mdil-icon-inline.rb +1 -1
  480. data/lib/starter_web/_plugins/asciidoctor/panel.rb +1 -1
  481. data/lib/starter_web/_plugins/asciidoctor/placeholder-inline.rb +1 -1
  482. data/lib/starter_web/_plugins/asciidoctor/range-slider-block.rb +1 -1
  483. data/lib/starter_web/_plugins/asciidoctor/shout-block.rb +1 -1
  484. data/lib/starter_web/_plugins/asciidoctor/slick-block.rb +1 -1
  485. data/lib/starter_web/_plugins/asciidoctor/slim-select-block.rb +1 -1
  486. data/lib/starter_web/_plugins/asciidoctor/swiper-block.rb +55 -0
  487. data/lib/starter_web/_plugins/asciidoctor/textbook-block.rb +1 -1
  488. data/lib/starter_web/_plugins/asciidoctor/twitter-emoji-inline.rb +1 -1
  489. data/lib/starter_web/_plugins/asciidoctor/videojs-block.rb +1 -1
  490. data/lib/starter_web/_plugins/asciidoctor/vimeo-block.rb +1 -1
  491. data/lib/starter_web/_plugins/asciidoctor/wistia-block.rb +1 -1
  492. data/lib/starter_web/_plugins/asciidoctor/youtube-block.rb +1 -1
  493. data/lib/starter_web/_plugins/filter/debug.rb +1 -1
  494. data/lib/starter_web/_plugins/filter/encodeBase64.rb +1 -1
  495. data/lib/starter_web/_plugins/filter/encryptAES.rb +1 -1
  496. data/lib/starter_web/_plugins/filter/filters.rb +32 -1
  497. data/lib/starter_web/_plugins/filter/liquify.rb +1 -1
  498. data/lib/starter_web/_plugins/filter/minifyJS.rb +1 -1
  499. data/lib/starter_web/_plugins/filter/minifyJSON.rb +1 -1
  500. data/lib/starter_web/_plugins/filter/prettify.rb +1 -1
  501. data/lib/starter_web/_plugins/filter/xml_prettify.rb +1 -1
  502. data/lib/starter_web/_plugins/helper/symlink_watcher.rb +1 -1
  503. data/lib/starter_web/_plugins/i18n/date.rb +1 -1
  504. data/lib/starter_web/_plugins/index/lunr.rb +2 -2
  505. data/lib/starter_web/_plugins/seo/j1-feed.rb +1 -1
  506. data/lib/starter_web/_plugins/seo/j1-seo-tags.rb +1 -1
  507. data/lib/starter_web/_plugins/seo/j1-sitemap.rb +1 -1
  508. data/lib/starter_web/assets/image/icons/tv/Index of -tv-logos-.url +2 -0
  509. data/lib/starter_web/assets/image/icons/tv/TV from Germany - LyngSat Logo.url +2 -0
  510. data/lib/starter_web/assets/image/icons/tv/Zeichnung.svg +47 -0
  511. data/lib/starter_web/assets/image/icons/tv/ard-icon-16x16.ico +0 -0
  512. data/lib/starter_web/assets/image/icons/tv/ard-icon-24x24.png +0 -0
  513. data/lib/starter_web/assets/image/icons/tv/ard-icon-512x512.png +0 -0
  514. data/lib/starter_web/assets/image/icons/tv/ard-icon.jpg +0 -0
  515. data/lib/starter_web/assets/image/icons/tv/ard-icon.jpg (353/303/227353).url" +2 -0
  516. data/lib/starter_web/assets/image/icons/tv/ard-icon.png +0 -0
  517. data/lib/starter_web/assets/image/icons/tv/ard-logo-png_seeklogo-428343.png +0 -0
  518. data/lib/starter_web/assets/image/icons/tv/cytec-tvlogos- collection of mostly german tv channel logos.url +2 -0
  519. data/lib/starter_web/assets/image/icons/tv/output_image.jpg +0 -0
  520. data/lib/starter_web/assets/image/icons/tv/pang.ping +0 -0
  521. data/lib/starter_web/assets/image/icons/tv/tv-logos-countries-germany-0_all_logos_mosaic.md at main /302/267 tv-logo-tv-logos.url" +2 -0
  522. data/lib/starter_web/assets/image/modules/attics/1920x1280/tiny_desk.jpg +0 -0
  523. data/lib/starter_web/assets/image/modules/attics/alice-donovan-rouse-2.jpg +0 -0
  524. data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-1.jpg +0 -0
  525. data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-2.jpg +0 -0
  526. data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-3.jpg +0 -0
  527. data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-4.jpg +0 -0
  528. data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-5.jpg +0 -0
  529. data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-6.jpg +0 -0
  530. data/lib/starter_web/assets/image/modules/gallery/mega_cities/295683517.jpg +0 -0
  531. data/lib/starter_web/assets/image/modules/gallery/mega_cities/chicago-us.jpg +0 -0
  532. data/lib/starter_web/assets/image/modules/gallery/mega_cities/denys-nevozhai-1_b.jpg +0 -0
  533. data/lib/starter_web/assets/image/modules/gallery/mega_cities/denys-nevozhai-1_c.jpg +0 -0
  534. data/lib/starter_web/assets/image/modules/gallery/mega_cities/denys-nevozhai-3_b.jpg +0 -0
  535. data/lib/starter_web/assets/image/modules/gallery/mega_cities/emmad-mazhari_c.jpg +0 -0
  536. data/lib/starter_web/assets/image/modules/gallery/mega_cities/federico-rizzarelli_b.jpg +0 -0
  537. data/lib/starter_web/assets/image/modules/gallery/mega_cities/federico-rizzarelli_c.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/melbourne_australia.jpg +0 -0
  541. data/lib/starter_web/assets/image/modules/gallery/mega_cities/melbourne_australia.webp +0 -0
  542. data/lib/starter_web/assets/image/modules/gallery/mega_cities/queen_bees_at_eureka_tower.jpg +0 -0
  543. data/lib/starter_web/assets/image/modules/gallery/mega_cities/shanghai_china.jpg +0 -0
  544. data/lib/starter_web/assets/image/modules/gallery/mega_cities/thomas-tucker_b.jpg +0 -0
  545. data/lib/starter_web/assets/image/modules/gallery/mega_cities/tokyo_japan.jpg +0 -0
  546. data/lib/starter_web/assets/image/modules/gallery/neighbor_slider/guardians-of-the-galaxy.jpg +0 -0
  547. data/lib/starter_web/assets/image/modules/gallery/neighbor_slider/justice-league.jpg +0 -0
  548. data/lib/starter_web/assets/image/modules/gallery/neighbor_slider/spider-man.jpg +0 -0
  549. data/lib/starter_web/assets/image/modules/gallery/neighbor_slider/suicide-squad.jpg +0 -0
  550. data/lib/starter_web/assets/image/modules/gallery/neighbor_slider/thor-ragnarok.jpg +0 -0
  551. data/lib/starter_web/assets/image/modules/gallery/panorama/1.jpg +0 -0
  552. data/lib/starter_web/assets/image/modules/gallery/panorama/10.jpg +0 -0
  553. data/lib/starter_web/assets/image/modules/gallery/panorama/11.jpg +0 -0
  554. data/lib/starter_web/assets/image/modules/gallery/panorama/12.jpg +0 -0
  555. data/lib/starter_web/assets/image/modules/gallery/panorama/2.jpg +0 -0
  556. data/lib/starter_web/assets/image/modules/gallery/panorama/3.jpg +0 -0
  557. data/lib/starter_web/assets/image/modules/gallery/panorama/4.jpg +0 -0
  558. data/lib/starter_web/assets/image/modules/gallery/panorama/5.jpg +0 -0
  559. data/lib/starter_web/assets/image/modules/gallery/panorama/6.jpg +0 -0
  560. data/lib/starter_web/assets/image/modules/gallery/panorama/7.jpg +0 -0
  561. data/lib/starter_web/assets/image/modules/gallery/panorama/8.jpg +0 -0
  562. data/lib/starter_web/assets/image/modules/gallery/panorama/9.jpg +0 -0
  563. data/lib/starter_web/config.ru +1 -1
  564. data/lib/starter_web/dot.gitattributes +1 -1
  565. data/lib/starter_web/dot.nojekyll +1 -1
  566. data/lib/starter_web/package.json +1 -1
  567. data/lib/starter_web/pages/public/_includes/documents/photoswipe/200_photoswipe_parameters.asciidoc +21 -2
  568. data/lib/starter_web/pages/public/_includes/documents/photoswipe/210_photoswipe_lightbox_parameters.asciidoc +42 -35
  569. data/lib/starter_web/pages/public/_includes/documents/photoswipe/300_caption_plugin_for_photoSwipe.asciidoc +72 -75
  570. data/lib/starter_web/pages/public/_includes/documents/swiper/110_swiper_common_options.asciidoc +96 -21
  571. data/lib/starter_web/pages/public/_includes/documents/swiper/200_swiper_parameters_a_k.asciidoc +187 -87
  572. data/lib/starter_web/pages/public/_includes/documents/swiper/200_swiper_parameters_l_o.asciidoc +98 -34
  573. data/lib/starter_web/pages/public/_includes/documents/swiper/200_swiper_parameters_p_s.asciidoc +99 -42
  574. data/lib/starter_web/pages/public/_includes/documents/swiper/200_swiper_parameters_t_z.asciidoc +64 -26
  575. data/lib/starter_web/pages/public/_includes/documents/swiper/300_swiper_instance_properties.asciidoc +52 -52
  576. data/lib/starter_web/pages/public/_includes/documents/swiper/400_swiper_modules.asciidoc +2666 -1735
  577. data/lib/starter_web/pages/public/_includes/documents/swiper/500_swiper_methods.asciidoc +40 -40
  578. data/lib/starter_web/pages/public/_includes/documents/swiper/600_swiper_events.asciidoc +113 -113
  579. data/lib/starter_web/pages/public/{amplitude_yt_tester.adoc → tools/tester/amplitude_yt_tester.adoc} +15 -15
  580. data/lib/starter_web/pages/public/tools/tester/swiper_tester.adoc +796 -0
  581. data/lib/starter_web/pages/public/tour/present_images.adoc +19 -17
  582. metadata +87 -32
  583. data/assets/theme/j1/modules/amplitudejs/js/tech/ytp.15.js +0 -1594
  584. data/assets/theme/j1/modules/photoswipe/css/org/photoswipe-dynamic-caption-plugin.umd.min.js +0 -5
  585. data/assets/theme/j1/modules/photoswipe/css/org/photoswipe.css +0 -420
  586. data/assets/theme/j1/modules/photoswipe/css/scss/photoswipe.scss +0 -427
  587. data/lib/starter_web/assets/image/modules/gallery/mega_cities/thomas-tucker-bw.jpg +0 -0
  588. data/lib/starter_web/pages/public/lazy_loader_tester.adoc +0 -402
  589. data/lib/starter_web/pages/public/manuals/integrations/amplitudejs/_includes/attributes.asciidoc +0 -69
  590. data/lib/starter_web/pages/public/manuals/integrations/amplitudejs/_includes/documents/readme +0 -0
  591. data/lib/starter_web/pages/public/manuals/integrations/amplitudejs/amplitudejs-api.adoc +0 -2260
  592. data/lib/starter_web/pages/public/manuals/integrations/google/gemini/_includes/attributes.asciidoc +0 -47
  593. data/lib/starter_web/pages/public/manuals/integrations/google/gemini/_includes/documents/preview_google_adsense.asciidoc +0 -448
  594. data/lib/starter_web/pages/public/manuals/integrations/google/gemini/_includes/documents/readme +0 -0
  595. data/lib/starter_web/pages/public/manuals/integrations/google/gemini/_includes/tables/readme +0 -0
  596. data/lib/starter_web/pages/public/manuals/integrations/google/gemini/gemini.adoc +0 -525
  597. data/lib/starter_web/pages/public/manuals/integrations/google/gemini/security.asccidoc +0 -274
  598. data/lib/starter_web/pages/public/manuals/integrations/google/gemini/security.hrml +0 -560
  599. data/lib/starter_web/pages/public/manuals/integrations/videojs/youtube-api.adoc +0 -1638
  600. data/lib/starter_web/pages/public/manuals/ytdl/man.adoc +0 -3020
  601. data/lib/starter_web/pages/public/manuals/ytdl/man.md +0 -2378
  602. data/lib/starter_web/pages/public/photoswipe_api.adoc +0 -150
  603. data/lib/starter_web/pages/public/swiper_api.adoc +0 -128
  604. data/lib/starter_web/pages/public/swiper_tester.adoc +0 -973
  605. /data/assets/theme/j1/modules/photoswipe/{.version_5.4.4 → _info/.version_5.4.4} +0 -0
  606. /data/assets/theme/j1/modules/photoswipe/{example → _info/example}/photoswipe-caption-plugin.html +0 -0
  607. /data/assets/theme/j1/modules/photoswipe/{example → _info/example}/test-gallery.html +0 -0
  608. /data/assets/theme/j1/modules/photoswipe/js/{README.md → _info/README.md} +0 -0
  609. /data/assets/theme/j1/modules/swiper/{.version_1.2.0 → _info/.version_1.2.0} +0 -0
  610. /data/assets/theme/j1/modules/swiper/{swiperjs.com-demos.url → _info/swiperjs.com-demos.url} +0 -0
@@ -1,2260 +0,0 @@
1
- ---
2
- title: AmplitudeJS API
3
- title_extention: Integration for J1 Template
4
- tagline: User Guide
5
-
6
- date: 2024-04-17
7
- #last_modified: 2024-01-01
8
-
9
- description: >
10
- AmplitudeJS is a JavaScript library to control the design of audio media
11
- elements on web pages. The concept allows designers to fully control the
12
- look and feel of audio players without deep scripting knowledge.
13
- keywords: >
14
- open source, free, template, jekyll, jekyllone, web,
15
- sites, static, jamstack, bootstrap, html, html5, audio,
16
- Amplitude
17
-
18
- categories: [ Manuals ]
19
- tags: [ API, AmplitudeJS ]
20
-
21
- image:
22
- path: /assets/image/icons/videojs/videojs-poster.png
23
- width: 1920
24
- height: 1280
25
-
26
- regenerate: false
27
- personalization: true
28
- permalink: /pages/public/manuals/integrations/amplitudejs/amplitudejs_api/
29
-
30
- resources: [ amplitudejs, rouge ]
31
- resource_options:
32
- - toccer:
33
- collapseDepth: 3
34
- - attic:
35
- slides:
36
- - url: /assets/image/modules/attics/1920x1280/alexey-ruban.jpg
37
- alt: Photo by Alexey Ruban on Unsplash
38
- badge:
39
- type: unsplash
40
- author: Alexey Ruban
41
- href: //unsplash.com/de/@intelligenciya
42
- ---
43
-
44
- // Page Initializer
45
- // =============================================================================
46
- // Enable the Liquid Preprocessor
47
- :page-liquid:
48
-
49
- // Set (local) page attributes here
50
- // -----------------------------------------------------------------------------
51
- // :page--attr: <attr-value>
52
-
53
- // Load Liquid procedures
54
- // -----------------------------------------------------------------------------
55
- {% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
56
-
57
- // Load page attributes
58
- // -----------------------------------------------------------------------------
59
- {% include {{load_attributes}} scope="global" %}
60
-
61
- // Page content
62
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
63
- // See: https://521dimensions.com/open-source/amplitudejs/docs
64
- // See: https://github.com/mediaelement/mediaelement-plugins
65
- // See: https://github.com/serversideup/amplitudejs/
66
-
67
- [role="dropcap"]
68
- The audio tag in HTML5 is a great way to add audio media to web pages.
69
- However, the browser fully controls the audio playback interface, which
70
- can limit or even break a page's design if audio media is used.
71
-
72
- AmplitudeJS for the J1 Template offers a straightforward solution for web
73
- developers. It allows them to easily customize the appearance of their audio
74
- players without the need for complex scripting. By leveraging J1 Template
75
- and Amplitude's API, web designers can craft unique interfaces that define
76
- the visual and functional aspects of a player's audio control elements.
77
-
78
- mdi:clock-time-five-outline[24px, md-gray mr-2]
79
- *5-10 Minutes* to read
80
-
81
-
82
- // Include sub-documents (if any)
83
- // -----------------------------------------------------------------------------
84
- [role="mt-5"]
85
- == Elements
86
-
87
- AmplitudeJS comes with a variety of elements. Each element is picked up by a
88
- class prefixed with *amplitude-* and depending on the environment, an
89
- attribute that relates to the index of a song in your list of songs or a
90
- playlist you are using the element with. There are elements that some events
91
- are bound to such as play and next and other elements that get filled with
92
- meta data information about the active audio.
93
-
94
- All elements can be styled simply based of off class or if you want to define
95
- specific ids in CSS. Besides album art, you could apply these classes to a
96
- variety of elements. Album art has to be an `<img>` element, but the other
97
- elements could be whatever.
98
-
99
- [role="mt-4"]
100
- === Structure for Elements
101
-
102
- AmplitudeJS has a standardized way to reference an element whether it's a
103
- metadata element or an interactive element. There are 4 levels of elements:
104
-
105
- Global::
106
- Global elements control whatever is playing no matter the scope, or display
107
- whatever is playing no matter the scope.
108
- Playlist::
109
- Playlist elements control within the scope of the playlist and display
110
- what's in the scope of the playlist.
111
- Song::
112
- Song elements control what's in the scope of the song and what's
113
- displayed for the song.
114
- Song In Playlist::
115
- Songs in playlist elements control what's in the the scope of the
116
- song in the playlist.
117
-
118
- Not all elements have all 4 levels of functionality. For example, any
119
- element that deals with volume does not have anything but a global scope
120
- meaning you can't adjust volume for a single song or playlist it's handled
121
- globally.
122
-
123
- To scope an element or metadata display the following combination of
124
- classes and attributes should be provided:
125
-
126
- * Global: class="amplitude-{element}"
127
- * Playlist: class="amplitude-{element}" data-amplitude-playlist="{playlist}"
128
- * Song: class="amplitude-{element}" data-amplitude-song-index="{song}"
129
- * Song In Playlist: class="amplitude-{element}" data-amplitude-song-index="{song}" data-amplitude-playlist="{playlist}"
130
-
131
- One thing to note about the attribute data-amplitude-song-index on a s
132
- song in Playlist element is the index references the index of the song
133
- *within* the playlist! This is different than the song element that references
134
- the index of the song within the songs array!
135
-
136
- [role="mt-4"]
137
- === Interactive Elements
138
-
139
- The interactive elements of AmplitudeJS have event handlers bound to
140
- them that responds to a touch or click from a user. These elements build
141
- the functionality of the player you are designing. The scoping of these
142
- elements is handled by attributes that define the level of functionality
143
- each element has such as global, playlist, individual song or individual
144
- song in playlist. These are outlined in detail for each element.
145
-
146
- [role="mt-4"]
147
- ==== Play Button
148
-
149
- There are 4 different levels for a play button.
150
-
151
- Global Play::
152
- Plays the current song whether it's an individual
153
- song or in a playlist
154
- Playlist Play::
155
- Plays the current song in the playlist.
156
- Song Play::
157
- Plays an individual song by itself.
158
- Song in a Playlist::
159
- Plays an individual song in a playlist.
160
-
161
- [NOTE]
162
- ====
163
- The play button responds to the 'click' event on a desktop or a
164
- *touchstart* event on *mobile* devices.
165
- ====
166
-
167
- [role="mt-4"]
168
- ===== Global Play Button
169
-
170
- The global play button will play the active song whether or not the song
171
- is an individual song or in a playlist. To add a global play button
172
- simply an HTML element with the class `amplitude-play`.
173
-
174
- [source, html]
175
- ----
176
- <span class="amplitude-play"></span>
177
- ----
178
-
179
- [role="mt-4"]
180
- ===== Playlist Play Button
181
-
182
- The playlist play button will play the active song in the playlist or it
183
- will play the first song in the playlist if the playlist is out of scope
184
- (meaning another playlist was being played or it's the first playlist
185
- being played). To add a playlist play button, add an HTML element with
186
- the class of `amplitude-play` and the attribute
187
- `data-amplitude-playlist="playlist_index"`.
188
-
189
- [source, html]
190
- ----
191
- <span class="amplitude-play" data-amplitude-playlist="{playlist_index}"></span>
192
- ----
193
-
194
- [role="mt-4"]
195
- ===== Individual Song Play Button
196
-
197
- The individual song play button will play the song defined by the
198
- `data-amplitude-song-index="{song_index}"` attribute.
199
-
200
- [source, html]
201
- ----
202
- <span class="amplitude-play" data-amplitude-song-index="{song_index}"></span>
203
- ----
204
-
205
- [role="mt-4"]
206
- ===== Individual Song In Playlist Button
207
-
208
- The individual playlist button is a combination of the attributes
209
- `data-amplitude-song-index="{song_index}"` and
210
- `data-amplitude-playlist="{playlist}"`. This will play an individual
211
- song in a playlist as defined.
212
-
213
- [source, html]
214
- ----
215
- <span
216
- class="amplitude-play"
217
- data-amplitude-song-index="1"
218
- data-amplitude-playlist="test_playlist">
219
- </span>
220
- ----
221
-
222
- [role="mt-4"]
223
- ==== Pause Button
224
-
225
- The pause button has 4 different levels.
226
-
227
- Global Pause::
228
- Pauses the active song no matter if it's individual or
229
- in a playlist.
230
- Playlist Pause::
231
- Pauses the active song in the playlist.
232
- Song Pause::
233
- Pauses an individual song.
234
- Song In Playlist Pause::
235
- Pauses an individual song in a playlist.
236
-
237
- The pause button responds to the 'click' event on a desktop or a
238
- 'touchstart' event on mobile.
239
-
240
- [role="mt-4"]
241
- ===== Global Pause
242
-
243
- The global pause button will pause whatever song is currently playing.
244
- To add a global pause button simply add an HTML element with the class
245
- of 'amplitude-pause'.
246
-
247
- [source, html]
248
- ----
249
- <span class="amplitude-pause"></span>
250
- ----
251
-
252
- [role="mt-4"]
253
- ===== Playlist Pause
254
-
255
- The playlist pause button will pause the active song in the playlist. It
256
- only works if the playlist defined in the attribute is playing the song.
257
-
258
- [source, html]
259
- ----
260
- <span class="amplitude-pause" data-amplitude-playlist="{playlist}"></span>
261
- ----
262
-
263
- [role="mt-4"]
264
- ===== Individual Song Pause
265
-
266
- The individual song pause button will pause the song defined by the
267
- attribute `data-amplitude-song-index="song_index"`.
268
-
269
- [source, html]
270
- ----
271
- <span class="amplitude-pause" data-amplitude-song-index="{song_index}"></span>
272
- ----
273
-
274
- [role="mt-4"]
275
- ===== Individual Song In Playlist Pause
276
-
277
- If you want to pause an individual song in a playlist, you need to add
278
- both the `data-amplitude-song-index="{song_index}"` and the
279
- `data-amplitude-playlist="{playlist}"` attributes.
280
-
281
- [source, html]
282
- ----
283
- <span
284
- class="amplitude-pause"
285
- data-amplitude-song-index="{song_index}"
286
- data-amplitude-playlist="{playlist}">
287
- </span>
288
- ----
289
-
290
- [role="mt-4"]
291
- ==== Play Pause Button
292
-
293
- The play/pause button is probably the most common button to be
294
- implemented when working with AmplitudeJS. Depending on the global
295
- state, playlist state and/or song state, this element will get a class
296
- that is `amplitude-playing` or `amplitude-paused` that can be styled
297
- accordingly. It's common to set a play or pause button image as a
298
- background in CSS so when the interaction occurs, the proper button
299
- appears.
300
-
301
- There are 3 levels of Play/Pause buttons.
302
-
303
- . Global Play/Pause - Plays or pauses the active song no matter if it's
304
- independent or part of a playlist.
305
- . Playlist Play/Pause - Plays or pauses the active song in the scope of
306
- the playlist.
307
- . Song Play/Pause - Plays or pauses an individual song.
308
- . Song In Playlist Play/Pause - Plays or pauses an individual song in
309
- the playlist.
310
-
311
- [role="mt-4"]
312
- [[global-play-pause]]
313
- ===== Global Play/Pause
314
-
315
- The global play pause button plays or pauses the current song depending
316
- on the state of the AmplitudeJS player. This button does not account for
317
- whether the song is in a playlist or an individual song, it's whatever
318
- song is active the functionality works on.
319
-
320
- [source, html]
321
- ----
322
- <span class="amplitude-play-pause"></span>
323
- ----
324
-
325
- [role="mt-4"]
326
- [[playlist-play-pause]]
327
- ===== Playlist Play/Pause
328
-
329
- The playlist play pause button plays or pauses the current song in a
330
- playlist. If a song is being played outside of a playlist when clicked,
331
- the playlist will play the first song in the playlist assigned to the
332
- button clicked and pause the other song. To add a playlist play pause
333
- button add an element with the class of `amplitude-play-pause` an
334
- attribute of `data-amplitude-playlist="{playlist-index}`.
335
-
336
- [source, html]
337
- ----
338
- <span class="amplitude-play-pause" data-amplitude-playlist="{playlist}"></span>
339
- ----
340
-
341
- [role="mt-4"]
342
- [[song-play-pause]]
343
- ===== Song Play/Pause
344
-
345
- The song play pause button plays or pauses an individual song when
346
- clicked.
347
-
348
- [source, html]
349
- ----
350
- <span class="amplitude-play-pause" data-amplitude-song-index="{song_index}"></span>
351
- ----
352
-
353
- [role="mt-4"]
354
- [[song-in-playlist-play-pause]]
355
- ===== Song In Playlist Play/Pause
356
-
357
- The song in playlist play pause button plays or pauses an individual
358
- song in a playlist when clicked. This is defined by a combination of the
359
- `data-amplitude-song-index="{song_index}"` attributes and the
360
- `data-amplitude-playlist="{playlist}"` attributes.
361
-
362
- [source, html]
363
- ----
364
- <span
365
- class="amplitude-play-pause"
366
- data-amplitude-song-index="{song_index}"
367
- data-amplitude-playlist="{playlist}">
368
- </span>
369
- ----
370
-
371
- [role="mt-4"]
372
- ==== Stop Button
373
-
374
- Stops playing the current song for a player. There is only one level for
375
- the stop button: *global*.
376
-
377
- The stop button simply stops the active song. On a desktop, this will
378
- respond to the 'click' event and a 'touchstart' on mobile. To add a stop
379
- button simply add the following HTML element:
380
-
381
- [source, html]
382
- ----
383
- <span class="amplitude-stop"></span>
384
- ----
385
-
386
- [role="mt-4"]
387
- ==== Mute Button
388
-
389
- Mutes the current song in a player. There is only one level for the mute
390
- button: *global*.
391
-
392
- The mute button is another global element that mutes the active song. On
393
- a desktop, this element will respond to the 'click' event and a
394
- 'touchstart' on mobile. There are two classes that get added to the mute
395
- button so you can style it according to the state of the player.
396
-
397
- When the player is not muted the class `amplitude-not-muted` is added to
398
- the element and `amplitude-muted` is added when the player is muted.
399
-
400
- [source, html]
401
- ----
402
- <span class="amplitude-mute"></span>
403
- ----
404
-
405
- [role="mt-4"]
406
- ==== Volume Up
407
-
408
- Increases the current volume. There is only one level for the volume
409
- up button: *global*.
410
-
411
- The volume up button increments the volume by the amount defined in the
412
- config. By default the increment is 5. To change the increment you must
413
- adjust the volume_increment setting in the `Amplitude.init()` method.
414
- This element will respond to a `click` on desktop or a `touchstart`
415
- event on mobile. On iPhones, the user can not adjust the volume through
416
- the web page. To add a volume up element add:
417
-
418
- [source, html]
419
- ----
420
- <span class="amplitude-volume-up"></span>
421
- ----
422
-
423
- [NOTE]
424
- ====
425
- The volume by the amount specified on init. The default value is 5%
426
- ====
427
-
428
- [role="mt-4"]
429
- ==== Volume Down
430
-
431
- Decreases the current volume. There is only one level for the volume down
432
- button: *global*.
433
-
434
- The volume down button decrements the volume by the amount defined in
435
- the config. By default the decrement is 5. To change the increment you
436
- must adjust the volume_decrement setting in the `Amplitude.init()`
437
- method. This element will respond to a 'click' on desktop or a
438
- 'touchstart' event on mobile. On iPhones, the user can not adjust the
439
- volume through the web page. To add a volume up element add:
440
-
441
- [source, html]
442
- ----
443
- <span class="amplitude-volume-down"></span>
444
- ----
445
-
446
- [NOTE]
447
- ====
448
- The volume by the amount specified on init. The default value is 5%
449
- ====
450
-
451
- [role="mt-4"]
452
- ==== Volume Slider
453
-
454
- Increases or Decreases the current volume by sliding the range element.
455
- There is only one level for the volume slider: *global*.
456
-
457
- The volume slider MUST be an HTML 5 range input element. This allows the
458
- user to slide the volume to where they want. On desktop and mobile, this
459
- element listens to a 'change' or 'input' event. It will not work on
460
- iPhones since iOS doesn't allow the user to adjust the volume through
461
- anything but the volume up and down hardware buttons. To add a volume
462
- slider, add the following HTML code:
463
-
464
- [source, html]
465
- ----
466
- <input type="range" class="amplitude-volume-slider">
467
- ----
468
-
469
- [role="mt-4"]
470
- ==== Next Button
471
-
472
- AmplitudeJS extends functionality for the audio tag by allowing
473
- designers and developers to build playlists. When a next button has been
474
- added AmplitudeJS will go to the next song in the state of the player.
475
-
476
- There are *two* levels of the next button.
477
-
478
- . Global Next - Will go to the next song in the state no matter what
479
- state the player is in. If the player is playing a specific playlist,
480
- the global next button will go to the next song in the list.
481
- . Playlist Next - Will go to the next song in the playlist.
482
-
483
- The next button will either go sequentially down the indexes or the next
484
- index in the shuffled songs array. If the player is playing a playlist,
485
- then the global next button will operate on that playlist.
486
-
487
- [role="mt-4"]
488
- ===== Global Next Button
489
-
490
- To add a global next button add the following HTML code:
491
-
492
- [source, html]
493
- ----
494
- <span class="amplitude-next"></span>
495
- ----
496
-
497
- ===== Playlist Next Button
498
-
499
- To add a playlist next button add the following HTML code:
500
-
501
- [source, html]
502
- ----
503
- <span class="amplitude-next" data-amplitude-playlist="{playlist_key}"></span>
504
- ----
505
-
506
- The playlist next button has a `data-amplitude-playlist` attribute with
507
- the key for the playlist it's corresponding to.
508
-
509
- A quick note on the playlist next buttons. If you have two playlists (A
510
- & B), and you are playing playlist A, but press a next button that is
511
- relating to playlist B, the next button won't do anything.
512
-
513
- [role="mt-4"]
514
- ==== Previous Button
515
-
516
- Similar to the next button, the previous button goes to the previous
517
- song in the state of the player. There are *two* levels of the previous
518
- button.
519
-
520
- Global Previous::
521
- Will go to the previous song in the state no matter what state
522
- the player is in.
523
- Playlist Previous::
524
- Will go to the previous song in the playlist no matter the state.
525
-
526
- The previous button will go sequentially down the indexes or to the
527
- previous index in the shuffled songs array. If the player is playing a
528
- playlist, the global previous button will operate on that playlist.
529
-
530
- [role="mt-4"]
531
- ===== Global Previous Button
532
-
533
- To add a global previous button add the following HTML code:
534
-
535
- [source, html]
536
- ----
537
- <span class="amplitude-prev"></span>
538
- ----
539
-
540
- ===== Playlist Previous Button
541
-
542
- To add a playlist previous button add the following HTML code:
543
-
544
- [source, html]
545
- ----
546
- <span class="amplitude-prev" data-amplitude-playlist="{playlist_key}"></span>
547
- ----
548
-
549
- The playlist previous button has a `data-amplitude-playlist` attribute
550
- with the key for the playlist it's corresponding to. Similar to the next
551
- buttons, if you have two playlists and you click a previous button
552
- scoped to the inactive playlist, then it won't do anything.
553
-
554
- [role="mt-4"]
555
- ==== Shuffle Button
556
-
557
- The shuffle button has *two* levels:
558
-
559
- Global Shuffle Button::
560
- Shuffles the songs array. This is used outside the scope of
561
- a *playlist*.
562
- Playlist Shuffle Button::
563
- Shuffles all of the songs in a *playlist*. This state is kept
564
- on a per-playlist basis.
565
-
566
- The shuffle button is also an extension of functionality added by
567
- AmplitudeJS. It allows the developer/user to shuffle songs in a playlist
568
- or on a global level.
569
-
570
- Playlists can have shuffle states independent of other playlists. When a
571
- song ends or the user goes to the next song, AmplitudeJS will know
572
- whether or not the playlist should go to the next sequential user
573
- defined song or the next song in the shuffle array. When a playlist is
574
- shuffled or the global songs are shuffled a class of
575
- `amplitude-shuffle-on` is applied to the element where if shuffle is
576
- turned off `ampltiude-shuffle-off` is applied to the element.
577
-
578
- [role="mt-4"]
579
- ===== Global Shuffle Button
580
-
581
- To add a shuffle button add the following HTML code:
582
-
583
- [source, html]
584
- ----
585
- <span class="amplitude-shuffle"></span>
586
- ----
587
-
588
- [role="mt-4"]
589
- ===== Playlist Shuffle Button
590
-
591
- To add a playlist shuffle button add the following HTML code:
592
-
593
- [source, html]
594
- ----
595
- <span class="amplitude-shuffle" data-amplitude-playlist="{playlist_key}"></span>
596
- ----
597
-
598
- This shuffle button contains the attribute that defines the playlist
599
- key. This will shuffle only the playlist defined.
600
-
601
- [role="mt-4"]
602
- ==== Repeat Button
603
-
604
- The repeat button, when active, will repeat the entire songs array when
605
- the last song has been played.
606
-
607
- There are *two* levels to the Repeat Button:
608
-
609
- Global Repeat::
610
- Repeats the songs in the songs array when the last song has finished.
611
- Playlist Repeat::
612
- Repeats the playlist when the last song in the playlist has finished.
613
-
614
- The buttons can be styled based off of the state of the classes applied
615
- to the button. When repeat is not on, the button will have a class of
616
- `amplitude-repeat-off` applied to the element and when repeat is on, the
617
- class `amplitude-repeat-on` applied to the element.
618
-
619
- [role="mt-4"]
620
- ===== Global Repeat Button
621
-
622
- To add the repeat button, add the following HTML code:
623
-
624
- [source, html]
625
- ----
626
- <span class="amplitude-repeat"></span>
627
- ----
628
-
629
- [role="mt-4"]
630
- ===== Playlist Repeat Button
631
-
632
- To add a playlist repeat button, add the following HTML code:
633
-
634
- [source, html]
635
- ----
636
- <span class="amplitude-repeat" data-amplitude-playlist="{playlist_key}"></span>
637
- ----
638
-
639
- [role="mt-4"]
640
- ==== Repeat Song Button
641
-
642
- There is only one level of the repeat song button:
643
-
644
- * Global - Repeats the current song when eneded.
645
-
646
- The repeat song button, when active, will repeat the individual song
647
- when the song has ended. The button can be styled based off of the sate
648
- of classes applied to the button. When the repeat is not on, the button
649
- will have a class of `amplitude-repeat-song-off` and when on,
650
- `amplitude-repeat-song-on`.
651
-
652
- To add the repeat song button, add the following HTML code:
653
-
654
- [source, html]
655
- ----
656
- <span class="amplitude-repeat-song"></span>
657
- ----
658
-
659
- ==== Playback Speed Button
660
-
661
- There is only one level for the playback speed button: Global.
662
-
663
- The playback speed button controls how fast the audio is played back
664
- through AmplitudeJS. There are 3 speeds.
665
-
666
- . '1.0' which is the base speed.
667
- . '1.5' which is 1.5x as fast
668
- . '2.0' which is 2x as fast
669
-
670
- When clicked, the playback speed button will add a class representing
671
- the speed the player is playing back at. The classes can be styled as
672
- well and are as follows:
673
-
674
- * '1.0' = 'amplitude-playback-speed-10'
675
- * '1.5' = 'amplitude-playback-speed-15'
676
- * '2.0' = 'amplitude-playback-speed-20'
677
-
678
- To add a playback speed button simply add the following HTML code:
679
-
680
- [source, html]
681
- ----
682
- <span class="amplitude-playback-speed"></span>
683
- ----
684
-
685
- [role="mt-4"]
686
- ==== Skip To Link
687
-
688
- There are 2 levels for the skip to link:
689
-
690
- Individual Song::
691
- Skips to time defined for a song an individual song in the songs array.
692
- Individual Song In Playlist::
693
- Skips to a time defined for an individual song in a playlist.
694
-
695
- The skip to links allow the user to define spots in the audio like
696
- bookmarks that can be skipped to. They can reference a song in a
697
- playlist or an individual song depending on the attributes. If you want
698
- to link to a song in a playlist, you have to add the attribute
699
- `data-amplitude-song-index="index"` and
700
- `data-amplitude-playlist="playlist"`. To make the skip work, you will
701
- also have to add an attribute `data-amplitude-location="seconds"` to
702
- link to in the song.
703
-
704
- [role="mt-4"]
705
- ===== Individual Song Link
706
-
707
- An example song link would be:
708
-
709
- [source, html]
710
- ----
711
- <span
712
- class="amplitude-skip-to"
713
- data-amplitude-song-index="{song_index}"
714
- data-amplitude-location="30">
715
- </span>
716
- ----
717
-
718
- This link will go to the song at the index defined and the location of
719
- the seconds defined by the `data-amplitude-location` attribute into the
720
- song.
721
-
722
- [role="mt-4"]
723
- ===== Individual Song In Playlist Link
724
-
725
- An example of an individual song in playlist link would be:
726
-
727
- [source, html]
728
- ----
729
- <span
730
- class="amplitude-skip-to"
731
- data-amplitude-song-index="{song_index}"
732
- data-amplitude-location="30"
733
- data-amplitude-playlist="{playlist}">
734
- </span>
735
- ----
736
-
737
- This will skip to 30 seconds into a song in the playlist defined.
738
- Remember, the index of the song in the playlist is scoped to the
739
- playlist!
740
-
741
- [role="mt-4"]
742
- ==== Song Tracking Slider (HTML 5 Range)
743
-
744
- There are 4 levels to the song tracking slider:
745
-
746
- Global::
747
- This tracks whatever song is playing.
748
- Playlist::
749
- This tracks the song currently playing in the playlist.
750
- Individual Song::
751
- This tracks an individual song.
752
- Individual Song In Playlist::
753
- This tracks an individual song within playlist.
754
-
755
- Song tracking sliders are implemented with the HTML 5 range element.
756
- This provides a semantic way to navigate through a song. The HTML 5
757
- range element provides functionality and you can style it, even if it's
758
- a pain. However, if you are motivated, you can implement a custom song
759
- slider using some of the callbacks and public facing methods.
760
-
761
- Note that features like the tracking slider and progress bar depend on
762
- the browser being able to request the audio file in arbitrary chunks.
763
- Firefox can work around lack of support from the server, but for these
764
- features to work properly, your server must support
765
- https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range[Content-Range HTTP headers, {browser-window--new}].
766
-
767
- [role="mt-4"]
768
- ===== Global Song Slider
769
-
770
- To add a global song slider, add the following element:
771
-
772
- [source, html]
773
- ----
774
- <input
775
- type="range"
776
- class="amplitude-song-slider"
777
- step=".1">
778
- ----
779
-
780
- The class name is `amplitude-song-slider`. the `step` attribute makes
781
- fine tuning the slider to react more to the current state of the song
782
- more fluid.
783
-
784
- [role="mt-4"]
785
- ===== Playlist Song Slider
786
-
787
- If you want to do an individual playlist, you can add the attribute of
788
- `data-amplitude-playlist="{playlist_key}"`.
789
-
790
- [source, html]
791
- ----
792
- <input
793
- type="range"
794
- class="amplitude-song-slider"
795
- data-amplitude-playlist="{playlist_key}">
796
- ----
797
-
798
- [role="mt-4"]
799
- ===== Individual Song Slider
800
-
801
- You can also add a song slider for an individual song like this:
802
-
803
- [source, html]
804
- ----
805
- <input
806
- type="range"
807
- class="amplitude-song-slider"
808
- data-amplitude-song-index="{song_index}">
809
- ----
810
-
811
- [role="mt-4"]
812
- ===== Individual Song In Playlist Slider
813
-
814
- You can also add a song slider for an individual song in a playlist like
815
- this:
816
-
817
- [source, html]
818
- ----
819
- <input
820
- type="range"
821
- class="amplitude-song-slider"
822
- data-amplitude-playlist="{playlist_key}"
823
- data-amplitude-song-index="{song_index}">
824
- ----
825
-
826
- [role="mt-4"]
827
- ==== Song Progress Bar
828
-
829
- There are 4 levels where you can add a song progress bar:
830
-
831
- Global::
832
- Displays the current progress for the audio being played.
833
- Playlist::
834
- Displays the current progress if the current song is in the playlist.
835
- Individual Song::
836
- Displays the current progress for an individual song.
837
- Individual Song in a Playlist::
838
- Displays the individual song current progress for a
839
- song in the playlist.
840
-
841
- The song progress bar must be implemented with the HTML 5 progress element.
842
- This allows you full customization over the design. These operate the same
843
- as the range except you will have to implement your own slider event
844
- handling.
845
-
846
- [role="mt-4"]
847
- ===== Global Song Progress Bar
848
-
849
- To add a song progress bar, add the following:
850
-
851
- [source, html]
852
- ----
853
- <progress class="amplitude-song-played-progress"></progress>
854
- ----
855
-
856
- [role="mt-4"]
857
- ===== Playlist Song Progress Bar
858
-
859
- To add a playlist song progress bar, add the following:
860
-
861
- [source, html]
862
- ----
863
- <progress
864
- class="amplitude-song-played-progress"
865
- data-amplitude-playlist="{playlist_key}">
866
- </progress>
867
- ----
868
-
869
- [role="mt-4"]
870
- ===== Individual Song Progress Bar
871
-
872
- To add an individual song progress bar, add the following:
873
-
874
- [source, html]
875
- ----
876
- <progress
877
- class="amplitude-song-played-progress"
878
- data-amplitude-song-index="{song_index}">
879
- </progress>
880
- ----
881
-
882
- [role="mt-4"]
883
- ===== Individual Song In Playlist Progress Bar
884
-
885
- [source, html]
886
- ----
887
- <progress
888
- class="amplitude-song-played-progress"
889
- data-amplitude-playlist="{playlist_key}"
890
- data-amplitude-song-index="{song_index}">
891
- </progress>
892
- ----
893
-
894
- [role="mt-4"]
895
- ==== Song Buffered Progress Bar
896
-
897
- There are 4 levels for a song buffered progress bar:
898
-
899
- Global::
900
- Displays the percentage of the song buffered for the
901
- current song.
902
- Playlist::
903
- Displays the percentage of the song buffered for the
904
- current playlist song.
905
- Individual Song::
906
- Displays the percentage of the song buffered for anindividual song.
907
- Individual Song In Playlist::
908
- Displays the percentage of the song buffered for an individual
909
- song in a playlist.
910
-
911
- The Song Buffered Progress Bar has to be an HTML 5 progress element.
912
- This is the proper semantic element for this use case. This allows for a
913
- visual display of how much of the song has been buffered. You can do
914
- some CSS techniques to overlay this progress element over the
915
- song-played-progress element to make an all in one, or you could leave
916
- it by itself.
917
-
918
- [role="mt-4"]
919
- ===== Global Song Buffered Progress Bar
920
-
921
- To add a song buffered progress element, add the following:
922
-
923
- [source, html]
924
- ----
925
- <progress class="amplitude-buffered-progress" value="0"></progress>
926
- ----
927
-
928
- [role="mt-4"]
929
- ===== Playlist Song Buffered Progress Bar
930
-
931
- To add a playlist song buffered progress element, add the following:
932
-
933
- [source, html]
934
- ----
935
- <progress
936
- class="amplitude-buffered-progress"
937
- data-amplitude-playlist="{playlist_key}"
938
- value="0">
939
- </progress>
940
- ----
941
-
942
- [role="mt-4"]
943
- ===== Individual Song Buffered Progress Bar
944
-
945
- To add an individual song buffered progress element, add the following:
946
-
947
- [source, html]
948
- ----
949
- <progress
950
- class="amplitude-buffered-progress"
951
- data-amplitude-song-index="{song_index}"
952
- value="0">
953
- </progress>
954
- ----
955
-
956
- [role="mt-4"]
957
- ===== Individual Song In Playlist Buffered Progress Bar
958
-
959
- To add an individual song in playlist buffered progress element, add the
960
- following:
961
-
962
- [source, html]
963
- ----
964
- <progress
965
- class="amplitude-buffered-progress"
966
- data-amplitude-song-index="{song_index}"
967
- data-amplitude-playlist="{playlist_key}"
968
- value="0">
969
- </progress>
970
- ----
971
-
972
-
973
- [role="mt-5"]
974
- == Metadata
975
-
976
- Meta data elements get their information filled in with meta data from the
977
- active song object or on initialization from the keyed song in the array.
978
- These can be any type of HTML element except when filling in cover_art_url,
979
- station_art_url, or podcast_episode_cover_art_url.
980
-
981
- These specific keys have to be on an img tag since they update the src
982
- attribute of the tag. Every other attribute fills in the inner html of
983
- the tag.
984
-
985
- [role="mt-4"]
986
- === Image Metadata
987
-
988
- When defining a song object there are 3 different keys you can define
989
- image meta data with:
990
-
991
- * cover_art_url
992
- * station_art_url
993
- * podcast_episode_cover_art_url
994
-
995
- These URLs point to an image that will be substituted out for the active
996
- song image.
997
-
998
- [role="mt-4"]
999
- === Text Metadata
1000
-
1001
- With text metadata describing a song, you can use whatever information
1002
- you like and place it in whatever element you like. This give much more
1003
- flexibility when using AmplitudeJS in a variety of audio scenarios such
1004
- as for radio stations and podcasts. To add an element that contains a
1005
- piece of meta data regarding the now playing song simply add:
1006
-
1007
- [source, html]
1008
- ----
1009
- <span data-amplitude-song-info="{song_meta_index}"></span>
1010
- ----
1011
-
1012
- If it's an element for a playlist add the key for the playlist:
1013
-
1014
- [source, html]
1015
- ----
1016
- <span
1017
- data-amplitude-song-info="{song_meta_index}"
1018
- data-amplitude-playlist="{playlist_index}">
1019
- </span>
1020
- ----
1021
-
1022
- [role="mt-4"]
1023
- === Autofill Meta Data
1024
-
1025
- Sometimes when building a player, you don't know what every song is on
1026
- load and need to load songs dynamically. With AmplitudeJS this is not a
1027
- problem. AmplitudeJS will autofill the meta data for lists of songs if
1028
- you do a combination of the following on the element.
1029
-
1030
- data-amplitude-song-info::
1031
- Defines the information you want injected into the element.
1032
- This is the key of the song object.
1033
- data-amplitude-song-index::
1034
- Defines the index of the song in the songs array that you want
1035
- to inject into the element.
1036
-
1037
- This is super convenient when loading songs dynamically either server
1038
- side or loading after the page has loaded.
1039
-
1040
- [role="mt-4"]
1041
- === Playlist Meta Data
1042
-
1043
- When you add a playlist, you can add all sorts of other metadata to the
1044
- playlist object, similar to who song objects work. AmplitudeJS also
1045
- takes care of initializing this data on the screen if you have your meta
1046
- data element keyed up correctly. Let's say you have a playlist title
1047
- field represented by `title` in the playlist element that you want to
1048
- display on the screen. You'd add an element that has the following
1049
- attributes:
1050
-
1051
- [source, html]
1052
- ----
1053
- <span
1054
- data-amplitude-playlist-info="title"
1055
- data-amplitude-playlist="{playlist_key}">
1056
- </span>
1057
- ----
1058
-
1059
- Essentially you have to add an attribute with the key of the element and
1060
- the playlist key in a format like this:
1061
-
1062
- [source, html]
1063
- ----
1064
- <span
1065
- data-amplitude-playlist-info="{info}"
1066
- data-amplitude-playlist="{playlist_key}">
1067
- </span>
1068
- ----
1069
-
1070
- [role="mt-4"]
1071
- === Metadata for Time
1072
-
1073
- There are certain elements that contain time data about the active song.
1074
- You can add these elements to your document and they will auto fill with
1075
- the current status of the song. Like other elements, these can be either
1076
- for the overall player, scoped in a playlist or for a specific song.
1077
-
1078
- There are three sets of time meta data:
1079
-
1080
- * current time
1081
- * song duration
1082
- * time remaining
1083
-
1084
- The song *duration* can only be set for the *active* song since the metadata
1085
- isn't preloaded for all of the songs. The time remaining is a count down for
1086
- how much time is left for a song.
1087
-
1088
- [role="mt-4"]
1089
- ==== Current Time
1090
-
1091
- Current Time Metadata is used for the *overall player* referencing the
1092
- *global* playlist defined by the *songs* array configured for an AmplitudeJS
1093
- instance.
1094
-
1095
- .Current Time
1096
- [cols="3,3a,6a", subs=+macros, options="header", width="100%", role="rtable mt-3"]
1097
- |===
1098
- |Name |Value |Description
1099
-
1100
- |`amplitude-current-time`
1101
- |Current Time
1102
- |
1103
- .Format
1104
- ----
1105
- Current Time - Displays in MM:SS
1106
- ----
1107
-
1108
- .Example
1109
- [source, html]
1110
- ----
1111
- <span class="amplitude-current-time"></span>
1112
- ----
1113
-
1114
- |`amplitude-current-hours`
1115
- |Current Hours
1116
- |
1117
- .Example
1118
- [source, html]
1119
- ----
1120
- <span class="amplitude-current-hours"></span>
1121
- ----
1122
-
1123
- |`amplitude-current-minutes`
1124
- |Current Minutes
1125
- |
1126
- .Example
1127
- [source, html]
1128
- ----
1129
- <span class="amplitude-current-minutes"></span>
1130
- ----
1131
-
1132
- |`amplitude-current-seconds`
1133
- |Current Seconds
1134
- |
1135
- .Example
1136
- [source, html]
1137
- ----
1138
- <span class="amplitude-current-seconds"></span>
1139
- ----
1140
-
1141
- |===
1142
-
1143
-
1144
- [role="mt-4"]
1145
- ==== Duration Time
1146
-
1147
- Duration Time Metadata is used for the *overall player* referencing the
1148
- *global* playlist defined by the *songs* array configured for an AmplitudeJS
1149
- instance.
1150
-
1151
- .Duration Time
1152
- [cols="3,3a,6a", subs=+macros, options="header", width="100%", role="rtable mt-3"]
1153
- |===
1154
- |Name |Value |Description
1155
-
1156
- |`amplitude-duration-time`
1157
- |Duration Hours
1158
- |
1159
- .Format
1160
- ----
1161
- Duration Time - Displays in MM:SS
1162
- ----
1163
-
1164
- .Example
1165
- [source, html]
1166
- ----
1167
- <span class="amplitude-duration-time"></span>
1168
- ----
1169
-
1170
- |`amplitude-duration-hours`
1171
- |Duration Hours
1172
- |
1173
- .Example
1174
- [source, html]
1175
- ----
1176
- <span class="amplitude-duration-hours"></span>
1177
- ----
1178
-
1179
- |`amplitude-duration-minutes`
1180
- |Duration Minutes
1181
- |
1182
- .Example
1183
- [source, html]
1184
- ----
1185
- <span class="amplitude-duration-minutes"></span>
1186
- ----
1187
-
1188
- |`amplitude-duration-seconds`
1189
- |Duration Seconds
1190
- |
1191
- .Example
1192
- [source, html]
1193
- ----
1194
- <span class="amplitude-duration-seconds"></span>
1195
- ----
1196
-
1197
- |===
1198
-
1199
-
1200
- [role="mt-4"]
1201
- ==== Metadata for a Playlist
1202
-
1203
- .Format
1204
- ----
1205
- Current Time For Playlist - Displays in MM:SS
1206
- ----
1207
-
1208
- [source, html]
1209
- ----
1210
- <span
1211
- class="amplitude-current-time"
1212
- data-amplitude-playlist="{playlist_key}">
1213
- </span>
1214
- ----
1215
-
1216
- Current Hours For Playlist
1217
-
1218
- [source, html]
1219
- ----
1220
- <span
1221
- class="amplitude-current-hours"
1222
- data-amplitude-playlist="{playlist_key}">
1223
- </span>
1224
- ----
1225
-
1226
- Current Minutes For Playlist
1227
-
1228
- [source, html]
1229
- ----
1230
- <span
1231
- class="amplitude-current-minutes"
1232
- data-amplitude-playlist="{playlist_key}">
1233
- </span>
1234
- ----
1235
-
1236
- Current Seconds For Playlist
1237
-
1238
- [source, html]
1239
- ----
1240
- <span
1241
- class="amplitude-current-seconds"
1242
- data-amplitude-playlist="{playlist_key}">
1243
- </span>
1244
- ----
1245
-
1246
-
1247
- [role="mt-4"]
1248
- ==== Metadata for a Song
1249
-
1250
- .Format
1251
- ----
1252
- Current Time For Song
1253
- ----
1254
-
1255
- [source, html]
1256
- ----
1257
- <span
1258
- class="amplitude-current-time"
1259
- data-amplitude-song-index="{song_index}">
1260
- </span>
1261
- ----
1262
-
1263
- .Current Hours For Song
1264
- [source, html]
1265
- ----
1266
- <span
1267
- class="amplitude-current-hours"
1268
- data-amplitude-song-index="{song_index}">
1269
- </span>
1270
- ----
1271
-
1272
- Current Minutes For Song
1273
-
1274
- [source, html]
1275
- ----
1276
- <span
1277
- class="amplitude-current-minutes"
1278
- data-amplitude-song-index="{song_index}">
1279
- </span>
1280
- ----
1281
-
1282
- Current Seconds For Song
1283
-
1284
- [source, html]
1285
- ----
1286
- <span
1287
- class="amplitude-current-seconds"
1288
- data-amplitude-song-index="{song_index}">
1289
- </span>
1290
- ----
1291
-
1292
- [role="mt-4"]
1293
- ==== Metadata for a Song in a Playlist
1294
-
1295
- Current Time For Song In Playlist
1296
-
1297
- [source, html]
1298
- ----
1299
- <span
1300
- class="amplitude-current-time"
1301
- data-amplitude-playlist="{playlist_key}"
1302
- data-amplitude-song-index="{song_index}">
1303
- </span>
1304
- ----
1305
-
1306
- Current Hours For Song In Playlist
1307
- [source, html]
1308
- ----
1309
- <span
1310
- class="amplitude-current-hours"
1311
- data-amplitude-playlist="{playlist_key}"
1312
- data-amplitude-song-index="{song_index}">
1313
- </span>
1314
- ----
1315
-
1316
- Current Minutes For Song In Playlist
1317
-
1318
- [source, html]
1319
- ----
1320
- <span
1321
- class="amplitude-current-minutes"
1322
- data-amplitude-playlist="{playlist_key}"
1323
- data-amplitude-song-index="{song_index}">
1324
- </span>
1325
- ----
1326
-
1327
- Current Seconds For Song In Playlist
1328
-
1329
- [source, html]
1330
- ----
1331
- <span
1332
- class="amplitude-current-seconds"
1333
- data-amplitude-playlist="{playlist_key}"
1334
- data-amplitude-song-index="{song_index}">
1335
- </span>
1336
- ----
1337
-
1338
- Duration Time For Playlist - Displays in MM:SS
1339
-
1340
- [source, html]
1341
- ----
1342
- <span class="amplitude-duration-time"></span>
1343
- ----
1344
-
1345
- Duration Hours For Playlist
1346
-
1347
- [source, html]
1348
- ----
1349
- <span
1350
- class="amplitude-duration-hours"
1351
- data-amplitude-playlist="{playlist_key}">
1352
- </span>
1353
- ----
1354
-
1355
- Duration Minutes For Playlist
1356
-
1357
- [source, html]
1358
- ----
1359
- <span
1360
- class="amplitude-duration-minutes"
1361
- data-amplitude-playlist="{playlist_key}">
1362
- </span>
1363
- ----
1364
-
1365
- Duration Seconds For Playlist
1366
-
1367
- [source, html]
1368
- ----
1369
- <span
1370
- class="amplitude-duration-seconds"
1371
- data-amplitude-playlist="{playlist_key}">
1372
- </span>
1373
- ----
1374
-
1375
- Duration Time For Song - Displays in MM:SS
1376
-
1377
- [source, html]
1378
- ----
1379
- <span
1380
- class="amplitude-duration-time"
1381
- data-amplitude-song-index="{song_index}">
1382
- </span>
1383
- ----
1384
-
1385
- Duration Hours For Song
1386
-
1387
- [source, html]
1388
- ----
1389
- <span
1390
- class="amplitude-duration-hours"
1391
- data-amplitude-song-index="{song_index}">
1392
- </span>
1393
- ----
1394
-
1395
- Duration Minutes For Song
1396
-
1397
- [source, html]
1398
- ----
1399
- <span
1400
- class="amplitude-duration-minutes"
1401
- data-amplitude-song-index="{song_index}">
1402
- </span>
1403
- ----
1404
-
1405
- Duration Seconds For Song
1406
-
1407
- [source, html]
1408
- ----
1409
- <span
1410
- class="amplitude-duration-seconds"
1411
- data-amplitude-song-index="{song_index}">
1412
- </span>
1413
- ----
1414
-
1415
- Main Time Remaining For Song
1416
-
1417
- [source, html]
1418
- ----
1419
- <span class="amplitude-time-remaining"></span>
1420
- ----
1421
-
1422
- Playlist Main Time Remaining For Song
1423
-
1424
- [source, html]
1425
- ----
1426
- <span
1427
- class="amplitude-time-remaining"
1428
- data-amplitude-playlist="{playlist_key}">
1429
- </span>
1430
- ----
1431
-
1432
- Song Time Remaining
1433
-
1434
- [source, html]
1435
- ----
1436
- <span
1437
- class="amplitude-time-remaining"
1438
- data-amplitude-song-index="{song_index}">
1439
- </span>
1440
- ----
1441
-
1442
- [role="mt-4"]
1443
- === Song Container
1444
-
1445
- This is a unique element. What this does is allow you to assign a
1446
- container to the visual representation of a song or a song in a
1447
- playlist. When that song is currently playing, the class
1448
- `amplitude-active-song-container` will be applied to the song container
1449
- element. This way you can style the element to show the active song.
1450
-
1451
- For a single song container it would be:
1452
-
1453
- [source, html]
1454
- ----
1455
- <div class="amplitude-song-container" data-amplitude-song-index="{X}"></div>
1456
- ----
1457
-
1458
- For a playlist song container it would be:
1459
-
1460
- [source, html]
1461
- ----
1462
- <div
1463
- class="amplitude-song-container"
1464
- data-amplitude-playlist="{playlist_key}"
1465
- data-amplitude-song-index="{song_index}">
1466
- </div>
1467
- ----
1468
-
1469
- [role="mt-5"]
1470
- == Methods
1471
-
1472
- There are a variety of public functions that AmplitudeJS exposes to the
1473
- user. These methods allow the user to change config variables, add new
1474
- songs, play now, etc.
1475
-
1476
- [role="mt-4"]
1477
- === Bind new Elements
1478
-
1479
- The bind new elements function should be called whenever a new song
1480
- element is added to the page. This will bind all of the event handlers
1481
- for that element.
1482
-
1483
- [source, js]
1484
- ----
1485
- Amplitude.bindNewElements()
1486
- ----
1487
-
1488
- [role="mt-4"]
1489
- === Add a Playlist
1490
-
1491
- This method allows you to add a playlist to AmplitudeJS. To do this, you
1492
- need a unique key for your playlist, the data describing your playlist
1493
- such as `title`, `author`, etc. and an array of song objects for your
1494
- playlist.
1495
-
1496
- [source, js]
1497
- ----
1498
- Amplitude.addPlaylist( key, data, songs );
1499
- ----
1500
-
1501
- The first argument is the `key`. Remember this is a JSON key and should
1502
- be formatted as such.
1503
-
1504
- The second argument is all of the data describing the playlist such as
1505
- `name`, `title`, `author`, etc. in the form of a JSON object.
1506
-
1507
- Finally, the third argument is an array of song objects. These are the
1508
- songs that will be added to the playlist.
1509
-
1510
- [role="mt-4"]
1511
- === Add a Song
1512
-
1513
- Adds a song to the AmplitudeJS player. You will need to write a method
1514
- yourself to add the visual side of things to fit your custom design, and
1515
- then call the bindNewElements() method to make sure it works.
1516
-
1517
- This method returns the index of the song added to the player.
1518
-
1519
- [source, js]
1520
- ----
1521
- Amplitude.addSong( {song_object} );
1522
- ----
1523
-
1524
- [role="mt-4"]
1525
- === Prepend a Song
1526
-
1527
- Adds a song to the beginning of the AmplitudeJS player. After
1528
- pre-pending the song, you will have to bindNewElements() method to make
1529
- sure that any visuals are updated as well.
1530
-
1531
- This method returns the index of the song added to the player.
1532
-
1533
- [source, js]
1534
- ----
1535
- Amplitude.prependSong( {song_object} );
1536
- ----
1537
-
1538
- [role="mt-4"]
1539
- === Add a Song to a Playlist
1540
-
1541
- Adds a song to a specific playlist within AmplitudeJS. Once the song is
1542
- added you will need to update the visual side of the player yourself.
1543
- After you update the visual side, run the `Amplitude.bindNewElements()`
1544
- method to make sure the functionality is there for the new element.
1545
-
1546
- [source, js]
1547
- ----
1548
- Amplitude.addSongToPlaylist( songObject, playlistKey )
1549
- ----
1550
-
1551
- [role="mt-4"]
1552
- === Remove a Song
1553
-
1554
- Removes a song from the global song array. You will have to remove the
1555
- containing element by yourself.
1556
-
1557
- [source, js]
1558
- ----
1559
- Amplitude.removeSong( indexOfSong )
1560
- ----
1561
-
1562
- [role="mt-4"]
1563
- === Remove a Song From Playlist
1564
-
1565
- Removes a song from a playlist. You will have to update the visual side
1566
- by yourself.
1567
-
1568
- [source, js]
1569
- ----
1570
- Amplitude.removeSongFromPlaylist( indexOfSongInPlaylist, playlistKey )
1571
- ----
1572
-
1573
- [role="mt-4"]
1574
- === Play
1575
-
1576
- This simply plays whatever song is active.
1577
-
1578
- [source, js]
1579
- ----
1580
- Amplitude.play()
1581
- ----
1582
-
1583
- [role="mt-4"]
1584
- === Play a Song At Index
1585
-
1586
- Plays whatever song is set in the config at the specified index.
1587
-
1588
- [source, js]
1589
- ----
1590
- Amplitude.playSongAtIndex( songIndex )
1591
- ----
1592
-
1593
- [role="mt-4"]
1594
- === Play a Playlist Song At Index
1595
-
1596
- Plays the song in a playlist at the specified index.
1597
-
1598
- [source, js]
1599
- ----
1600
- Amplitude.playPlaylistSongAtIndex( playlistIndex, playlistKey )
1601
- ----
1602
-
1603
- [role="mt-4"]
1604
- === Play Now
1605
-
1606
- In AmplitudeJS 2.0 this was referred to as 'Dynamic Mode'. Now you can
1607
- just pass a song to AmplitudeJS and it will automatically play. If there
1608
- are visual elements, then they will sync as well.
1609
-
1610
- [source, js]
1611
- ----
1612
- Amplitude.playNow( {song_object} );
1613
- ----
1614
-
1615
- [role="mt-4"]
1616
- === Pause
1617
-
1618
- This simply pauses whatever song is active.
1619
-
1620
- [source, js]
1621
- ----
1622
- Amplitude.pause()
1623
- ----
1624
-
1625
- [role="mt-4"]
1626
- === Stop
1627
-
1628
- This simply stops whatever song is active.
1629
-
1630
- [source, js]
1631
- ----
1632
- Amplitude.stop()
1633
- ----
1634
-
1635
- [role="mt-4"]
1636
- === Next
1637
-
1638
- Plays the next song either in the playlist or globally.
1639
-
1640
- [source, js]
1641
- ----
1642
- Amplitude.next( playlistKey = null )
1643
- ----
1644
-
1645
- [role="mt-4"]
1646
- === Prev
1647
-
1648
- Plays the previous song either in the playlist or globally.
1649
-
1650
- [source, js]
1651
- ----
1652
- Amplitude.prev( playlistKey = null )
1653
- ----
1654
-
1655
- [role="mt-4"]
1656
- === Skip To
1657
-
1658
- Allows the user to skip to a specific location in the song whether that
1659
- song is in a playlist or not.
1660
-
1661
- [source, js]
1662
- ----
1663
- Amplitude.skipTo( seconds, songIndex, playlist = null )
1664
- ----
1665
-
1666
- [role="mt-4"]
1667
- === Register Visualization
1668
-
1669
- The other way to register a visualization is through the public
1670
- `Amplitude.registerVisualization( visualization, preferences )` method.
1671
- The first parameter being the object included with the visualization
1672
- file and the second parameter being a JSON object containing any of the
1673
- parameters needed to overwrite defaults provided by the visualization.
1674
-
1675
- [source, js]
1676
- ----
1677
- Amplitude.registerVisualization( visualization, preferences );
1678
- ----
1679
-
1680
-
1681
- [role="mt-5"]
1682
- === Setters
1683
-
1684
- Bla, bla ...
1685
-
1686
- [role="mt-4"]
1687
- ==== Set Default Album Art
1688
-
1689
- Sets the default album art for the player to the URL provided.
1690
-
1691
- [source, js]
1692
- ----
1693
- Amplitude.setDefaultAlbumArt( url )
1694
- ----
1695
-
1696
- [role="mt-4"]
1697
- ==== Set Default Playlist Art
1698
-
1699
- Sets the default playlist art.
1700
-
1701
- [source, js]
1702
- ----
1703
- Amplitude.setDefaultPlaylistArt( url )
1704
- ----
1705
-
1706
- [role="mt-4"]
1707
- ==== Set Debug
1708
-
1709
- To change the debug mode setting, you can call the setDebug method any
1710
- time and start to receive data about the state of the player or turn off
1711
- debugging.
1712
-
1713
- [source, js]
1714
- ----
1715
- Amplitude.setDebug( {bool} );
1716
- ----
1717
-
1718
- [role="mt-4"]
1719
- ==== Set Delay
1720
-
1721
- If you have multiple songs that your player is using you can change the
1722
- amount of time you have as a delay between the songs. When one song
1723
- ends, what is set will be the amount of time delayed before the next
1724
- song starts.
1725
-
1726
- [source, js]
1727
- ----
1728
- Amplitude.setDelay( milliseconds )
1729
- ----
1730
-
1731
- [role="mt-4"]
1732
- ==== Set Global Visualization
1733
-
1734
- You can set the global visualization through the public method like
1735
- this:
1736
-
1737
- [source, js]
1738
- ----
1739
- Amplitude.setGlobalVisualization( visualizationKey );
1740
- ----
1741
-
1742
- [role="mt-4"]
1743
- ==== Set Playlist Visualization
1744
-
1745
- You can set the visualization through the public facing method like
1746
- this:
1747
-
1748
- [source, js]
1749
- ----
1750
- Amplitude.setPlaylistVisualization( playlist_key, visualization_key );
1751
- ----
1752
-
1753
- [role="mt-4"]
1754
- ==== Set Individual Song Visualization
1755
-
1756
- You can set the visualization for an individual song like so:
1757
-
1758
- [source, js]
1759
- ----
1760
- Amplitude.setSongVisualization( songIndex, visualizationKey );
1761
- ----
1762
-
1763
- [role="mt-4"]
1764
- ==== Set Individual Song In Playlist Visualization
1765
-
1766
- You can set the visualization for an individual song in a playlist
1767
- using:
1768
-
1769
- [source, js]
1770
- ----
1771
- Amplitude.setSongInPlaylistVisualization( playlistKey, songIndex, visualizationKey );
1772
- ----
1773
-
1774
- [role="mt-4"]
1775
- ==== Set Shuffle
1776
-
1777
- Sets the global shuffle state for AmplitudeJS.
1778
-
1779
- [source, js]
1780
- ----
1781
- Amplitude.setShuffle( shuffleState )
1782
- ----
1783
-
1784
- [role="mt-4"]
1785
- ==== Set Shuffle Playlist
1786
-
1787
- Sets the shuffle state for a playlist.
1788
-
1789
- [source, js]
1790
- ----
1791
- Amplitude.setShufflePlaylist( playlistKey, shuffleState )
1792
- ----
1793
-
1794
- [role="mt-4"]
1795
- ==== Set Repeat
1796
-
1797
- Sets the global repeat status for AmplitudeJS
1798
-
1799
- [source, js]
1800
- ----
1801
- Amplitude.setRepeat( repeatState )
1802
- ----
1803
-
1804
- [role="mt-4"]
1805
- ==== Set Repeat Song
1806
-
1807
- Sets the global state to determine if we should repeat the individual
1808
- song upon completion.
1809
-
1810
- [source, js]
1811
- ----
1812
- Amplitude.setRepeatSong( repeatSongState )
1813
- ----
1814
-
1815
- [role="mt-4"]
1816
- ==== Set Repeat Playlist
1817
-
1818
- Sets the repeat for the playlist.
1819
-
1820
- [source, js]
1821
- ----
1822
- Amplitude.setRepeatPlaylist( playlistKey, repeatState )
1823
- ----
1824
-
1825
- [role="mt-4"]
1826
- ==== Set Song Played Percentage
1827
-
1828
- This method allows you to set the percentage of the active song. The
1829
- method accepts a float between 0 and 100 for the percentage of the song
1830
- to be set to.
1831
-
1832
- [source, js]
1833
- ----
1834
- Amplitude.setSongPlayedPercentage( percentage )
1835
- ----
1836
-
1837
- [role="mt-4"]
1838
- ==== Set Song Meta Data
1839
-
1840
- You can set the meta data for any song in your song objects. This is
1841
- helpful if you are doing a live stream and have a call back that returns
1842
- the information of what song is currently playing.
1843
-
1844
- [source, js]
1845
- ----
1846
- Amplitude.setSongMetaData( index, metaData )
1847
- ----
1848
-
1849
- The first parameter `index` is the index of the song in the songs array
1850
- you are setting the meta data for. The `metaData` is an object that
1851
- contains meta data similar to a song object. The keys that get passed
1852
- will be updated on the song object at the index. The only key that can
1853
- not be updated is the `url`.
1854
-
1855
- [role="mt-4"]
1856
- ==== Set Playlist Meta Data
1857
-
1858
- You can set the metadata for the playlist. Similar to the songs object,
1859
- you can do it for a playlist object.
1860
-
1861
- [source, js]
1862
- ----
1863
- Amplitude.setPlaylistMetaData( playlist, metaData )
1864
- ----
1865
-
1866
- The first argument `playlist` is the key of the playlist we are setting
1867
- the meta data for and the second object `metaData` is the object
1868
- containing all of the keys we are updating.
1869
-
1870
- [role="mt-5"]
1871
- === Getters
1872
-
1873
- Bla, bla ...
1874
-
1875
- [role="mt-4"]
1876
- ==== Get Analyser
1877
-
1878
- Returns the Web Audio API Analyser. This allows for the user to bind to
1879
- the active audio through the web audio API.
1880
-
1881
- [source, js]
1882
- ----
1883
- Amplitude.getAnalyser()
1884
- ----
1885
-
1886
- [role="mt-4"]
1887
- ==== Get Config
1888
-
1889
- Returns the current AmplitudeJS configuration.
1890
-
1891
- [source, js]
1892
- ----
1893
- Amplitude.getConfig();
1894
- ----
1895
-
1896
- [role="mt-4"]
1897
- ==== Get Delay
1898
-
1899
- Gets the current delay between songs in milliseconds.
1900
-
1901
- [source, js]
1902
- ----
1903
- Amplitude.getDelay();
1904
- ----
1905
-
1906
- [role="mt-4"]
1907
- ==== Get Player State
1908
-
1909
- Returns the current state of the player whether it's `playing`,
1910
- `paused`, or `stopped`.
1911
-
1912
- [source, js]
1913
- ----
1914
- Amplitude.getPlayerState()
1915
- ----
1916
-
1917
- [role="mt-4"]
1918
- ==== Get Active Playlist
1919
-
1920
- This method will return the key of the active playlist.
1921
-
1922
- [source, js]
1923
- ----
1924
- Amplitude.getActivePlaylist()
1925
- ----
1926
-
1927
- [role="mt-4"]
1928
- ==== Get Playback Speed
1929
-
1930
- Returns the current playback speed for the player.
1931
-
1932
- [source, js]
1933
- ----
1934
- Amplitude.getPlaybackSpeed()
1935
- ----
1936
-
1937
- [role="mt-4"]
1938
- ==== Get Repeat
1939
-
1940
- Returns the state of the global repeat status for the player.
1941
-
1942
- [source, js]
1943
- ----
1944
- Amplitude.getRepeat()
1945
- ----
1946
-
1947
- [role="mt-4"]
1948
- ==== Get Repeat Playlist
1949
-
1950
- Returns the state of the repeat status for the playlist.
1951
-
1952
- [source, js]
1953
- ----
1954
- Amplitude.getRepeatPlaylist( playlistKey )
1955
- ----
1956
-
1957
- [role="mt-4"]
1958
- ==== Get Shuffle
1959
-
1960
- Returns the current state of the global shuffle status for the player.
1961
-
1962
- [source, js]
1963
- ----
1964
- Amplitude.getShuffle()
1965
- ----
1966
-
1967
- [role="mt-4"]
1968
- ==== Get Shuffle Playlist
1969
-
1970
- Returns the state of the shuffle flag for a playlist.
1971
-
1972
- [source, js]
1973
- ----
1974
- Amplitude.getShufflePlaylist( playlistKey )
1975
- ----
1976
-
1977
- [role="mt-4"]
1978
- ==== Get Default Album Art
1979
-
1980
- Returns the default album art URL set in the player.
1981
-
1982
- [source, js]
1983
- ----
1984
- Amplitude.getDefaultAlbumArt()
1985
- ----
1986
-
1987
- [role="mt-4"]
1988
- [[get-default-album-art-2]]
1989
- ==== Get Default Album Art
1990
-
1991
- Returns the URL of the default album art for the player.
1992
-
1993
- [source, js]
1994
- ----
1995
- Amplitude.getDefaultAlbumArt()
1996
- ----
1997
-
1998
- [role="mt-4"]
1999
- ==== Get Default Playlist Art
2000
-
2001
- Gets the default art for a playlist.
2002
-
2003
- [source, js]
2004
- ----
2005
- Amplitude.getDefaultPlaylistArt()
2006
- ----
2007
-
2008
- [role="mt-4"]
2009
- ==== Get Active Song Metadata
2010
-
2011
- Returns the active song's metadata as a JSON object.
2012
-
2013
- [source, js]
2014
- ----
2015
- Amplitude.getActiveSongMetadata();
2016
- ----
2017
-
2018
- [role="mt-4"]
2019
- ==== Get Active Playlist Metadata
2020
-
2021
- Gets the active playlist's metadata as a JSON object.
2022
-
2023
- [source, js]
2024
- ----
2025
- Amplitude.getActivePlaylistMetadata();
2026
- ----
2027
-
2028
- [role="mt-4"]
2029
- ==== Get Active Index
2030
-
2031
- This method returns the index of the active song in the songs array.
2032
-
2033
- [source, js]
2034
- ----
2035
- Amplitude.getActiveIndex()
2036
- ----
2037
-
2038
- [role="mt-4"]
2039
- ==== Get Active Index State
2040
-
2041
- This method returns the index of the active song in the songs array but
2042
- accounts for if shuffle has been enabled or not.
2043
-
2044
- [source, js]
2045
- ----
2046
- Amplitude.getActiveIndexState()
2047
- ----
2048
-
2049
- [role="mt-4"]
2050
- ==== Get Audio
2051
-
2052
- This returns the actual audio element. This is mainly used for writing
2053
- extensions but exposes the core of AmplitudeJS. This returns the audio
2054
- element used by AmplitudeJS.
2055
-
2056
- [source, js]
2057
- ----
2058
- Amplitude.getAudio()
2059
- ----
2060
-
2061
- [role="mt-4"]
2062
- ==== Get Buffered
2063
-
2064
- This method returns the buffered percentage of the now playing song.
2065
- This can be used to show how much of the song has been buffered and
2066
- ready to be played.
2067
-
2068
- [source, js]
2069
- ----
2070
- Amplitude.getBuffered()
2071
- ----
2072
-
2073
- [role="mt-4"]
2074
- ==== Get songs
2075
-
2076
- This method returns all of the songs defined in AmplitudeJS. It can be
2077
- used for a variety of different functions. It's extremely helpful if you
2078
- are AJAX loading songs and want to see the contents of the song array.
2079
-
2080
- [source, js]
2081
- ----
2082
- Amplitude.getSongs()
2083
- ----
2084
-
2085
- [role="mt-4"]
2086
- ==== Get Songs In Playlist
2087
-
2088
- This method returns all of the songs in a playlist. Since the user
2089
- defines a playlist with a key and the indexes of the songs, this will
2090
- map the keys to the songs and return all of the songs in the playlist.
2091
-
2092
- [source, js]
2093
- ----
2094
- Amplitude.getSongsInPlaylist( playlistKey )
2095
- ----
2096
-
2097
- [role="mt-4"]
2098
- ==== Get Songs State
2099
-
2100
- This method returns the current order of the songs. It can be used for
2101
- determining what song is next. If shuffle is on, it will return the
2102
- shuffled list of songs.
2103
-
2104
- [source, js]
2105
- ----
2106
- Amplitude.getSongsState()
2107
- ----
2108
-
2109
- [role="mt-4"]
2110
- ==== Get Songs State Playlist
2111
-
2112
- This method returns the current order of the songs in a playlist. If
2113
- needed this can be used to determine the next song in a playlist. This
2114
- accounts for whether the playlist has been shuffled or not.
2115
-
2116
- [source, js]
2117
- ----
2118
- Amplitude.getSongsStatePlaylist( playlist )
2119
- ----
2120
-
2121
- [role="mt-4"]
2122
- ==== Get Song Played Percentage
2123
-
2124
- This method returns the percentage of the song played. When implementing
2125
- a 3rd party tracking element, you can set the percentage of the element
2126
- to the percentage played of the song.
2127
-
2128
- [source, js]
2129
- ----
2130
- Amplitude.getSongPlayedPercentage()
2131
- ----
2132
-
2133
- You can combine this method with the time_update callback and whenever
2134
- the time updates your method can call
2135
- Amplitude.getSongPlayedPercentage() and you can set your tracking
2136
- element correctly.
2137
-
2138
- [role="mt-4"]
2139
- ==== Get Song Played Seconds
2140
-
2141
- This method returns the current seconds the user is into the song.
2142
-
2143
- [source, js]
2144
- ----
2145
- Amplitude.getSongPlayedSeconds()
2146
- ----
2147
-
2148
- [role="mt-4"]
2149
- ==== Get Song Duration
2150
-
2151
- Returns the duration of the current song.
2152
-
2153
- [source, js]
2154
- ----
2155
- Amplitude.getSongDuration()Individual Song Slider
2156
- ----
2157
-
2158
- [role="mt-4"]
2159
- ==== Get Song At Index
2160
-
2161
- Returns a song's metadata at a specific index.
2162
-
2163
- [source, js]
2164
- ----
2165
- Amplitude.getSongAtIndex( {index} );
2166
- ----
2167
-
2168
- [role="mt-4"]
2169
- ==== Get Song At Playlist Index
2170
-
2171
- Returns a song at a playlist's index.
2172
-
2173
- [source, js]
2174
- ----
2175
- Amplitude.getSongAtPlaylistIndex( {playlistIndex}, {index} );
2176
- ----
2177
-
2178
- [role="mt-4"]
2179
- ==== Get Version
2180
-
2181
- This method returns the version of AmplitudeJS being used.
2182
-
2183
- [source, js]
2184
- ----
2185
- Amplitude.getVersion()
2186
- ----
2187
-
2188
- [role="mt-5"]
2189
- == Notes on Implementaion
2190
-
2191
- AmplitudeJS 4.0 was one of the biggest releases thus far. We tried to
2192
- limit the breaking changes, but in order to scale for the future we had
2193
- to make a few.
2194
-
2195
- [role="mt-4"]
2196
- === AmplitudeJS Attributes Have HTML5 Dataset Prefix
2197
- In order to make AmplitudeJS validated properly by w3 terms, we prefixed
2198
- all of the attributes on AmplitudeJS elements to have the data- prefix.
2199
- This makes all of the attributes compatible with the
2200
- https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset[HTML5 dataset API, {browser-window--new}].
2201
-
2202
- What this means is any time you are defining a specific element for a
2203
- song or playlist, you will have to use data-amplitude-song-index or
2204
- data-amplitude-playlist. In 3.x releases, these were just amplitude-song-index
2205
- or amplitude-playlist. In order to work with 4.0 and above, you will have to
2206
- update these references.
2207
-
2208
- [role="mt-4"]
2209
- === Standard Attributes For Defining Elements
2210
-
2211
- In versions 3.x, we had a variety of different attributes to define an element
2212
- based on it's level of use. For example, if we had a global play/pause button
2213
- it'd be amplitude-main-play-pause="true" as an attribute.
2214
-
2215
- This got really cumbersome with multiple elements existing on either a
2216
- global level (controlling the entire player), a playlist level (controlling
2217
- functions within a playlist), a song level (controlling an individual song),
2218
- and a song in playlist level (controlling a song within a playlist).
2219
-
2220
- Now everything is based on a combination of attributes. These are as follows:
2221
-
2222
- Global Level: class="amplitude-{specialized-class}"
2223
- Playlist Level: class="amplitude-{specialized-class}" data-amplitude-playlist="{playlist}"
2224
- Song Level: class="amplitude-{specialized-class}" data-amplitude-song-index="{songIndex}"
2225
- Song In Playlist: class="amplitude-{specialized-class}" data-amplitude-song-index="{songIndex}" data-amplitude-playlist="{playlist}"
2226
- These combinations work for all elements that are in AmplitudeJS. Now there are some elements that don't span all of the scopes. Let's take an amplitude-volume-up element. This only works on the global level. It wouldn't make sense to have individual playlist volumes.
2227
-
2228
- [role="mt-4"]
2229
- === Playlist Song Indexes Are Scoped To Playlist
2230
-
2231
- In versions 3.x song indexes are now scoped to playlists. What this means
2232
- is that when you use data-amplitude-song-index on a song display in a playlist,
2233
- it references the index of the song in the playlist instead of the songs array.
2234
-
2235
- For example if song index 1 is used on the 'Hip Hop' playlist, it references
2236
- song index 1 within that playlist. Before it was the index in the songs array.
2237
-
2238
- [role="mt-4"]
2239
- === Next And Previous Buttons Only Work In Playlists If Playlist Is Active
2240
-
2241
- So there are two levels of next and previous buttons. The global level which
2242
- will react to the state of the player and the playlist level. If a global
2243
- level next button or previous button is clicked, it will either go to the
2244
- next/previous song in the songs array if no playlist is active, or the
2245
- next/previous song in the playlist if a playlist is active.
2246
-
2247
- Now on the playlist level the buttons only go to the next/previous song in
2248
- the playlist when clicked and ONLY if the playlist is active. If you click
2249
- a next/previous button on a playlist that isn't active, it doesn't do
2250
- anything. It will only print a debug message if debug is turned on.
2251
-
2252
- [role="mt-4"]
2253
- === Autoplay Configuration Has Been Removed
2254
-
2255
- Most browsers do not support autoplay features anymore. The functionality
2256
- to set up AmplitudeJS for autoplay has been removed. If you initialize
2257
- with autoplay, it will just be ignored.
2258
-
2259
- That should be the migrations! If you ran into anything, please reach out
2260
- and we can lend a hand!