j1-template 2024.3.13 → 2024.3.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (193) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/content_generator_news_panel_posts.html +1 -1
  3. data/_includes/themes/j1/layouts/layout_resource_generator.html +1 -4
  4. data/_includes/themes/j1/procedures/blocks/footer/boxes/social_media_icons.proc +24 -23
  5. data/_includes/themes/j1/procedures/layouts/content_writer.proc +4 -3
  6. data/_includes/themes/j1/procedures/layouts/default_writer.proc +37 -6
  7. data/_includes/themes/j1/procedures/layouts/module_writer.proc +31 -95
  8. data/_includes/themes/j1/procedures/layouts/resource_writer.proc +51 -29
  9. data/assets/data/amplitude.28.html +887 -0
  10. data/assets/data/amplitude.29.html +923 -0
  11. data/assets/data/amplitude.html +311 -46
  12. data/assets/data/banner.html +9 -7
  13. data/assets/data/masterslider.html +128 -7
  14. data/assets/data/panel.html +16 -65
  15. data/assets/theme/j1/adapter/js/amplitude.23.js +1165 -0
  16. data/assets/theme/j1/adapter/js/amplitude.24.js +1164 -0
  17. data/assets/theme/j1/adapter/js/amplitude.25.js +1268 -0
  18. data/assets/theme/j1/adapter/js/amplitude.js +294 -117
  19. data/assets/theme/j1/adapter/js/attic.js +14 -11
  20. data/assets/theme/j1/adapter/js/docsearch.js +2 -2
  21. data/assets/theme/j1/adapter/js/fab.js +2 -2
  22. data/assets/theme/j1/adapter/js/j1.js +8 -8
  23. data/assets/theme/j1/adapter/js/lazyLoader.js +60 -10
  24. data/assets/theme/j1/adapter/js/masonry.js +1 -1
  25. data/assets/theme/j1/adapter/js/masterslider.js +2 -2
  26. data/assets/theme/j1/adapter/js/particles.js +2 -2
  27. data/assets/theme/j1/adapter/js/scroller.js +2 -2
  28. data/assets/theme/j1/adapter/js/slick.js +2 -2
  29. data/assets/theme/j1/adapter/js/themes.js +1 -1
  30. data/assets/theme/j1/adapter/js/translator.js +2 -2
  31. data/assets/theme/j1/adapter/js/waves.js +1 -1
  32. data/assets/theme/j1/core/css/animate.css +1634 -1070
  33. data/assets/theme/j1/core/css/animate.css.map +1 -0
  34. data/assets/theme/j1/core/css/animate.min.css +2 -1
  35. data/assets/theme/j1/core/css/animate.min.css.map +1 -0
  36. data/assets/theme/j1/core/css/icon-fonts/fontawesome.css +3060 -1538
  37. data/assets/theme/j1/core/css/icon-fonts/fontawesome.css.map +1 -0
  38. data/assets/theme/j1/core/css/icon-fonts/fontawesome.min.css +2 -1
  39. data/assets/theme/j1/core/css/icon-fonts/fontawesome.min.css.map +1 -0
  40. data/assets/theme/j1/core/css/icon-fonts/iconify.css +2308 -1153
  41. data/assets/theme/j1/core/css/icon-fonts/iconify.css.map +1 -0
  42. data/assets/theme/j1/core/css/icon-fonts/iconify.min.css +2 -1
  43. data/assets/theme/j1/core/css/icon-fonts/iconify.min.css.map +1 -0
  44. data/assets/theme/j1/core/css/icon-fonts/mdi.css +16716 -8423
  45. data/assets/theme/j1/core/css/icon-fonts/mdi.css.map +1 -0
  46. data/assets/theme/j1/core/css/icon-fonts/mdi.min.css +2 -1
  47. data/assets/theme/j1/core/css/icon-fonts/mdi.min.css.map +1 -0
  48. data/assets/theme/j1/core/css/icon-fonts/mdib.css +5554 -2766
  49. data/assets/theme/j1/core/css/icon-fonts/mdib.css.map +1 -0
  50. data/assets/theme/j1/core/css/icon-fonts/mdib.min.css +2 -1
  51. data/assets/theme/j1/core/css/icon-fonts/mdib.min.css.map +1 -0
  52. data/assets/theme/j1/core/css/icon-fonts/mdil.css +742 -441
  53. data/assets/theme/j1/core/css/icon-fonts/mdil.css.map +1 -0
  54. data/assets/theme/j1/core/css/icon-fonts/mdil.min.css +2 -1
  55. data/assets/theme/j1/core/css/icon-fonts/mdil.min.css.map +1 -0
  56. data/assets/theme/j1/core/css/themes/bootstrap/bootstrap.css +6552 -3980
  57. data/assets/theme/j1/core/css/themes/bootstrap/bootstrap.css.map +1 -0
  58. data/assets/theme/j1/core/css/themes/bootstrap/bootstrap.min.css +2 -5
  59. data/assets/theme/j1/core/css/themes/bootstrap/bootstrap.min.css.map +1 -0
  60. data/assets/theme/j1/core/css/themes/unodark/bootstrap.css +6818 -4131
  61. data/assets/theme/j1/core/css/themes/unodark/bootstrap.css.map +1 -0
  62. data/assets/theme/j1/core/css/themes/unodark/bootstrap.min.css +2 -5
  63. data/assets/theme/j1/core/css/themes/unodark/bootstrap.min.css.map +1 -0
  64. data/assets/theme/j1/core/css/themes/unolight/bootstrap.css +18568 -11577
  65. data/assets/theme/j1/core/css/themes/unolight/bootstrap.css.map +1 -0
  66. data/assets/theme/j1/core/css/themes/unolight/bootstrap.min.css +2 -35
  67. data/assets/theme/j1/core/css/themes/unolight/bootstrap.min.css.map +1 -0
  68. data/assets/theme/j1/core/css/vendor.css +1771 -1043
  69. data/assets/theme/j1/core/css/vendor.css.map +1 -0
  70. data/assets/theme/j1/core/css/vendor.min.css +2 -1
  71. data/assets/theme/j1/core/css/vendor.min.css.map +1 -0
  72. data/assets/theme/j1/core/js/template.js +399 -447
  73. data/assets/theme/j1/core/js/template.min.js +7 -7
  74. data/assets/theme/j1/core/js/template.min.js.map +1 -1
  75. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/amplitude.css +4 -2
  76. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/compact.css +39 -4
  77. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/compact.min.css +1 -1
  78. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.css +57 -17
  79. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.min.css +1 -1
  80. data/assets/theme/j1/modules/amplitudejs/icons/player/blue/pause.png +0 -0
  81. data/assets/theme/j1/modules/amplitudejs/icons/player/blue/play.png +0 -0
  82. data/assets/theme/j1/modules/amplitudejs/icons/player/blue/play.svg +87 -0
  83. data/assets/theme/j1/modules/amplitudejs/icons/player/dark/skip-backward.svg +60 -0
  84. data/assets/theme/j1/modules/amplitudejs/icons/player/dark/skip-forward.svg +59 -0
  85. data/assets/theme/j1/modules/amplitudejs/js/amplitude.js +65 -21
  86. data/assets/theme/j1/modules/amplitudejs/js/amplitude.min.js +1 -1
  87. data/assets/theme/j1/modules/amplitudejs/js/tech/ytp.js +113 -0
  88. data/assets/theme/j1/modules/iconPicker/js/universal-icon-picker.js +471 -471
  89. data/assets/theme/j1/modules/j1LazyLoader/LICENSE +21 -0
  90. data/assets/theme/j1/modules/j1LazyLoader/js/j1Lazy.js +870 -0
  91. data/assets/theme/j1/modules/js-cookies/js/js.cookie.js +3 -3
  92. data/assets/theme/j1/modules/lazyCssLoader/js/main.0.js +166 -0
  93. data/assets/theme/j1/modules/lazyCssLoader/js/main.1.js +65 -0
  94. data/assets/theme/j1/modules/lazyCssLoader/js/main.js +66 -0
  95. data/assets/theme/j1/modules/lazyCssLoader/js/plugins/examplePlugin.js +13 -0
  96. data/assets/theme/j1/modules/lazyCssLoader/js/plugins/my-plugin.js +25 -0
  97. data/assets/theme/j1/modules/lazyCssLoader/js/plugins/plugin-interface.js +9 -0
  98. data/assets/theme/j1/modules/lazyCssLoader/js/plugins/pluginA.js +46 -0
  99. data/assets/theme/j1/modules/lazyLoader/js/plugins/README.md +324 -0
  100. data/assets/theme/j1/modules/lazyLoader/js/plugins/jquery.lazy.picture.js +188 -0
  101. data/assets/theme/j1/modules/lightGallery/js/lightgallery.js +1 -1
  102. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.0.js +794 -0
  103. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.js +151 -67
  104. data/assets/theme/j1/modules/slimSelect/js/select.js +1 -1
  105. data/assets/theme/j1/modules/slimSelect/js/select.min.js +3 -3
  106. data/assets/theme/j1/modules/themeSwitcher/js/switcher.js +2 -1
  107. data/assets/theme/j1/modules/videojs/js/plugins/players/dm/dailymotion.min.js +1 -1
  108. data/assets/theme/j1/modules/videojs/js/plugins/players/dm/icon/scalable/dailymotion.svg +62 -0
  109. data/assets/theme/j1/modules/videojs/js/plugins/players/yt/v3.0.0/youtube.js +832 -0
  110. data/assets/theme/j1/modules/videojs/js/plugins/players/yt/v3.0.0/youtube.min.js +17 -0
  111. data/assets/theme/j1/modules/videojs/js/plugins/players/yt/youtube.min.js +1 -1
  112. data/assets/theme/j1/modules/videojs/js/video.js +2 -2
  113. data/lib/j1/version.rb +1 -1
  114. data/lib/starter_web/README.md +577 -560
  115. data/lib/starter_web/_config.yml +2 -2
  116. data/lib/starter_web/_data/blocks/footer.yml +10 -5
  117. data/lib/starter_web/_data/blocks/panel.yml +2 -2
  118. data/lib/starter_web/_data/layouts/default.yml +14 -3
  119. data/lib/starter_web/_data/modules/amplitude.yml +145 -0
  120. data/lib/starter_web/_data/modules/defaults/amplitude.yml +29 -7
  121. data/lib/starter_web/_data/modules/defaults/lazyLoader.yml +2 -2
  122. data/lib/starter_web/_data/modules/gallery.yml +136 -0
  123. data/lib/starter_web/_data/modules/lazyLoader.0.yml +118 -0
  124. data/lib/starter_web/_data/modules/lazyLoader.yml +68 -31
  125. data/lib/starter_web/_data/modules/masonry.yml +4 -4
  126. data/lib/starter_web/_data/modules/masterslider.yml +118 -12
  127. data/lib/starter_web/_data/modules/navigator_menu.yml +831 -803
  128. data/lib/starter_web/_data/resources.yml +154 -190
  129. data/lib/starter_web/_data/templates/feed.xml +1 -1
  130. data/lib/starter_web/_includes/attributes.asciidoc +1 -0
  131. data/lib/starter_web/_plugins/asciidoctor/amplitude-block.rb +1 -1
  132. data/lib/starter_web/_plugins/asciidoctor/dailymotion-block.rb +1 -1
  133. data/lib/starter_web/_plugins/asciidoctor/gallery-block.rb +4 -2
  134. data/lib/starter_web/_plugins/asciidoctor/masonry-block.rb +1 -1
  135. data/lib/starter_web/_plugins/asciidoctor/videojs-block.rb +58 -46
  136. data/lib/starter_web/_plugins/asciidoctor/vimeo-block.rb +26 -19
  137. data/lib/starter_web/_plugins/asciidoctor/youtube-block.rb +30 -40
  138. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  139. data/lib/starter_web/assets/image/icons/lanus/favicon.ico +0 -0
  140. data/lib/starter_web/assets/image/icons/lanus/lanus-512x512.png +0 -0
  141. data/lib/starter_web/assets/image/icons/lanus/lanus.ico +0 -0
  142. data/lib/starter_web/assets/image/icons/lanus/lanus.png +0 -0
  143. data/lib/starter_web/assets/image/icons/lanus/scalable/lanus.svg +76 -0
  144. data/lib/starter_web/assets/image/icons/lanus/scalable/lanus_sw.svg +62 -0
  145. data/lib/starter_web/assets/image/modules/icons/social/scalable/icon-twitter-x-28 - social.svg +86 -0
  146. data/lib/starter_web/assets/image/modules/icons/social/scalable/icon-twitter-x-28.svg +64 -0
  147. data/lib/starter_web/assets/image/modules/icons/social/scalable/icon-twitter-x.svg +1 -0
  148. data/lib/starter_web/assets/image/modules/icons/social/twitter_x.png +0 -0
  149. data/lib/starter_web/package.json +7 -18
  150. data/lib/starter_web/pages/public/amplitude_yt_tester.adoc +218 -0
  151. data/lib/starter_web/pages/public/features/template.adoc +18 -8
  152. data/lib/starter_web/pages/public/features/template.asciidoc +758 -0
  153. data/lib/starter_web/pages/public/lazy_loader_tester.adoc +402 -0
  154. data/lib/starter_web/pages/public/manuals/ytdl/man.adoc +3020 -0
  155. data/lib/starter_web/pages/public/manuals/ytdl/man.md +2378 -0
  156. data/lib/starter_web/pages/public/tools/previewer/_includes/attributes.asciidoc +0 -16
  157. data/lib/starter_web/pages/public/tools/previewer/_includes/documents/amplitudejs.large.css.asciidoc +505 -0
  158. data/lib/starter_web/pages/public/tools/previewer/_includes/documents/frame.hover.html +69 -0
  159. data/lib/starter_web/pages/public/tools/previewer/_includes/documents/frame.nested.html +75 -0
  160. data/lib/starter_web/pages/public/tools/previewer/_includes/documents/frame.textarea.html +57 -0
  161. data/lib/starter_web/pages/public/tools/previewer/_includes/documents/my.content.html +112 -0
  162. data/lib/starter_web/pages/public/tools/previewer/preview_amplitudejs.adoc +172 -0
  163. data/lib/starter_web/pages/public/tour/_includes/attributes.asciidoc +2 -2
  164. data/lib/starter_web/pages/public/tour/_includes/documents/419_advanced_modals_demo.asciidoc +16 -16
  165. data/lib/starter_web/pages/public/tour/asciidoc_extensions.adoc +13 -3
  166. data/lib/starter_web/pages/public/tour/bootstrap_themes.adoc +12 -3
  167. data/lib/starter_web/pages/public/tour/highlghter_rouge.adoc +13 -3
  168. data/lib/starter_web/pages/public/tour/icon_fonts.adoc +12 -3
  169. data/lib/starter_web/pages/public/tour/modal_extentions.adoc +12 -6
  170. data/lib/starter_web/pages/public/tour/{playback_audio.adoc → play_audio.adoc} +207 -188
  171. data/lib/starter_web/pages/public/tour/{playback_video.adoc → play_video.adoc} +49 -51
  172. data/lib/starter_web/pages/public/tour/present_images.adoc +27 -5
  173. data/lib/starter_web/pages/public/tour/quicksearch.adoc +13 -3
  174. data/lib/starter_web/pages/public/tour/responsive_tables.adoc +13 -4
  175. data/lib/starter_web/pages/public/tour/typography.adoc +12 -3
  176. metadata +90 -22
  177. /data/assets/theme/j1/modules/{lazyLoader → j1LazyLoader/js}/plugins/README.md +0 -0
  178. /data/assets/theme/j1/modules/{lazyLoader/plugins/jquery.lazy.picture.js → j1LazyLoader/js/plugins/picture.js} +0 -0
  179. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.ajax.js +0 -0
  180. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.ajax.min.js +0 -0
  181. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.av.js +0 -0
  182. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.av.min.js +0 -0
  183. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.iframe.js +0 -0
  184. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.iframe.min.js +0 -0
  185. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.noop.js +0 -0
  186. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.noop.min.js +0 -0
  187. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.picture.min.js +0 -0
  188. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.script.js +0 -0
  189. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.script.min.js +0 -0
  190. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.vimeo.js +0 -0
  191. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.vimeo.min.js +0 -0
  192. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.youtube.js +0 -0
  193. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.youtube.min.js +0 -0
@@ -0,0 +1,923 @@
1
+ ---
2
+ regenerate: true
3
+ exclude_from_search: true
4
+ ---
5
+
6
+ {%- capture cache -%}
7
+
8
+ {% comment %}
9
+ # -----------------------------------------------------------------------------
10
+ # ~/assets/data/amplitude.html
11
+ # Liquid procedure to generate HTML (UI) portion for AmplitudeJS v4 Players
12
+ #
13
+ # Product/Info:
14
+ # https://jekyll.one
15
+ #
16
+ # Copyright (C) 2023, 2024 Juergen Adams
17
+ #
18
+ # J1 Template is licensed under the MIT License.
19
+ # See: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE
20
+ # -----------------------------------------------------------------------------
21
+ # Test data:
22
+ # {{variable | debug}}
23
+ # -----------------------------------------------------------------------------
24
+ {% endcomment %}
25
+
26
+ {% comment %} Liquid procedures
27
+ -------------------------------------------------------------------------------- {% endcomment %}
28
+
29
+ {% comment %} Liquid initialization (vars)
30
+ -------------------------------------------------------------------------------- {% endcomment %}
31
+
32
+ {% comment %} set config files
33
+ -------------------------------------------------------------------------------- {% endcomment %}
34
+ {% assign template_config = site.data.j1_config %}
35
+ {% assign modules = site.data.modules %}
36
+
37
+ {% comment %} set config data
38
+ amplitude_settings: {{amplitude_settings | debug}}
39
+ amplitude_defaults: {{amplitude_defaults | debug}}
40
+ -------------------------------------------------------------------------------- {% endcomment %}
41
+ {% assign environment = site.environment %}
42
+
43
+ {% assign amplitude_settings = modules.amplitude.settings %}
44
+ {% assign amplitude_defaults = modules.defaults.amplitude.defaults %}
45
+
46
+ {% comment %} set config options
47
+ -------------------------------------------------------------------------------- {% endcomment %}
48
+ {% assign amplitude_options = amplitude_defaults | merge: amplitude_settings %}
49
+
50
+ {% comment %} set permalink setting
51
+ -------------------------------------------------------------------------------- {% endcomment %}
52
+ {% assign ext = '' %}
53
+ {% if site.permalink == 'none' %}
54
+ {% assign ext = '.html' %}
55
+ {% endif %}
56
+
57
+ {% comment %} detect production mode
58
+ -------------------------------------------------------------------------------- {% endcomment %}
59
+ {% assign production = false %}
60
+ {% if environment == 'prod' or environment == 'production' %}
61
+ {% assign production = true %}
62
+ {% endif %}
63
+
64
+
65
+ {% comment %} main
66
+ ================================================================================ {% endcomment %}
67
+ <!DOCTYPE {{site.doctype}}>
68
+ <html lang="{{site.language}}">
69
+
70
+ <head>
71
+ <title>HTML portion (UI) for AmplitudeJS v4 Players</title>
72
+ <!-- [INFO ] [~/assets/data/amplitude.html ] [ set meta data (robots) to exclude HTML datafiles from index ] -->
73
+ <meta name="robots" content="noindex, nofollow">
74
+ <meta name="amplitude" content="module data file">
75
+ </head>
76
+
77
+ <body>
78
+ {% comment %} create player instances
79
+ player.volume_slider: {{player.volume_slider | debug}}
80
+ amplitude_defaults.volume_slider: {{amplitude_defaults.player.volume_slider | debug}}
81
+ volume_slider: {{volume_slider}}
82
+ ============================================================================== {% endcomment %}
83
+
84
+ {% for player in amplitude_options.players %} {% if player.enabled %}
85
+
86
+ {% comment %} player default settings
87
+ ---------------------------------------------------------------------------- {% endcomment %}
88
+ {% assign source_media = amplitude_defaults.player.source %}
89
+ {% assign song_progress_bar = amplitude_defaults.player.song_progress_bar %}
90
+ {% assign display_hours = amplitude_defaults.player.display_hours %}
91
+ {% assign volume_slider = amplitude_defaults.player.volume_slider.enabled %}
92
+ {% assign volume_slider_min = amplitude_defaults.player.volume_slider.min_value %}
93
+ {% assign volume_slider_max = amplitude_defaults.player.volume_slider.max_value %}
94
+ {% assign volume_slider_step = amplitude_defaults.player.volume_slider.slider_step %}
95
+ {% assign shuffle_repeat_button = amplitude_defaults.player.shuffle_repeat_button %}
96
+ {% assign shuffle_button = amplitude_defaults.player.shuffle_button %}
97
+ {% assign skip_forward_backward_button = amplitude_defaults.player.skip_forward_backward_button %}
98
+ {% assign playlist_controls = amplitude_defaults.player.playlist.controls %}
99
+ {% assign playlist_audio_info = amplitude_defaults.player.playlist.audio_info %}
100
+
101
+ {% comment %} player settings
102
+ ---------------------------------------------------------------------------- {% endcomment %}
103
+ {% assign player_enabled = player.enabled %}
104
+ {% assign player_id = player.id %}
105
+ {% assign player_playlist = player.playlist.name | strip %}
106
+
107
+ {% if player.type %}
108
+ {% assign player_type = player.type %}
109
+ {% endif %}
110
+
111
+ {% if player.playlist.controls %}
112
+ {% assign playlist_controls = player.playlist.controls %}
113
+ {% endif %}
114
+
115
+ {% if player.song_progress_bar %}
116
+ {% assign song_progress_bar = player.song_progress_bar %}
117
+ {% endif %}
118
+
119
+ {% comment %} NOTE: slider VALUE is set by Adapter|Amplitude API (volume)
120
+ ---------------------------------------------------------------------------- {% endcomment %}
121
+ {% if player.volume_slider %}
122
+ {% assign volume_slider = player.volume_slider.enabled %}
123
+ {% assign volume_slider_min = amplitude_defaults.player.volume_slider.min_value %}
124
+ {% assign volume_slider_max = amplitude_defaults.player.volume_slider.max_value %}
125
+ {% assign volume_slider_step = amplitude_defaults.player.volume_slider.slider_step %}
126
+ {% endif %}
127
+
128
+ {% if player.shuffle_repeat_button %}
129
+ {% assign shuffle_repeat_button = player.shuffle_repeat_button %}
130
+ {% endif %}
131
+
132
+ {% if player.shuffle_button %}
133
+ {% assign shuffle_button = player.shuffle_button %}
134
+ {% endif %}
135
+
136
+ {% if player.repeat_button %}
137
+ {% assign repeat_button = player.repeat_button %}
138
+ {% endif %}
139
+
140
+ {% if player.skip_forward_backward_button %}
141
+ {% assign skip_forward_backward_button = player.skip_forward_backward_button %}
142
+ {% endif %}
143
+
144
+ {% if player.display_hours %}
145
+ {% assign display_hours = player.display_hours %}
146
+ {% endif %}
147
+
148
+ {% if player.playlist.audio_info %}
149
+ {% assign player_audio_info = player.playlist.audio_info %}
150
+ {% endif %}
151
+
152
+ {% comment %} unused
153
+ ----------------------------------------------------------------------------
154
+ {% unless player.playlist.scrollbar %}
155
+ {% assign player_scrollbar_class = 'hide-scrollbar' %}
156
+ {% else %}
157
+ {% unless amplitude_defaults.player.playlist.scrollbar %}
158
+ {% assign player_scrollbar_class = 'hide-scrollbar' %}
159
+ {% else %}
160
+ {% assign player_scrollbar_class = '' %}
161
+ {% endunless %}
162
+ {% endunless %}
163
+ ---------------------------------------------------------------------------- {% endcomment %}
164
+
165
+
166
+ {% comment %} collect playlist items
167
+ ---------------------------------------------------------------------------- {% endcomment %}
168
+ <!-- START collect playlist items for player on ID: {{player_id}} -->
169
+ {% for playlist in amplitude_options.playlists %} {% if playlist.enabled %}
170
+ {% assign playlist_name = playlist.name | strip %}
171
+
172
+ {% if playlist_name == player_playlist %}
173
+ <!-- Playlist collected: {{player_playlist}} -->
174
+ {% assign playlist_items = playlist.items %}
175
+ {% break %}
176
+ {% else %}
177
+ {% continue %}
178
+ {% endif %}
179
+ {% endif %} {% endfor %}
180
+ <!-- END collect playlist items -->
181
+
182
+
183
+ {% comment %} collect player instances
184
+ ============================================================================ {% endcomment %}
185
+ {% case player_type %}
186
+
187
+ {% comment %} MINI player
188
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ {% endcomment %}
189
+ {% when 'mini' %} {% if player_enabled %}
190
+ <!-- START create player instance on ID: {{player_id}} of type: {{player_type}} -->
191
+ <div id="{{player_id}}" class="mini-player">
192
+
193
+ <!-- START mini player container -->
194
+ <div class="mini-player-container">
195
+
196
+ <!-- START progress bar -->
197
+ {% if song_progress_bar %}
198
+ <progress
199
+ class="mini-player-progress amplitude-song-played-progress"
200
+ data-amplitude-playlist="{{player_playlist}}">
201
+ </progress>
202
+ {% endif %}
203
+ <!-- END progress bar -->
204
+
205
+ <!-- START time container -->
206
+ <div class="time-container">
207
+ <span class="current-time">
208
+ {% if display_hours %}
209
+ <span
210
+ class="amplitude-current-hours"
211
+ data-amplitude-playlist="{{player_playlist}}">
212
+ </span>
213
+ :
214
+ {% endif %}
215
+ <span
216
+ class="amplitude-current-minutes"
217
+ data-amplitude-playlist="{{player_playlist}}">
218
+ </span>
219
+ :
220
+ <span
221
+ class="amplitude-current-seconds"
222
+ data-amplitude-playlist="{{player_playlist}}">
223
+ </span>
224
+ </span>
225
+ <span class="duration">
226
+ {% if display_hours %}
227
+ <span
228
+ class="amplitude-duration-hours"
229
+ data-amplitude-playlist="{{player_playlist}}">
230
+ </span>
231
+ :
232
+ {% endif %}
233
+ <span
234
+ class="amplitude-duration-minutes"
235
+ data-amplitude-playlist="{{player_playlist}}">
236
+ </span>
237
+ :
238
+ <span
239
+ class="amplitude-duration-seconds"
240
+ data-amplitude-playlist="{{player_playlist}}">
241
+ </span>
242
+ </span>
243
+ </div>
244
+ <!-- END time container -->
245
+
246
+ <!-- START control container -->
247
+ <div class="mini-player control-container">
248
+ <div
249
+ id="mini_player_previous"
250
+ class="amplitude-prev"
251
+ data-amplitude-playlist="{{player_playlist}}">
252
+ </div>
253
+ <div
254
+ id="mini_player_play_pause"
255
+ class="amplitude-play-pause"
256
+ data-amplitude-playlist="{{player_playlist}}">
257
+ </div>
258
+ <div
259
+ id="mini_player_next"
260
+ class="amplitude-next"
261
+ data-amplitude-playlist="{{player_playlist}}">
262
+ </div>
263
+ </div>
264
+ <!-- END control container -->
265
+
266
+ <!-- START meta (data) container -->
267
+ <div class="mini-player meta-container">
268
+ <span
269
+ class="song-name"
270
+ data-amplitude-playlist="{{player_playlist}}"
271
+ data-amplitude-song-info="name">
272
+ </span>
273
+ <div class="audio-artist-album">
274
+ <span
275
+ data-amplitude-playlist="{{player_playlist}}"
276
+ data-amplitude-song-info="artist">
277
+ </span>
278
+ <span
279
+ data-amplitude-playlist="{{player_playlist}}"
280
+ data-amplitude-song-info="album">
281
+ </span>
282
+ </div>
283
+ </div> <!-- END meta container -->
284
+
285
+ <!-- START volume container -->
286
+ <!-- NOTE: slider VALUE is set by Adapter|Amplitude API -->
287
+ <div class="mini-player volume-container">
288
+ {% if volume_slider %}
289
+ <img src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/volume.svg" alt="Volume Icon">
290
+ <input
291
+ id="volume_slider_{{player_id}}"
292
+ class="mini-player amplitude-volume-slider"
293
+ type="range"
294
+ min="{{volume_slider_min}}"
295
+ max="{{volume_slider_max}}"
296
+ step="{{volume_slider_step}}"
297
+ aria-label="Amplitude Volume Slider">
298
+ {% endif %}
299
+ </div>
300
+ <!-- END volume container -->
301
+
302
+ </div>
303
+ <!-- END mini-player container -->
304
+
305
+ </div>
306
+ <!-- END create player instance on ID: {{player_id}} -->
307
+ {% endif %}
308
+
309
+ {% comment %} END MINI player
310
+ ========================================================================== {% endcomment %}
311
+
312
+
313
+ {% comment %} COMPACT player
314
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ {% endcomment %}
315
+ {% when 'compact' %} {% if player_enabled %}
316
+ <!-- START create player instance on ID: {{player_id}} of type: {{player_type}} -->
317
+ <div id="{{player_id}}" class="compact-player">
318
+ <div class="compact-player-container">
319
+
320
+ <div id="playlist_screen_{{player_id}}" class="compact-player-playlist slide-in-top">
321
+
322
+ <div id="hide_playlist_{{player_id}}" class="compact-player-header hide-playlist">
323
+ <img class="compact-player-header-arrows" src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/up.svg" alt="Up Arrow">
324
+ Hide Playlist
325
+ </div> <!-- END playlist-screen header (toggle playlist) -->
326
+
327
+ <!-- jadams, 2024-07-06: controls configurable in player -->
328
+ {% if playlist_controls %}
329
+ <div class="playlist-screen-controls">
330
+ <div class="playlist-screen-meta-container">
331
+ <span class="song-name" data-amplitude-playlist="{{player_playlist}}" data-amplitude-song-info="name"></span>
332
+ <div class="song-artist-album">
333
+ <span data-amplitude-playlist="{{player_playlist}}" data-amplitude-song-info="artist" data-amplitude-song-index="0"></span>
334
+ </div>
335
+ </div>
336
+ <div class="list-controls">
337
+ <div class="list-previous amplitude-prev" data-amplitude-playlist="{{player_playlist}}"></div>
338
+ <div class="list-play-pause amplitude-play-pause" data-amplitude-playlist="{{player_playlist}}"></div>
339
+ <div class="list-next amplitude-next" data-amplitude-playlist="{{player_playlist}}"></div>
340
+ </div>
341
+ </div> <!-- END playlist controls -->
342
+ {% endif %}
343
+
344
+ <!-- START playlist items -->
345
+ <div id="compact_player_title_list_{{player_playlist}}" class="compact-player-title-list">
346
+ {% for item in playlist_items %} {% if item.enabled %}
347
+ <!-- START list item -->
348
+ <div
349
+ class="song amplitude-song-container amplitude-play-pause"
350
+ data-amplitude-song-index="{{forloop.index0}}"
351
+ data-amplitude-playlist="{{player_playlist}}">
352
+
353
+ <span class="song-number-now-playing">
354
+ <span class="title-number">
355
+ {{forloop.index}}
356
+ <img class="now-playing" src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/now-playing.svg" alt="now-playing">
357
+ </span>
358
+ </span>
359
+
360
+ <div class="playlist-song-meta song-meta-container" data-amplitude-playlist="{{player_playlist}}">
361
+ <span class="song-name">{{item.title}}</span>
362
+ <span class="song-artist-album">
363
+ <span>{{item.name}}</span>
364
+ <span class="song-artist-album-delimiter">·</span>
365
+ <span>{{item.artist}}</span>
366
+ </span>
367
+ </div>
368
+
369
+ <a href="{{item.audio_info}}" class="audio-info-link" target="_blank">
370
+ {% if player_audio_info %}
371
+ <img class="audio-info-blue" src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/audio-info-blue.svg" alt="audio-info" style="display: block">
372
+ <img class="audio-info-white" src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/audio-info-white.svg" alt="audio-info" style="display: none">
373
+ {% else %}
374
+ <img class="audio-info-blue" src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/audio-info-blue.svg" alt="audio-info" style="display: none">
375
+ <img class="audio-info-white" src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/audio-info-white.svg" alt="audio-info" style="display: none">
376
+ {% endif %}
377
+ </a>
378
+
379
+ <span class="audio-duration">{{item.duration}}</span>
380
+ </div>
381
+ <!-- END list item -->
382
+ {% endif %} {% endfor %}
383
+
384
+ </div> <!-- END playlist items -->
385
+
386
+ </div> <!-- END list screen -->
387
+
388
+ <!-- START compact player -->
389
+ <div class="compact-player">
390
+
391
+ <!-- START COMPACT player TOP -->
392
+ <div id="show_playlist_{{player_id}}" class="compact-player-header show-playlist">
393
+ <span>
394
+ <span
395
+ data-amplitude-playlist="{{player_playlist}}"
396
+ data-amplitude-song-info="artist">
397
+ </span>
398
+ <span class="song-artist-album-delimiter">·</span>
399
+ <span
400
+ data-amplitude-playlist="{{player_playlist}}"
401
+ data-amplitude-song-info="album">
402
+ </span>
403
+ </span>
404
+ <img class="compact-player-header-arrows" src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/down.svg" alt="Down Arrow">
405
+ </div> <!-- END compact player header (toggle playlist) -->
406
+
407
+ <div class="player-top">
408
+ <!-- jadams, DEFAULT album cover image replaced by AmplidudeJS (based on playlist) -->
409
+ <img
410
+ src="/assets/audio/cover/default/placeholder-blue.jpg"
411
+ data-amplitude-playlist="{{player_playlist}}"
412
+ data-amplitude-song-info="cover_art_url"
413
+ alt="album cover">
414
+ </div>
415
+
416
+ <!-- START progress bar -->
417
+ {% if song_progress_bar %}
418
+ <progress
419
+ class="compact-player-progress amplitude-song-played-progress"
420
+ data-amplitude-playlist="{{player_playlist}}">
421
+ </progress>
422
+ <!-- END progress bar -->
423
+ {% endif %}
424
+ <!-- END COMPACT player TOP -->
425
+
426
+ <!-- START COMPACT player MIDDLE -->
427
+ <div class="compact-player-middle">
428
+ <!-- START controls container -->
429
+ <div id="compact_player_control_container">
430
+ <div id="compact_player_controls">
431
+
432
+ <div class="compact-player-controls-container">
433
+ {% if shuffle_button %}
434
+ <div
435
+ id="compact_player_shuffle"
436
+ class="amplitude-shuffle amplitude-shuffle-off"
437
+ data-amplitude-playlist="{{player_playlist}}">
438
+ </div>
439
+ {% endif %}
440
+ <div
441
+ id="compact_player_previous"
442
+ class="amplitude-prev"
443
+ data-amplitude-playlist="{{player_playlist}}">
444
+ </div>
445
+ {% if skip_forward_backward_button %}
446
+ <div
447
+ id="skip-backward_{{player_id}}"
448
+ class="compact-player-skip-backward">
449
+ </div>
450
+ {% endif %}
451
+ <div
452
+ id="compact_player_play_pause"
453
+ class="amplitude-play-pause amplitude-paused"
454
+ data-amplitude-playlist="{{player_playlist}}">
455
+ </div>
456
+ {% if skip_forward_backward_button %}
457
+ <div
458
+ id="skip-forward_{{player_id}}"
459
+ class="compact-player-skip-forward">
460
+ </div>
461
+ {% endif %}
462
+ <div
463
+ id="compact_player_next"
464
+ class="amplitude-next"
465
+ data-amplitude-playlist="{{player_playlist}}">
466
+ </div>
467
+ {% if repeat_button %}
468
+ <div
469
+ id="compact_player_repeat"
470
+ class="amplitude-repeat amplitude-repeat-off"
471
+ data-amplitude-playlist="{{player_playlist}}">
472
+ </div>
473
+ {% endif %}
474
+
475
+ <!-- START volume container -->
476
+ <!-- NOTE: slider VALUE is set by Adapter|Amplitude API -->
477
+ <div class="compact-player-volume-container">
478
+ {% if volume_slider %}
479
+ <div class="volume-controls">
480
+ <div class="amplitude-mute amplitude-not-muted"></div>
481
+ <input
482
+ id="volume_slider_{{player_id}}"
483
+ class="amplitude-volume-slider"
484
+ type="range"
485
+ min="{{volume_slider_min}}"
486
+ max="{{volume_slider_max}}"
487
+ step="{{volume_slider_step}}"
488
+ aria-label="Amplitude Volume Slider">
489
+ </div>
490
+ {% endif %}
491
+ </div>
492
+ <!-- END volume container -->
493
+ </div>
494
+
495
+ </div>
496
+ <!-- END controls container -->
497
+ </div>
498
+ </div>
499
+ <!-- END LARGE player left MIDDLE -->
500
+
501
+ <!-- START COMPACT player BOTTOM -->
502
+ <div class="player-bottom">
503
+ <!-- time container -->
504
+ <div class="time-container">
505
+ <span class="current-time">
506
+ {% if display_hours %}
507
+ <span
508
+ class="amplitude-current-hours"
509
+ data-amplitude-playlist="{{player_playlist}}">
510
+ </span>
511
+ :
512
+ {% endif %}
513
+ <span
514
+ class="amplitude-current-minutes"
515
+ data-amplitude-playlist="{{player_playlist}}">
516
+ </span>
517
+ :
518
+ <span
519
+ class="amplitude-current-seconds"
520
+ data-amplitude-playlist="{{player_playlist}}">
521
+ </span>
522
+ </span>
523
+ <span class="duration">
524
+ {% if display_hours %}
525
+ <span
526
+ class="amplitude-duration-hours"
527
+ data-amplitude-playlist="{{player_playlist}}">
528
+ </span>
529
+ :
530
+ {% endif %}
531
+ <span
532
+ class="amplitude-duration-minutes"
533
+ data-amplitude-playlist="{{player_playlist}}">
534
+ </span>
535
+ :
536
+ <span
537
+ class="amplitude-duration-seconds"
538
+ data-amplitude-playlist="{{player_playlist}}">
539
+ </span>
540
+ </span>
541
+ </div>
542
+ <!-- END time container -->
543
+
544
+ <!-- START meta container -->
545
+ <div class="meta-container compact-player">
546
+ <span
547
+ class="song-name"
548
+ data-amplitude-playlist="{{player_playlist}}"
549
+ data-amplitude-song-info="name">
550
+ </span>
551
+ <div class="audio-artist-album">
552
+ <span
553
+ data-amplitude-playlist="{{player_playlist}}"
554
+ data-amplitude-song-info="artist">
555
+ </span>
556
+ <span
557
+ data-amplitude-playlist="{{player_playlist}}"
558
+ data-amplitude-song-info="album">
559
+ </span>
560
+ </div>
561
+ </div>
562
+ <!-- END meta container -->
563
+ </div>
564
+ <!-- START COMPACT player BOTTOM -->
565
+
566
+ </div>
567
+ <!-- END compact player -->
568
+
569
+ </div> <!-- END compact player container -->
570
+ </div>
571
+ <!-- END create player instance on id: {{player_id}} -->
572
+ {% endif %}
573
+
574
+ {% comment %} END COMPACT player
575
+ ========================================================================== {% endcomment %}
576
+
577
+
578
+ {% comment %} LARGE player
579
+ player.source: {{source_media}}
580
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ {% endcomment %}
581
+ {% when 'large' %} {% if player_enabled %}
582
+
583
+ {% if player.source %}
584
+ {% assign source_media = player.source %}
585
+ {% endif %}
586
+
587
+ {% if player.source == 'video' %}
588
+ {% assign source_media_attribute = 'youtube' %}
589
+ {% else %}
590
+ {% assign source_media_attribute = 'audio' %}
591
+ {% endif %}
592
+
593
+ <!-- START create player instance on ID: {{player_id}} of type: {{player_type}} -->
594
+ {% capture large_player_left_side %}
595
+ <!-- START LARGE player left TOP -->
596
+ <div div class="player-left-top">
597
+
598
+ <span style="display: none;"
599
+ data-amplitude-source="{{source_media_attribute}}">
600
+ </span>
601
+
602
+ <div class="large-player-playlist-header">
603
+ <span class="audio-artist">
604
+ <span
605
+ data-amplitude-playlist="{{player_playlist}}"
606
+ data-amplitude-source="{{source_media_attribute}}"
607
+ data-amplitude-song-info="artist">
608
+ </span>
609
+ <span class="song-artist-album-delimiter">·</span>
610
+ <span
611
+ data-amplitude-playlist="{{player_playlist}}"
612
+ data-amplitude-source="{{source_media_attribute}}"
613
+ data-amplitude-song-info="album">
614
+ </span>
615
+ </span>
616
+ </div>
617
+
618
+ <!-- DEFAULT album cover image (replaced by AJS API based on playlist) -->
619
+ <img
620
+ src="/assets/audio/cover/default/placeholder-blue.jpg"
621
+ data-amplitude-playlist="{{player_playlist}}"
622
+ data-amplitude-source="{{source_media_attribute}}"
623
+ data-amplitude-song-info="cover_art_url"
624
+ alt="album cover"
625
+ >
626
+ <!-- START progress bar -->
627
+ {% if song_progress_bar %}
628
+ <progress
629
+ class="large-player-progress amplitude-song-played-progress"
630
+ data-amplitude-source="{{source_media_attribute}}"
631
+ data-amplitude-playlist="{{player_playlist}}">
632
+
633
+ </progress>
634
+ {% endif %}
635
+ <!-- END progress bar -->
636
+ </div>
637
+ <!-- END LARGE player left TOP -->
638
+
639
+ <!-- START LARGE player left MIDDLE -->
640
+ <div class="player-left-middle">
641
+ <!-- START controls container -->
642
+ <div id="large_player_control_container">
643
+ <div id="large_player_controls">
644
+
645
+ <div class="large-player-controls-container">
646
+ {% if shuffle_button %}
647
+ <div
648
+ id="large_player_shuffle"
649
+ class="amplitude-shuffle amplitude-shuffle-off"
650
+ data-amplitude-source="{{source_media_attribute}}"
651
+ data-amplitude-playlist="{{player_playlist}}">
652
+ </div>
653
+ {% endif %}
654
+ <div
655
+ id="large_player_previous"
656
+ class="amplitude-prev"
657
+ data-amplitude-source="{{source_media_attribute}}"
658
+ data-amplitude-playlist="{{player_playlist}}">
659
+ </div>
660
+ {% if skip_forward_backward_button %}
661
+ <div
662
+ id="skip-backward_{{player_id}}"
663
+ class="large-player-skip-backward">
664
+ </div>
665
+ {% endif %}
666
+ <div
667
+ id="large_player_play_pause"
668
+ class="amplitude-play-pause amplitude-paused"
669
+ data-amplitude-source="{{source_media_attribute}}"
670
+ data-amplitude-playlist="{{player_playlist}}">
671
+ </div>
672
+ {% if skip_forward_backward_button %}
673
+ <div
674
+ id="skip-forward_{{player_id}}"
675
+ class="large-player-skip-forward">
676
+ </div>
677
+ {% endif %}
678
+ <div
679
+ id="large_player_next"
680
+ class="amplitude-next"
681
+ data-amplitude-source="{{source_media_attribute}}"
682
+ data-amplitude-playlist="{{player_playlist}}">
683
+ </div>
684
+ {% if repeat_button %}
685
+ <div
686
+ id="large_player_repeat"
687
+ class="amplitude-repeat amplitude-repeat-off"
688
+ data-amplitude-source="{{source_media_attribute}}"
689
+ data-amplitude-playlist="{{player_playlist}}">
690
+ </div>
691
+ {% endif %}
692
+
693
+ <!-- START volume container -->
694
+ <!-- NOTE: slider VALUE is set by Adapter|Amplitude API -->
695
+ <div class="compact-player-volume-container">
696
+ {% if volume_slider %}
697
+ <div class="volume-controls">
698
+ <div class="amplitude-mute amplitude-not-muted"></div>
699
+ <input
700
+ id="volume_slider_{{player_id}}"
701
+ class="amplitude-volume-slider"
702
+ type="range"
703
+ min="{{volume_slider_min}}"
704
+ max="{{volume_slider_max}}"
705
+ step="{{volume_slider_step}}"
706
+ aria-label="Amplitude Volume Slider">
707
+ </div>
708
+ {% endif %}
709
+ </div>
710
+ <!-- END volume container -->
711
+ </div>
712
+ <!-- END large player controls container -->
713
+ </div>
714
+ <!-- END controls container -->
715
+ </div>
716
+ </div>
717
+ <!-- END LARGE player left MIDDLE -->
718
+
719
+ <!-- START LARGE player left BOTTOM -->
720
+ <!-- div class="player-left-bottom" -->
721
+ <div class="player-bottom">
722
+ <!-- time container -->
723
+ <div class="time-container">
724
+ <span class="current-time">
725
+ {% if display_hours %}
726
+ <span
727
+ class="amplitude-current-hours"
728
+ data-amplitude-source="{{source_media_attribute}}"
729
+ data-amplitude-playlist="{{player_playlist}}">
730
+ </span>
731
+ :
732
+ {% endif %}
733
+ <span
734
+ class="amplitude-current-minutes"
735
+ data-amplitude-source="{{source_media_attribute}}"
736
+ data-amplitude-playlist="{{player_playlist}}">
737
+ </span>
738
+ :
739
+ <span
740
+ class="amplitude-current-seconds"
741
+ data-amplitude-source="{{source_media_attribute}}"
742
+ data-amplitude-playlist="{{player_playlist}}">
743
+ </span>
744
+ </span>
745
+ <span class="duration">
746
+ {% if display_hours %}
747
+ <span
748
+ class="amplitude-duration-hours"
749
+ data-amplitude-source="{{source_media_attribute}}"
750
+ data-amplitude-playlist="{{player_playlist}}">
751
+ </span>
752
+ :
753
+ {% endif %}
754
+ <span
755
+ class="amplitude-duration-minutes"
756
+ data-amplitude-source="{{source_media_attribute}}"
757
+ data-amplitude-playlist="{{player_playlist}}">
758
+ </span>
759
+ :
760
+ <span
761
+ class="amplitude-duration-seconds"
762
+ data-amplitude-source="{{source_media_attribute}}"
763
+ data-amplitude-playlist="{{player_playlist}}">
764
+ </span>
765
+ </span>
766
+ </div>
767
+ <!-- END time container -->
768
+
769
+ <div class="meta-container large-player">
770
+ <span
771
+ class="song-name"
772
+ data-amplitude-source="{{source_media_attribute}}"
773
+ data-amplitude-playlist="{{player_playlist}}"
774
+ data-amplitude-song-info="name">
775
+ </span>
776
+ <div class="audio-artist-album">
777
+ <span
778
+ data-amplitude-source="{{source_media_attribute}}"
779
+ data-amplitude-playlist="{{player_playlist}}"
780
+ data-amplitude-song-info="artist">
781
+ </span>
782
+ <span
783
+ data-amplitude-source="{{source_media_attribute}}"
784
+ data-amplitude-playlist="{{player_playlist}}"
785
+ data-amplitude-song-info="album">
786
+ </span>
787
+ </div>
788
+ </div> <!-- END meta container -->
789
+ </div>
790
+ <!-- END LARGE player left BOTTOM -->
791
+ {% endcapture %}
792
+
793
+ <!-- START create player instance on ID: {{player_id}} of type: {{player_type}} -->
794
+ <div id="{{player_id}}" class="large-player">
795
+ <!-- START large player container -->
796
+ <!-- div class="large-player-container" -->
797
+ <div class="large-player-container">
798
+
799
+ <!-- Large Player|Left Side -->
800
+ <div id="large_player_left">
801
+ {{large_player_left_side}}
802
+ </div>
803
+ <!-- END Large Player|Left Side -->
804
+
805
+ <!-- Large Player|Right Side (playlist) -->
806
+ <div
807
+ id="large_player_right" class="hide-scrollbar"
808
+ data-amplitude-source="{{source_media_attribute}}"
809
+ data-amplitude-playlist="{{player_playlist}}">
810
+ <div
811
+ id="playlist_header_{{player_id}}"
812
+ class="large-player-playlist-header">Playlist
813
+ </div>
814
+
815
+ <!-- jadams, 2024-07-06: controls configurable in player -->
816
+ {% if playlist_controls %}
817
+ <div class="playlist-screen-controls large-player">
818
+ <div class="playlist-screen-meta-container">
819
+ <span class="song-name" data-amplitude-source="{{source_media_attribute}}" data-amplitude-playlist="{{player_playlist}}" data-amplitude-song-info="name"></span>
820
+ <div class="song-artist-album">
821
+ <span
822
+ data-amplitude-source="{{source_media_attribute}}"
823
+ data-amplitude-playlist="{{player_playlist}}"
824
+ data-amplitude-song-info="artist"
825
+ data-amplitude-song-index="0">
826
+ </span>
827
+ </div>
828
+ </div>
829
+ <div class="list-controls">
830
+ <div class="list-previous amplitude-prev" data-amplitude-source="{{source_media_attribute}}" data-amplitude-playlist="{{player_playlist}}"></div>
831
+ <div class="list-play-pause amplitude-play-pause" data-amplitude-source="{{source_media_attribute}}" data-amplitude-playlist="{{player_playlist}}"></div>
832
+ <div class="list-next amplitude-next" data-amplitude-source="{{source_media_attribute}}" data-amplitude-playlist="{{player_playlist}}"></div>
833
+ </div>
834
+ </div> <!-- END playlist controls -->
835
+ {% endif %}
836
+
837
+ <!-- START playlist items -->
838
+ <div id="large_player_title_list_{{player_playlist}}" class="large-player-title-list">
839
+ {% for item in playlist_items %}{% if item.enabled %}
840
+ <!-- START list item -->
841
+ <div
842
+ class="song amplitude-song-container amplitude-play-pause"
843
+ data-amplitude-song-index="{{forloop.index0}}"
844
+ data-amplitude-source="{{source_media_attribute}}"
845
+ data-amplitude-playlist="{{player_playlist}}">
846
+
847
+ <div
848
+ class="song-now-playing-icon-container"
849
+ data-amplitude-source="{{source_media_attribute}}"
850
+ data-amplitude-playlist="{{player_playlist}}">
851
+ <span class="title-number">{{forloop.index}}
852
+ <img class="now-playing" src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/now-playing.svg" alt="now-playing">
853
+ </span>
854
+ </div>
855
+
856
+ <div
857
+ class="audio-meta-data"
858
+ data-amplitude-playlist="{{player_playlist}}">
859
+ <span class="audio-title">{{item.title}}</span>
860
+ <span class="audio-artist">
861
+ <span>{{item.name}}</span>
862
+ <span class="song-artist-album-delimiter">·</span>
863
+ <span>{{item.artist}}</span>
864
+ </span>
865
+ </div>
866
+
867
+ <a href="{{item.audio_info}}" class="audio-info-link" target="_blank">
868
+ {% if player_audio_info %}
869
+ <img class="audio-info-blue" src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/audio-info-blue.svg" alt="audio-info" style="display: block">
870
+ <img class="audio-info-white" src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/audio-info-white.svg" alt="audio-info" style="display: none">
871
+ {% else %}
872
+ <img class="audio-info-blue" src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/audio-info-blue.svg" alt="audio-info" style="display: none">
873
+ <img class="audio-info-white" src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/audio-info-white.svg" alt="audio-info" style="display: none">
874
+ {% endif %}
875
+ </a>
876
+
877
+ <span class="audio-duration">{{item.duration}}</span>
878
+ </div>
879
+ <!-- END list item -->
880
+ {% endif %}{% endfor %}
881
+ </div>
882
+ <!-- EBD playlist items -->
883
+
884
+ </div> <!-- END Large Player|Right Side -->
885
+
886
+ </div> <!-- END Player -->
887
+ <!-- /div -->
888
+ <!-- END large player container -->
889
+ </div>
890
+ <!-- END create player instance on ID: {{player_id}} -->
891
+ {% endif %}
892
+
893
+ {% comment %} END LARGE player
894
+ ========================================================================== {% endcomment %}
895
+
896
+ {% comment %} Reset element variables (already processed)
897
+ -------------------------------------------------------------------------- {% endcomment %}
898
+ {% assign amplitude_settings = false %}
899
+ {% assign player_playlist = false %}
900
+ {% assign playlist_items = false %}
901
+
902
+ {% endcase %}
903
+
904
+ {% endif %} {% endfor %}
905
+
906
+ {% comment %} END create player instances
907
+ ============================================================================== {% endcomment %}
908
+ </body>
909
+
910
+ </html>
911
+ {%- endcapture -%}
912
+
913
+ {% comment %} beautify|compress page
914
+ -------------------------------------------------------------------------------- {% endcomment %}
915
+ {%- if production -%}
916
+ {% capture _LINE_FEED %}{% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment %}{{ cache | strip_html_comments }}{% else %}{% capture _content %}{{ cache | strip_html_comments }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd p rt rp optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _END %}</{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _END %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "<!-- -->" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "<pre" %}{% assign _content = "" %}{% for _pre_before in _pre_befores %}{% assign _pres = _pre_before | split: "</pre>" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "</pre>" %}<pre{{ _pres.first }}</pre>{% endif %}{% unless _pre_before contains "</pre>" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " <e;<e; </e>;</e>;</e> ;</e>" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %} <table id="compress_html_profile_{{ site.time | date: "%Y%m%d" }}" class="compress_html_profile"> <thead> <tr> <td>Step <td>Bytes <tbody> <tr> <td>raw <td>{{ cache | strip_html_comments | size }}{% if _profile_endings %} <tr> <td>endings <td>{{ _profile_endings }}{% endif %}{% if _profile_startings %} <tr> <td>startings <td>{{ _profile_startings }}{% endif %}{% if _profile_comments %} <tr> <td>comments <td>{{ _profile_comments }}{% endif %}{% if _profile_collapse %} <tr> <td>collapse <td>{{ _profile_collapse }}{% endif %}{% if _profile_clippings %} <tr> <td>clippings <td>{{ _profile_clippings }}{% endif %} </table>{% endif %}{% endif %}
917
+ {%- else -%}
918
+ {{ cache | remove:'<html><body>' | remove:'</body></html>' | strip_empty_lines }}
919
+ {%- endif -%}
920
+
921
+ {% comment %} reset page cache
922
+ -------------------------------------------------------------------------------- {% endcomment %}
923
+ {%- assign cache = false -%}