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,521 @@
1
+ ---
2
+ regenerate: true
3
+ exclude_from_search: true
4
+ ---
5
+
6
+ {%- capture cache -%}
7
+
8
+ {% comment %}
9
+ # -----------------------------------------------------------------------------
10
+ # ~/assets/data/masonry_app.html
11
+ # Liquid procedure to generate the HTML portion for all Masonry Grids
12
+ # configured
13
+ #
14
+ # Product/Info:
15
+ # https://jekyll.one
16
+ #
17
+ # Copyright (C) 2023-2025 Juergen Adams
18
+ #
19
+ # J1 Template is licensed under the MIT License.
20
+ # See: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE
21
+ # -----------------------------------------------------------------------------
22
+ # NOTE: Data loaded dynamically by J1 Masonry module (AJAX)
23
+ # -----------------------------------------------------------------------------
24
+ # Test data:
25
+ # {{variable | debug}}
26
+ # -----------------------------------------------------------------------------
27
+ {% endcomment %}
28
+
29
+ {% comment %} Liquid procedures
30
+ -------------------------------------------------------------------------------- {% endcomment %}
31
+
32
+ {% comment %} Liquid var initialization
33
+ -------------------------------------------------------------------------------- {% endcomment %}
34
+
35
+ {% comment %} Set config files
36
+ -------------------------------------------------------------------------------- {% endcomment %}
37
+ {% assign template_config = site.data.j1_config %}
38
+ {% assign modules = site.data.modules %}
39
+
40
+ {% comment %} Set config data
41
+ -------------------------------------------------------------------------------- {% endcomment %}
42
+ {% assign environment = site.environment %}
43
+ {% assign masonry_defaults = modules.defaults.masonry.defaults %}
44
+ {% assign masonry_settings = modules.masonry.settings %}
45
+
46
+ {% comment %} Set config options
47
+ -------------------------------------------------------------------------------- {% endcomment %}
48
+ {% assign masonry_options = masonry_defaults | merge: masonry_settings %}
49
+ {% assign grids = masonry_options.grids %}
50
+
51
+ {% comment %} Configure permalink settings
52
+ -------------------------------------------------------------------------------- {% endcomment %}
53
+ {% assign ext = '' %}
54
+ {% if site.permalink == 'none' %}
55
+ {% assign ext = '.html' %}
56
+ {% endif %}
57
+
58
+ {% comment %} Detect prod mode
59
+ -------------------------------------------------------------------------------- {% endcomment %}
60
+ {% assign production = false %}
61
+ {% if environment == 'prod' or environment == 'production' %}
62
+ {% assign production = true %}
63
+ {% endif %}
64
+
65
+
66
+ {% comment %} Main
67
+ ================================================================================ {% endcomment %}
68
+ <!DOCTYPE {{site.doctype}}>
69
+ <html lang="{{site.language}}">
70
+ <head>
71
+ <!-- [INFO ] [~/assets/data/masonry.html ] [ set meta data (robots) to exclude HTML datafiles from index ] -->
72
+ <meta name="robots" content="noindex, nofollow">
73
+ <meta name="masonry" content="module data file">
74
+ </head>
75
+ <body>
76
+ {% comment %} Collect grids
77
+ ------------------------------------------------------------------------------ {% endcomment %}
78
+ {% for grid in grids %} {% if grid.enabled %}
79
+
80
+ {% comment %} POSTS grids
81
+ ---------------------------------------------------------------------------- {% endcomment %}
82
+ {% if grid.type == 'post' %}
83
+
84
+ <!-- Posts|Group -->
85
+ <div id="{{grid.id}}" class="row {{grid.id | replace: '_','-' }} g-0">
86
+ <!-- Collect posts only if group matches -->
87
+ {% for post in site.posts %} {% if post.group contains grid.group %}
88
+
89
+ {% if grid.translate_links %}
90
+ {% assign translate = "" %}
91
+ {% else %}
92
+ {% assign translate = "notranslate" %}
93
+ {% endif %}
94
+
95
+ {% if grid.link_new_window %}
96
+ {% assign target = "_blank" %}
97
+ {% else %}
98
+ {% assign target = "" %}
99
+ {% endif %}
100
+
101
+ {% comment %} Collect CSS image filters
102
+ ------------------------------------------------------------------------ {% endcomment %}
103
+ {% assign css_filters = masonry_options.filters | merge: grid.filters %}
104
+ {% assign image_filters = 'filter:' %}
105
+
106
+ {% if css_filters.enabled %}
107
+ {% for filter in css_filters %}
108
+ {% if filter[0] contains 'enabled' %}
109
+ {% continue %}
110
+ {% endif %}
111
+ {% capture image_filters %}{{image_filters}} {{filter[0]}}({{filter[1]}}){% endcapture %}
112
+ {% endfor %}
113
+ {% endif %}
114
+
115
+ <!-- resposive items: 3-2-1 -->
116
+ <div class="col-xl-{{grid.responsive.xl}} col-lg-{{grid.responsive.lg}} col-md-{{grid.responsive.md}} col-sm-{{grid.responsive.sm}} col-{{grid.responsive.xs}}" style=";padding-bottom: {{grid.gutters}}px; padding-left: {{grid.gutters}}px;">
117
+
118
+ <article class="card bg-dark text-center text-white border-0 rounded-0 bottom">
119
+ <img
120
+ class="card-img {{grid.image_styles}}"
121
+ src="{{post.image.path | relative_url}}"
122
+ aria-label="{{post.title}}"
123
+ style="{{image_filters}}; height: {{grid.image_height}};">
124
+
125
+ <div class="card-content mt-5">
126
+
127
+ {% if post %}
128
+ {% assign categories = post.categories %}
129
+ {% else %}
130
+ {% assign categories = page.categories %}
131
+ {% endif %}
132
+
133
+ {% comment %} categories: {{categories | debug}}
134
+ ------------------------------------------------------------------ {% endcomment %}
135
+ {% for category in categories %}
136
+ {% if category contains post.category %}
137
+ <a
138
+ href="/pages/public/blog/navigator/archive/categoryview/#{{grid.group | slugify}}"
139
+ class="masonry-article-link d-block text-white text-uppercase link-no-decoration {{translate}}"
140
+ target="{{target}}"
141
+ style="font-size: 32px;">
142
+ {{grid.group}}
143
+ </a>
144
+ {% endif %}
145
+ {% endfor %}
146
+
147
+ <ul class="list-inline d-flex justify-content-center mb-5">
148
+ <li class="list-inline-item">
149
+ <i class="mdib mdib-account mdib-24px md-gray-400 mr-1" style="margin-right: 8px;"></i>
150
+ {{site.author.name | split: ' ' | first}} &nbsp;&middot;&nbsp;&nbsp;
151
+ </li>
152
+ <li class="list-inline-item">
153
+ <i class="mdib mdib-calendar-blank mdib-24px md-gray-400 mr-1"></i>
154
+ {{post.date | date: '%b %d, %Y'}}
155
+ </li>
156
+ </ul>
157
+
158
+ <!-- Post link (caption) -->
159
+ <h4 class="caption notoc">
160
+ <a
161
+ href="{{post.url}}"
162
+ class="masonry-article-link {{translate}}"
163
+ target="{{target}}"
164
+ style="font-size: 32px;">
165
+ {{post.tags[0]}}
166
+ </a>
167
+ </h4>
168
+ <!-- /Post link (caption) -->
169
+
170
+ </div>
171
+ </article>
172
+
173
+ </div>
174
+ {% endif %} {% endfor %}
175
+ </div>
176
+ <!-- /Posts|Group -->
177
+ {% endif %}
178
+
179
+
180
+ {% comment %} COLLECTION grids
181
+ ---------------------------------------------------------------------------- {% endcomment %}
182
+ {% if grid.type == 'collection' %}
183
+
184
+ {% comment %} Set collection data
185
+ ---------------------------------------------------------------------------- {% endcomment %}
186
+ {% assign collection_name = grid.collection %}
187
+
188
+ {% comment %} Collect collection documents
189
+ ---------------------------------------------------------------------------- {% endcomment %}
190
+ {% for collection in site.collections %}
191
+ {% if collection.label contains collection_name %}
192
+ {% assign articles = collection.docs %}
193
+ {% break %}
194
+ {% endif %}
195
+ {% endfor %}
196
+
197
+ <!-- Collection|Articles -->
198
+ <div id="{{grid.id}}" class="row {{grid.id | replace: '_','-' }} g-0">
199
+
200
+ {% if grid.translate_titles %}
201
+ {% assign translate = "" %}
202
+ {% else %}
203
+ {% assign translate = "notranslate" %}
204
+ {% endif %}
205
+
206
+ {% comment %} Collect CSS image filters
207
+ -------------------------------------------------------------------------- {% endcomment %}
208
+ {% assign css_filters = masonry_options.filters | merge: grid.filters %}
209
+ {% assign image_filters = 'filter:' %}
210
+
211
+ {% if css_filters.enabled %}
212
+ {% for filter in css_filters %}
213
+ {% if filter[0] contains 'enabled' %}
214
+ {% continue %}
215
+ {% endif %}
216
+ {% capture image_filters %}{{image_filters}} {{filter[0]}}({{filter[1]}}){% endcapture %}
217
+ {% endfor %}
218
+ {% endif %}
219
+
220
+ {% for article in articles %}
221
+ <div class="col-xl-{{grid.responsive.xl}} col-lg-{{grid.responsive.lg}} col-md-{{grid.responsive.md}} col-sm-{{grid.responsive.sm}} col-{{grid.responsive.xs}}" style=";padding-bottom: {{grid.gutters}}px; padding-left: {{grid.gutters}}px;">
222
+ <!-- (Masonry) Article item -->
223
+ <div id="{{article.title | downcase | replace: ' ' ,'_'}}" class="masonry-article-item masonry-article-item--w400">
224
+ {% if grid.preview %}
225
+ <a
226
+ href="#articleModal_{{grid.id}}_{{forloop.index}}"
227
+ class="masonry-article-link"
228
+ data-bs-toggle="modal">
229
+ <div class="masonry-article-hover">
230
+ <div class="masonry-article-hover-content">
231
+ <i class="mdib mdib-plus mdib-10x"></i>
232
+ </div>
233
+ </div>
234
+ <img
235
+ class="{{grid.image_styles}}"
236
+ src="{{article.image.path}}"
237
+ aria-label="{{article.title}}"
238
+ style="{{image_filters}}; height: {{grid.image_height}}; width: {{grid.image_width}}">
239
+ </a>
240
+ {% else %}
241
+ <img
242
+ class="{{grid.image_styles}}"
243
+ src="{{article.image.path}}"
244
+ aria-label="{{article.title}}"
245
+ style="{{image_filters}}; height: {{grid.image_height}}; width: {{grid.image_width}}">
246
+ {% endif %}
247
+ <div class="masonry-article-caption">
248
+ <div class="masonry-article-caption-heading">
249
+ <a
250
+ href="{{article.url}}"
251
+ class="masonry-article-link {{translate}}"
252
+ target="{{target}}">
253
+ {{article.title}}
254
+ </a>
255
+ </div>
256
+ <div class="masonry-article-caption-subheading">{{article.tags[0]}}</div>
257
+ </div>
258
+ </div>
259
+ <!-- /(Masonry) Article item -->
260
+ </div>
261
+
262
+ <!-- Article Modal-->
263
+ {% if grid.preview %}
264
+ <div id="articleModal_{{grid.id}}_{{forloop.index}}" class="article-modal modal fade" tabindex="-1" role="dialog" aria-hidden="true">
265
+ <div class="modal-dialog">
266
+ <div class="modal-content">
267
+
268
+ <!-- div class="close-modal" data-bs-dismiss="modal">
269
+ <img src="{{'/assets/image/icon/controls/close-icon.svg' | relative_url}}" aria-label="Close modal">
270
+ </div -->
271
+
272
+ <div class="close-modal" data-bs-dismiss="modal" aria-label="Close">
273
+ <i class="mdi mdi-close mdi-dark mdi-48px"></i>
274
+ </div >
275
+
276
+ <div class="container">
277
+ <div class="row justify-content-center">
278
+ <div class="col-lg-8">
279
+ <div class="modal-body">
280
+ <!-- Project details-->
281
+ <h2 class="text-uppercase notoc {{translate}}">{{article.title}}</h2>
282
+ <p class="item-intro">{{article.tagline}}</p>
283
+ <!-- img class="img-fluid d-block mx-auto" src="{{article.image.path | relative_url}}" aria-label="{{article.title}}" -->
284
+ <p>{{article.description}}</p>
285
+ <ul class="list-inline">
286
+ <!-- li>
287
+ <strong>Titel:</strong>
288
+ <span class="{{translate}}">{{article.title}}</span>
289
+ </li -->
290
+ <!-- li>
291
+ <strong>Kategorien:</strong>
292
+ <span class="{{translate}}">{{article.categories}}</span>
293
+ </li -->
294
+ <!-- li>
295
+ <strong>Tags:</strong>
296
+ <span class="{{translate}}">{{article.tags}}</span>
297
+ </li -->
298
+ </ul>
299
+
300
+ <!-- button class="btn btn-primary btn-xl text-uppercase" data-bs-dismiss="modal" type="button">
301
+ <i class="mdib mdib-close mdib-24px mx-2"></i>
302
+ Schließen
303
+ </button -->
304
+ </div>
305
+ </div>
306
+ </div>
307
+ </div>
308
+
309
+ </div>
310
+ </div>
311
+ </div>
312
+ {% endif %}
313
+ <!-- /Article Modal-->
314
+
315
+ {% endfor %}
316
+ </div>
317
+ <!-- /Collection|Articles -->
318
+ {% endif %}
319
+
320
+ {% comment %} Image Grids
321
+ ---------------------------------------------------------------------------- {% endcomment %}
322
+ {% if grid.type == 'image' %}
323
+
324
+ {% comment %} Collect CSS image filters
325
+ -------------------------------------------------------------------------- {% endcomment %}
326
+ {% assign css_filters = masonry_options.filters | merge: grid.filters %}
327
+ {% assign image_filters = 'filter:' %}
328
+
329
+ {% if css_filters.enabled %}
330
+ {% for filter in css_filters %}
331
+ {% if filter[0] contains 'enabled' %}
332
+ {% continue %}
333
+ {% endif %}
334
+ {% capture image_filters %}{{image_filters}} {{filter[0]}}({{filter[1]}}){% endcapture %}
335
+ {% endfor %}
336
+ {% endif %}
337
+
338
+ <!-- Card Image Grid -->
339
+ <div id="{{grid.id}}" class="row {{grid.id | replace: '_','-' }} g-0">
340
+ {% for image in grid.images %}
341
+ <div class="col-xl-{{grid.responsive.xl}} col-lg-{{grid.responsive.lg}} col-md-{{grid.responsive.md}} col-sm-{{grid.responsive.sm}} col-{{grid.responsive.xs}}" style=";padding-bottom: {{grid.gutters}}px; padding-left: {{grid.gutters}}px;">
342
+ <div class="card">
343
+ {% if grid.lightbox.enabled %}
344
+ {% if grid.lightbox.type == 'lb' %}
345
+ <div class="{{grid.caption.position}}">
346
+ <a
347
+ href="{{grid.image_base_path}}/{{image.file}}"
348
+ data-lightbox="{{grid.id}}-image-group"
349
+ data-caption="{{image.caption}}"
350
+ data-title="{{image.caption}}">
351
+ <img
352
+ id="{{forloop.index}}"
353
+ class="{{grid.image_styles}}"
354
+ src="{{grid.image_base_path}}/{{image.file}}"
355
+ aria-label="{{image.caption}}"
356
+ style="{{image_filters}}; height: {{grid.image_height}}">
357
+ </a>
358
+ {% if grid.caption.enabled %}
359
+ <div class="caption">{{image.caption}}</div>
360
+ {% endif %}
361
+ </div>
362
+ {% elsif grid.lightbox.type == 'lg' %}
363
+ <!-- place lightGalley code -->
364
+ <!-- see: https://www.lightgalleryjs.com/docs/getting-started/#the-markup -->
365
+ <div class="{{grid.caption.position}}">
366
+ <a
367
+ href="{{grid.image_base_path}}/{{image.file}}"
368
+ class="lg-item">
369
+ <img
370
+ id="{{forloop.index}}"
371
+ class="img-responsive"
372
+ src="{{grid.image_base_path}}/{{image.file}}"
373
+ aria-label="{{image.caption}}">
374
+ </a>
375
+ {% if grid.caption.enabled %}
376
+ <div class="caption">{{image.caption}}</div>
377
+ {% endif %}
378
+ </div>
379
+ {% else %}
380
+ <div class="{{grid.caption.position}}">
381
+ <img
382
+ id="{{forloop.index}}"
383
+ class="{{grid.image_styles}}"
384
+ src="{{grid.image_base_path}}/{{image.file}}"
385
+ aria-label="{{image.caption}}">
386
+ {% if grid.caption.enabled %}
387
+ <div class="caption">{{image.caption}}</div>
388
+ {% endif %}
389
+ </div>
390
+ {% endif %}
391
+ {% endif %}
392
+ </div>
393
+ </div>
394
+ {% endfor %}
395
+ </div>
396
+ <!-- /Image Grid -->
397
+ {% endif %}
398
+
399
+ {% comment %} VIDEO Grid
400
+ ---------------------------------------------------------------------------- {% endcomment %}
401
+ {% if grid.type == 'video' %}
402
+
403
+ {% comment %} Collect CSS image filters
404
+ ---------------------------------------------------------------------------- {% endcomment %}
405
+ {% assign css_filters = masonry_options.filters | merge: grid.filters %}
406
+ {% assign image_filters = 'filter:' %}
407
+
408
+ {% if css_filters.enabled %}
409
+ {% for filter in css_filters %}
410
+ {% if filter[0] contains 'enabled' %}
411
+ {% continue %}
412
+ {% endif %}
413
+ {% capture image_filters %}{{image_filters}} {{filter[0]}}({{filter[1]}}){% endcapture %}
414
+ {% endfor %}
415
+ {% endif %}
416
+
417
+ <!-- START Video Grid -->
418
+ <div id="{{grid.id}}" class="row {{grid.id | replace: '_','-' }} g-0">
419
+ {% for video in grid.videos %}
420
+ {% if video.type == 'youtube' or video.type == 'dailymotion' or video.type == 'vimeo' or video.type == 'wistia' %}
421
+ <div class="col-xl-{{grid.responsive.xl}} col-lg-{{grid.responsive.lg}} col-md-{{grid.responsive.md}} col-sm-{{grid.responsive.sm}} col-{{grid.responsive.xs}}" style="padding-bottom: {{grid.gutters}}px; padding-left: {{grid.gutters}}px;">
422
+ <div class="card {{video.caption.position}}">
423
+ <!-- START {{video.type}} video -->
424
+ <a
425
+ href="#"
426
+ class="lg-item"
427
+ data-lg-size="{{video.size}}"
428
+ data-pinterest-text="{{video.pinterest_prefix}} {{video.name}} at {{video.source}}"
429
+ data-tweet-text="{{video.tweet_prefix}} {{video.name}} at {{video.source}}"
430
+ data-src="{{video.source}}"
431
+ data-poster="{{video.poster.source}}"
432
+ data-sub-html="{{video.description|strip|strip_newlines}}">
433
+ <div class="lg-uno-video-icon">
434
+ <img
435
+ id="{{video.name | replace: ' ','_' | replace: '-','_' | downcase}}"
436
+ class="{{video.poster.style}}"
437
+ src="{{video.poster.source}}"
438
+ aria-label="{{video.name}}">
439
+
440
+ <span class="big-play-button"></span>
441
+ </div>
442
+ </a>
443
+ <!-- END {{video.type}} video -->
444
+ <div class="caption">{{video.caption.text}}</div>
445
+ </div>
446
+ </div>
447
+
448
+ {% elsif video.type == 'html5' %}
449
+ {% assign video_split = video.source | split: '.' %}
450
+ <div class="col-xl-{{grid.responsive.xl}} col-lg-{{grid.responsive.lg}} col-md-{{grid.responsive.md}} col-sm-{{grid.responsive.sm}} col-{{grid.responsive.xs}}" style="padding-bottom: {{grid.gutters}}px; padding-left: {{grid.gutters}}px;">
451
+ <div class="card {{video.caption.position}}">
452
+ <!-- START {{video.type}} video -->
453
+ <a
454
+ href="#"
455
+ class="lg-item"
456
+ data-lg-size="{{video.size}}"
457
+ data-pinterest-text="{{video.pinterest_prefix}} {{video.name}} at {{video.source}}"
458
+ data-tweet-text="{{video.tweet_prefix}} {{video.name}} at {{video.source}}"
459
+ data-src="{{video.source}}"
460
+ data-poster="{{grid.html5.poster_base_path}}/{{video.poster.source}}"
461
+ data-sub-html="{{video.description|strip|strip_newlines}}"
462
+ data-video='{
463
+ "source": [{
464
+ "src": "{{grid.html5.video_base_path}}/{{video.source}}",
465
+ "type": "video/{{video_split[1]}}"
466
+ }],
467
+ "attributes": {
468
+ {% for attribute in grid.lightGallery.attributes %}
469
+ {{attribute[0] | json}}: {{attribute[1] | json}}{% if forloop.last %}{% else %},{% endif %}
470
+ {% endfor %}
471
+ },
472
+ "tracks": [
473
+ {% for track in video.tracks %}
474
+ {
475
+ {% for attribute in track %}
476
+ {% if attribute[0] == 'track' %} {% continue %} {% endif %}
477
+ {{attribute[0] | json}}: {{attribute[1] | json}}{% if forloop.last %}{% else %},{% endif %}
478
+ {% endfor %}
479
+ }{% if forloop.last %}{% else %},{% endif %}
480
+ {% endfor %}
481
+ ]
482
+ }'>
483
+
484
+ <div class="lg-uno-video-icon">
485
+ <img
486
+ id="{{video.name | replace: ' ','_' | replace: '-','_' | downcase}}"
487
+ class="{{video.poster.style}}"
488
+ src="{{grid.html5.poster_base_path}}/{{video.poster.source}}"
489
+ aria-label="{{video.name}}">
490
+
491
+ <span class="big-play-button"></span>
492
+ </div>
493
+
494
+ </a>
495
+ <!-- END {{video.type}} video -->
496
+ <div class="caption">{{video.caption.text}}</div>
497
+ </div>
498
+ </div>
499
+ {% endif %}
500
+ {% endfor %}
501
+ </div>
502
+ <!-- END Video Grid -->
503
+ {% endif %}
504
+
505
+ {% endif %} {% endfor %}
506
+ <!-- [INFO ] [~/assets/data/masonry.html ] [END collecting all grid items] -->
507
+ </body>
508
+ </html>
509
+ {%- endcapture -%}
510
+
511
+ {% comment %} Beautify|Compress page
512
+ -------------------------------------------------------------------------------- {% endcomment %}
513
+ {%- if production -%}
514
+ {% 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 %}
515
+ {%- else -%}
516
+ {{cache|pretty_print}}
517
+ {%- endif -%}
518
+
519
+ {% comment %} Reset page cache
520
+ -------------------------------------------------------------------------------- {% endcomment %}
521
+ {%- assign cache = false -%}
@@ -77,25 +77,33 @@
77
77
  /* custom chapter markers (timeline)
78
78
  ----------------------------------------------------------------------------- */
79
79
 
80
- /* marker bullet */
80
+ /* marker bullet (triangle) */
81
81
  .vjs-chapter-marker {
82
- position: absolute;
83
- background: #0D47A1;
84
- width: 7px;
85
- height: 7px;
86
- margin-left: -3px;
82
+ position: absolute;
83
+ margin-top: 1px;
84
+ margin-left: -8px;
85
+ width: 0;
86
+ height: 0;
87
+ border-left: 10px solid transparent;
88
+ border-right: 10px solid transparent;
89
+ border-bottom: 18px solid var(--md-orange-500);
87
90
  }
88
91
 
89
- /* marker text */
92
+ /* marker pop bubble/text */
90
93
  .vjs-chapter-marker span {
91
94
  position: absolute;
92
- bottom: 50px;
95
+ font-size: 11px;
96
+ font-weight: 400;
97
+ border-radius: 3px;
93
98
  opacity: 0;
94
- margin-left: -20px;
95
- background: rgba(0,0,0,.8);
96
- padding: 8px;
97
- font-size: 10px;
98
- z-index: 90;
99
+ bottom: 20px;
100
+ margin-bottom: -18px;
101
+ margin-left: -32px;
102
+ padding: 10px;
103
+ color: antiquewhite;
104
+ text-shadow: 1px 1px 2px #000;
105
+ background: rgb(168 100 9 / 80%);
106
+ z-index: 10;
99
107
  }
100
108
 
101
109
  .vjs-chapter-marker:hover span {
@@ -13,5 +13,4 @@
13
13
  # -----------------------------------------------------------------------------
14
14
  */
15
15
 
16
- .gallery-container a{width:240px;margin:5px}.gallery-container a img{max-width:100%;height:auto}.lg-sub-html{margin-bottom:96px}.lg-sub-html h2{color:rgba(255,255,255,0.8);font-size:1.5em !important;text-align:center}.lg-sub-html h3{color:rgba(255,255,255,0.8);font-size:1em !important;text-align:center}.lg-sub-html h5{color:rgba(255,255,255,0.8);font-size:1.5em !important;text-align:center}.lg-sub-html h6{color:rgba(255,255,255,0.8);font-size:1em !important;text-align:center}.img-responsive{width:100%;height:auto;overflow:hidden}.img-fluid{max-width:100%;height:auto;overflow:hidden}.vjs-chapter-marker{position:absolute;background:#0d47a1;width:7px;height:7px;margin-left:-3px}.vjs-chapter-marker span{position:absolute;bottom:50px;opacity:0;margin-left:-20px;background:rgba(0,0,0,.8);padding:8px;font-size:10px;z-index:90}.vjs-chapter-marker:hover span{opacity:1}div.card.bottom>a.lg-item{cursor:default}span.big-play-button{position:absolute;cursor:pointer;top:0;left:0;bottom:0;right:0;z-index:1;background:url(icons/play-button.svg) no-repeat center center}span.big-play-button:hover{background:url(icons/play-button-hover.svg) no-repeat center center}.lg-uno-thumbnails .lg-outer{width:auto;right:230px;left:10px}.lg-uno-thumbnails .lg-outer .lg-thumb-outer{left:auto;top:0;width:230px;max-height:none;bottom:0;background-color:#999;padding-left:5px;padding-right:5px;margin:0 -10px;overflow-y:auto;position:fixed;right:0;transform:translate3d(30%,0,0);opacity:0;will-change:transform opacity;transition:transform .15s cubic-bezier(0,0,0.25,1) 0,cubic-bezier(0,0,0.25,1) .15s}.lg-uno-thumbnails .lg-outer.lg-components-open .lg-thumb-outer{transform:translate3d(0,0,0);opacity:1}.lg-uno-thumbnails .lg-outer .lg-thumb-item{float:left;will-change:filter;transition:filter .12s ease-in,border-color .12s ease}.lg-uno-thumbnails .lg-outer .lg-thumb{padding:5px;background-color:#1c1c1d}@media screen and (orientation:landscape) and (max-width:768px){.lg-sub-html{margin-bottom:-3px}}@media screen and (orientation:portrait) and (max-width:768px){.lg-sub-html{margin-bottom:76px}}@media screen and (orientation:landscape) and (max-width:576px){.lg-sub-html{margin-bottom:-6px}.lg-sub-html h2{color:rgba(255,255,255,0.8);font-size:1.5em !important;text-align:center}.lg-sub-html h3{color:rgba(255,255,255,0.8);font-size:1em !important;text-align:center}.lg-sub-html h5{color:rgba(255,255,255,0.8);font-size:1.5em !important;text-align:center}.lg-sub-html h6{color:rgba(255,255,255,0.8);font-size:1em !important;text-align:center}}@media screen and (orientation:portrait) and (max-width:576px){.lg-sub-html{margin-bottom:46px}.lg-sub-html h2{color:rgba(255,255,255,0.8);font-size:1.5em !important;text-align:center}.lg-sub-html h3{color:rgba(255,255,255,0.8);font-size:1em !important;text-align:center}.lg-sub-html h5{color:rgba(255,255,255,0.8);font-size:1.5em !important;text-align:center}.lg-sub-html h6{color:rgba(255,255,255,0.8);font-size:1em !important;text-align:center}}
17
-
16
+ .gallery-container a{width:240px;margin:5px}.gallery-container a img{max-width:100%;height:auto}.lg-sub-html{margin-bottom:64px}.lg-sub-html h2{color:rgba(255,255,255,0.8);font-size:1.5em !important;text-align:center}.lg-sub-html h3{color:rgba(255,255,255,0.8);font-size:1em !important;text-align:center}.lg-sub-html h5{color:rgba(255,255,255,0.8);font-size:1.5em !important;text-align:center}.lg-sub-html h6{color:rgba(255,255,255,0.8);font-size:1em !important;text-align:center}.img-responsive{width:100%;height:auto;overflow:hidden}.img-fluid{max-width:100%;height:auto;overflow:hidden}.vjs-chapter-marker{position:absolute;margin-top:1px;margin-left:-8px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:18px solid var(--md-orange-500)}.vjs-chapter-marker span{position:absolute;font-size:11px;font-weight:400;border-radius:3px;opacity:0;bottom:20px;margin-bottom:-18px;margin-left:-32px;padding:10px;color:antiquewhite;text-shadow:1px 1px 2px #000;background:rgb(168 100 9 / 80%);z-index:10}.vjs-chapter-marker:hover span{opacity:1}.card.bottom>a.lg-item{cursor:default}.lg-uno-video-icon .big-play-button{position:absolute;cursor:pointer;top:0;left:0;bottom:0;right:0;z-index:1;background:url(icons/play-button.svg) no-repeat center center}.lg-uno-video-icon:hover .big-play-button{background:url(icons/play-button-hover.svg) no-repeat center center}.lg-uno-thumbnails .lg-outer{width:auto;right:230px;left:10px}.lg-uno-thumbnails .lg-outer .lg-thumb-outer{left:auto;top:0;width:230px;max-height:none;bottom:0;background-color:#999;padding-left:5px;padding-right:5px;margin:0 -10px;overflow-y:auto;position:fixed;right:0;transform:translate3d(30%,0,0);opacity:0;will-change:transform opacity;transition:transform .15s cubic-bezier(0,0,0.25,1) 0,cubic-bezier(0,0,0.25,1) .15s}.lg-uno-thumbnails .lg-outer.lg-components-open .lg-thumb-outer{transform:translate3d(0,0,0);opacity:1}.lg-uno-thumbnails .lg-outer .lg-thumb-item{float:left;will-change:filter;transition:filter .12s ease-in,border-color .12s ease}.lg-uno-thumbnails .lg-outer .lg-thumb{padding:5px;background-color:#1c1c1d}@media screen and (orientation:landscape) and (max-width:768px){.lg-sub-html{margin-bottom:-3px}}@media screen and (orientation:portrait) and (max-width:768px){.lg-sub-html{margin-bottom:76px}}@media screen and (orientation:landscape) and (max-width:576px){.lg-sub-html{margin-bottom:-6px}.lg-sub-html h2{color:rgba(255,255,255,0.8);font-size:1.5em !important;text-align:center}.lg-sub-html h3{color:rgba(255,255,255,0.8);font-size:1em !important;text-align:center}.lg-sub-html h5{color:rgba(255,255,255,0.8);font-size:1.5em !important;text-align:center}.lg-sub-html h6{color:rgba(255,255,255,0.8);font-size:1em !important;text-align:center}}@media screen and (orientation:portrait) and (max-width:576px){.lg-sub-html{margin-bottom:46px}.lg-sub-html h2{color:rgba(255,255,255,0.8);font-size:1.5em !important;text-align:center}.lg-sub-html h3{color:rgba(255,255,255,0.8);font-size:1em !important;text-align:center}.lg-sub-html h5{color:rgba(255,255,255,0.8);font-size:1.5em !important;text-align:center}.lg-sub-html h6{color:rgba(255,255,255,0.8);font-size:1em !important;text-align:center}}
@@ -27,7 +27,8 @@
27
27
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
28
28
  typeof define === 'function' && define.amd ? define(factory) :
29
29
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lightGallery = factory());
30
- }(this, (function () { 'use strict';
30
+ }(this, (function () {
31
+ 'use strict';
31
32
 
32
33
  /*! *****************************************************************************
33
34
  Copyright (c) Microsoft Corporation.
@@ -846,18 +847,13 @@
846
847
  // jadams, 2025-06-13: Fixed by adding missing data-src elements in assets/data/gallery_app.html
847
848
  // if (!src || src === '#') {
848
849
  if (!src) {
849
- if (isHTML5VIdeo) {
850
- return {
851
- html5: true,
852
- };
853
- } else {
854
- console.error('lightGallery :- data-src is not provided on slide item ' +
855
- (index + 1) +
856
- '. Please make sure the selector property is properly configured. More info - https://www.lightgalleryjs.com/demos/html-markup/');
857
- return;
858
- }
850
+ console.error('lightGallery :- data-src is not provided on slide item ' +
851
+ (index + 1) +
852
+ '. Please make sure the selector property is properly configured. More info - https://www.lightgalleryjs.com/demos/html-markup/');
853
+ return;
859
854
  }
860
855
 
856
+ var html5 = src.includes('.mp4');
861
857
  var youtube = src.match(/\/\/(?:www\.)?youtu(?:\.be|be\.com|be-nocookie\.com)\/(?:watch\?v=|embed\/)?([a-z0-9\-\_\%]+)([\&|?][\S]*)*/i);
862
858
  var vimeo = src.match(/\/\/(?:www\.)?(?:player\.)?vimeo.com\/(?:video\/)?([0-9a-z\-_]+)(.*)?/i);
863
859
 
@@ -866,7 +862,12 @@
866
862
  var tiktoc = src.match(/\/\/(?:www\.)?tiktok.com\/embed\/?([0-9a-z\-_]+)(.*)?/);
867
863
  var wistia = src.match(/\/\/(?:fast\.)?(wistia\.com|wi\.st)\/(medias|embed)\/([0-9a-z\-_]+)(.*)/);
868
864
 
869
- if (youtube) {
865
+ if (html5) {
866
+ return {
867
+ html5: html5,
868
+ };
869
+ }
870
+ else if (youtube) {
870
871
  return {
871
872
  youtube: youtube,
872
873
  };
@@ -1693,7 +1694,7 @@
1693
1694
  element.__slideVideoInfo = utils.isVideo(element.src, !!element.video, index);
1694
1695
 
1695
1696
  // failsafe check
1696
- if (element.__slideVideoInfo.youtube && !element.poster) {
1697
+ if (element.__slideVideoInfo !== undefined && element.__slideVideoInfo.youtube && !element.poster) {
1697
1698
  element.poster = `//img.youtube.com/vi/${element.__slideVideoInfo.youtube[1]}/maxresdefault.jpg`;
1698
1699
  } // END if
1699
1700
  }); // END for