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,887 @@
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-song-info="artist">
607
+ </span>
608
+ <span class="song-artist-album-delimiter">·</span>
609
+ <span
610
+ data-amplitude-playlist="{{player_playlist}}"
611
+ data-amplitude-song-info="album">
612
+ </span>
613
+ </span>
614
+ </div>
615
+
616
+ <!-- DEFAULT album cover image (replaced by AJS API based on playlist) -->
617
+ <img
618
+ src="/assets/audio/cover/default/placeholder-blue.jpg"
619
+ data-amplitude-playlist="{{player_playlist}}"
620
+ data-amplitude-song-info="cover_art_url"
621
+ alt="album cover"
622
+ >
623
+ <!-- START progress bar -->
624
+ {% if song_progress_bar %}
625
+ <progress
626
+ class="large-player-progress amplitude-song-played-progress"
627
+ data-amplitude-playlist="{{player_playlist}}">
628
+ </progress>
629
+ {% endif %}
630
+ <!-- END progress bar -->
631
+ </div>
632
+ <!-- END LARGE player left TOP -->
633
+
634
+ <!-- START LARGE player left MIDDLE -->
635
+ <div class="player-left-middle">
636
+ <!-- START controls container -->
637
+ <div id="large_player_control_container">
638
+ <div id="large_player_controls">
639
+
640
+ <div class="large-player-controls-container">
641
+ {% if shuffle_button %}
642
+ <div
643
+ id="large_player_shuffle"
644
+ class="amplitude-shuffle amplitude-shuffle-off"
645
+ data-amplitude-playlist="{{player_playlist}}">
646
+ </div>
647
+ {% endif %}
648
+ <div
649
+ id="large_player_previous"
650
+ class="amplitude-prev"
651
+ data-amplitude-playlist="{{player_playlist}}">
652
+ </div>
653
+ {% if skip_forward_backward_button %}
654
+ <div
655
+ id="skip-backward_{{player_id}}"
656
+ class="large-player-skip-backward">
657
+ </div>
658
+ {% endif %}
659
+ <div
660
+ id="large_player_play_pause"
661
+ class="amplitude-play-pause amplitude-paused"
662
+ data-amplitude-playlist="{{player_playlist}}">
663
+ </div>
664
+ {% if skip_forward_backward_button %}
665
+ <div
666
+ id="skip-forward_{{player_id}}"
667
+ class="large-player-skip-forward">
668
+ </div>
669
+ {% endif %}
670
+ <div
671
+ id="large_player_next"
672
+ class="amplitude-next"
673
+ data-amplitude-playlist="{{player_playlist}}">
674
+ </div>
675
+ {% if repeat_button %}
676
+ <div
677
+ id="large_player_repeat"
678
+ class="amplitude-repeat amplitude-repeat-off"
679
+ data-amplitude-playlist="{{player_playlist}}">
680
+ </div>
681
+ {% endif %}
682
+
683
+ <!-- START volume container -->
684
+ <!-- NOTE: slider VALUE is set by Adapter|Amplitude API -->
685
+ <div class="compact-player-volume-container">
686
+ {% if volume_slider %}
687
+ <div class="volume-controls">
688
+ <div class="amplitude-mute amplitude-not-muted"></div>
689
+ <input
690
+ id="volume_slider_{{player_id}}"
691
+ class="amplitude-volume-slider"
692
+ type="range"
693
+ min="{{volume_slider_min}}"
694
+ max="{{volume_slider_max}}"
695
+ step="{{volume_slider_step}}"
696
+ aria-label="Amplitude Volume Slider">
697
+ </div>
698
+ {% endif %}
699
+ </div>
700
+ <!-- END volume container -->
701
+ </div>
702
+ <!-- END large player controls container -->
703
+ </div>
704
+ <!-- END controls container -->
705
+ </div>
706
+ </div>
707
+ <!-- END LARGE player left MIDDLE -->
708
+
709
+ <!-- START LARGE player left BOTTOM -->
710
+ <!-- div class="player-left-bottom" -->
711
+ <div class="player-bottom">
712
+ <!-- time container -->
713
+ <div class="time-container">
714
+ <span class="current-time">
715
+ {% if display_hours %}
716
+ <span
717
+ class="amplitude-current-hours"
718
+ data-amplitude-playlist="{{player_playlist}}">
719
+ </span>
720
+ :
721
+ {% endif %}
722
+ <span
723
+ class="amplitude-current-minutes"
724
+ data-amplitude-playlist="{{player_playlist}}">
725
+ </span>
726
+ :
727
+ <span
728
+ class="amplitude-current-seconds"
729
+ data-amplitude-playlist="{{player_playlist}}">
730
+ </span>
731
+ </span>
732
+ <span class="duration">
733
+ {% if display_hours %}
734
+ <span
735
+ class="amplitude-duration-hours"
736
+ data-amplitude-playlist="{{player_playlist}}">
737
+ </span>
738
+ :
739
+ {% endif %}
740
+ <span
741
+ class="amplitude-duration-minutes"
742
+ data-amplitude-playlist="{{player_playlist}}">
743
+ </span>
744
+ :
745
+ <span
746
+ class="amplitude-duration-seconds"
747
+ data-amplitude-playlist="{{player_playlist}}">
748
+ </span>
749
+ </span>
750
+ </div>
751
+ <!-- END time container -->
752
+
753
+ <div class="meta-container large-player">
754
+ <span
755
+ class="song-name"
756
+ data-amplitude-playlist="{{player_playlist}}"
757
+ data-amplitude-song-info="name">
758
+ </span>
759
+ <div class="audio-artist-album">
760
+ <span
761
+ data-amplitude-playlist="{{player_playlist}}"
762
+ data-amplitude-song-info="artist">
763
+ </span>
764
+ <span
765
+ data-amplitude-playlist="{{player_playlist}}"
766
+ data-amplitude-song-info="album">
767
+ </span>
768
+ </div>
769
+ </div> <!-- END meta container -->
770
+ </div>
771
+ <!-- END LARGE player left BOTTOM -->
772
+ {% endcapture %}
773
+
774
+ <!-- START create player instance on ID: {{player_id}} of type: {{player_type}} -->
775
+ <div id="{{player_id}}" class="large-player">
776
+ <!-- START large player container -->
777
+ <!-- div class="large-player-container" -->
778
+ <div class="large-player-container">
779
+
780
+ <!-- Large Player|Left Side -->
781
+ <div id="large_player_left">
782
+ {{large_player_left_side}}
783
+ </div>
784
+ <!-- END Large Player|Left Side -->
785
+
786
+ <!-- Large Player|Right Side (playlist) -->
787
+ <div id="large_player_right" class="hide-scrollbar" data-amplitude-playlist="{{player_playlist}}">
788
+ <div id="playlist_header_{{player_id}}" class="large-player-playlist-header">Playlist</div>
789
+
790
+ <!-- jadams, 2024-07-06: controls configurable in player -->
791
+ {% if playlist_controls %}
792
+ <div class="playlist-screen-controls large-player">
793
+ <div class="playlist-screen-meta-container">
794
+ <span class="song-name" data-amplitude-playlist="{{player_playlist}}" data-amplitude-song-info="name"></span>
795
+ <div class="song-artist-album">
796
+ <span data-amplitude-playlist="{{player_playlist}}" data-amplitude-song-info="artist" data-amplitude-song-index="0"></span>
797
+ </div>
798
+ </div>
799
+ <div class="list-controls">
800
+ <div class="list-previous amplitude-prev" data-amplitude-playlist="{{player_playlist}}"></div>
801
+ <div class="list-play-pause amplitude-play-pause" data-amplitude-playlist="{{player_playlist}}"></div>
802
+ <div class="list-next amplitude-next" data-amplitude-playlist="{{player_playlist}}"></div>
803
+ </div>
804
+ </div> <!-- END playlist controls -->
805
+ {% endif %}
806
+
807
+ <!-- START playlist items -->
808
+ <div id="large_player_title_list_{{player_playlist}}" class="large-player-title-list">
809
+ {% for item in playlist_items %}{% if item.enabled %}
810
+ <!-- START list item -->
811
+ <div
812
+ class="song amplitude-song-container amplitude-play-pause"
813
+ data-amplitude-song-index="{{forloop.index0}}"
814
+ data-amplitude-playlist="{{player_playlist}}">
815
+
816
+ <div class="song-now-playing-icon-container" data-amplitude-playlist="{{player_playlist}}">
817
+ <span class="title-number">{{forloop.index}}
818
+ <img class="now-playing" src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/now-playing.svg" alt="now-playing">
819
+ </span>
820
+ </div>
821
+
822
+ <div class="audio-meta-data" data-amplitude-playlist="{{player_playlist}}">
823
+ <span class="audio-title">{{item.title}}</span>
824
+ <span class="audio-artist">
825
+ <span>{{item.name}}</span>
826
+ <span class="song-artist-album-delimiter">·</span>
827
+ <span>{{item.artist}}</span>
828
+ </span>
829
+ </div>
830
+
831
+ <a href="{{item.audio_info}}" class="audio-info-link" target="_blank">
832
+ {% if player_audio_info %}
833
+ <img class="audio-info-blue" src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/audio-info-blue.svg" alt="audio-info" style="display: block">
834
+ <img class="audio-info-white" src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/audio-info-white.svg" alt="audio-info" style="display: none">
835
+ {% else %}
836
+ <img class="audio-info-blue" src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/audio-info-blue.svg" alt="audio-info" style="display: none">
837
+ <img class="audio-info-white" src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/audio-info-white.svg" alt="audio-info" style="display: none">
838
+ {% endif %}
839
+ </a>
840
+
841
+ <span class="audio-duration">{{item.duration}}</span>
842
+ </div>
843
+ <!-- END list item -->
844
+ {% endif %}{% endfor %}
845
+ </div>
846
+ <!-- EBD playlist items -->
847
+
848
+ </div> <!-- END Large Player|Right Side -->
849
+
850
+ </div> <!-- END Player -->
851
+ <!-- /div -->
852
+ <!-- END large player container -->
853
+ </div>
854
+ <!-- END create player instance on ID: {{player_id}} -->
855
+ {% endif %}
856
+
857
+ {% comment %} END LARGE player
858
+ ========================================================================== {% endcomment %}
859
+
860
+ {% comment %} Reset element variables (already processed)
861
+ -------------------------------------------------------------------------- {% endcomment %}
862
+ {% assign amplitude_settings = false %}
863
+ {% assign player_playlist = false %}
864
+ {% assign playlist_items = false %}
865
+
866
+ {% endcase %}
867
+
868
+ {% endif %} {% endfor %}
869
+
870
+ {% comment %} END create player instances
871
+ ============================================================================== {% endcomment %}
872
+ </body>
873
+
874
+ </html>
875
+ {%- endcapture -%}
876
+
877
+ {% comment %} beautify|compress page
878
+ -------------------------------------------------------------------------------- {% endcomment %}
879
+ {%- if production -%}
880
+ {% 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 %}
881
+ {%- else -%}
882
+ {{ cache | remove:'<html><body>' | remove:'</body></html>' | strip_empty_lines }}
883
+ {%- endif -%}
884
+
885
+ {% comment %} reset page cache
886
+ -------------------------------------------------------------------------------- {% endcomment %}
887
+ {%- assign cache = false -%}