j1-template 2024.3.23 → 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 (301) 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/gallery_app.html +102 -14
  7. data/assets/data/masonry_app.html +521 -0
  8. data/assets/theme/j1/adapter/js/gallery.js +13 -2
  9. data/assets/theme/j1/core/css/themes/unolight/bootstrap.css +29 -0
  10. data/assets/theme/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  11. data/assets/theme/j1/core/css/vendor.css +1 -1
  12. data/assets/theme/j1/core/css/vendor.min.css +1 -1
  13. data/assets/theme/j1/modules/lightGallery/css/theme/uno/uno.css +21 -13
  14. data/assets/theme/j1/modules/lightGallery/css/theme/uno/uno.min.css +1 -2
  15. data/assets/theme/j1/modules/lightGallery/js/lightgallery.js +48 -28
  16. data/assets/theme/j1/modules/lightGallery/js/lightgallery.min.js +1 -8
  17. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.js +463 -298
  18. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.min.js +1 -8
  19. data/assets/theme/j1/modules/rtable/css/theme/uno/rtable.css +11 -1
  20. data/assets/theme/j1/modules/videojs/css/themes/uno.css +53 -31
  21. data/assets/theme/j1/modules/videojs/css/themes/uno.min.css +1 -1
  22. data/assets/theme/j1/modules/videojs/css/videojs.css +2 -3
  23. data/assets/theme/j1/modules/videojs/css/videojs.min.css +1 -1
  24. data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/!examples/index.html +4 -9
  25. data/assets/theme/j1/modules/videojs/plugins/controls/hotkeys/!examples/example.html +1 -1
  26. data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/!examples/index.html +3 -7
  27. data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/!examples/index.html +3 -8
  28. data/assets/theme/j1/modules/videojs/plugins/controls/zoom/css/zoom.css +55 -55
  29. data/assets/theme/j1/modules/videojs/plugins/controls/zoom/css/zoom.min.css +2 -1
  30. data/assets/theme/j1/modules/videojs/plugins/controls/zoom/js/zoom.js +590 -382
  31. data/assets/theme/j1/modules/videojs/plugins/controls/zoom/js/zoom.min.js +1 -1
  32. data/assets/theme/j1/modules/videojs/plugins/j1_core/template.min.js +31 -0
  33. data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/index.html +32 -0
  34. data/assets/theme/j1/modules/videojs/plugins/players/dm/js/dailymotion.0.js +647 -0
  35. data/assets/theme/j1/modules/videojs/plugins/players/dm/js/dailymotion.1.js +653 -0
  36. data/assets/theme/j1/modules/videojs/plugins/players/vm/!examples/{player → iframe_api}/index.html +6 -6
  37. data/assets/theme/j1/modules/videojs/plugins/players/vm/!examples/videojs_api/index.html +38 -0
  38. data/assets/theme/j1/modules/videojs/plugins/players/vm/api/js/v2.21.0/vimeo.js +3562 -0
  39. data/assets/theme/j1/modules/videojs/plugins/players/vm/api/js/v2.21.0/vimeo.min.js +36 -0
  40. data/assets/theme/j1/modules/videojs/plugins/players/vm/api/js/vimeo.js +451 -1849
  41. data/assets/theme/j1/modules/videojs/plugins/players/vm/api/js/vimeo.min.js +2 -14
  42. data/assets/theme/j1/modules/videojs/plugins/players/vm/js/LICENSE +21 -0
  43. data/assets/theme/j1/modules/videojs/plugins/players/vm/js/README.md +54 -0
  44. data/assets/theme/j1/modules/videojs/plugins/players/vm/js/old/vimeo.js +666 -0
  45. data/assets/theme/j1/modules/videojs/plugins/players/vm/js/old/vimeo.min.js +28 -0
  46. data/assets/theme/j1/modules/videojs/plugins/players/vm/js/vimeo.js +2318 -548
  47. data/assets/theme/j1/modules/videojs/plugins/players/vm/js/vimeo.min.js +12 -18
  48. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/index.html +31 -0
  49. data/assets/theme/j1/modules/videojs/plugins/players/yt/js/youtube.js +12 -5
  50. data/assets/theme/j1/modules/videojs/plugins/players/yt/js/youtube.min.js +1 -1
  51. data/lib/j1/version.rb +1 -1
  52. data/lib/starter_web/Gemfile +1 -1
  53. data/lib/starter_web/README.md +5 -5
  54. data/lib/starter_web/_config.yml +2 -2
  55. data/lib/starter_web/_data/blocks/banner.yml +3 -3
  56. data/lib/starter_web/_data/j1_config.yml +1 -1
  57. data/lib/starter_web/_data/layouts/home.yml +1 -1
  58. data/lib/starter_web/_data/modules/attics.yml +11 -0
  59. data/lib/starter_web/_data/modules/authentication.yml +1 -2
  60. data/lib/starter_web/_data/modules/carousel.yml +1 -1
  61. data/lib/starter_web/_data/modules/defaults/masonry.yml +116 -23
  62. data/lib/starter_web/_data/modules/gallery.yml +197 -238
  63. data/lib/starter_web/_data/modules/log4javascript.yml +1 -1
  64. data/lib/starter_web/_data/modules/masonry.yml +36 -14
  65. data/lib/starter_web/_data/modules/navigator.yml +1 -1
  66. data/lib/starter_web/_data/modules/navigator_menu.yml +12 -8
  67. data/lib/starter_web/_data/templates/feed.xml +1 -1
  68. data/lib/starter_web/_includes/attributes.asciidoc +7 -0
  69. data/lib/starter_web/_plugins/asciidoctor/dailymotion-block.rb +206 -24
  70. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  71. data/lib/starter_web/assets/image/module/attic/1920x1280/admin-dashboard-bootstrap.jpg +0 -0
  72. data/lib/starter_web/assets/image/module/attic/1920x1280/alexander-redl.jpg +0 -0
  73. data/lib/starter_web/assets/image/module/attic/1920x1280/alexander-shatov.jpg +0 -0
  74. data/lib/starter_web/assets/image/module/attic/1920x1280/alexey-ruban.jpg +0 -0
  75. data/lib/starter_web/assets/image/module/attic/1920x1280/andrea-badino.jpg +0 -0
  76. data/lib/starter_web/assets/image/module/attic/1920x1280/bootstrap-modal.jpg +0 -0
  77. data/lib/starter_web/assets/image/module/attic/1920x1280/bp-miller.jpg +0 -0
  78. data/lib/starter_web/assets/image/module/attic/1920x1280/brad-neathery.jpg +0 -0
  79. data/lib/starter_web/assets/image/module/attic/1920x1280/brigitta-schneiter.jpg +0 -0
  80. data/lib/starter_web/assets/image/module/attic/1920x1280/build-with-gemini.jpg +0 -0
  81. data/lib/starter_web/assets/image/module/attic/1920x1280/clem-onojeghuo.jpg +0 -0
  82. data/lib/starter_web/assets/image/module/attic/1920x1280/crawford-jolly.jpg +0 -0
  83. data/lib/starter_web/assets/image/module/attic/1920x1280/eleni-afiontzi.jpg +0 -0
  84. data/lib/starter_web/assets/image/module/attic/1920x1280/fly-d.jpg +0 -0
  85. data/lib/starter_web/assets/image/module/attic/1920x1280/guillaume-bolduc.jpg +0 -0
  86. data/lib/starter_web/assets/image/module/attic/1920x1280/ideas-start-here-1920x1280.jpg +0 -0
  87. data/lib/starter_web/assets/image/module/attic/1920x1280/isaac-davis.jpg +0 -0
  88. data/lib/starter_web/assets/image/module/attic/1920x1280/j1-launch.jpg +0 -0
  89. data/lib/starter_web/assets/image/module/attic/1920x1280/j1-mockup.jpg +0 -0
  90. data/lib/starter_web/assets/image/module/attic/1920x1280/john-schnobrich-2.jpg +0 -0
  91. data/lib/starter_web/assets/image/module/attic/1920x1280/josep-martins.jpg +0 -0
  92. data/lib/starter_web/assets/image/module/attic/1920x1280/josh-liu.jpg +0 -0
  93. data/lib/starter_web/assets/image/module/attic/1920x1280/kelly-sikkemal.jpg +0 -0
  94. data/lib/starter_web/assets/image/module/attic/1920x1280/kira-auf-der-heide.jpg +0 -0
  95. data/lib/starter_web/assets/image/module/attic/1920x1280/kristopher-roller.jpg +0 -0
  96. data/lib/starter_web/assets/image/module/attic/1920x1280/markus-spiske.jpg +0 -0
  97. data/lib/starter_web/assets/image/module/attic/1920x1280/martin-sanchez.jpg +0 -0
  98. data/lib/starter_web/assets/image/module/attic/1920x1280/material_symbols.jpg +0 -0
  99. data/lib/starter_web/assets/image/module/attic/1920x1280/matthaeus.jpg +0 -0
  100. data/lib/starter_web/assets/image/module/attic/1920x1280/melanie-deziel.jpg +0 -0
  101. data/lib/starter_web/assets/image/module/attic/1920x1280/milad-fakurian.jpg +0 -0
  102. data/lib/starter_web/assets/image/module/attic/1920x1280/mohammad-rahmani.jpg +0 -0
  103. data/lib/starter_web/assets/image/module/attic/1920x1280/nasa.jpg +0 -0
  104. data/lib/starter_web/assets/image/module/attic/1920x1280/quino-al-2.jpg +0 -0
  105. data/lib/starter_web/assets/image/module/attic/1920x1280/stories-ink-tattoo-care.jpg +0 -0
  106. data/lib/starter_web/assets/image/module/attic/1920x1280/towfiqu-barbhuiya.jpg +0 -0
  107. data/lib/starter_web/assets/image/page/tour/bootswatch-themes.jpg +0 -0
  108. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +1 -1
  109. data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +2 -2
  110. data/lib/starter_web/collections/posts/public/featured/_posts/2023-10-18-url-types.adoc +2 -2
  111. data/lib/starter_web/config.ru +1 -1
  112. data/lib/starter_web/dot.gitattributes +1 -1
  113. data/lib/starter_web/index.html +8 -7
  114. data/lib/starter_web/package.json +1 -1
  115. data/lib/starter_web/pages/public/about/features.adoc +5 -5
  116. data/lib/starter_web/pages/public/about/reporting_issues.adoc +5 -5
  117. data/lib/starter_web/pages/public/about/site.adoc +14 -10
  118. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/000_intro.adoc +1 -1
  119. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/100_converter.adoc +1 -1
  120. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/200_themes.adoc +1 -1
  121. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +1 -1
  122. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +1 -1
  123. data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +1 -1
  124. data/lib/starter_web/pages/public/blog/navigator/archive/allview.html +1 -1
  125. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +1 -1
  126. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +1 -1
  127. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +1 -1
  128. data/lib/starter_web/pages/public/blog/navigator/index.html +1 -1
  129. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_biography.adoc +1 -1
  130. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_fantasy.adoc +1 -1
  131. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_romance.adoc +1 -1
  132. data/lib/starter_web/pages/public/learn/bookshelf/jekyll_collections.adoc +1 -1
  133. data/lib/starter_web/pages/public/learn/bookshelf/viewer_all_books.adoc +1 -1
  134. data/lib/starter_web/pages/public/learn/where_to_go.adoc +1 -1
  135. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +3 -3
  136. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +3 -3
  137. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +3 -3
  138. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +3 -3
  139. data/lib/starter_web/pages/public/panels/intro_panel/_includes/attributes.asciidoc +1 -1
  140. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +1 -4
  141. data/lib/starter_web/pages/public/plans/plans.adoc +1 -1
  142. data/lib/starter_web/pages/public/tools/previewer/preview_bootstrap_theme.adoc +6 -6
  143. data/lib/starter_web/pages/public/tools/tester/app_tester_amplitudejs_yt.adoc +7 -3
  144. data/lib/starter_web/pages/public/tools/tester/app_tester_swiperjs.adoc +7 -3
  145. data/lib/starter_web/pages/public/tools/tester/videojs_macro_tester.adoc +122 -34
  146. data/lib/starter_web/pages/public/tour/_includes/attributes.asciidoc +1 -2
  147. data/lib/starter_web/pages/public/tour/_includes/documents/419_advanced_modals_demo.asciidoc +1 -1
  148. data/lib/starter_web/pages/public/tour/_includes/documents/themes_bootstrap.asciidoc +1 -1
  149. data/lib/starter_web/pages/public/tour/asciidoc_extensions.adoc +7 -3
  150. data/lib/starter_web/pages/public/tour/bootstrap_themes.adoc +62 -7
  151. data/lib/starter_web/pages/public/tour/icon_fonts.adoc +4 -8
  152. data/lib/starter_web/pages/public/tour/modal_extentions.adoc +2 -2
  153. data/lib/starter_web/pages/public/tour/responsive_tables.adoc +21 -15
  154. data/lib/starter_web/pages/public/tour/typography.adoc +5 -5
  155. data/lib/starter_web/pages/public/tour/video_data.adoc +51 -26
  156. metadata +34 -149
  157. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/lg-transitions.css +0 -984
  158. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/lg-transitions.min.css +0 -26
  159. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/lightgallery-bundle.css +0 -1627
  160. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/lightgallery-bundle.min.css +0 -25
  161. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/animation-w.png +0 -0
  162. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/customize-w.png +0 -0
  163. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/dynamic-w.png +0 -0
  164. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/facebook-icon.svg +0 -10
  165. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/googleplus-icon.svg +0 -30
  166. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/html5-w.png +0 -0
  167. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/linked-in.png +0 -0
  168. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/module-w.png +0 -0
  169. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/play-button-hover.svg +0 -94
  170. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/play-button.png +0 -0
  171. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/play-button.svg +0 -93
  172. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/responsive-w.png +0 -0
  173. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/thumb-w.png +0 -0
  174. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/touch-w.png +0 -0
  175. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/twitter-icon.svg +0 -15
  176. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/twitter.png +0 -0
  177. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/video1-w.png +0 -0
  178. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/zoom-w.png +0 -0
  179. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/zoom.png +0 -0
  180. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/uno.css +0 -140
  181. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/uno.min.css +0 -19
  182. data/assets/theme/j1/modules/lightGallery/!v2.7.2/fonts/lg.svg +0 -54
  183. data/assets/theme/j1/modules/lightGallery/!v2.7.2/fonts/lg.ttf +0 -0
  184. data/assets/theme/j1/modules/lightGallery/!v2.7.2/fonts/lg.woff +0 -0
  185. data/assets/theme/j1/modules/lightGallery/!v2.7.2/fonts/lg.woff2 +0 -0
  186. data/assets/theme/j1/modules/lightGallery/!v2.7.2/images/loading.gif +0 -0
  187. data/assets/theme/j1/modules/lightGallery/!v2.7.2/img/loading.gif +0 -0
  188. data/assets/theme/j1/modules/lightGallery/!v2.7.2/img/video-play.png +0 -0
  189. data/assets/theme/j1/modules/lightGallery/!v2.7.2/img/vimeo-play.png +0 -0
  190. data/assets/theme/j1/modules/lightGallery/!v2.7.2/img/youtube-play.png +0 -0
  191. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/lightgallery.js +0 -2782
  192. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/lightgallery.min.js +0 -26
  193. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/parser/webvtt/LICENSE.md +0 -44
  194. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/parser/webvtt/README.md +0 -37
  195. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/parser/webvtt/parser.js +0 -890
  196. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/parser/webvtt/parser.min.js +0 -8
  197. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/j1/j1-video.js +0 -402
  198. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/j1/j1-video.min.js +0 -7
  199. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/j1/lg-video.1.js +0 -585
  200. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-autoplay.js +0 -275
  201. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-autoplay.min.js +0 -26
  202. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-comment.js +0 -230
  203. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-comment.min.js +0 -26
  204. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-fullscreen.js +0 -160
  205. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-fullscreen.min.js +0 -26
  206. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-hash.js +0 -223
  207. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-hash.min.js +0 -27
  208. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-medium-zoom.js +0 -157
  209. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-medium-zoom.min.js +0 -26
  210. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-pager.js +0 -164
  211. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-pager.min.js +0 -26
  212. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-rotate.js +0 -299
  213. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-rotate.min.js +0 -26
  214. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-share.js +0 -244
  215. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-share.min.js +0 -27
  216. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-thumbnail.js +0 -509
  217. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-thumbnail.min.js +0 -26
  218. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-video.js +0 -909
  219. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-video.min.js +0 -26
  220. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-vimeo-thumbnail.js +0 -207
  221. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-vimeo-thumbnail.min.js +0 -26
  222. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-zoom.js +0 -999
  223. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-zoom.min.js +0 -26
  224. data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-thumbnail.0.js +0 -495
  225. data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-thumbnail.1.js +0 -513
  226. data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-video.0.js +0 -553
  227. data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-video.1.js +0 -585
  228. data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-video.2.js +0 -914
  229. data/assets/theme/j1/modules/videojs/!v8.12.0/css/font/README.md +0 -151
  230. data/assets/theme/j1/modules/videojs/!v8.12.0/css/font/VideoJS.svg +0 -150
  231. data/assets/theme/j1/modules/videojs/!v8.12.0/css/font/video-js-cdn.css +0 -2012
  232. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/city.css +0 -147
  233. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/city.min.css +0 -5
  234. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/fantasy.css +0 -113
  235. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/fantasy.min.css +0 -5
  236. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/forest.css +0 -166
  237. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/forest.min.css +0 -5
  238. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/sea.css +0 -72
  239. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/sea.min.css +0 -5
  240. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/uno.css +0 -311
  241. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/uno.min.css +0 -19
  242. data/assets/theme/j1/modules/videojs/!v8.12.0/css/videojs.css +0 -1686
  243. data/assets/theme/j1/modules/videojs/!v8.12.0/css/videojs.min.css +0 -13
  244. data/assets/theme/j1/modules/videojs/!v8.12.0/js/video.js +0 -65226
  245. data/assets/theme/j1/modules/videojs/!v8.12.0/js/video.min.js +0 -55
  246. data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/dailymotion-controls.html +0 -18
  247. data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/dailymotion-javascript.html +0 -28
  248. data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/dailymotion-playlist.html +0 -19
  249. data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/global-parameters.html +0 -30
  250. data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/simple.html +0 -20
  251. data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/switch.html +0 -39
  252. data/assets/theme/j1/modules/videojs/plugins/players/vm/!examples/index.html +0 -34
  253. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/global-parameters.html +0 -34
  254. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/simple.html +0 -22
  255. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/switch.html +0 -39
  256. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/youtube-controls.html +0 -20
  257. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/youtube-javascript.html +0 -29
  258. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/youtube-list.html +0 -21
  259. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/youtube-playlist.html +0 -21
  260. data/lib/starter_web/_data/modules/gallery_app.yml +0 -1002
  261. data/lib/starter_web/_data/modules/gallery_playlists.yml +0 -534
  262. data/lib/starter_web/assets/image/module/attic/1920x1280/alina-grubnyak.jpg +0 -0
  263. data/lib/starter_web/assets/image/module/attic/1920x1280/bruno-figueiredo.jpg +0 -0
  264. data/lib/starter_web/assets/image/module/attic/1920x1280/harpal-singh.jpg +0 -0
  265. data/lib/starter_web/assets/image/module/attic/1920x1280/hayden-mills-2.jpg +0 -0
  266. data/lib/starter_web/assets/image/module/attic/1920x1280/j1-content-mockup-1.jpg +0 -0
  267. data/lib/starter_web/assets/image/module/attic/1920x1280/j1-content-mockup-2.jpg +0 -0
  268. data/lib/starter_web/assets/image/module/attic/1920x1280/j1-content-mockup-3.jpg +0 -0
  269. data/lib/starter_web/assets/image/module/attic/1920x1280/j1-starter-mockup-1.jpg +0 -0
  270. data/lib/starter_web/assets/image/module/attic/1920x1280/recha-oktaviani.jpg +0 -0
  271. data/lib/starter_web/assets/image/module/attic/1920x1280/tiny_desk.jpg +0 -0
  272. data/lib/starter_web/assets/image/module/attic/admin-dashboard-bootstrap-1280x600.jpg +0 -0
  273. data/lib/starter_web/assets/image/module/attic/alice-donovan-rouse-2.jpg +0 -0
  274. data/lib/starter_web/assets/image/module/attic/building-blocks-1920x1280.jpg +0 -0
  275. data/lib/starter_web/assets/image/module/attic/christina-1920x1280.jpg +0 -0
  276. data/lib/starter_web/assets/image/module/attic/franck-1920x1280.jpg +0 -0
  277. data/lib/starter_web/assets/image/module/attic/giammarco-boscaro-1920x1280.jpg +0 -0
  278. data/lib/starter_web/assets/image/module/attic/ideas-start-here-1920x1280-bw.jpg +0 -0
  279. data/lib/starter_web/assets/image/module/attic/ideas-start-here-1920x1280.jpg +0 -0
  280. data/lib/starter_web/assets/image/module/attic/jessica-ruscello-1920x1280.jpg +0 -0
  281. data/lib/starter_web/assets/image/module/attic/joanna-kosinska-1920x1280.jpg +0 -0
  282. data/lib/starter_web/assets/image/module/attic/leon-1920x1280.jpg +0 -0
  283. data/lib/starter_web/assets/image/module/attic/lianhao-1920x1280.jpg +0 -0
  284. data/lib/starter_web/assets/image/module/attic/library-1920x1280.jpg +0 -0
  285. data/lib/starter_web/assets/image/module/attic/markus-krisetya-1920x1280.jpg +0 -0
  286. data/lib/starter_web/assets/image/module/attic/markus-spiske-1920x1280.jpg +0 -0
  287. data/lib/starter_web/assets/image/module/attic/markus-spiske4-1920x1280.jpg +0 -0
  288. data/lib/starter_web/assets/image/module/attic/matthaeus-1920x1280.jpg +0 -0
  289. data/lib/starter_web/assets/image/module/attic/matthew-dockery-1920x1280.jpg +0 -0
  290. data/lib/starter_web/assets/image/module/attic/no-time-1920x1280.jpg +0 -0
  291. data/lib/starter_web/assets/image/module/attic/rirri-1920x1280.jpg +0 -0
  292. data/lib/starter_web/assets/image/module/attic/shubham-dhage-1920x1280.jpg +0 -0
  293. data/lib/starter_web/assets/image/module/attic/shutterstock_sponsor-1920x1280.jpg +0 -0
  294. data/lib/starter_web/assets/image/module/attic/sigmund-1920x1280.jpg +0 -0
  295. data/lib/starter_web/assets/image/module/attic/szabo-viktor-1920x1280.jpg +0 -0
  296. data/lib/starter_web/assets/image/module/attic/themes-1920x1280-bw.jpg +0 -0
  297. data/lib/starter_web/assets/image/module/attic/tldr-1920x800.jpg +0 -0
  298. data/lib/starter_web/assets/image/module/attic/vladislav-klapin-1920x1280.jpg +0 -0
  299. data/lib/starter_web/assets/image/module/attic/yellow-cactus-1920x1280.jpg +0 -0
  300. /data/assets/theme/j1/modules/videojs/plugins/players/vm/{LICENSE → js/old/LICENSE} +0 -0
  301. /data/assets/theme/j1/modules/videojs/plugins/players/vm/{README.md → js/old/README.md} +0 -0
@@ -622,6 +622,8 @@ settings:
622
622
  # --------------------------------------------------------------------
623
623
  vimeoPlayer:
624
624
  enabled: true
625
+ api: native # native|videojs
626
+
625
627
  options:
626
628
  autoPlay: true
627
629
  muted: true
@@ -634,6 +636,8 @@ settings:
634
636
  # --------------------------------------------------------------------
635
637
  wistiaPlayer:
636
638
  enabled: true
639
+ api: native # native|videojs
640
+
637
641
  options:
638
642
  autoPlay: true
639
643
  fullscreenButton: true
@@ -644,6 +648,8 @@ settings:
644
648
  # --------------------------------------------------------------------
645
649
  youTubePlayer:
646
650
  enabled: true
651
+ api: videojs # native|videojs
652
+
647
653
  options:
648
654
  autoPlay: true
649
655
  muted: true
@@ -705,18 +711,18 @@ settings:
705
711
  - video:
706
712
  name: Planet Earth II
707
713
  type: youtube
714
+ api: videojs # jadams !!!
708
715
  size: 1280-720
709
- source: //youtu.be/IUN664s7N-c
716
+ source: //youtube.com/IUN664s7N-c
710
717
  pinterest_prefix: Pin video
711
718
  tweet_prefix: Try video
712
719
  description: >
713
- <h5>Beauty of Nature</h5>
714
- <h6>
720
+ <h2>Beauty of Nature</h2>
721
+ <h3>
715
722
  The BBC America presents breathtaking landscapes of
716
723
  amazing habitats from their Planet Earth II series
717
724
  on YouTube
718
- </h6>
719
- <br>
725
+ </h3>
720
726
  poster:
721
727
  style: img-responsive
722
728
  source: //img.youtube.com/vi/IUN664s7N-c/maxresdefault.jpg
@@ -733,9 +739,11 @@ settings:
733
739
  pinterest_prefix: Pin video
734
740
  tweet_prefix: Try video
735
741
  description: >
736
- <h5>Amazing Nature</h5>
737
- <h6>Video by <a target='_blank' href='//vimeo.com/charliekaye'>Charlie Kaye.</a> on Vimeo</h6>
738
- <br>
742
+ <h2>Amazing Nature</h2>
743
+ <h3>
744
+ Video by <a target='_blank' href='//vimeo.com/charliekaye'>Charlie Kaye.</a>
745
+ on Vimeo
746
+ </h3>
739
747
  poster:
740
748
  style: img-responsive
741
749
  source: /assets/video/poster/vimeo/amazing_nature.jpg
@@ -752,9 +760,8 @@ settings:
752
760
  pinterest_prefix: Pin video
753
761
  tweet_prefix: Try video
754
762
  description: >
755
- <h5>SELF Channel</h5>
756
- <h6>Beginner Mat Pilates</h6>
757
- <br>
763
+ <h2>SELF Channel</h2>
764
+ <h3>Beginner Mat Pilates</h3>
758
765
  poster:
759
766
  style: img-responsive
760
767
  source: /assets/video/poster/dailymotion/pilates.jpg
@@ -772,9 +779,24 @@ settings:
772
779
  pinterest_prefix: Pin video
773
780
  tweet_prefix: Try video
774
781
  description: >
775
- <h5>Peck Pocketed by Kevin Herron</h5>
776
- <h6>Student Academy Award winning cartoon clip on VideoJS</h6>
777
- <br>
782
+ <h2>Peck Pocketed by Kevin Herron</h2>
783
+ <h3>Student Academy Award winning cartoon clip on VideoJS</h3>
784
+
785
+ tracks:
786
+ - track:
787
+ default: true # Indicates that the track is to be enabled if the user's preferences do not indicate that another track would be more appropriate
788
+ kind: captions
789
+ srclang: en # Code for the language of the text track
790
+ label: English # Descriptive text for the track that will used in the user interface (player)
791
+ src: /assets/video/tracks/html5/peck_pocketed/captions/video.vtt
792
+
793
+ - track:
794
+ default: true # Indicates that the track is to be enabled if the user's preferences do not indicate that another track would be more appropriate
795
+ kind: chapters
796
+ srclang: en # Code for the language of the text track
797
+ label: Chapters # Descriptive text for the track that will used in the user interface (player)
798
+ src: /assets/video/tracks/html5/peck_pocketed/chapters/video.vtt
799
+
778
800
  poster:
779
801
  style: img-responsive
780
802
  source: peck_pocketed.jpg
@@ -217,4 +217,4 @@ settings:
217
217
  target: none
218
218
 
219
219
  # ------------------------------------------------------------------------------
220
- # END config
220
+ # END config
@@ -814,18 +814,22 @@
814
814
  #
815
815
  - item: About
816
816
  sublevel:
817
- - title: Starter
817
+
818
+ - title: This Site
818
819
  icon: home-variant-outline
819
820
  href: /pages/public/about/starter/
820
- - title: Issues
821
- icon: bug
822
- href: /pages/public/about/reporting_issues/
821
+
822
+ - title: Privacy
823
+ icon: heart
824
+ href: /pages/public/legal/en/privacy/
825
+
823
826
  - title: Features
824
827
  icon: wrench
825
828
  href: /pages/public/about/features/
826
- - title: Privacy
827
- icon: heart
828
- href: /pages/public/legal/en/privacy/
829
+
830
+ - title: Issues
831
+ icon: bug
832
+ href: /pages/public/about/reporting_issues/
829
833
 
830
834
  # ------------------------------------------------------------------------------
831
- # END config
835
+ # END config
@@ -57,7 +57,7 @@
57
57
  <id>{{ page.url | absolute_url | xml_escape }}</id>
58
58
  <post_limited>{{ limit_posts }}</post_limited>
59
59
  <template_name>J1 Theme</template_name>
60
- <template_version>2024.3.23</template_version>
60
+ <template_version>2024.3.25</template_version>
61
61
 
62
62
  {% assign title = site.title | default: site.name %}
63
63
  {% if page.collection != "posts" %}
@@ -597,6 +597,13 @@ tag::data[]
597
597
  :data-images-lightbox--standalone: "assets/image/module/gallery/old_time/image/grand_pa/image-2.jpg, GrandPa's 80th Birthday"
598
598
  :data-images-lightbox--group: "assets/image/module/gallery/old_time/image/grand_pa/image-3.jpg, GrandPa's annual journey, assets/image/module/gallery/old_time/image/grand_pa/image-4.jpg, GrandPa's annual journey"
599
599
 
600
+ :data-images--themes-menu: "assets/image/page/tour/bootswatch-themes.jpg, Bootswatch Themes"
601
+ :data-images--bootswatch-themes: "assets/image/page/tour/themes-1920x1280.jpg, Themes menu (Bootswatch)"
602
+
603
+ :data-quicksearch--icon: "assets/image/page/tour/600_quicksearch/quicksearch_icon.jpg, Search button (magnifier) in the quick access area"
604
+ :data-quicksearch--input: "assets/image/page/tour/600_quicksearch/quicksearch_input.jpg, Input bar for a QuickSearch"
605
+ :data-quicksearch--results: "assets/image/page/tour/600_quicksearch/quicksearch_results.jpg, Results for a QuickSearch"
606
+
600
607
  end::data[]
601
608
 
602
609
 
@@ -37,35 +37,60 @@ Asciidoctor::Extensions.register do
37
37
  use_dsl
38
38
 
39
39
  named :dailymotion
40
- name_positional_attributes 'caption', 'theme', 'role'
40
+ name_positional_attributes 'caption', 'start','poster', 'theme', 'custom_buttons', 'role'
41
41
  default_attrs 'caption' => 'true',
42
+ 'start' => '00:00:00',
43
+ 'poster' => '/assets/image/icon/videojs/videojs-poster.png',
42
44
  'theme' => 'uno',
43
- 'role' => 'mt-3 mb-3'
45
+ 'custom_buttons' => true,
46
+ 'role' => 'mt-4 mb-5'
47
+
44
48
 
45
49
  def process parent, target, attributes
46
50
 
51
+ # ========================================================================
52
+ # load VideoJS configuration data
53
+ # ------------------------------------------------------------------------
54
+ # NOTE:
55
+ # Settings folder _data is NOT available in the website
56
+ #-------------------------------------------------------------------------
57
+ #
58
+ current_path = File.expand_path(Dir.getwd)
59
+ default_config_path = File.join(current_path, '/_data/modules/defaults')
60
+ user_config_path = File.join(current_path, '/_data/modules')
61
+
62
+ videojs_config_file_name = 'videojs.yml'
63
+ videojs_default_config_file = File.join(default_config_path, videojs_config_file_name)
64
+ videojs_user_config_file = File.join(user_config_path, videojs_config_file_name)
65
+
66
+ videojsDefaultSettings = YAML::load(File.open(videojs_default_config_file))
67
+ videojsUserSettings = YAML::load(File.open(videojs_user_config_file))
68
+ videojsDefaultSettingsJson = videojsDefaultSettings.to_json;
69
+ videojsUserSettingsJson = videojsUserSettings.to_json;
70
+
71
+ # ========================================================================
72
+ # set plugin specific data
73
+ # ------------------------------------------------------------------------
74
+ #
47
75
  chars = [('a'..'z'), ('A'..'Z'), ('0'..'9')].map(&:to_a).flatten
48
76
  video_id = (0...11).map { chars[rand(chars.length)] }.join
49
77
 
50
78
  title_html = (attributes.has_key? 'title') ? %(<div class="video-title"> <i class="mdib mdib-video mdib-24px mr-2"></i> #{attributes['title']} </div>\n) : nil
51
79
  poster_image = (poster = attributes['poster']) ? %(#{poster}) : nil
52
- theme_name = (theme = attributes['theme']) ? %(#{theme}) : nil
53
- caption_enabled = (caption = attributes['caption']) ? true : false
54
-
55
- poster_attr = %(poster="#{poster_image}")
56
- if attributes['poster'] == 'auto'
57
- poster_attr = ''
58
- end
80
+ theme_name = (theme = attributes['theme']) ? %(#{theme}) : nil
81
+ custom_buttons = (custom_buttons = attributes['custom_buttons']) ? %(#{custom_buttons}) : nil
82
+ caption_enabled = (caption = attributes['caption']) ? true : false
59
83
 
60
84
  html = %(
61
- <div class="dailymotion-player bottom #{attributes['role']}">
85
+ <div class="youtube-player bottom #{attributes['role']}">
62
86
  #{title_html}
63
87
  <video
64
88
  id="#{video_id}"
65
89
  class="video-js vjs-theme-#{theme_name}"
66
90
  controls
67
91
  width="640" height="360"
68
- #{poster_attr}
92
+ poster="#{poster_image}"
93
+ alt="#{attributes['title']}"
69
94
  aria-label="#{attributes['title']}"
70
95
  data-setup='{
71
96
  "fluid" : true,
@@ -74,7 +99,7 @@ Asciidoctor::Extensions.register do
74
99
  ],
75
100
  "sources": [{
76
101
  "type": "video/dailymotion",
77
- "src": "//dailymotion.com/video/#{target}"
102
+ "src": "//dailymotion.com/video/#{target}"
78
103
  }],
79
104
  "controlBar": {
80
105
  "pictureInPictureToggle": false,
@@ -89,6 +114,38 @@ Asciidoctor::Extensions.register do
89
114
  <script>
90
115
  $(function() {
91
116
 
117
+ // =================================================================
118
+ // take over VideoJS configuration data (JSON data from Ruby)
119
+ // -----------------------------------------------------------------
120
+ var videojsDefaultConfigJson = '#{videojsDefaultSettingsJson}';
121
+ var videojsUserConfigJson = '#{videojsUserSettingsJson}';
122
+
123
+ // =================================================================
124
+ // create config objects from JSON data
125
+ // -----------------------------------------------------------------
126
+ var videojsDefaultSettings = JSON.parse(videojsDefaultConfigJson);
127
+ var videojsUserSettings = JSON.parse(videojsUserConfigJson);
128
+
129
+ // merge config objects (jQuery)
130
+ var videojsConfig = $.extend(true, {}, videojsDefaultSettings.defaults, videojsUserSettings.settings);
131
+
132
+ // =================================================================
133
+ // VideoJS player settings
134
+ // -----------------------------------------------------------------
135
+ const vjsPlayerType = 'ytp';
136
+ const vjsPlaybackRates = videojsConfig.playbackRates.values;
137
+
138
+ // =================================================================
139
+ // VideoJS plugin settings
140
+ // -----------------------------------------------------------------
141
+ const piAutoCaption = videojsConfig.plugins.autoCaption;
142
+ const piHotKeys = videojsConfig.plugins.hotKeys;
143
+ const piSkipButtons = videojsConfig.plugins.skipButtons;
144
+ const piZoomButtons = videojsConfig.plugins.zoomButtons;
145
+
146
+ // =================================================================
147
+ // helper functions
148
+ // -----------------------------------------------------------------
92
149
  function addCaptionAfterImage(imageSrc) {
93
150
  const image = document.querySelector(`img[src="${imageSrc}"]`);
94
151
 
@@ -101,41 +158,166 @@ Asciidoctor::Extensions.register do
101
158
  // insert div|caption container AFTER the image
102
159
  image.parentNode.insertBefore(newDiv, image.nextSibling);
103
160
  } else {
104
- console.error(`Kein Bild mit src="${imageSrc}" gefunden.`);
161
+ console.error(`No image found at: '${imageSrc}'`);
105
162
  }
106
163
  }
107
164
 
165
+ // =================================================================
166
+ // initialize the VideoJS player (on page ready)
167
+ // -----------------------------------------------------------------
108
168
  var dependencies_met_page_ready = setInterval (function (options) {
109
169
  var pageState = $('#content').css("display");
110
170
  var pageVisible = (pageState == 'block') ? true : false;
111
171
  var j1CoreFinished = (j1.getState() === 'finished') ? true : false;
112
172
 
113
173
  if (j1CoreFinished && pageVisible) {
174
+ var vjs_player = document.getElementById("#{video_id}");
175
+ var appliedOnce = false;
114
176
 
115
- if ('#{caption_enabled}' === 'true' && '#{poster_image}' !== 'auto') {
177
+ // add|skip captions (on poster image)
178
+ if ('#{caption_enabled}' === 'true') {
116
179
  addCaptionAfterImage('#{poster_image}');
117
180
  }
118
181
 
119
- // scroll to player top position
182
+ // scroll page to the players top position
120
183
  // -------------------------------------------------------------
121
- var vjs_player = document.getElementById("#{video_id}");
122
-
123
184
  vjs_player.addEventListener('click', function(event) {
124
- event.preventDefault();
125
- event.stopPropagation();
126
-
127
- var scrollOffset = (window.innerWidth >= 720) ? -130 : -110;
128
-
129
- // scroll player to top position
130
185
  const targetDiv = document.getElementById("#{video_id}");
131
186
  const targetDivPosition = targetDiv.offsetTop;
187
+ var scrollOffset = (window.innerWidth >= 720) ? -130 : -110;
188
+
189
+ // scroll player to top position
132
190
  window.scrollTo(0, targetDivPosition + scrollOffset);
133
191
  }); // END EventListener 'click'
134
192
 
135
193
  clearInterval(dependencies_met_page_ready);
136
194
  }
137
195
  }, 10);
138
- });
196
+
197
+ // customize the yt player (already) created
198
+ // -----------------------------------------------------------------
199
+ var dependencies_met_vjs_player_exist = setInterval (function (options) {
200
+ var vjsPlayerExist = document.getElementById("#{video_id}") ? true : false;
201
+ var vjsPlayerCustomButtons = ("#{custom_buttons}" === 'true') ? true : false;
202
+
203
+ if (vjsPlayerExist && vjsPlayerCustomButtons) {
204
+
205
+ // apply player customization on 'player ready'
206
+ // -------------------------------------------------------------
207
+ videojs("#{video_id}").ready(function() {
208
+ const vjsPlayer = this;
209
+
210
+ // add custom progressControlSilder
211
+ // -----------------------------------------------------------
212
+
213
+ // create customControlContainer for progressControlSilder|time (display) elements
214
+ const customProgressContainer = vjsPlayer.controlBar.addChild('Component', {
215
+ el: videojs.dom.createEl('div', {
216
+ className: 'vjs-theme-uno custom-progressbar-container'
217
+ })
218
+ });
219
+
220
+ // move progressControlSlider into customControlContainer
221
+ const progressControlSlider = vjsPlayer.controlBar.progressControl;
222
+ if (progressControlSlider) {
223
+ customProgressContainer.el().appendChild(progressControlSlider.el());
224
+ }
225
+
226
+ // move currentTimeDisplay BEFORE the progressControlSilder
227
+ const currentTimeDisplay = vjsPlayer.controlBar.currentTimeDisplay;
228
+ if (currentTimeDisplay) {
229
+ customProgressContainer.el().insertBefore(currentTimeDisplay.el(), progressControlSlider.el());
230
+ }
231
+
232
+ // move the durationDisplay AFTER the progressControlSilder
233
+ const durationDisplay = vjsPlayer.controlBar.durationDisplay;
234
+ if (durationDisplay) {
235
+ customProgressContainer.el().appendChild(durationDisplay.el());
236
+ }
237
+
238
+ // add|skip playbackRates
239
+ // -----------------------------------------------------------
240
+ if (videojsConfig.playbackRates.enabled) {
241
+ vjsPlayer.playbackRates(vjsPlaybackRates);
242
+ }
243
+
244
+ // add|skip hotKeys plugin
245
+ //
246
+ if (piHotKeys.enabled) {
247
+ vjsPlayer.hotKeys({
248
+ volumeStep: piHotKeys.volumeStep,
249
+ seekStep: piHotKeys.seekStep,
250
+ enableMute: piHotKeys.enableMute,
251
+ enableFullscreen: piHotKeys.enableFullscreen,
252
+ enableNumbers: piHotKeys.enableNumbers,
253
+ enableVolumeScroll: piHotKeys.enableVolumeScroll,
254
+ enableHoverScroll: piHotKeys.enableHoverScroll,
255
+ alwaysCaptureHotkeys: piHotKeys.alwaysCaptureHotkeys,
256
+ captureDocumentHotkeys: piHotKeys.captureDocumentHotkeys,
257
+ documentHotkeysFocusElementFilter: e => e.tagName.toLowerCase() === "body",
258
+
259
+ // Mimic VLC seek behavior (default to: 15)
260
+ seekStep: function(e) {
261
+ if (e.ctrlKey && e.altKey) {
262
+ return 5*60;
263
+ } else if (e.ctrlKey) {
264
+ return 60;
265
+ } else if (e.altKey) {
266
+ return 10;
267
+ } else {
268
+ return 15;
269
+ }
270
+ },
271
+
272
+ // Enhance existing simple hotkey by complex hotkeys
273
+ fullscreenKey: function(e) {
274
+ // fullscreen with the F key or Ctrl+Enter
275
+ return ((e.which === 70) || (e.ctrlKey && e.which === 13));
276
+ },
277
+
278
+ }); // END VideoJS hotKeys plugin
279
+ }
280
+
281
+ // add|skip skipButtons plugin
282
+ // -----------------------------------------------------------
283
+ if (piSkipButtons.enabled) {
284
+ var backwardIndex = piSkipButtons.backward;
285
+ var forwardIndex = piSkipButtons.forwardIndex;
286
+
287
+ // property 'surroundPlayButton' takes precendence
288
+ //
289
+ if (piSkipButtons.surroundPlayButton) {
290
+ var backwardIndex = 0;
291
+ var forwardIndex = 1;
292
+ }
293
+
294
+ vjsPlayer.skipButtons({
295
+ backwardIndex: backwardIndex,
296
+ forwardIndex: forwardIndex,
297
+ backward: piSkipButtons.backward,
298
+ forward: piSkipButtons.forward,
299
+ });
300
+ }
301
+
302
+ // set start position of current video (on play)
303
+ // -----------------------------------------------------------
304
+ var appliedOnce = false;
305
+ vjsPlayer.on("play", function() {
306
+ var startFromSecond = new Date('1970-01-01T' + "#{attributes['start']}" + 'Z').getTime() / 1000;
307
+ if (!appliedOnce) {
308
+ vjsPlayer.currentTime(startFromSecond);
309
+ appliedOnce = true;
310
+ }
311
+ });
312
+
313
+ }); // END yt player ready (set custom controls)
314
+
315
+ clearInterval(dependencies_met_vjs_player_exist);
316
+ } // END if 'vjsPlayerExist'
317
+
318
+ }, 10); // END 'dependencies_met_vjs_player_exist'
319
+
320
+ }); // END 'document ready'
139
321
  </script>
140
322
  )
141
323
 
@@ -394,6 +394,6 @@ end
394
394
 
395
395
  module Jekyll
396
396
  module J1LunrSearch
397
- VERSION = '2024.3.23'
397
+ VERSION = '2024.3.25'
398
398
  end
399
399
  end
@@ -31,7 +31,7 @@ fab_menu_id: open_toc
31
31
  comments: false
32
32
  regenerate: false
33
33
 
34
- resources: [ animate ]
34
+ resources: [ ]
35
35
  resource_options:
36
36
  - attic:
37
37
  opacity: 0.5
@@ -10,7 +10,7 @@ categories: [ Jekyll ]
10
10
  tags: [ Theme ]
11
11
 
12
12
  image:
13
- path: /assets/image/module/attic/1920x1280/j1-starter-mockup-1.jpg
13
+ path: /assets/image/module/attic/1920x1280/j1-mockup.jpg
14
14
  width: 1920
15
15
  height: 1280
16
16
  alt: J1 Template Mockup
@@ -28,7 +28,7 @@ resource_options:
28
28
  - attic:
29
29
  padding_top: 630
30
30
  slides:
31
- - url: /assets/image/module/attic/1920x1280/j1-starter-mockup-1.jpg
31
+ - url: /assets/image/module/attic/1920x1280/j1-mockup.jpg
32
32
  alt: J1 Template Mockup
33
33
  ---
34
34
 
@@ -10,7 +10,7 @@ categories: [ Web ]
10
10
  tags: [ Protocols ]
11
11
 
12
12
  image:
13
- path: /assets/image/module/attic/1920x1280/j1-starter-mockup-1.jpg
13
+ path: /assets/image/module/attic/1920x1280/j1-mockup.jpg
14
14
  width: 1920
15
15
  height: 1280
16
16
  alt: J1 Template Mockup
@@ -27,7 +27,7 @@ resource_options:
27
27
  - attic:
28
28
  padding_top: 630
29
29
  slides:
30
- - url: /assets/image/module/attic/1920x1280/j1-starter-mockup-1.jpg
30
+ - url: /assets/image/module/attic/1920x1280/j1-mockup.jpg
31
31
  alt: J1 Template Mockup
32
32
  ---
33
33
 
@@ -20,4 +20,4 @@ require 'j1_app'
20
20
 
21
21
  # run the app
22
22
  # ------------------------------------------------------------------------------
23
- run J1App.site
23
+ run J1App.site
@@ -13,4 +13,4 @@
13
13
 
14
14
  # Enforce Unix newlines, all text files
15
15
  # ------------------------------------------------------------------------------
16
- * text=auto eol=lf
16
+ * text=auto eol=lf