j1-template 2024.3.24 → 2024.3.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. checksums.yaml +4 -4
  2. data/assets/data/apps/amplitudehtml +1147 -0
  3. data/assets/data/apps/gallery.html +342 -0
  4. data/assets/data/{masonry.html → apps/masonry.html} +22 -9
  5. data/assets/data/apps/swiper.html +901 -0
  6. data/assets/data/masonry_app.html +521 -0
  7. data/assets/theme/j1/modules/lightGallery/css/theme/uno/uno.css +21 -13
  8. data/assets/theme/j1/modules/lightGallery/css/theme/uno/uno.min.css +1 -2
  9. data/assets/theme/j1/modules/lightGallery/js/lightgallery.js +14 -13
  10. data/assets/theme/j1/modules/lightGallery/js/lightgallery.min.js +1 -1
  11. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.js +265 -226
  12. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.min.js +1 -1
  13. data/assets/theme/j1/modules/videojs/css/themes/uno.css +12 -2
  14. data/assets/theme/j1/modules/videojs/css/videojs.css +2 -3
  15. data/assets/theme/j1/modules/videojs/css/videojs.min.css +1 -1
  16. data/assets/theme/j1/modules/videojs/plugins/controls/zoom/css/zoom.css +55 -55
  17. data/assets/theme/j1/modules/videojs/plugins/controls/zoom/css/zoom.min.css +2 -1
  18. data/assets/theme/j1/modules/videojs/plugins/controls/zoom/js/zoom.js +590 -382
  19. data/assets/theme/j1/modules/videojs/plugins/controls/zoom/js/zoom.min.js +1 -1
  20. data/assets/theme/j1/modules/videojs/plugins/j1_core/template.min.js +31 -0
  21. data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/{simple.html → index.html} +11 -10
  22. data/assets/theme/j1/modules/videojs/plugins/players/dm/js/dailymotion.0.js +647 -0
  23. data/assets/theme/j1/modules/videojs/plugins/players/dm/js/dailymotion.1.js +653 -0
  24. data/assets/theme/j1/modules/videojs/plugins/players/vm/!examples/{player → iframe_api}/index.html +3 -3
  25. data/assets/theme/j1/modules/videojs/plugins/players/vm/!examples/{index.html → videojs_api/index.html} +7 -3
  26. data/assets/theme/j1/modules/videojs/plugins/players/vm/api/js/v2.21.0/vimeo.js +3562 -0
  27. data/assets/theme/j1/modules/videojs/plugins/players/vm/api/js/v2.21.0/vimeo.min.js +36 -0
  28. data/assets/theme/j1/modules/videojs/plugins/players/vm/api/js/vimeo.js +451 -1849
  29. data/assets/theme/j1/modules/videojs/plugins/players/vm/api/js/vimeo.min.js +2 -14
  30. data/assets/theme/j1/modules/videojs/plugins/players/vm/js/LICENSE +21 -0
  31. data/assets/theme/j1/modules/videojs/plugins/players/vm/js/README.md +54 -0
  32. data/assets/theme/j1/modules/videojs/plugins/players/vm/js/old/vimeo.js +666 -0
  33. data/assets/theme/j1/modules/videojs/plugins/players/vm/js/old/vimeo.min.js +28 -0
  34. data/assets/theme/j1/modules/videojs/plugins/players/vm/js/vimeo.js +2318 -548
  35. data/assets/theme/j1/modules/videojs/plugins/players/vm/js/vimeo.min.js +12 -18
  36. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/{simple.html → index.html} +15 -6
  37. data/assets/theme/j1/modules/videojs/plugins/players/yt/js/youtube.js +12 -5
  38. data/assets/theme/j1/modules/videojs/plugins/players/yt/js/youtube.min.js +1 -1
  39. data/lib/j1/version.rb +1 -1
  40. data/lib/starter_web/Gemfile +1 -1
  41. data/lib/starter_web/README.md +5 -5
  42. data/lib/starter_web/_config.yml +2 -2
  43. data/lib/starter_web/_data/blocks/banner.yml +1 -1
  44. data/lib/starter_web/_data/j1_config.yml +1 -1
  45. data/lib/starter_web/_data/layouts/home.yml +1 -1
  46. data/lib/starter_web/_data/modules/authentication.yml +1 -2
  47. data/lib/starter_web/_data/modules/defaults/masonry.yml +1 -1
  48. data/lib/starter_web/_data/modules/gallery.yml +35 -24
  49. data/lib/starter_web/_data/modules/log4javascript.yml +1 -1
  50. data/lib/starter_web/_data/modules/masonry.yml +30 -14
  51. data/lib/starter_web/_data/modules/navigator.yml +1 -1
  52. data/lib/starter_web/_data/modules/navigator_menu.yml +12 -8
  53. data/lib/starter_web/_data/templates/feed.xml +1 -1
  54. data/lib/starter_web/_plugins/asciidoctor/dailymotion-block.rb +206 -24
  55. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  56. data/lib/starter_web/assets/image/module/attic/1920x1280/admin-dashboard-bootstrap.jpg +0 -0
  57. data/lib/starter_web/assets/image/module/attic/1920x1280/alexander-redl.jpg +0 -0
  58. data/lib/starter_web/assets/image/module/attic/1920x1280/alexander-shatov.jpg +0 -0
  59. data/lib/starter_web/assets/image/module/attic/1920x1280/alexey-ruban.jpg +0 -0
  60. data/lib/starter_web/assets/image/module/attic/1920x1280/andrea-badino.jpg +0 -0
  61. data/lib/starter_web/assets/image/module/attic/1920x1280/bootstrap-modal.jpg +0 -0
  62. data/lib/starter_web/assets/image/module/attic/1920x1280/bp-miller.jpg +0 -0
  63. data/lib/starter_web/assets/image/module/attic/1920x1280/brad-neathery.jpg +0 -0
  64. data/lib/starter_web/assets/image/module/attic/1920x1280/brigitta-schneiter.jpg +0 -0
  65. data/lib/starter_web/assets/image/module/attic/1920x1280/build-with-gemini.jpg +0 -0
  66. data/lib/starter_web/assets/image/module/attic/1920x1280/clem-onojeghuo.jpg +0 -0
  67. data/lib/starter_web/assets/image/module/attic/1920x1280/eleni-afiontzi.jpg +0 -0
  68. data/lib/starter_web/assets/image/module/attic/1920x1280/fly-d.jpg +0 -0
  69. data/lib/starter_web/assets/image/module/attic/1920x1280/guillaume-bolduc.jpg +0 -0
  70. data/lib/starter_web/assets/image/module/attic/1920x1280/ideas-start-here-1920x1280.jpg +0 -0
  71. data/lib/starter_web/assets/image/module/attic/1920x1280/isaac-davis.jpg +0 -0
  72. data/lib/starter_web/assets/image/module/attic/1920x1280/j1-launch.jpg +0 -0
  73. data/lib/starter_web/assets/image/module/attic/1920x1280/j1-mockup.jpg +0 -0
  74. data/lib/starter_web/assets/image/module/attic/1920x1280/john-schnobrich-2.jpg +0 -0
  75. data/lib/starter_web/assets/image/module/attic/1920x1280/josep-martins.jpg +0 -0
  76. data/lib/starter_web/assets/image/module/attic/1920x1280/josh-liu.jpg +0 -0
  77. data/lib/starter_web/assets/image/module/attic/1920x1280/kelly-sikkemal.jpg +0 -0
  78. data/lib/starter_web/assets/image/module/attic/1920x1280/kira-auf-der-heide.jpg +0 -0
  79. data/lib/starter_web/assets/image/module/attic/1920x1280/kristopher-roller.jpg +0 -0
  80. data/lib/starter_web/assets/image/module/attic/1920x1280/markus-spiske.jpg +0 -0
  81. data/lib/starter_web/assets/image/module/attic/1920x1280/martin-sanchez.jpg +0 -0
  82. data/lib/starter_web/assets/image/module/attic/1920x1280/material_symbols.jpg +0 -0
  83. data/lib/starter_web/assets/image/module/attic/1920x1280/matthaeus.jpg +0 -0
  84. data/lib/starter_web/assets/image/module/attic/1920x1280/melanie-deziel.jpg +0 -0
  85. data/lib/starter_web/assets/image/module/attic/1920x1280/nasa.jpg +0 -0
  86. data/lib/starter_web/assets/image/module/attic/1920x1280/quino-al-2.jpg +0 -0
  87. data/lib/starter_web/assets/image/module/attic/1920x1280/stories-ink-tattoo-care.jpg +0 -0
  88. data/lib/starter_web/assets/image/module/attic/1920x1280/towfiqu-barbhuiya.jpg +0 -0
  89. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +1 -1
  90. data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +2 -2
  91. data/lib/starter_web/collections/posts/public/featured/_posts/2023-10-18-url-types.adoc +2 -2
  92. data/lib/starter_web/config.ru +1 -1
  93. data/lib/starter_web/dot.gitattributes +1 -1
  94. data/lib/starter_web/index.html +8 -8
  95. data/lib/starter_web/package.json +1 -1
  96. data/lib/starter_web/pages/public/about/features.adoc +5 -5
  97. data/lib/starter_web/pages/public/about/reporting_issues.adoc +5 -5
  98. data/lib/starter_web/pages/public/about/site.adoc +14 -10
  99. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/000_intro.adoc +1 -1
  100. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/100_converter.adoc +1 -1
  101. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/200_themes.adoc +1 -1
  102. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +1 -1
  103. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +1 -1
  104. data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +1 -1
  105. data/lib/starter_web/pages/public/blog/navigator/archive/allview.html +1 -1
  106. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +1 -1
  107. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +1 -1
  108. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +1 -1
  109. data/lib/starter_web/pages/public/blog/navigator/index.html +1 -1
  110. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_biography.adoc +1 -1
  111. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_fantasy.adoc +1 -1
  112. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_romance.adoc +1 -1
  113. data/lib/starter_web/pages/public/learn/bookshelf/jekyll_collections.adoc +1 -1
  114. data/lib/starter_web/pages/public/learn/bookshelf/viewer_all_books.adoc +1 -1
  115. data/lib/starter_web/pages/public/learn/where_to_go.adoc +1 -1
  116. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +3 -3
  117. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +3 -3
  118. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +3 -3
  119. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +3 -3
  120. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +1 -4
  121. data/lib/starter_web/pages/public/plans/plans.adoc +1 -1
  122. data/lib/starter_web/pages/public/tools/previewer/preview_bootstrap_theme.adoc +1 -1
  123. data/lib/starter_web/pages/public/tools/tester/videojs_macro_tester.adoc +116 -43
  124. data/lib/starter_web/pages/public/tour/_includes/documents/419_advanced_modals_demo.asciidoc +1 -1
  125. data/lib/starter_web/pages/public/tour/video_data.adoc +28 -22
  126. metadata +25 -49
  127. data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/dailymotion-controls.html +0 -18
  128. data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/dailymotion-javascript.html +0 -28
  129. data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/dailymotion-playlist.html +0 -19
  130. data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/global-parameters.html +0 -30
  131. data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/switch.html +0 -39
  132. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/global-parameters.html +0 -34
  133. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/switch.html +0 -39
  134. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/youtube-controls.html +0 -20
  135. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/youtube-javascript.html +0 -29
  136. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/youtube-list.html +0 -21
  137. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/youtube-playlist.html +0 -21
  138. data/lib/starter_web/assets/image/module/attic/1920x1280/j1-content-mockup-2.jpg +0 -0
  139. data/lib/starter_web/assets/image/module/attic/1920x1280/j1-content-mockup-3.jpg +0 -0
  140. data/lib/starter_web/assets/image/module/attic/1920x1280/j1-starter-mockup-1.jpg +0 -0
  141. data/lib/starter_web/assets/image/module/attic/admin-dashboard-bootstrap-1280x600.jpg +0 -0
  142. data/lib/starter_web/assets/image/module/attic/alice-donovan-rouse-2.jpg +0 -0
  143. data/lib/starter_web/assets/image/module/attic/building-blocks-1920x1280.jpg +0 -0
  144. data/lib/starter_web/assets/image/module/attic/christina-1920x1280.jpg +0 -0
  145. data/lib/starter_web/assets/image/module/attic/franck-1920x1280.jpg +0 -0
  146. data/lib/starter_web/assets/image/module/attic/giammarco-boscaro-1920x1280.jpg +0 -0
  147. data/lib/starter_web/assets/image/module/attic/jessica-ruscello-1920x1280.jpg +0 -0
  148. data/lib/starter_web/assets/image/module/attic/joanna-kosinska-1920x1280.jpg +0 -0
  149. data/lib/starter_web/assets/image/module/attic/leon-1920x1280.jpg +0 -0
  150. data/lib/starter_web/assets/image/module/attic/lianhao-1920x1280.jpg +0 -0
  151. data/lib/starter_web/assets/image/module/attic/library-1920x1280.jpg +0 -0
  152. data/lib/starter_web/assets/image/module/attic/markus-krisetya-1920x1280.jpg +0 -0
  153. data/lib/starter_web/assets/image/module/attic/markus-spiske-1920x1280.jpg +0 -0
  154. data/lib/starter_web/assets/image/module/attic/markus-spiske4-1920x1280.jpg +0 -0
  155. data/lib/starter_web/assets/image/module/attic/matthaeus-1920x1280.jpg +0 -0
  156. data/lib/starter_web/assets/image/module/attic/matthew-dockery-1920x1280.jpg +0 -0
  157. data/lib/starter_web/assets/image/module/attic/no-time-1920x1280.jpg +0 -0
  158. data/lib/starter_web/assets/image/module/attic/rirri-1920x1280.jpg +0 -0
  159. data/lib/starter_web/assets/image/module/attic/shubham-dhage-1920x1280.jpg +0 -0
  160. data/lib/starter_web/assets/image/module/attic/shutterstock_sponsor-1920x1280.jpg +0 -0
  161. data/lib/starter_web/assets/image/module/attic/sigmund-1920x1280.jpg +0 -0
  162. data/lib/starter_web/assets/image/module/attic/szabo-viktor-1920x1280.jpg +0 -0
  163. data/lib/starter_web/assets/image/module/attic/themes-1920x1280-bw.jpg +0 -0
  164. data/lib/starter_web/assets/image/module/attic/tldr-1920x800.jpg +0 -0
  165. data/lib/starter_web/assets/image/module/attic/vladislav-klapin-1920x1280.jpg +0 -0
  166. data/lib/starter_web/assets/image/module/attic/yellow-cactus-1920x1280.jpg +0 -0
  167. /data/assets/theme/j1/modules/videojs/plugins/players/vm/{LICENSE → js/old/LICENSE} +0 -0
  168. /data/assets/theme/j1/modules/videojs/plugins/players/vm/{README.md → js/old/README.md} +0 -0
@@ -0,0 +1,1147 @@
1
+ ---
2
+ regenerate: true
3
+ exclude_from_search: true
4
+ ---
5
+
6
+ {%- capture cache -%}
7
+
8
+ {% comment %}
9
+ # -----------------------------------------------------------------------------
10
+ # ~/assets/data/amplitude.html
11
+ # Generate the HTML portion for all J1 Amplitude Apps (Player)
12
+ #
13
+ # Product/Info:
14
+ # https://jekyll.one
15
+ #
16
+ # Copyright (C) 2023-2025 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
+ -------------------------------------------------------------------------------- {% endcomment %}
39
+ {% assign environment = site.environment %}
40
+
41
+ {% assign amplitude_defaults = modules.defaults.amplitude.defaults %}
42
+ {% assign amplitude_players = modules.amplitude_app.settings %}
43
+ {% assign amplitude_playlists = modules.amplitude_playlists.settings %}
44
+
45
+ {% comment %} set config options
46
+ -------------------------------------------------------------------------------- {% endcomment %}
47
+ {% assign amplitude_options = amplitude_defaults | merge: amplitude_players %}
48
+ {% assign amplitude_options = amplitude_options | merge: amplitude_playlists %}
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
+ {% assign image_rating_path = '/assets/image/pattern/rating/scalable' %}
65
+
66
+ {% comment %} main
67
+ ================================================================================ {% endcomment %}
68
+ <!DOCTYPE {{site.doctype}}>
69
+ <html lang="{{site.language}}">
70
+
71
+ <head>
72
+ <title>HTML portion (UI) for AmplitudeJS v4 Players</title>
73
+ <!-- [INFO ] [~/assets/data/amplitude.html ] [ set meta data (robots) to exclude HTML datafiles from index ] -->
74
+ <meta name="robots" content="noindex, nofollow">
75
+ <meta name="amplitude" content="module data file">
76
+ </head>
77
+
78
+ <body>
79
+ {% comment %} create player instances
80
+ player.volume_slider: {{player.volume_slider | debug}}
81
+ amplitude_defaults.volume_slider: {{amplitude_defaults.player.volume_slider | debug}}
82
+ volume_slider: {{volume_slider}}
83
+ ============================================================================== {% endcomment %}
84
+
85
+ {% for player in amplitude_options.players %} {% if player.enabled %}
86
+
87
+ {% comment %} player default settings
88
+ ---------------------------------------------------------------------------- {% endcomment %}
89
+ {% assign source_media = amplitude_defaults.player.source %}
90
+ {% assign song_progress_bar = amplitude_defaults.player.song_progress_bar %}
91
+ {% assign audio_rating = amplitude_defaults.player.audio_rating %}
92
+ {% assign display_hours = amplitude_defaults.player.display_hours %}
93
+ {% assign volume_slider = amplitude_defaults.player.volume_slider.enabled %}
94
+ {% assign volume_slider_min = amplitude_defaults.player.volume_slider.min_value %}
95
+ {% assign volume_slider_max = amplitude_defaults.player.volume_slider.max_value %}
96
+ {% assign volume_slider_step = amplitude_defaults.player.volume_slider.slider_step %}
97
+ {% assign repeat_button = amplitude_defaults.player.repeat_button %}
98
+ {% assign shuffle_button = amplitude_defaults.player.shuffle_button %}
99
+ {% assign skip_forward_backward_button = amplitude_defaults.player.skip_forward_backward_button %}
100
+ {% assign playlist_controls = amplitude_defaults.player.playlist.controls %}
101
+ {% assign playlist_audio_info = amplitude_defaults.player.playlist.audio_info %}
102
+ {% assign playlist_audio_rating = amplitude_defaults.player.playlist.audio_rating %}
103
+
104
+ {% comment %} player settings
105
+ ---------------------------------------------------------------------------- {% endcomment %}
106
+ {% assign player_enabled = player.enabled %}
107
+ {% assign player_id = player.id %}
108
+ {% assign player_playlist = player.playlist.name | strip %}
109
+
110
+ {% if player.type %}
111
+ {% assign player_type = player.type %}
112
+ {% endif %}
113
+
114
+ {% if player.playlist.controls %}
115
+ {% assign playlist_controls = player.playlist.controls %}
116
+ {% else %}
117
+ {% assign playlist_controls = playlist_controls %}
118
+ {% endif %}
119
+
120
+ {% if player.song_progress_bar %}
121
+ {% assign song_progress_bar = player.song_progress_bar %}
122
+ {% endif %}
123
+
124
+ {% comment %} NOTE: slider VALUE is set by Adapter|Amplitude API (volume)
125
+ ---------------------------------------------------------------------------- {% endcomment %}
126
+ {% if player.volume_slider %}
127
+ {% assign volume_slider = player.volume_slider.enabled %}
128
+ {% assign volume_slider_min = amplitude_defaults.player.volume_slider.min_value %}
129
+ {% assign volume_slider_max = amplitude_defaults.player.volume_slider.max_value %}
130
+ {% assign volume_slider_step = amplitude_defaults.player.volume_slider.slider_step %}
131
+ {% endif %}
132
+
133
+ {% if player.shuffle_button %}
134
+ {% assign shuffle_button = player.shuffle_button %}
135
+ {% endif %}
136
+
137
+ {% if player.repeat_button %}
138
+ {% assign repeat_button = player.repeat_button %}
139
+ {% endif %}
140
+
141
+ {% if player.skip_forward_backward_button %}
142
+ {% assign skip_forward_backward_button = player.skip_forward_backward_button %}
143
+ {% endif %}
144
+
145
+ {% if player.display_hours %}
146
+ {% assign display_hours = player.display_hours %}
147
+ {% endif %}
148
+
149
+ {% if player.playlist.audio_info %}
150
+ {% assign player_audio_info_enabled = player.playlist.audio_info %}
151
+ {% else %}
152
+ {% assign player_audio_info_enabled = playlist_audio_info %}
153
+ {% endif %}
154
+
155
+ {% if player.playlist.audio_rating %}
156
+ {% assign player_audio_rating_enabled = player.playlist.audio_rating %}
157
+ {% else %}
158
+ {% assign player_audio_rating_enabled = playlist_audio_rating %}
159
+ {% endif %}
160
+
161
+
162
+ {% comment %} unused
163
+ ----------------------------------------------------------------------------
164
+ {% unless player.playlist.scrollbar %}
165
+ {% assign player_scrollbar_class = 'hide-scrollbar' %}
166
+ {% else %}
167
+ {% unless amplitude_defaults.player.playlist.scrollbar %}
168
+ {% assign player_scrollbar_class = 'hide-scrollbar' %}
169
+ {% else %}
170
+ {% assign player_scrollbar_class = '' %}
171
+ {% endunless %}
172
+ {% endunless %}
173
+ ---------------------------------------------------------------------------- {% endcomment %}
174
+
175
+
176
+ {% comment %} collect playlist items
177
+ ---------------------------------------------------------------------------- {% endcomment %}
178
+ <!-- START collect playlist items for player on ID: {{player_id}} -->
179
+ {% for playlist in amplitude_options.playlists %} {% if playlist.enabled %}
180
+ {% assign playlist_name = playlist.name | strip %}
181
+
182
+ {% if playlist_name == player_playlist %}
183
+ <!-- Playlist collected: {{player_playlist}} -->
184
+ {% assign playlist_items = playlist.items %}
185
+ {% break %}
186
+ {% else %}
187
+ {% continue %}
188
+ {% endif %}
189
+ {% endif %} {% endfor %}
190
+ <!-- END collect playlist items -->
191
+
192
+
193
+ {% comment %} collect player instances
194
+ ============================================================================ {% endcomment %}
195
+ {% case player_type %}
196
+
197
+ {% comment %} MINI player
198
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ {% endcomment %}
199
+ {% when 'mini' %} {% if player_enabled %}
200
+ <!-- START create player instance on ID: {{player_id}} of type: {{player_type}} -->
201
+ <div id="{{player_id}}" class="mini-player">
202
+
203
+ <!-- START mini player container -->
204
+ <div class="mini-player-container">
205
+
206
+ <!-- START progress bar -->
207
+ {% if song_progress_bar %}
208
+ <progress
209
+ class="mini-player-progress amplitude-song-played-progress"
210
+ data-amplitude-playlist="{{player_playlist}}">
211
+ </progress>
212
+ {% endif %}
213
+ <!-- END progress bar -->
214
+
215
+ <!-- START time container -->
216
+ <div class="time-container">
217
+ <span class="current-time">
218
+ {% if display_hours %}
219
+ <span
220
+ class="amplitude-current-hours"
221
+ data-amplitude-playlist="{{player_playlist}}">
222
+ </span>
223
+ :
224
+ {% endif %}
225
+ <span
226
+ class="amplitude-current-minutes"
227
+ data-amplitude-playlist="{{player_playlist}}">
228
+ </span>
229
+ :
230
+ <span
231
+ class="amplitude-current-seconds"
232
+ data-amplitude-playlist="{{player_playlist}}">
233
+ </span>
234
+ </span>
235
+ <span class="duration">
236
+ {% if display_hours %}
237
+ <span
238
+ class="amplitude-duration-hours"
239
+ data-amplitude-playlist="{{player_playlist}}">
240
+ </span>
241
+ :
242
+ {% endif %}
243
+ <span
244
+ class="amplitude-duration-minutes"
245
+ data-amplitude-playlist="{{player_playlist}}">
246
+ </span>
247
+ :
248
+ <span
249
+ class="amplitude-duration-seconds"
250
+ data-amplitude-playlist="{{player_playlist}}">
251
+ </span>
252
+ </span>
253
+ </div>
254
+ <!-- END time container -->
255
+
256
+ <!-- START control container -->
257
+ <div class="mini-player control-container">
258
+ <div
259
+ id="mini_player_previous"
260
+ class="amplitude-prev"
261
+ data-amplitude-playlist="{{player_playlist}}"
262
+ data-amplitude-source="audio">
263
+ </div>
264
+ <div
265
+ id="mini_player_play_pause_{{player_id}}"
266
+ class="mini-player-play-pause amplitude-play-pause amplitude-paused"
267
+ data-amplitude-playlist="{{player_playlist}}"
268
+ data-amplitude-source="audio">
269
+ </div>
270
+ <div
271
+ id="mini_player_next"
272
+ class="amplitude-next"
273
+ data-amplitude-playlist="{{player_playlist}}"
274
+ data-amplitude-source="audio">
275
+ </div>
276
+ </div>
277
+ <!-- END control container -->
278
+
279
+ <!-- START meta (data) container -->
280
+ <div class="mini-player meta-container">
281
+ <span
282
+ class="song-name"
283
+ data-amplitude-playlist="{{player_playlist}}"
284
+ data-amplitude-song-info="name">
285
+ </span>
286
+ <div class="audio-artist-album">
287
+ <span
288
+ class="artist"
289
+ data-amplitude-playlist="{{player_playlist}}"
290
+ data-amplitude-song-info="artist">
291
+ </span>
292
+ <span
293
+ class="album"
294
+ data-amplitude-playlist="{{player_playlist}}"
295
+ data-amplitude-song-info="album">
296
+ </span>
297
+ </div>
298
+ </div> <!-- END meta container -->
299
+
300
+ <!-- START volume container -->
301
+ <div class="mini-player volume-container">
302
+ {% if volume_slider %}
303
+ <img src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/volume.svg" alt="Volume Icon">
304
+ <input
305
+ id="volume_slider_{{player_id}}"
306
+ class="mini-player amplitude-volume-slider"
307
+ data-amplitude-source="{{source_media_attribute}}"
308
+ data-amplitude-playlist="{{player_playlist}}"
309
+ type="range"
310
+ min="{{volume_slider_min}}"
311
+ max="{{volume_slider_max}}"
312
+ step="{{volume_slider_step}}"
313
+ aria-label="Amplitude Volume Slider">
314
+ {% endif %}
315
+ </div>
316
+ <!-- END volume container -->
317
+
318
+ </div>
319
+ <!-- END mini-player container -->
320
+
321
+ </div>
322
+ <!-- END create player instance on ID: {{player_id}} -->
323
+ {% endif %}
324
+
325
+ {% comment %} END MINI player
326
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ {% endcomment %}
327
+
328
+
329
+ {% comment %} COMPACT player
330
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ {% endcomment %}
331
+ {% when 'compact' %} {% if player_enabled %}
332
+ <!-- START create player instance on ID: {{player_id}} of type: {{player_type}} -->
333
+ <div id="{{player_id}}" class="compact-player">
334
+ <div class="compact-player-container">
335
+
336
+ <div id="playlist_screen_{{player_id}}" class="compact-player-playlist slide-in-top">
337
+
338
+ <div id="hide_playlist_{{player_id}}" class="compact-player-header hide-playlist">
339
+ <img class="compact-player-header-arrows" src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/playlist-hide.svg" alt="Hide Playlist">
340
+ Playlist
341
+ </div>
342
+ <!-- END playlist-screen header (toggle playlist) -->
343
+
344
+ <div class="playlist-screen-controls screen-controls-compact-player">
345
+ <div class="playlist-screen-meta-container">
346
+ <span
347
+ class="song-name" data-amplitude-playlist="{{player_playlist}}"
348
+ data-amplitude-source="{{source_media_attribute}}"
349
+ data-amplitude-song-info="name">
350
+ </span>
351
+
352
+ <!-- START player_audio_info (COMPACT player) -->
353
+ {% for item in playlist_items %}{% if item.enabled %}
354
+
355
+ <!-- place initial (first) info URL -->
356
+ {% if playlist_audio_info and forloop.first %}
357
+ <span class="amplitude-audio-info">
358
+ <a
359
+ class="audio-info-link-{{player_playlist}} audio-info-link-screen-controls"
360
+ data-amplitude-playlist="{{player_playlist}}"
361
+ href="{{item.audio_info}}" target="_blank">
362
+ <i class="mdib mdib-information md-gray-400 mdib-24px"></i>
363
+ </a>
364
+ </span>
365
+ {% else %}
366
+ {% break %}
367
+ {% endif %}
368
+
369
+ <!-- place initial (first) audio rating for screen controls -->
370
+ {% if playlist_audio_rating and forloop.first %}
371
+ {% capture rating_image %}{{image_rating_path}}/{{item.rating}}-star.svg{% endcapture %}
372
+ <span
373
+ class="audio-rating audio-rating-screen-controls"
374
+ data-amplitude-playlist="{{player_playlist}}"
375
+ data-player-type="compact">
376
+ <img src="{{rating_image}}" alt="song rating">
377
+ </span>
378
+ {% else %}
379
+ {% break %}
380
+ {% endif %}
381
+
382
+ {% endif %}{% endfor %}
383
+ <!-- END place place initial audio_info|audio_rating (COMPACT player) -->
384
+
385
+ <div class="song-artist-album">
386
+ <span
387
+ class="artist audio-rating-screen-controls"
388
+ data-amplitude-source="{{source_media_attribute}}"
389
+ data-amplitude-playlist="{{player_playlist}}"
390
+ data-amplitude-song-info="artist">
391
+ </span>
392
+ <!--span class="song-artist-album-delimiter">·</span>
393
+ <span
394
+ data-amplitude-source="audio"
395
+ data-amplitude-playlist="{{player_playlist}}"
396
+ data-amplitude-song-info="album">
397
+ </span -->
398
+ </div>
399
+ </div>
400
+ {% if playlist_controls %}
401
+ <div class="compact-player-list-controls list-controls">
402
+ <div
403
+ id="compact_player_list_previous_{{player_id}}"
404
+ class="compact-player-previous list-previous amplitude-prev"
405
+ data-amplitude-source="{{source_media_attribute}}"
406
+ data-amplitude-playlist="{{player_playlist}}">
407
+ </div>
408
+ <div
409
+ id="compact_player_list_play_pause_{{player_id}}"
410
+ class="compact-player-play-pause amplitude-play-pause amplitude-paused"
411
+ data-amplitude-source="{{source_media_attribute}}"
412
+ data-amplitude-playlist="{{player_playlist}}">
413
+ </div>
414
+ <div
415
+ id="compact_player_list_next_{{player_id}}"
416
+ class="compact-player-next list-next amplitude-next"
417
+ data-amplitude-source="{{source_media_attribute}}"
418
+ data-amplitude-playlist="{{player_playlist}}">
419
+ </div>
420
+ </div>
421
+ {% endif %}
422
+ </div> <!-- END playlist controls -->
423
+
424
+ <!-- START playlist items (COMPACT player )-->
425
+ <ul
426
+ id="compact_player_title_list_{{player_playlist}}"
427
+ class="compact-player-title-list player-title-list playlist-scroller-gradient">
428
+ {% for item in playlist_items %}{% if item.enabled %}
429
+ <li>
430
+ <!-- START list item -->
431
+ <div
432
+ class="amplitude-song-container-compact-player song amplitude-song-container amplitude-play-pause amplitude-paused"
433
+ data-amplitude-source="{{source_media_attribute}}"
434
+ data-amplitude-song-index="{{forloop.index0}}"
435
+ data-amplitude-playlist="{{player_playlist}}">
436
+
437
+ <span class="song-number-now-playing">
438
+ <span class="title-number">
439
+ {{forloop.index}}
440
+ <img
441
+ class="now-playing"
442
+ src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/now-playing.svg"
443
+ alt="now-playing">
444
+ </span>
445
+ </span>
446
+
447
+ <div
448
+ class="playlist-song-meta song-meta-container"
449
+ data-amplitude-source="{{source_media_attribute}}"
450
+ data-amplitude-playlist="{{player_playlist}}">
451
+
452
+ <span class="song-name">{{item.title}}</span>
453
+ <span class="song-artist-album">
454
+ <span>{{item.artist}}</span>
455
+ </span>
456
+
457
+ <!-- place audio rating for playlist (COMPACT player) -->
458
+ {% if playlist_audio_rating %}
459
+ {% capture rating_image %}{{image_rating_path}}/{{item.rating}}-star.svg{% endcapture %}
460
+ <span class="audio-rating" data-amplitude-playlist="{{player_playlist}}">
461
+ <img src="{{rating_image}}" alt="song rating">
462
+ </span>
463
+ {% else %}
464
+ <!-- place empty (span) element (placeholder) -->
465
+ <span class="audio-rating audio-rating-screen-controls"></span>
466
+ {% endif %}
467
+
468
+ <span class="audio-duration">{{item.duration}}</span>
469
+
470
+ </div> <!-- END song-meta-container -->
471
+ </div>
472
+ <!-- END list item -->
473
+ </li>
474
+ {% endif %}{% endfor %}
475
+ </ul> <!-- END playlist items -->
476
+
477
+ </div> <!-- END list screen -->
478
+
479
+ <!-- START compact player -->
480
+ <div class="compact-player">
481
+
482
+ <!-- START COMPACT player TOP -->
483
+ <div id="show_playlist_{{player_id}}" class="compact-player-header show-playlist">
484
+ <span>
485
+ <span
486
+ data-amplitude-source="{{source_media_attribute}}"
487
+ data-amplitude-playlist="{{player_playlist}}"
488
+ data-amplitude-song-info="artist">
489
+ </span>
490
+ <span class="song-artist-album-delimiter">·</span>
491
+ <span
492
+ data-amplitude-source="{{source_media_attribute}}"
493
+ data-amplitude-playlist="{{player_playlist}}"
494
+ data-amplitude-song-info="album">
495
+ </span>
496
+ </span>
497
+ <img
498
+ class="compact-player-header-arrows"
499
+ src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/playlist-show.svg"
500
+ alt="Show Playlist">
501
+ </div> <!-- END compact player header (toggle playlist) -->
502
+
503
+ <div class="player-top">
504
+ <!-- NOTE: album cover image (replaced by AJS API based on playlist) -->
505
+ <div class="album-cover-image">
506
+ <img
507
+ src="/assets/audio/cover/default/placeholder-blue.jpg"
508
+ data-amplitude-playlist="{{player_playlist}}"
509
+ data-amplitude-source="{{source_media_attribute}}"
510
+ data-amplitude-song-info="cover_art_url"
511
+ alt="album cover image"
512
+ >
513
+ </div>
514
+ </div>
515
+
516
+ <!-- START progress bar -->
517
+ {% if song_progress_bar %}
518
+ <progress
519
+ class="compact-player-progress amplitude-song-played-progress"
520
+ data-amplitude-source="{{source_media_attribute}}"
521
+ data-amplitude-playlist="{{player_playlist}}">
522
+ </progress>
523
+ <!-- END progress bar -->
524
+ {% endif %}
525
+ <!-- END COMPACT player TOP -->
526
+
527
+ <!-- START COMPACT player MIDDLE -->
528
+ <div class="compact-player-middle">
529
+ <!-- START controls container -->
530
+ <div id="compact_player_control_container" class="compact-player-control-container">
531
+ <div id="compact_player_controls">
532
+
533
+ <div class="compact-player-controls-container">
534
+ {% if shuffle_button %}
535
+ <div
536
+ id="compact_player_shuffle"
537
+ class="compact-player-shuffle amplitude-shuffle amplitude-shuffle-off"
538
+ data-amplitude-source="{{source_media_attribute}}"
539
+ data-amplitude-playlist="{{player_playlist}}">
540
+ </div>
541
+ {% endif %}
542
+ <div
543
+ id="compact_player_previous_{{player_id}}"
544
+ class="compact-player-previous amplitude-prev"
545
+ data-amplitude-source="{{source_media_attribute}}"
546
+ data-amplitude-playlist="{{player_playlist}}">
547
+ </div>
548
+ {% if skip_forward_backward_button %}
549
+ <div
550
+ id="skip-backward_{{player_id}}"
551
+ class="compact-player-skip-backward amplitude-skip-backward">
552
+ </div>
553
+ {% endif %}
554
+ <div
555
+ id="compact_player_play_pause_{{player_id}}"
556
+ class="compact-player-play-pause amplitude-play-pause amplitude-paused"
557
+ data-amplitude-source="{{source_media_attribute}}"
558
+ data-amplitude-playlist="{{player_playlist}}">
559
+ </div>
560
+ {% if skip_forward_backward_button %}
561
+ <div
562
+ id="skip-forward_{{player_id}}"
563
+ class="compact-player-skip-forward amplitude-skip-forward">
564
+ </div>
565
+ {% endif %}
566
+ <div
567
+ id="compact_player_next_{{player_id}}"
568
+ class="compact-player-next amplitude-next"
569
+ data-amplitude-source="{{source_media_attribute}}"
570
+ data-amplitude-playlist="{{player_playlist}}">
571
+ </div>
572
+ {% if repeat_button %}
573
+ <div
574
+ id="compact_player_repeat"
575
+ class="compact-player-repeat amplitude-repeat amplitude-repeat-off"
576
+ data-amplitude-source="{{source_media_attribute}}"
577
+ data-amplitude-playlist="{{player_playlist}}">
578
+ </div>
579
+ {% endif %}
580
+
581
+ <!-- START volume container -->
582
+ <div class="compact-player-volume-container">
583
+ {% if volume_slider %}
584
+ <div class="volume-controls">
585
+ <div class="compact-player-amplitude-mute amplitude-mute amplitude-not-muted"></div>
586
+ <input
587
+ id="volume_slider_{{player_id}}"
588
+ class="amplitude-volume-slider"
589
+ data-amplitude-source="{{source_media_attribute}}"
590
+ data-amplitude-playlist="{{player_playlist}}"
591
+ type="range"
592
+ min="{{volume_slider_min}}"
593
+ max="{{volume_slider_max}}"
594
+ step="{{volume_slider_step}}"
595
+ aria-label="Amplitude Volume Slider">
596
+ </div>
597
+ {% endif %}
598
+ </div>
599
+ <!-- END volume container -->
600
+ </div>
601
+
602
+ </div>
603
+ <!-- END controls container -->
604
+ </div>
605
+ </div>
606
+ <!-- END COMPACT player left MIDDLE -->
607
+
608
+ <!-- START COMPACT player BOTTOM -->
609
+ <div class="player-bottom">
610
+ <!-- time container -->
611
+ <div class="time-container">
612
+ <span class="current-time">
613
+ {% if display_hours %}
614
+ <span
615
+ class="amplitude-current-hours"
616
+ data-amplitude-source="{{source_media_attribute}}"
617
+ data-amplitude-playlist="{{player_playlist}}">
618
+ </span>
619
+ :
620
+ {% endif %}
621
+ <span
622
+ class="amplitude-current-minutes"
623
+ data-amplitude-source="{{source_media_attribute}}"
624
+ data-amplitude-playlist="{{player_playlist}}">
625
+ </span>
626
+ :
627
+ <span
628
+ class="amplitude-current-seconds"
629
+ data-amplitude-source="{{source_media_attribute}}"
630
+ data-amplitude-playlist="{{player_playlist}}">
631
+ </span>
632
+ </span>
633
+ <span class="duration">
634
+ {% if display_hours %}
635
+ <span
636
+ class="amplitude-duration-hours"
637
+ data-amplitude-source="{{source_media_attribute}}"
638
+ data-amplitude-playlist="{{player_playlist}}">
639
+ </span>
640
+ :
641
+ {% endif %}
642
+ <span
643
+ class="amplitude-duration-minutes"
644
+ data-amplitude-source="{{source_media_attribute}}"
645
+ data-amplitude-playlist="{{player_playlist}}">
646
+ </span>
647
+ :
648
+ <span
649
+ class="amplitude-duration-seconds"
650
+ data-amplitude-source="{{source_media_attribute}}"
651
+ data-amplitude-playlist="{{player_playlist}}">
652
+ </span>
653
+ </span>
654
+ </div>
655
+ <!-- END time container -->
656
+
657
+ <!-- START meta container -->
658
+ <div class="meta-container compact-player">
659
+ <span
660
+ class="song-name"
661
+ data-amplitude-source="{{source_media_attribute}}"
662
+ data-amplitude-playlist="{{player_playlist}}"
663
+ data-amplitude-song-info="name">
664
+ </span>
665
+ <div class="audio-artist-album">
666
+ <span
667
+ class="artist"
668
+ data-amplitude-source="{{source_media_attribute}}"
669
+ data-amplitude-playlist="{{player_playlist}}"
670
+ data-amplitude-song-info="artist">
671
+ </span>
672
+ <span
673
+ class="album"
674
+ data-amplitude-source="{{source_media_attribute}}"
675
+ data-amplitude-playlist="{{player_playlist}}"
676
+ data-amplitude-song-info="album">
677
+ </span>
678
+ </div>
679
+ </div>
680
+ <!-- END meta container -->
681
+ </div>
682
+ <!-- START COMPACT player BOTTOM -->
683
+
684
+ </div>
685
+ <!-- END compact player -->
686
+
687
+ </div> <!-- END compact player container -->
688
+ </div>
689
+ <!-- END create player instance on id: {{player_id}} -->
690
+ {% endif %}
691
+
692
+ {% comment %} END COMPACT player
693
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ {% endcomment %}
694
+
695
+
696
+ {% comment %} LARGE player
697
+ player.source: {{source_media}}
698
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ {% endcomment %}
699
+ {% when 'large' %} {% if player_enabled %}
700
+
701
+ <!-- player.shuffle_button: {{player.shuffle_button}} -->
702
+
703
+ {% if player.source %}
704
+ {% assign source_media = player.source %}
705
+ {% endif %}
706
+
707
+ {% if player.source == 'video' %}
708
+ {% assign source_media_attribute = 'youtube' %}
709
+ {% else %}
710
+ {% assign source_media_attribute = 'audio' %}
711
+ {% endif %}
712
+
713
+ <!-- START create player instance on ID: {{player_id}} of type: {{player_type}} -->
714
+ {% capture large_player_left_side %}
715
+ <!-- START LARGE player left TOP -->
716
+ <div class="large-player-left-top">
717
+
718
+ <div
719
+ id="large_player_title_header_{{player_id}}"
720
+ class="large-player-playlist-header">
721
+ <span class="audio-artist">
722
+ <span
723
+ data-amplitude-playlist="{{player_playlist}}"
724
+ data-amplitude-source="{{source_media_attribute}}"
725
+ data-amplitude-song-info="artist">
726
+ </span>
727
+ <!-- span class="song-artist-album-delimiter">·</span>
728
+ <span
729
+ data-amplitude-playlist="{{player_playlist}}"
730
+ data-amplitude-source="{{source_media_attribute}}"
731
+ data-amplitude-song-info="album">
732
+ </span -->
733
+ </span>
734
+ </div>
735
+
736
+ <!-- NOTE: album cover image (replaced by AJS API based on playlist) -->
737
+ <div class="album-cover-image">
738
+ <img
739
+ class="cover-image-{{player_playlist}} cover-image"
740
+ src="/assets/audio/cover/default/placeholder-blue.jpg"
741
+ data-amplitude-playlist="{{player_playlist}}"
742
+ data-amplitude-source="{{source_media_attribute}}"
743
+ data-amplitude-song-info="cover_art_url"
744
+ alt="album cover image"
745
+ >
746
+ </div>
747
+
748
+ <!-- START progress bar -->
749
+ {% if song_progress_bar %}
750
+ <progress
751
+ id="large_player_progress_{{player_id}}"
752
+ class="large-player-progress-{{player_playlist}} large-player-progress amplitude-song-played-progress"
753
+ data-amplitude-source="{{source_media_attribute}}"
754
+ data-amplitude-playlist="{{player_playlist}}">
755
+
756
+ </progress>
757
+ {% endif %}
758
+ <!-- END progress bar -->
759
+ </div>
760
+ <!-- END LARGE player left TOP -->
761
+
762
+ <!-- START LARGE player left MIDDLE -->
763
+ <div class="large-player-left-middle">
764
+ <!-- START controls container -->
765
+ <div class="large-player-control-container">
766
+ <div id="large_player_controls" class="large_player_controls">
767
+
768
+ <div class="large-player-controls-container">
769
+ {% if shuffle_button %}
770
+ <div
771
+ id="large_player_shuffle_{{player_id}}"
772
+ class="large-player-shuffle-{{player_id}} amplitude-shuffle amplitude-shuffle-off"
773
+ data-amplitude-source="{{source_media_attribute}}"
774
+ data-amplitude-playlist="{{player_playlist}}">
775
+ </div>
776
+ {% endif %}
777
+ <div
778
+ id="large_player_previous_{{player_id}}"
779
+ class="large-player-previous-{{player_id}} large-player-previous amplitude-prev"
780
+ data-amplitude-source="{{source_media_attribute}}"
781
+ data-amplitude-playlist="{{player_playlist}}">
782
+ </div>
783
+ {% if skip_forward_backward_button %}
784
+ <div
785
+ id="skip-backward_{{player_id}}"
786
+ class="large-player-skip-backward-{{player_id}} large-player-skip-backward amplitude-skip-backward"
787
+ data-amplitude-source="{{source_media_attribute}}"
788
+ data-amplitude-playlist="{{player_playlist}}">
789
+ </div>
790
+ {% endif %}
791
+ <div
792
+ id="large_player_play_pause_{{player_id}}"
793
+ class="large-player-play-pause-{{player_id}} large-player-play-pause amplitude-play-pause amplitude-paused"
794
+ data-amplitude-source="{{source_media_attribute}}"
795
+ data-amplitude-playlist="{{player_playlist}}">
796
+ </div>
797
+ {% if skip_forward_backward_button %}
798
+ <div
799
+ id="skip-forward_{{player_id}}"
800
+ class="large-player-skip-forward-{{player_id}} large-player-skip-forward amplitude-skip-forward"
801
+ data-amplitude-source="{{source_media_attribute}}"
802
+ data-amplitude-playlist="{{player_playlist}}">
803
+ </div>
804
+ {% endif %}
805
+ <div
806
+ id="large_player_next_{{player_id}}"
807
+ class="large-player-next-{{player_id}} large-player-next amplitude-next"
808
+ data-amplitude-source="{{source_media_attribute}}"
809
+ data-amplitude-playlist="{{player_playlist}}">
810
+ </div>
811
+ {% if repeat_button %}
812
+ <div
813
+ id="large_player_repeat_{{player_id}}"
814
+ class="large-player-repeat-{{player_id}} large-player-repeat amplitude-repeat amplitude-repeat-off"
815
+ data-amplitude-source="{{source_media_attribute}}"
816
+ data-amplitude-playlist="{{player_playlist}}">
817
+ </div>
818
+ {% endif %}
819
+
820
+ <!-- START volume container -->
821
+ <div class="large-player-volume-container">
822
+ {% if volume_slider %}
823
+ <div
824
+ id="amplitude-mute_{{player_id}}"
825
+ class="large-player-amplitude-mute amplitude-mute amplitude-not-muted"
826
+ data-amplitude-source="{{source_media_attribute}}">
827
+ </div>
828
+ <input
829
+ id="volume_slider_{{player_id}}"
830
+ class="amplitude-volume-slider"
831
+ data-amplitude-playlist="{{player_playlist}}"
832
+ data-amplitude-source="{{source_media_attribute}}"
833
+ type="range"
834
+ min="{{volume_slider_min}}"
835
+ max="{{volume_slider_max}}"
836
+ step="{{volume_slider_step}}"
837
+ aria-label="Amplitude Volume Slider">
838
+ {% endif %}
839
+ </div>
840
+ <!-- END volume container -->
841
+ </div>
842
+ <!-- END large player controls container -->
843
+ </div>
844
+ <!-- END controls container -->
845
+ </div>
846
+ </div>
847
+ <!-- END LARGE player left MIDDLE -->
848
+
849
+ <!-- START LARGE player left BOTTOM -->
850
+ <!-- div class="player-left-bottom" -->
851
+ <div class="large-player-left-bottom">
852
+ <!-- time container -->
853
+ <div class="time-container">
854
+ <span class="current-time">
855
+ {% if display_hours %}
856
+ <span
857
+ class="amplitude-current-hours-{{player_playlist}} amplitude-current-hours"
858
+ data-amplitude-source="{{source_media_attribute}}"
859
+ data-amplitude-playlist="{{player_playlist}}">
860
+ </span>
861
+ :
862
+ {% endif %}
863
+ <span
864
+ class="amplitude-current-minutes-{{player_playlist}} amplitude-current-minutes"
865
+ data-amplitude-source="{{source_media_attribute}}"
866
+ data-amplitude-playlist="{{player_playlist}}">
867
+ </span>
868
+ :
869
+ <span
870
+ class="amplitude-current-seconds-{{player_playlist}} amplitude-current-seconds"
871
+ data-amplitude-source="{{source_media_attribute}}"
872
+ data-amplitude-playlist="{{player_playlist}}">
873
+ </span>
874
+ </span>
875
+ <span class="duration">
876
+ {% if display_hours %}
877
+ <span
878
+ class="amplitude-duration-hours-{{player_playlist}} amplitude-duration-hours"
879
+ data-amplitude-source="{{source_media_attribute}}"
880
+ data-amplitude-playlist="{{player_playlist}}">
881
+ </span>
882
+ :
883
+ {% endif %}
884
+ <span
885
+ class="amplitude-duration-minutes-{{player_playlist}} amplitude-duration-minutes"
886
+ data-amplitude-source="{{source_media_attribute}}"
887
+ data-amplitude-playlist="{{player_playlist}}">
888
+ </span>
889
+ :
890
+ <span
891
+ class="amplitude-duration-seconds-{{player_playlist}} amplitude-duration-seconds"
892
+ data-amplitude-source="{{source_media_attribute}}"
893
+ data-amplitude-playlist="{{player_playlist}}">
894
+ </span>
895
+ </span>
896
+ </div>
897
+ <!-- END time container -->
898
+
899
+ <div class="meta-container large-player">
900
+ <span
901
+ class="song-name-{{player_playlist}} song-name"
902
+ data-amplitude-source="{{source_media_attribute}}"
903
+ data-amplitude-playlist="{{player_playlist}}"
904
+ data-amplitude-song-info="name">
905
+ </span>
906
+ <div class="audio-artist-album">
907
+ <span
908
+ class="artist-name-{{player_playlist}} artist"
909
+ data-amplitude-source="{{source_media_attribute}}"
910
+ data-amplitude-playlist="{{player_playlist}}"
911
+ data-amplitude-song-info="artist">
912
+ </span>
913
+ <span
914
+ class="album-name-{{player_playlist}} album"
915
+ data-amplitude-source="{{source_media_attribute}}"
916
+ data-amplitude-playlist="{{player_playlist}}"
917
+ data-amplitude-song-info="album">
918
+ </span>
919
+ </div>
920
+ </div> <!-- END meta container -->
921
+ </div>
922
+ <!-- END LARGE player left BOTTOM -->
923
+ {% endcapture %}
924
+
925
+ <!-- START create player instance on ID: {{player_id}} of type: {{player_type}} -->
926
+ <div id="{{player_id}}" class="large-player">
927
+ <!-- START large player container -->
928
+ <!-- div class="large-player-container" -->
929
+ <div class="large-player-container">
930
+
931
+ <!-- Large Player|Left Side -->
932
+ <div id="large_player_left" class="large-player-left">
933
+ {{large_player_left_side}}
934
+ </div>
935
+ <!-- END Large Player|Left Side -->
936
+
937
+ <!-- Large Player|Right Side (playlist) -->
938
+ <div
939
+ id="large_player_right" class="large-player-right hide-scrollbar"
940
+ data-amplitude-source="{{source_media_attribute}}"
941
+ data-amplitude-playlist="{{player_playlist}}">
942
+ <div
943
+ id="playlist_header_{{player_id}}"
944
+ class="large-player-playlist-header">Playlist
945
+ </div>
946
+
947
+ <div class="playlist-screen-controls screen-controls-large-player large-player">
948
+ <div class="playlist-screen-meta-container">
949
+ <span
950
+ class="song-name-{{player_playlist}} song-name"
951
+ data-amplitude-source="{{source_media_attribute}}"
952
+ data-amplitude-playlist="{{player_playlist}}"
953
+ data-amplitude-song-info="name">
954
+ </span>
955
+
956
+ <!-- START player_audio_info (LARGE player) -->
957
+
958
+ {% for item in playlist_items %}{% if item.enabled %}
959
+ {% if playlist_audio_info and forloop.first %}
960
+
961
+ <!-- place initial (first element) info URL -->
962
+ <span class="amplitude-audio-info-large-player amplitude-audio-info">
963
+ <a
964
+ class="audio-info-link-{{player_playlist}} audio-info-link-screen-controls"
965
+ data-amplitude-playlist="{{player_playlist}}"
966
+ href="{{item.audio_info}}" target="_blank">
967
+ <i class="mdib mdib-information md-gray-400 mdib-24px"></i>
968
+ </a>
969
+ </span>
970
+ {% else %}
971
+ {% break %}
972
+ {% endif %}
973
+
974
+ <!-- place initial (first) audio rating for screen controls (LARGE player) -->
975
+ {% if playlist_audio_rating and forloop.first %}
976
+ {% capture rating_image %}{{image_rating_path}}/{{item.rating}}-star.svg{% endcapture %}
977
+ {% if item.rating %}
978
+ <span
979
+ class="audio-rating audio-rating-screen-controls"
980
+ data-amplitude-playlist="{{player_playlist}}"
981
+ data-player-type="large">
982
+ <img src="{{rating_image}}" alt="song rating">
983
+ </span>
984
+ {% else %}
985
+ <!-- place empty (span) element (placeholder) -->
986
+ <span class="audio-rating"></span>
987
+ {% endif %}
988
+ {% else %}
989
+ {% break %}
990
+ {% endif %}
991
+
992
+ {% endif %}{% endfor %}
993
+ <!-- END playlist_audio_info -->
994
+
995
+ <div class="song-artist-album">
996
+ <span
997
+ class="song-artist-{{player_playlist}}"
998
+ data-amplitude-source="{{source_media_attribute}}"
999
+ data-amplitude-playlist="{{player_playlist}}"
1000
+ data-amplitude-song-info="artist">
1001
+ </span>
1002
+ <!-- jadams, 2024-12-08: make album info configurable -->
1003
+ <!-- span class="song-artist-album-delimiter">·</span>
1004
+ <span
1005
+ class="song-info-{{player_playlist}}"
1006
+ data-amplitude-source="audio"
1007
+ data-amplitude-playlist="{{player_playlist}}"
1008
+ data-amplitude-song-info="album">
1009
+ </span -->
1010
+ </div>
1011
+ </div>
1012
+
1013
+ <!-- place extra control buttons (playlist_controls: {{playlist_controls}}) -->
1014
+ {% if playlist_controls %}
1015
+ <div class="list-controls">
1016
+ <div
1017
+ class="list-previous amplitude-prev large-player-previous"
1018
+ data-amplitude-source="{{source_media_attribute}}"
1019
+ data-amplitude-playlist="{{player_playlist}}">
1020
+ </div>
1021
+ <div
1022
+ id="large_player_play_pause_{{player_id}}"
1023
+ class="list-play-pause amplitude-play-pause"
1024
+ data-amplitude-source="{{source_media_attribute}}"
1025
+ data-amplitude-playlist="{{player_playlist}}">
1026
+ </div>
1027
+ <div
1028
+ class="list-next amplitude-next large-player-next"
1029
+ data-amplitude-source="{{source_media_attribute}}"
1030
+ data-amplitude-playlist="{{player_playlist}}">
1031
+ </div>
1032
+ </div><!-- Large Player|Left Side -->
1033
+ {% endif %}
1034
+
1035
+ </div> <!-- END playlist controls -->
1036
+
1037
+ <!-- START playlist items (Large Player) -->
1038
+ <ul
1039
+ id="large_player_title_list_{{player_playlist}}"
1040
+ class="large-player-title-list player-title-list playlist-scroller-gradient">
1041
+
1042
+ <!-- START Playlist item -->
1043
+ <li>
1044
+ {% for item in playlist_items %}{% if item.enabled %}
1045
+ <!-- START list item -->
1046
+ <!-- class="amplitude-song-container-large-player-{{player_id}} amplitude-song-container-large-player amplitude-song-container amplitude-song amplitude-play-pause amplitude-player-large" -->
1047
+ <!-- class="amplitude-song amplitude-song-container amplitude-song-container-large-player amplitude-play-pause amplitude-paused" -->
1048
+ <div
1049
+ class="amplitude-song-container-large-player-{{player_id}} amplitude-song-container-large-player amplitude-song-container amplitude-song amplitude-play-pause amplitude-paused"
1050
+ data-amplitude-song-index="{{forloop.index0}}"
1051
+ data-amplitude-source="{{source_media_attribute}}"
1052
+ data-amplitude-playlist="{{player_playlist}}">
1053
+
1054
+ <div class="audio-meta-data"
1055
+ data-amplitude-playlist="{{player_playlist}}"
1056
+ data-amplitude-song-index="{{forloop.index0}}">
1057
+
1058
+ <div
1059
+ class="amplitude-song-container"
1060
+ data-amplitude-source="{{source_media_attribute}}"
1061
+ data-amplitude-playlist="{{player_playlist}}">
1062
+ <span class="title-number">Track {{forloop.index}}
1063
+ <!-- span class="title-number">{{forloop.index}} -->
1064
+ <img
1065
+ class="now-playing"
1066
+ src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/now-playing.svg"
1067
+ alt="now-playing">
1068
+ </span>
1069
+ </div>
1070
+
1071
+ <span class="audio-title">{{item.title}}</span>
1072
+
1073
+ <span class="audio-artist">
1074
+ <span>{{item.artist}}</span>
1075
+ <!-- span class="song-artist-album-delimiter">·</span>
1076
+ <span>{{item.name}}</span -->
1077
+ </span>
1078
+
1079
+ </div> <!-- END audio-meta-data -->
1080
+
1081
+ <!-- jadams, 2024-11-05: ??? -->
1082
+ {% if player.display_hours %}
1083
+ <span class="audio-duration">{{item.duration}}</span>
1084
+ {% else %}
1085
+ <span class="audio-duration">{{item.duration}}</span>
1086
+ {% endif %}
1087
+
1088
+ <!-- load audio rating for playlist (LARGE player) -->
1089
+ {% if item.rating %}
1090
+ <span class="audio-rating" data-amplitude-playlist="{{player_playlist}}">
1091
+ {% capture rating_image %}{{image_rating_path}}/{{item.rating}}-star.svg{% endcapture %}
1092
+ <img src="{{rating_image}}" alt="song rating">
1093
+ </span>
1094
+ {% else %}
1095
+ <!-- place empty (span) element (placeholder) -->
1096
+ <span class="audio-rating"></span>
1097
+ {% endif %}
1098
+
1099
+ </div>
1100
+ <!-- END list item -->
1101
+ {% endif %}{% endfor %}
1102
+ </li>
1103
+ <!-- END Playlist item -->
1104
+
1105
+ </ul>
1106
+ <!-- END playlist items (Large Player) -->
1107
+
1108
+ </div> <!-- END Large Player|Right Side -->
1109
+
1110
+ </div> <!-- END Player -->
1111
+ <!-- /div -->
1112
+ <!-- END large player container -->
1113
+ </div>
1114
+ <!-- END create player instance on ID: {{player_id}} -->
1115
+ {% endif %}
1116
+
1117
+ {% comment %} END LARGE player
1118
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ {% endcomment %}
1119
+
1120
+ {% comment %} Reset element variables (already processed)
1121
+ -------------------------------------------------------------------------- {% endcomment %}
1122
+ {% assign amplitude_settings = false %}
1123
+ {% assign player_playlist = false %}
1124
+ {% assign playlist_items = false %}
1125
+
1126
+ {% endcase %}
1127
+
1128
+ {% endif %} {% endfor %}
1129
+
1130
+ {% comment %} END create player instances
1131
+ ============================================================================== {% endcomment %}
1132
+ </body>
1133
+
1134
+ </html>
1135
+ {%- endcapture -%}
1136
+
1137
+ {% comment %} Beautify|compress page
1138
+ -------------------------------------------------------------------------------- {% endcomment %}
1139
+ {%- if production -%}
1140
+ {% 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 %}
1141
+ {%- else -%}
1142
+ {{ cache | remove:'<html><body>' | remove:'</body></html>' | strip_empty_lines }}
1143
+ {%- endif -%}
1144
+
1145
+ {% comment %} reset page cache
1146
+ -------------------------------------------------------------------------------- {% endcomment %}
1147
+ {%- assign cache = false -%}