j1-template 2024.3.20 → 2024.3.22

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 (151) hide show
  1. checksums.yaml +4 -4
  2. data/_layouts/page.html +1 -0
  3. data/assets/data/amplitude_app.html +87 -73
  4. data/assets/theme/j1/adapter/js/advertising.js +40 -38
  5. data/assets/theme/j1/adapter/js/algolia.js +13 -11
  6. data/assets/theme/j1/adapter/js/amplitude.js +882 -490
  7. data/assets/theme/j1/adapter/js/analytics.js +19 -17
  8. data/assets/theme/j1/adapter/js/asciidoctor.js +10 -8
  9. data/assets/theme/j1/adapter/js/attic.js +24 -22
  10. data/assets/theme/j1/adapter/js/bmd.js +10 -8
  11. data/assets/theme/j1/adapter/js/carousel.js +12 -9
  12. data/assets/theme/j1/adapter/js/chatbot.js +106 -104
  13. data/assets/theme/j1/adapter/js/clipboard.js +16 -14
  14. data/assets/theme/j1/adapter/js/comments.js +24 -22
  15. data/assets/theme/j1/adapter/js/cookieConsent.js +5 -1
  16. data/assets/theme/j1/adapter/js/customFunctions.js +12 -10
  17. data/assets/theme/j1/adapter/js/customModule.js +10 -8
  18. data/assets/theme/j1/adapter/js/docsearch.js +33 -31
  19. data/assets/theme/j1/adapter/js/dropdowns.js +16 -14
  20. data/assets/theme/j1/adapter/js/fab.js +34 -32
  21. data/assets/theme/j1/adapter/js/gallery.js +21 -19
  22. data/assets/theme/j1/adapter/js/gemini.js +66 -64
  23. data/assets/theme/j1/adapter/js/iconPicker.js +31 -29
  24. data/assets/theme/j1/adapter/js/iconPickerPage.js +11 -9
  25. data/assets/theme/j1/adapter/js/iframer.js +17 -15
  26. data/assets/theme/j1/adapter/js/j1.js +146 -143
  27. data/assets/theme/j1/adapter/js/lazyLoader.js +33 -31
  28. data/assets/theme/j1/adapter/js/lightbox.js +9 -7
  29. data/assets/theme/j1/adapter/js/logger.js +11 -9
  30. data/assets/theme/j1/adapter/js/lunr.js +37 -35
  31. data/assets/theme/j1/adapter/js/masonry.js +23 -21
  32. data/assets/theme/j1/adapter/js/masterslider.js +31 -29
  33. data/assets/theme/j1/adapter/js/mmenu.js +25 -23
  34. data/assets/theme/j1/adapter/js/navigator.js +43 -41
  35. data/assets/theme/j1/adapter/js/particles.js +12 -10
  36. data/assets/theme/j1/adapter/js/rangeSlider.js +21 -19
  37. data/assets/theme/j1/adapter/js/rouge.js +10 -8
  38. data/assets/theme/j1/adapter/js/rtable.js +14 -12
  39. data/assets/theme/j1/adapter/js/rtextResizer.js +10 -8
  40. data/assets/theme/j1/adapter/js/scroller.js +15 -13
  41. data/assets/theme/j1/adapter/js/slick.js +18 -16
  42. data/assets/theme/j1/adapter/js/slimSelect.js +30 -28
  43. data/assets/theme/j1/adapter/js/speak2me.js +25 -23
  44. data/assets/theme/j1/adapter/js/swiper.js +13 -11
  45. data/assets/theme/j1/adapter/js/themeToggler.js +11 -9
  46. data/assets/theme/j1/adapter/js/themes.js +25 -23
  47. data/assets/theme/j1/adapter/js/toccer.js +13 -11
  48. data/assets/theme/j1/adapter/js/translator.js +19 -16
  49. data/assets/theme/j1/adapter/js/videojs.js +9 -7
  50. data/assets/theme/j1/adapter/js/waves.js +18 -16
  51. data/assets/theme/j1/core/js/template.js +11180 -10968
  52. data/assets/theme/j1/core/js/template.min.js +13 -18
  53. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/amplitude.css +50 -4
  54. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/amplitude.min.css +1 -1
  55. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/compact.css +197 -403
  56. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/compact.min.css +1 -1
  57. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.css +70 -46
  58. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.min.css +1 -1
  59. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/mini.css +72 -9
  60. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/mini.min.css +2 -1
  61. data/assets/theme/j1/modules/amplitudejs/js/tech/ytp.js +481 -417
  62. data/assets/theme/j1/modules/backstretch/js/backstretch.js +2 -2
  63. data/assets/theme/j1/modules/backstretch/js/backstretch.min.js +1 -1
  64. data/assets/theme/j1/modules/cookieConsent/js/cookieConsent.js +11 -11
  65. data/assets/theme/j1/modules/cookieConsent/js/cookieConsent.min.js +2 -1
  66. data/assets/theme/j1/modules/dropdowns/js/dropdowns.js +2 -2
  67. data/assets/theme/j1/modules/dropdowns/js/dropdowns.min.js +1 -1
  68. data/assets/theme/j1/modules/fab/js/fab.js +2 -2
  69. data/assets/theme/j1/modules/fab/js/fab.min.js +1 -1
  70. data/assets/theme/j1/modules/lunr/js/j1.js +1 -1
  71. data/assets/theme/j1/modules/lunr/js/j1.min.js +2 -1
  72. data/assets/theme/j1/modules/rtable/js/rtable.js +2 -2
  73. data/assets/theme/j1/modules/rtable/js/rtable.min.js +2 -1
  74. data/assets/theme/j1/modules/scroller/js/scroller.js +31 -29
  75. data/assets/theme/j1/modules/scroller/js/scroller.min.js +2 -1
  76. data/assets/theme/j1/modules/themeSwitcher/js/switcher.js +26 -26
  77. data/assets/theme/j1/modules/themeSwitcher/js/switcher.min.js +2 -1
  78. data/assets/theme/j1/modules/translator/js/translator.js +17 -17
  79. data/assets/theme/j1/modules/translator/js/translator.min.js +1 -1
  80. data/assets/theme/j1/modules/videojs/js/plugins/players/dm/dailymotion.js +10 -8
  81. data/assets/theme/j1/modules/videojs/js/plugins/players/dm/dailymotion.min.js +1 -1
  82. data/assets/theme/j1/modules/videojs/js/plugins/players/vm/vimeo.js +9 -7
  83. data/assets/theme/j1/modules/videojs/js/plugins/players/vm/vimeo.min.js +1 -1
  84. data/assets/theme/j1/modules/videojs/js/plugins/players/wt/wistia.js +13 -11
  85. data/assets/theme/j1/modules/videojs/js/plugins/players/wt/wistia.min.js +1 -1
  86. data/assets/theme/j1/modules/videojs/js/plugins/players/yt/youtube.js +10 -8
  87. data/assets/theme/j1/modules/videojs/js/plugins/players/yt/youtube.min.js +1 -1
  88. data/lib/j1/version.rb +1 -1
  89. data/lib/starter_web/README.md +5 -5
  90. data/lib/starter_web/_config.yml +1 -1
  91. data/lib/starter_web/_data/modules/amplitude_app.yml +4 -4
  92. data/lib/starter_web/_data/modules/amplitude_playlists.yml +168 -123
  93. data/lib/starter_web/_data/modules/defaults/amplitude.yml +8 -3
  94. data/lib/starter_web/_data/modules/swiper_app.yml +67 -0
  95. data/lib/starter_web/_data/modules/swiper_playlists.yml +26 -0
  96. data/lib/starter_web/_data/templates/feed.xml +1 -1
  97. data/lib/starter_web/_includes/attributes.asciidoc +5 -4
  98. data/lib/starter_web/_plugins/asciidoctor/videojs-block.rb +8 -0
  99. data/lib/starter_web/_plugins/asciidoctor/youtube-block.rb +7 -0
  100. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  101. data/lib/starter_web/assets/audio/album/emancipator/Alligator.mp3 +0 -0
  102. data/lib/starter_web/assets/audio/album/emancipator/DabCity.mp3 +0 -0
  103. data/lib/starter_web/assets/audio/album/emancipator/SeaToSky.mp3 +0 -0
  104. data/lib/starter_web/assets/audio/album/emancipator/TimeForSpace.mp3 +0 -0
  105. data/lib/starter_web/assets/audio/cover/emancipator/alligator.jpg +0 -0
  106. data/lib/starter_web/assets/audio/cover/emancipator/anthem.jpg +0 -0
  107. data/lib/starter_web/assets/audio/cover/emancipator/dab-city.jpg +0 -0
  108. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn.jpg +0 -0
  109. data/lib/starter_web/assets/audio/cover/emancipator/safe-in-the-steep-cliffs.jpg +0 -0
  110. data/lib/starter_web/assets/audio/cover/emancipator/sea-to-sky.jpg +0 -0
  111. data/lib/starter_web/assets/audio/cover/emancipator/soon-it-will-be-cold-enough.jpg +0 -0
  112. data/lib/starter_web/assets/audio/cover/emancipator/tine-for-space.jpg +0 -0
  113. data/lib/starter_web/assets/image/icon/bokeh/bokeh-32x32.ico +0 -0
  114. data/lib/starter_web/assets/image/icon/bokeh/bokeh.ico +0 -0
  115. data/lib/starter_web/assets/image/icon/bokeh/logo-160x160.png +0 -0
  116. data/lib/starter_web/assets/image/icon/hyvor-talk/hyvore-talk.ico +0 -0
  117. data/lib/starter_web/assets/image/icon/hyvor-talk/jpg/hyvor-logo.512x512.jpg +0 -0
  118. data/lib/starter_web/assets/image/icon/hyvor-talk/png/hyvor-logo.24x24.jpg +0 -0
  119. data/lib/starter_web/assets/image/icon/hyvor-talk/png/hyvor-logo.24x24.png +0 -0
  120. data/lib/starter_web/assets/image/icon/hyvor-talk/png/hyvor-logo.512x512.png +0 -0
  121. data/lib/starter_web/assets/image/icon/hyvor-talk/scalable/hyvor-logo.svg +81 -0
  122. data/lib/starter_web/assets/image/icon/jupyter/jupyter-32x32.ico +0 -0
  123. data/lib/starter_web/assets/image/icon/jupyter/jupyter.ico +0 -0
  124. data/lib/starter_web/assets/image/icon/jupyter/logo.png +0 -0
  125. data/lib/starter_web/assets/image/icon/mdi/mdi.svg +1 -0
  126. data/lib/starter_web/assets/image/icon/mdi/mdil.svg +1 -0
  127. data/lib/starter_web/assets/image/icon/scalable/facebook.svg +34 -0
  128. data/lib/starter_web/assets/image/icon/scalable/google.svg +35 -0
  129. data/lib/starter_web/assets/image/icon/scalable/ibm.svg +24 -0
  130. data/lib/starter_web/assets/image/icon/scalable/microsoft.svg +42 -0
  131. data/lib/starter_web/assets/image/module/swiper/simple/test/image/diana_krall.jpg +0 -0
  132. data/lib/starter_web/index.html +3 -3
  133. data/lib/starter_web/package.json +1 -1
  134. data/lib/starter_web/pages/public/learn/where_to_go.adoc +1 -1
  135. data/lib/starter_web/pages/public/tools/previewer/preview_amplitudejs.adoc +3 -18
  136. data/lib/starter_web/pages/public/tools/tester/app_tester_amplitudejs_yt.adoc +6 -6
  137. data/lib/starter_web/pages/public/tools/tester/app_tester_swiper.adoc +87 -0
  138. data/lib/starter_web/pages/public/tour/_includes/attributes.asciidoc +3 -3
  139. data/lib/starter_web/pages/public/tour/{play_audio.adoc → audio_data.adoc} +35 -55
  140. data/lib/starter_web/pages/public/tour/{present_images.adoc → image_data.adoc} +4 -5
  141. data/lib/starter_web/pages/public/tour/{play_video.adoc → video_data.adoc} +17 -16
  142. metadata +42 -14
  143. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/anthem.jpg +0 -0
  144. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/from-dusk-to-dawn.jpg +0 -0
  145. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/safe-in-the-steep-cliffs.jpg +0 -0
  146. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/soon-it-will-be-cold-enough.jpg +0 -0
  147. /data/lib/starter_web/assets/audio/album/emancipator/{from-dusk-to-dawn → !info}/!sound.links.txt +0 -0
  148. /data/lib/starter_web/assets/audio/album/emancipator/{from-dusk-to-dawn/Anthem.mp3 → Anthem.mp3} +0 -0
  149. /data/lib/starter_web/assets/audio/album/emancipator/{from-dusk-to-dawn/DuskToDawn.mp3 → DuskToDawn.mp3} +0 -0
  150. /data/lib/starter_web/assets/audio/album/emancipator/{from-dusk-to-dawn/FirstSnow.mp3 → FirstSnow.mp3} +0 -0
  151. /data/lib/starter_web/assets/audio/album/emancipator/{from-dusk-to-dawn/SafeInTheSteepCliffs.mp3 → SafeInTheSteepCliffs.mp3} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c6941217e9123d4e29dab8b3ebdf75975a569d788186bdea21848a03389494de
4
- data.tar.gz: 806feeb9b9d9f7eb2fe87118a15b754f4863f20c0307d848ca8fee8c345f91c7
3
+ metadata.gz: 0de83c8644954a64d439a97054ca2e8ddfc9e35bccf5ba4c5e62731b2c9bd3db
4
+ data.tar.gz: be8c05d3ff902d257fca78d250fa86eb5c4c5ca96fe1aacc51d9902856eafb50
5
5
  SHA512:
6
- metadata.gz: dd62208be439105f868d6356ce70f190eea65a1d24f9fdd5565eba3e3a1fc5f8afe6db109757e57c923ba257827b3da5a475c0ed772ba409856304386bd5c280
7
- data.tar.gz: 152f065d2c6c37b8c05f13bc72815ecc9e887bffc2d2ec0e6b22efe1f3c6415958e21dfa694ec0c2badd3a451a1dd1e26677f647bca5f85117e1a944c0346143
6
+ metadata.gz: 2edd13fc4e637fc1323a1b0de4f0839f5bf449935f4392a94c7050a3d0250200dd30a9b46141482720e9fcaf3c126a2a71877fcef523ab30d18d3d5522f20262
7
+ data.tar.gz: 541a069d76c5ea146d5a79a8a072218f72d3839b5787bf8d671df3a9d8c0cdb773d5355255de0ccb6bce72c43b6727651578a86c0e2e26f7362d8a0a9d09db09
data/_layouts/page.html CHANGED
@@ -59,6 +59,7 @@ debug: false
59
59
  ------------------------------------------------------------------------------ {% endcomment %}
60
60
  <!-- [INFO ] [j1.layout.page.html ] [ call content_writer for region: 'body-main' ] -->
61
61
  <div id="content" class="container mb-5">
62
+ <!-- div id="content" class="container-fluid g-5 mb-5" -->
62
63
  {% include {{content_writer}} region='body-main' items=lanes_collate %}
63
64
  </div>
64
65
  <!-- [INFO ] [j1.layout.page.html ] [ end content_writer processing for region: 'body-main' ] -->
@@ -258,17 +258,20 @@ exclude_from_search: true
258
258
  <div
259
259
  id="mini_player_previous"
260
260
  class="amplitude-prev"
261
- data-amplitude-playlist="{{player_playlist}}">
261
+ data-amplitude-playlist="{{player_playlist}}"
262
+ data-amplitude-source="audio">
262
263
  </div>
263
264
  <div
264
265
  id="mini_player_play_pause_{{player_id}}"
265
- class="amplitude-play-pause mini-player-play-pause amplitude-paused"
266
- data-amplitude-playlist="{{player_playlist}}">
266
+ class="mini-player-play-pause amplitude-play-pause amplitude-paused"
267
+ data-amplitude-playlist="{{player_playlist}}"
268
+ data-amplitude-source="audio">
267
269
  </div>
268
270
  <div
269
271
  id="mini_player_next"
270
272
  class="amplitude-next"
271
- data-amplitude-playlist="{{player_playlist}}">
273
+ data-amplitude-playlist="{{player_playlist}}"
274
+ data-amplitude-source="audio">
272
275
  </div>
273
276
  </div>
274
277
  <!-- END control container -->
@@ -301,6 +304,8 @@ exclude_from_search: true
301
304
  <input
302
305
  id="volume_slider_{{player_id}}"
303
306
  class="mini-player amplitude-volume-slider"
307
+ data-amplitude-source="{{source_media_attribute}}"
308
+ data-amplitude-playlist="{{player_playlist}}"
304
309
  type="range"
305
310
  min="{{volume_slider_min}}"
306
311
  max="{{volume_slider_max}}"
@@ -350,8 +355,11 @@ exclude_from_search: true
350
355
  <!-- place initial (first) info URL -->
351
356
  {% if playlist_audio_info and forloop.first %}
352
357
  <span class="amplitude-audio-info">
353
- <a class="audio-info-link" href="{{item.audio_info}}" target="_blank">
354
- <i class="mdib mdib-information md-gray-400 mdib-24px"></i>
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>
355
363
  </a>
356
364
  </span>
357
365
  {% else %}
@@ -376,94 +384,95 @@ exclude_from_search: true
376
384
 
377
385
  <div class="song-artist-album">
378
386
  <span
387
+ class="artist audio-rating-screen-controls"
379
388
  data-amplitude-source="{{source_media_attribute}}"
380
389
  data-amplitude-playlist="{{player_playlist}}"
381
390
  data-amplitude-song-info="artist">
382
391
  </span>
383
- <span class="song-artist-album-delimiter">·</span>
392
+ <!--span class="song-artist-album-delimiter">·</span>
384
393
  <span
385
394
  data-amplitude-source="audio"
386
395
  data-amplitude-playlist="{{player_playlist}}"
387
396
  data-amplitude-song-info="album">
388
- </span>
397
+ </span -->
389
398
  </div>
390
399
  </div>
391
400
  {% if playlist_controls %}
392
- <div class="list-controls">
401
+ <div class="compact-player-list-controls list-controls">
393
402
  <div
394
- class="list-previous amplitude-prev compact-player-previous"
403
+ id="compact_player_list_previous_{{player_id}}"
404
+ class="compact-player-previous list-previous amplitude-prev"
395
405
  data-amplitude-source="{{source_media_attribute}}"
396
406
  data-amplitude-playlist="{{player_playlist}}">
397
407
  </div>
398
408
  <div
399
- id="compact_player_play_pause_{{player_id}}"
400
- class="list-play-pause amplitude-play-pause"
409
+ id="compact_player_list_play_pause_{{player_id}}"
410
+ class="compact-player-play-pause amplitude-play-pause amplitude-paused"
401
411
  data-amplitude-source="{{source_media_attribute}}"
402
412
  data-amplitude-playlist="{{player_playlist}}">
403
413
  </div>
404
414
  <div
405
- class="list-next amplitude-next compact-player-next"
415
+ id="compact_player_list_next_{{player_id}}"
416
+ class="compact-player-next list-next amplitude-next"
406
417
  data-amplitude-source="{{source_media_attribute}}"
407
418
  data-amplitude-playlist="{{player_playlist}}">
408
419
  </div>
409
420
  </div>
410
421
  {% endif %}
411
422
  </div> <!-- END playlist controls -->
412
-
413
423
 
414
424
  <!-- START playlist items (COMPACT player )-->
415
- <div
425
+ <ul
416
426
  id="compact_player_title_list_{{player_playlist}}"
417
- class="amplitude-scroller-gradient compact-player-title-list">
427
+ class="compact-player-title-list player-title-list playlist-scroller-gradient">
418
428
  {% for item in playlist_items %}{% if item.enabled %}
429
+ <li>
419
430
  <!-- START list item -->
420
- <div
421
- class="song amplitude-song-container amplitude-song-container-compact-player amplitude-play-pause"
422
- data-amplitude-source="{{source_media_attribute}}"
423
- data-amplitude-song-index="{{forloop.index0}}"
424
- data-amplitude-playlist="{{player_playlist}}">
425
-
426
- <span class="song-number-now-playing">
427
- <span class="title-number">
428
- {{forloop.index}}
429
- <img
430
- class="now-playing"
431
- src="/assets/theme/j1/modules/amplitudejs/icons/player/dark/now-playing.svg"
432
- alt="now-playing">
433
- </span>
434
- </span>
435
-
436
431
  <div
437
- class="playlist-song-meta song-meta-container"
432
+ class="amplitude-song-container-compact-player song amplitude-song-container amplitude-play-pause amplitude-paused"
438
433
  data-amplitude-source="{{source_media_attribute}}"
434
+ data-amplitude-song-index="{{forloop.index0}}"
439
435
  data-amplitude-playlist="{{player_playlist}}">
440
436
 
441
- <span class="song-name">{{item.title}}</span>
442
- <span class="song-artist-album">
443
- <span>{{item.artist}}</span>
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>
444
445
  </span>
445
446
 
446
- <!-- place audio rating for playlist (COMPACT player) -->
447
- {% if playlist_audio_rating %}
448
- {% capture rating_image %}{{image_rating_path}}/{{item.rating}}-star.svg{% endcapture %}
449
- <span class="audio-rating" data-amplitude-playlist="{{player_playlist}}">
450
- <img src="{{rating_image}}" alt="song rating">
451
- </span>
452
- {% else %}
453
- <!-- place empty (span) element (placeholder) -->
454
- <span class="audio-rating audio-rating-screen-controls"></span>
455
- {% endif %}
447
+ <div
448
+ class="playlist-song-meta song-meta-container"
449
+ data-amplitude-source="{{source_media_attribute}}"
450
+ data-amplitude-playlist="{{player_playlist}}">
456
451
 
457
- <span class="audio-duration">{{item.duration}}</span>
452
+ <span class="song-name">{{item.title}}</span>
453
+ <span class="song-artist-album">
454
+ <span>{{item.artist}}</span>
455
+ </span>
458
456
 
459
- </div> <!-- END song-meta-container -->
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 %}
460
467
 
468
+ <span class="audio-duration">{{item.duration}}</span>
461
469
 
462
- </div>
470
+ </div> <!-- END song-meta-container -->
471
+ </div>
463
472
  <!-- END list item -->
473
+ </li>
464
474
  {% endif %}{% endfor %}
465
-
466
- </div> <!-- END playlist items -->
475
+ </ul> <!-- END playlist items -->
467
476
 
468
477
  </div> <!-- END list screen -->
469
478
 
@@ -518,52 +527,52 @@ exclude_from_search: true
518
527
  <!-- START COMPACT player MIDDLE -->
519
528
  <div class="compact-player-middle">
520
529
  <!-- START controls container -->
521
- <div id="compact_player_control_container">
530
+ <div id="compact_player_control_container" class="compact-player-control-container">
522
531
  <div id="compact_player_controls">
523
532
 
524
533
  <div class="compact-player-controls-container">
525
534
  {% if shuffle_button %}
526
535
  <div
527
536
  id="compact_player_shuffle"
528
- class="amplitude-shuffle amplitude-shuffle-off"
537
+ class="compact-player-shuffle amplitude-shuffle amplitude-shuffle-off"
529
538
  data-amplitude-source="{{source_media_attribute}}"
530
539
  data-amplitude-playlist="{{player_playlist}}">
531
540
  </div>
532
541
  {% endif %}
533
542
  <div
534
543
  id="compact_player_previous_{{player_id}}"
535
- class="amplitude-prev compact-player-previous"
544
+ class="compact-player-previous amplitude-prev"
536
545
  data-amplitude-source="{{source_media_attribute}}"
537
546
  data-amplitude-playlist="{{player_playlist}}">
538
547
  </div>
539
548
  {% if skip_forward_backward_button %}
540
549
  <div
541
550
  id="skip-backward_{{player_id}}"
542
- class="compact-player-skip-backward">
551
+ class="compact-player-skip-backward amplitude-skip-backward">
543
552
  </div>
544
553
  {% endif %}
545
554
  <div
546
555
  id="compact_player_play_pause_{{player_id}}"
547
- class="amplitude-play-pause compact-player-play-pause amplitude-paused"
556
+ class="compact-player-play-pause amplitude-play-pause amplitude-paused"
548
557
  data-amplitude-source="{{source_media_attribute}}"
549
558
  data-amplitude-playlist="{{player_playlist}}">
550
559
  </div>
551
560
  {% if skip_forward_backward_button %}
552
561
  <div
553
562
  id="skip-forward_{{player_id}}"
554
- class="compact-player-skip-forward">
563
+ class="compact-player-skip-forward amplitude-skip-forward">
555
564
  </div>
556
565
  {% endif %}
557
566
  <div
558
567
  id="compact_player_next_{{player_id}}"
559
- class="amplitude-next compact-player-next"
568
+ class="compact-player-next amplitude-next"
560
569
  data-amplitude-source="{{source_media_attribute}}"
561
570
  data-amplitude-playlist="{{player_playlist}}">
562
571
  </div>
563
572
  {% if repeat_button %}
564
573
  <div
565
574
  id="compact_player_repeat"
566
- class="amplitude-repeat amplitude-repeat-off"
575
+ class="compact-player-repeat amplitude-repeat amplitude-repeat-off"
567
576
  data-amplitude-source="{{source_media_attribute}}"
568
577
  data-amplitude-playlist="{{player_playlist}}">
569
578
  </div>
@@ -573,10 +582,12 @@ exclude_from_search: true
573
582
  <div class="compact-player-volume-container">
574
583
  {% if volume_slider %}
575
584
  <div class="volume-controls">
576
- <div class="amplitude-mute amplitude-not-muted"></div>
585
+ <div class="compact-player-amplitude-mute amplitude-mute amplitude-not-muted"></div>
577
586
  <input
578
587
  id="volume_slider_{{player_id}}"
579
588
  class="amplitude-volume-slider"
589
+ data-amplitude-source="{{source_media_attribute}}"
590
+ data-amplitude-playlist="{{player_playlist}}"
580
591
  type="range"
581
592
  min="{{volume_slider_min}}"
582
593
  max="{{volume_slider_max}}"
@@ -713,12 +724,12 @@ exclude_from_search: true
713
724
  data-amplitude-source="{{source_media_attribute}}"
714
725
  data-amplitude-song-info="artist">
715
726
  </span>
716
- <span class="song-artist-album-delimiter">·</span>
727
+ <!-- span class="song-artist-album-delimiter">·</span>
717
728
  <span
718
729
  data-amplitude-playlist="{{player_playlist}}"
719
730
  data-amplitude-source="{{source_media_attribute}}"
720
731
  data-amplitude-song-info="album">
721
- </span>
732
+ </span -->
722
733
  </span>
723
734
  </div>
724
735
 
@@ -772,7 +783,7 @@ exclude_from_search: true
772
783
  {% if skip_forward_backward_button %}
773
784
  <div
774
785
  id="skip-backward_{{player_id}}"
775
- class="large-player-skip-backward-{{player_id}} large-player-skip-backward"
786
+ class="large-player-skip-backward-{{player_id}} large-player-skip-backward amplitude-skip-backward"
776
787
  data-amplitude-source="{{source_media_attribute}}"
777
788
  data-amplitude-playlist="{{player_playlist}}">
778
789
  </div>
@@ -786,7 +797,7 @@ exclude_from_search: true
786
797
  {% if skip_forward_backward_button %}
787
798
  <div
788
799
  id="skip-forward_{{player_id}}"
789
- class="large-player-skip-forward-{{player_id}} large-player-skip-forward"
800
+ class="large-player-skip-forward-{{player_id}} large-player-skip-forward amplitude-skip-forward"
790
801
  data-amplitude-source="{{source_media_attribute}}"
791
802
  data-amplitude-playlist="{{player_playlist}}">
792
803
  </div>
@@ -811,12 +822,13 @@ exclude_from_search: true
811
822
  {% if volume_slider %}
812
823
  <div
813
824
  id="amplitude-mute_{{player_id}}"
814
- class="amplitude-mute amplitude-not-muted"
825
+ class="large-player-amplitude-mute amplitude-mute amplitude-not-muted"
815
826
  data-amplitude-source="{{source_media_attribute}}">
816
827
  </div>
817
828
  <input
818
829
  id="volume_slider_{{player_id}}"
819
830
  class="amplitude-volume-slider"
831
+ data-amplitude-playlist="{{player_playlist}}"
820
832
  data-amplitude-source="{{source_media_attribute}}"
821
833
  type="range"
822
834
  min="{{volume_slider_min}}"
@@ -947,9 +959,12 @@ exclude_from_search: true
947
959
  {% if playlist_audio_info and forloop.first %}
948
960
 
949
961
  <!-- place initial (first element) info URL -->
950
- <span class="amplitude-audio-info">
951
- <a class="audio-info-link-{{player_playlist}} audio-info-link" href="{{item.audio_info}}" target="_blank">
952
- <i class="mdib mdib-information md-gray-400 mdib-24px"></i>
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>
953
968
  </a>
954
969
  </span>
955
970
  {% else %}
@@ -985,13 +1000,13 @@ exclude_from_search: true
985
1000
  data-amplitude-song-info="artist">
986
1001
  </span>
987
1002
  <!-- jadams, 2024-12-08: make album info configurable -->
988
- <span class="song-artist-album-delimiter">·</span>
1003
+ <!-- span class="song-artist-album-delimiter">·</span>
989
1004
  <span
990
1005
  class="song-info-{{player_playlist}}"
991
1006
  data-amplitude-source="audio"
992
1007
  data-amplitude-playlist="{{player_playlist}}"
993
1008
  data-amplitude-song-info="album">
994
- </span>
1009
+ </span -->
995
1010
  </div>
996
1011
  </div>
997
1012
 
@@ -1022,8 +1037,7 @@ exclude_from_search: true
1022
1037
  <!-- START playlist items (Large Player) -->
1023
1038
  <ul
1024
1039
  id="large_player_title_list_{{player_playlist}}"
1025
- class="amplitude-scroller-gradient large-player-title-list"
1026
- style="margin-bottom: 0px; padding-left: 0px;">
1040
+ class="large-player-title-list player-title-list playlist-scroller-gradient">
1027
1041
 
1028
1042
  <!-- START Playlist item -->
1029
1043
  <li>
@@ -1032,7 +1046,7 @@ exclude_from_search: true
1032
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" -->
1033
1047
  <!-- class="amplitude-song amplitude-song-container amplitude-song-container-large-player amplitude-play-pause amplitude-paused" -->
1034
1048
  <div
1035
- class="amplitude-song-container-large-player-{{player_id}} amplitude-song amplitude-song-container amplitude-song-container-large-player amplitude-play-pause amplitude-paused"
1049
+ class="amplitude-song-container-large-player-{{player_id}} amplitude-song-container-large-player amplitude-song-container amplitude-song amplitude-play-pause amplitude-paused"
1036
1050
  data-amplitude-song-index="{{forloop.index0}}"
1037
1051
  data-amplitude-source="{{source_media_attribute}}"
1038
1052
  data-amplitude-playlist="{{player_playlist}}">
@@ -89,6 +89,8 @@ regenerate: true
89
89
  "use strict";
90
90
  j1.adapter.advertising = ((j1, window) => {
91
91
 
92
+ const isDev = (j1.env === "development" || j1.env === "dev") ? true : false;
93
+
92
94
  {% comment %} Set global variables
93
95
  ----------------------------------------------------------------------------- {% endcomment %}
94
96
  var environment = '{{environment}}';
@@ -196,8 +198,8 @@ j1.adapter.advertising = ((j1, window) => {
196
198
  _this.ad_initializer();
197
199
 
198
200
  if (!validpublisherID) {
199
- logger.warn('\n' + 'invalid publisher id: ' + publisherID);
200
- logger.info('\n' + 'module disabled' );
201
+ isDev && logger.warn('invalid publisher id: ' + publisherID);
202
+ logger.info('module disabled' );
201
203
 
202
204
  clearInterval(dependencies_met_page_ready);
203
205
  return false;
@@ -210,22 +212,22 @@ j1.adapter.advertising = ((j1, window) => {
210
212
  // initialize state flag
211
213
  _this.setState('started');
212
214
 
213
- logger.debug('\n' + 'state: ' + _this.getState());
215
+ logger.debug('state: ' + _this.getState());
214
216
 
215
217
  if (user_consent.personalization) {
216
- logger.info('\n' + 'adsense api is being initialized');
218
+ logger.info('adsense api is being initialized');
217
219
 
218
220
  if (!validpublisherID) {
219
- logger.debug('\n' + 'invalid publisherID detected for Google Adsense: ' + publisherID);
220
- logger.info('\n' + 'skip initialization for provider: ' + advertisingProvider);
221
+ logger.debug('invalid publisherID detected for Google Adsense: ' + publisherID);
222
+ logger.info('skip initialization for provider: ' + advertisingProvider);
221
223
 
222
224
  return false;
223
225
  } else {
224
- logger.info('\n' + 'use publisherID for Google Adsense: ' + publisherID);
226
+ logger.info('use publisherID for Google Adsense: ' + publisherID);
225
227
  }
226
228
 
227
229
  // add Google Adsense API dynamically in head section loaded async
228
- logger.info('\n' + 'add Google AdsenseAPI in section: head');
230
+ logger.info('add Google AdsenseAPI in section: head');
229
231
 
230
232
  gasScript.async = true;
231
233
  gasScript.id = 'gas-api';
@@ -233,22 +235,22 @@ j1.adapter.advertising = ((j1, window) => {
233
235
  gasScript.setAttribute('data-ad-client', publisherID);
234
236
 
235
237
  document.head.appendChild(gasScript);
236
- logger.info('\n' + 'adsense api initialized');
238
+ logger.info('adsense api initialized');
237
239
 
238
240
  // setup monitor for state changes on all ads configured
239
241
  setTimeout(() => {
240
242
  var ads_found = (document.getElementsByClassName('adsbygoogle').length > 0) ? true : false;
241
243
  if (ads_found > 0) {
242
- logger.info('\n' + 'setup Google Ad monitoring');
244
+ logger.info('setup Google Ad monitoring');
243
245
  _this.ad_monitor();
244
246
  } else {
245
- logger.warn('\n' + 'no initialized Google Ads found in page');
247
+ isDev && logger.warn('no initialized Google Ads found in page');
246
248
  }
247
249
  }, 1000);
248
250
 
249
251
  // run protection check
250
252
  if (checkTrackingProtection) {
251
- logger.debug('\n' + 'run checks for tracking protection');
253
+ logger.debug('run checks for tracking protection');
252
254
 
253
255
  _this.check_tracking_protection();
254
256
  var dependencies_met_tracking_check_ready = setInterval (() => {
@@ -256,14 +258,14 @@ j1.adapter.advertising = ((j1, window) => {
256
258
  var browser_tracking_feature = navigator.DoNotTrack;
257
259
 
258
260
  if (!tracking_protection && !browser_tracking_feature) {
259
- logText = '\n' + 'tracking protection: disabled';
261
+ logText = 'tracking protection: disabled';
260
262
  logger.info(logText);
261
263
  } else {
262
- logText = '\n' + 'tracking protection: enabled';
264
+ logText = 'tracking protection: enabled';
263
265
  logger.debug(logText);
264
266
 
265
267
  if (showErrorPageOnBlocked) {
266
- logger.error('\n' + 'redirect to error page (blocked content): HTML-447');
268
+ logger.error('redirect to error page (blocked content): HTML-447');
267
269
  // redirect to error page: blocked content
268
270
  window.location.href = '/447.html';
269
271
  }
@@ -275,11 +277,11 @@ j1.adapter.advertising = ((j1, window) => {
275
277
  } else {
276
278
  // no protection check enabled
277
279
  _this.setState('finished');
278
- logger.debug('\n' + 'state: ' + _this.getState());
279
- logger.info('\n' + 'initializing module: finished');
280
+ logger.debug('state: ' + _this.getState());
281
+ logger.info('initializing module: finished');
280
282
 
281
283
  endTimeModule = Date.now();
282
- logger.info('\n' + 'module initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
284
+ logger.info('module initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
283
285
 
284
286
  clearInterval(dependencies_met_tracking_check_ready);
285
287
  } // END if checkTrackingProtection
@@ -290,8 +292,8 @@ j1.adapter.advertising = ((j1, window) => {
290
292
  console.debug('cookies for personalization rejected');
291
293
  console.debug('initialization of module advertising skipped');
292
294
  } else {
293
- logger.warn('\n' + 'user consent on personalization: ' + user_consent.personalization);
294
- logger.warn('\n' + 'initializing module: skipped');
295
+ isDev && logger.warn('user consent on personalization: ' + user_consent.personalization);
296
+ isDev && logger.warn('initializing module: skipped');
295
297
  }
296
298
 
297
299
  // if consent is rejected, detect and remove Adsense cookies
@@ -305,13 +307,13 @@ j1.adapter.advertising = ((j1, window) => {
305
307
  if (checkTrackingProtection) {
306
308
  if (!user_consent.personalization) {
307
309
  if (development) {
308
- logText = '\n' + 'consent on cookies disabled for personalization';
310
+ logText = 'consent on cookies disabled for personalization';
309
311
  logger.debug(logText);
310
312
  }
311
313
 
312
314
  if (showErrorPageOnBlocked) {
313
315
  if (development) {
314
- logger.error('\n' + 'redirect to error page (blocked content): HTML-447');
316
+ logger.error('redirect to error page (blocked content): HTML-447');
315
317
  }
316
318
  // redirect to error page: blocked content
317
319
  window.location.href = '/448.html';
@@ -329,8 +331,8 @@ j1.adapter.advertising = ((j1, window) => {
329
331
  var ads_found = document.getElementsByClassName('adsbygoogle').length;
330
332
 
331
333
  logger = log4javascript.getLogger('j1.adapter.advertising');
332
- logger.debug('\n' + 'found ads in page: #' + ads_found);
333
- logger.debug('\n' + 'no ads initialized, advertising disabled');
334
+ logger.debug('found ads in page: #' + ads_found);
335
+ logger.debug('no ads initialized, advertising disabled');
334
336
 
335
337
  {% endif %} // END if 'advertising'
336
338
 
@@ -399,18 +401,18 @@ j1.adapter.advertising = ((j1, window) => {
399
401
  ads_initialized ++;
400
402
  } else {
401
403
  if (ad.layout === layout) {
402
- logger.warn('\n' + 'ad disabled on id ' + ad.id + ' for slot: ' + ad.slot);
404
+ isDev && logger.warn('ad disabled on id ' + ad.id + ' for slot: ' + ad.slot);
403
405
  }
404
406
  }
405
407
  } else {
406
- logger.warn('\n' + 'skipped add settings on all ad containers');
408
+ isDev && logger.warn('skipped add settings on all ad containers');
407
409
  } // END if user_consent.personalization
408
410
 
409
411
  });
410
412
  // END loading adverting containers
411
413
 
412
414
  if (ads_initialized > 0) {
413
- logger.info('\n' + 'ads enabled found in page (total): ' + ads_initialized);
415
+ logger.info('ads enabled found in page (total): ' + ads_initialized);
414
416
 
415
417
  var google_ads = document.getElementsByClassName('adsbygoogle');
416
418
  var counter = document.getElementsByClassName('adsbygoogle').length;
@@ -431,7 +433,7 @@ j1.adapter.advertising = ((j1, window) => {
431
433
  counter --;
432
434
  });
433
435
  } else {
434
- logger.warn('\n' + 'no ads found in page for layout: ' + layout);
436
+ isDev && logger.warn('no ads found in page for layout: ' + layout);
435
437
  } // END if ads_initialized
436
438
 
437
439
  clearInterval(dependencies_met_page_visible);
@@ -465,19 +467,19 @@ j1.adapter.advertising = ((j1, window) => {
465
467
  if (production) {
466
468
  console.debug('detected ad blocks in state: unfilled');
467
469
  } else {
468
- logger.warn('\n' + 'detected ad on slot ' + elm.adSlot + ' in state: ' + event.newValue);
470
+ isDev && logger.warn('detected ad on slot ' + elm.adSlot + ' in state: ' + event.newValue);
469
471
  }
470
472
  if (addBorderOnUnfilled) {
471
473
  $('.adsbygoogle').addClass('border--dotted');
472
474
  }
473
475
  if (autoHideOnUnfilled) {
474
476
  if (development) {
475
- logger.info('\n' + ' hide ad on slot: ' + elm.adSlot);
477
+ logger.info(' hide ad on slot: ' + elm.adSlot);
476
478
  }
477
479
  $('.adsbygoogle').hide();
478
480
  }
479
481
  } else if (event.newValue === 'filled') {
480
- logger.info('\n' + 'detected ad on slot ' + elm.adSlot + ' in state: ' + event.newValue);
482
+ logger.info('detected ad on slot ' + elm.adSlot + ' in state: ' + event.newValue);
481
483
  } else {
482
484
  var filled = (event.newValue.includes('display') ? true : false);
483
485
  var unfilled = (event.newValue.includes('dotted') ? true : false);
@@ -485,19 +487,19 @@ j1.adapter.advertising = ((j1, window) => {
485
487
  if (production) {
486
488
  console.info('detected ad blocks in state: filled');
487
489
  } else {
488
- logger.info('\n' + 'detected ad block on slot ' + elm.adSlot + ' in state: filled');
490
+ logger.info('detected ad block on slot ' + elm.adSlot + ' in state: filled');
489
491
  }
490
492
  } else if (unfilled) {
491
493
  if (production) {
492
494
  console.info('detected ad blocks in state: unfilled');
493
495
  } else {
494
- logger.info('\n' + 'detected ad block on slot ' + elm.adSlot + ' in state: unfilled');
496
+ logger.info('detected ad block on slot ' + elm.adSlot + ' in state: unfilled');
495
497
  }
496
498
  } else {
497
499
  if (production) {
498
500
  console.warn('unknown ad state detected: ' + event.newValue);
499
501
  } else {
500
- logger.warn('\n' + 'unknown ad state detected on slot ' + elm.adSlot + ' : ' + event.newValue);
502
+ isDev && logger.warn('unknown ad state detected on slot ' + elm.adSlot + ' : ' + event.newValue);
501
503
  }
502
504
  }
503
505
  } // END if 'event.newValue'
@@ -521,7 +523,7 @@ j1.adapter.advertising = ((j1, window) => {
521
523
  check_tracking_protection: () => {
522
524
  var logger = log4javascript.getLogger('j1.adapter.advertising.monitor.tracking');
523
525
 
524
- logText = '\n' + 'check for trackingprotection';
526
+ logText = 'check for trackingprotection';
525
527
  logger.info(logText);
526
528
 
527
529
  function checkTrackingProtection() {
@@ -543,7 +545,7 @@ j1.adapter.advertising = ((j1, window) => {
543
545
  tracking_protection = false;
544
546
  }).catch(e => {
545
547
  tracking_protection = true;
546
- logger.debug('\n' + 'detection details: ' + e);
548
+ logger.debug('detection details: ' + e);
547
549
  });
548
550
  }
549
551
  }
@@ -558,7 +560,7 @@ j1.adapter.advertising = ((j1, window) => {
558
560
  messageHandler: (sender, message) => {
559
561
  var json_message = JSON.stringify(message, undefined, 2);
560
562
 
561
- logText = '\n' + 'received message from ' + sender + ': ' + json_message;
563
+ logText = 'received message from ' + sender + ': ' + json_message;
562
564
  logger.debug(logText);
563
565
 
564
566
  // -----------------------------------------------------------------------
@@ -571,7 +573,7 @@ j1.adapter.advertising = ((j1, window) => {
571
573
  //
572
574
 
573
575
  if (development) {
574
- logger.info('\n' + message.text);
576
+ logger.info(message.text);
575
577
  }
576
578
  }
577
579