j1-template 2024.3.13 → 2024.3.14

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 (193) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/content_generator_news_panel_posts.html +1 -1
  3. data/_includes/themes/j1/layouts/layout_resource_generator.html +1 -4
  4. data/_includes/themes/j1/procedures/blocks/footer/boxes/social_media_icons.proc +24 -23
  5. data/_includes/themes/j1/procedures/layouts/content_writer.proc +4 -3
  6. data/_includes/themes/j1/procedures/layouts/default_writer.proc +37 -6
  7. data/_includes/themes/j1/procedures/layouts/module_writer.proc +31 -95
  8. data/_includes/themes/j1/procedures/layouts/resource_writer.proc +51 -29
  9. data/assets/data/amplitude.28.html +887 -0
  10. data/assets/data/amplitude.29.html +923 -0
  11. data/assets/data/amplitude.html +311 -46
  12. data/assets/data/banner.html +9 -7
  13. data/assets/data/masterslider.html +128 -7
  14. data/assets/data/panel.html +16 -65
  15. data/assets/theme/j1/adapter/js/amplitude.23.js +1165 -0
  16. data/assets/theme/j1/adapter/js/amplitude.24.js +1164 -0
  17. data/assets/theme/j1/adapter/js/amplitude.25.js +1268 -0
  18. data/assets/theme/j1/adapter/js/amplitude.js +294 -117
  19. data/assets/theme/j1/adapter/js/attic.js +14 -11
  20. data/assets/theme/j1/adapter/js/docsearch.js +2 -2
  21. data/assets/theme/j1/adapter/js/fab.js +2 -2
  22. data/assets/theme/j1/adapter/js/j1.js +8 -8
  23. data/assets/theme/j1/adapter/js/lazyLoader.js +60 -10
  24. data/assets/theme/j1/adapter/js/masonry.js +1 -1
  25. data/assets/theme/j1/adapter/js/masterslider.js +2 -2
  26. data/assets/theme/j1/adapter/js/particles.js +2 -2
  27. data/assets/theme/j1/adapter/js/scroller.js +2 -2
  28. data/assets/theme/j1/adapter/js/slick.js +2 -2
  29. data/assets/theme/j1/adapter/js/themes.js +1 -1
  30. data/assets/theme/j1/adapter/js/translator.js +2 -2
  31. data/assets/theme/j1/adapter/js/waves.js +1 -1
  32. data/assets/theme/j1/core/css/animate.css +1634 -1070
  33. data/assets/theme/j1/core/css/animate.css.map +1 -0
  34. data/assets/theme/j1/core/css/animate.min.css +2 -1
  35. data/assets/theme/j1/core/css/animate.min.css.map +1 -0
  36. data/assets/theme/j1/core/css/icon-fonts/fontawesome.css +3060 -1538
  37. data/assets/theme/j1/core/css/icon-fonts/fontawesome.css.map +1 -0
  38. data/assets/theme/j1/core/css/icon-fonts/fontawesome.min.css +2 -1
  39. data/assets/theme/j1/core/css/icon-fonts/fontawesome.min.css.map +1 -0
  40. data/assets/theme/j1/core/css/icon-fonts/iconify.css +2308 -1153
  41. data/assets/theme/j1/core/css/icon-fonts/iconify.css.map +1 -0
  42. data/assets/theme/j1/core/css/icon-fonts/iconify.min.css +2 -1
  43. data/assets/theme/j1/core/css/icon-fonts/iconify.min.css.map +1 -0
  44. data/assets/theme/j1/core/css/icon-fonts/mdi.css +16716 -8423
  45. data/assets/theme/j1/core/css/icon-fonts/mdi.css.map +1 -0
  46. data/assets/theme/j1/core/css/icon-fonts/mdi.min.css +2 -1
  47. data/assets/theme/j1/core/css/icon-fonts/mdi.min.css.map +1 -0
  48. data/assets/theme/j1/core/css/icon-fonts/mdib.css +5554 -2766
  49. data/assets/theme/j1/core/css/icon-fonts/mdib.css.map +1 -0
  50. data/assets/theme/j1/core/css/icon-fonts/mdib.min.css +2 -1
  51. data/assets/theme/j1/core/css/icon-fonts/mdib.min.css.map +1 -0
  52. data/assets/theme/j1/core/css/icon-fonts/mdil.css +742 -441
  53. data/assets/theme/j1/core/css/icon-fonts/mdil.css.map +1 -0
  54. data/assets/theme/j1/core/css/icon-fonts/mdil.min.css +2 -1
  55. data/assets/theme/j1/core/css/icon-fonts/mdil.min.css.map +1 -0
  56. data/assets/theme/j1/core/css/themes/bootstrap/bootstrap.css +6552 -3980
  57. data/assets/theme/j1/core/css/themes/bootstrap/bootstrap.css.map +1 -0
  58. data/assets/theme/j1/core/css/themes/bootstrap/bootstrap.min.css +2 -5
  59. data/assets/theme/j1/core/css/themes/bootstrap/bootstrap.min.css.map +1 -0
  60. data/assets/theme/j1/core/css/themes/unodark/bootstrap.css +6818 -4131
  61. data/assets/theme/j1/core/css/themes/unodark/bootstrap.css.map +1 -0
  62. data/assets/theme/j1/core/css/themes/unodark/bootstrap.min.css +2 -5
  63. data/assets/theme/j1/core/css/themes/unodark/bootstrap.min.css.map +1 -0
  64. data/assets/theme/j1/core/css/themes/unolight/bootstrap.css +18568 -11577
  65. data/assets/theme/j1/core/css/themes/unolight/bootstrap.css.map +1 -0
  66. data/assets/theme/j1/core/css/themes/unolight/bootstrap.min.css +2 -35
  67. data/assets/theme/j1/core/css/themes/unolight/bootstrap.min.css.map +1 -0
  68. data/assets/theme/j1/core/css/vendor.css +1771 -1043
  69. data/assets/theme/j1/core/css/vendor.css.map +1 -0
  70. data/assets/theme/j1/core/css/vendor.min.css +2 -1
  71. data/assets/theme/j1/core/css/vendor.min.css.map +1 -0
  72. data/assets/theme/j1/core/js/template.js +399 -447
  73. data/assets/theme/j1/core/js/template.min.js +7 -7
  74. data/assets/theme/j1/core/js/template.min.js.map +1 -1
  75. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/amplitude.css +4 -2
  76. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/compact.css +39 -4
  77. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/compact.min.css +1 -1
  78. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.css +57 -17
  79. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.min.css +1 -1
  80. data/assets/theme/j1/modules/amplitudejs/icons/player/blue/pause.png +0 -0
  81. data/assets/theme/j1/modules/amplitudejs/icons/player/blue/play.png +0 -0
  82. data/assets/theme/j1/modules/amplitudejs/icons/player/blue/play.svg +87 -0
  83. data/assets/theme/j1/modules/amplitudejs/icons/player/dark/skip-backward.svg +60 -0
  84. data/assets/theme/j1/modules/amplitudejs/icons/player/dark/skip-forward.svg +59 -0
  85. data/assets/theme/j1/modules/amplitudejs/js/amplitude.js +65 -21
  86. data/assets/theme/j1/modules/amplitudejs/js/amplitude.min.js +1 -1
  87. data/assets/theme/j1/modules/amplitudejs/js/tech/ytp.js +113 -0
  88. data/assets/theme/j1/modules/iconPicker/js/universal-icon-picker.js +471 -471
  89. data/assets/theme/j1/modules/j1LazyLoader/LICENSE +21 -0
  90. data/assets/theme/j1/modules/j1LazyLoader/js/j1Lazy.js +870 -0
  91. data/assets/theme/j1/modules/js-cookies/js/js.cookie.js +3 -3
  92. data/assets/theme/j1/modules/lazyCssLoader/js/main.0.js +166 -0
  93. data/assets/theme/j1/modules/lazyCssLoader/js/main.1.js +65 -0
  94. data/assets/theme/j1/modules/lazyCssLoader/js/main.js +66 -0
  95. data/assets/theme/j1/modules/lazyCssLoader/js/plugins/examplePlugin.js +13 -0
  96. data/assets/theme/j1/modules/lazyCssLoader/js/plugins/my-plugin.js +25 -0
  97. data/assets/theme/j1/modules/lazyCssLoader/js/plugins/plugin-interface.js +9 -0
  98. data/assets/theme/j1/modules/lazyCssLoader/js/plugins/pluginA.js +46 -0
  99. data/assets/theme/j1/modules/lazyLoader/js/plugins/README.md +324 -0
  100. data/assets/theme/j1/modules/lazyLoader/js/plugins/jquery.lazy.picture.js +188 -0
  101. data/assets/theme/j1/modules/lightGallery/js/lightgallery.js +1 -1
  102. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.0.js +794 -0
  103. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.js +151 -67
  104. data/assets/theme/j1/modules/slimSelect/js/select.js +1 -1
  105. data/assets/theme/j1/modules/slimSelect/js/select.min.js +3 -3
  106. data/assets/theme/j1/modules/themeSwitcher/js/switcher.js +2 -1
  107. data/assets/theme/j1/modules/videojs/js/plugins/players/dm/dailymotion.min.js +1 -1
  108. data/assets/theme/j1/modules/videojs/js/plugins/players/dm/icon/scalable/dailymotion.svg +62 -0
  109. data/assets/theme/j1/modules/videojs/js/plugins/players/yt/v3.0.0/youtube.js +832 -0
  110. data/assets/theme/j1/modules/videojs/js/plugins/players/yt/v3.0.0/youtube.min.js +17 -0
  111. data/assets/theme/j1/modules/videojs/js/plugins/players/yt/youtube.min.js +1 -1
  112. data/assets/theme/j1/modules/videojs/js/video.js +2 -2
  113. data/lib/j1/version.rb +1 -1
  114. data/lib/starter_web/README.md +577 -560
  115. data/lib/starter_web/_config.yml +2 -2
  116. data/lib/starter_web/_data/blocks/footer.yml +10 -5
  117. data/lib/starter_web/_data/blocks/panel.yml +2 -2
  118. data/lib/starter_web/_data/layouts/default.yml +14 -3
  119. data/lib/starter_web/_data/modules/amplitude.yml +145 -0
  120. data/lib/starter_web/_data/modules/defaults/amplitude.yml +29 -7
  121. data/lib/starter_web/_data/modules/defaults/lazyLoader.yml +2 -2
  122. data/lib/starter_web/_data/modules/gallery.yml +136 -0
  123. data/lib/starter_web/_data/modules/lazyLoader.0.yml +118 -0
  124. data/lib/starter_web/_data/modules/lazyLoader.yml +68 -31
  125. data/lib/starter_web/_data/modules/masonry.yml +4 -4
  126. data/lib/starter_web/_data/modules/masterslider.yml +118 -12
  127. data/lib/starter_web/_data/modules/navigator_menu.yml +831 -803
  128. data/lib/starter_web/_data/resources.yml +154 -190
  129. data/lib/starter_web/_data/templates/feed.xml +1 -1
  130. data/lib/starter_web/_includes/attributes.asciidoc +1 -0
  131. data/lib/starter_web/_plugins/asciidoctor/amplitude-block.rb +1 -1
  132. data/lib/starter_web/_plugins/asciidoctor/dailymotion-block.rb +1 -1
  133. data/lib/starter_web/_plugins/asciidoctor/gallery-block.rb +4 -2
  134. data/lib/starter_web/_plugins/asciidoctor/masonry-block.rb +1 -1
  135. data/lib/starter_web/_plugins/asciidoctor/videojs-block.rb +58 -46
  136. data/lib/starter_web/_plugins/asciidoctor/vimeo-block.rb +26 -19
  137. data/lib/starter_web/_plugins/asciidoctor/youtube-block.rb +30 -40
  138. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  139. data/lib/starter_web/assets/image/icons/lanus/favicon.ico +0 -0
  140. data/lib/starter_web/assets/image/icons/lanus/lanus-512x512.png +0 -0
  141. data/lib/starter_web/assets/image/icons/lanus/lanus.ico +0 -0
  142. data/lib/starter_web/assets/image/icons/lanus/lanus.png +0 -0
  143. data/lib/starter_web/assets/image/icons/lanus/scalable/lanus.svg +76 -0
  144. data/lib/starter_web/assets/image/icons/lanus/scalable/lanus_sw.svg +62 -0
  145. data/lib/starter_web/assets/image/modules/icons/social/scalable/icon-twitter-x-28 - social.svg +86 -0
  146. data/lib/starter_web/assets/image/modules/icons/social/scalable/icon-twitter-x-28.svg +64 -0
  147. data/lib/starter_web/assets/image/modules/icons/social/scalable/icon-twitter-x.svg +1 -0
  148. data/lib/starter_web/assets/image/modules/icons/social/twitter_x.png +0 -0
  149. data/lib/starter_web/package.json +7 -18
  150. data/lib/starter_web/pages/public/amplitude_yt_tester.adoc +218 -0
  151. data/lib/starter_web/pages/public/features/template.adoc +18 -8
  152. data/lib/starter_web/pages/public/features/template.asciidoc +758 -0
  153. data/lib/starter_web/pages/public/lazy_loader_tester.adoc +402 -0
  154. data/lib/starter_web/pages/public/manuals/ytdl/man.adoc +3020 -0
  155. data/lib/starter_web/pages/public/manuals/ytdl/man.md +2378 -0
  156. data/lib/starter_web/pages/public/tools/previewer/_includes/attributes.asciidoc +0 -16
  157. data/lib/starter_web/pages/public/tools/previewer/_includes/documents/amplitudejs.large.css.asciidoc +505 -0
  158. data/lib/starter_web/pages/public/tools/previewer/_includes/documents/frame.hover.html +69 -0
  159. data/lib/starter_web/pages/public/tools/previewer/_includes/documents/frame.nested.html +75 -0
  160. data/lib/starter_web/pages/public/tools/previewer/_includes/documents/frame.textarea.html +57 -0
  161. data/lib/starter_web/pages/public/tools/previewer/_includes/documents/my.content.html +112 -0
  162. data/lib/starter_web/pages/public/tools/previewer/preview_amplitudejs.adoc +172 -0
  163. data/lib/starter_web/pages/public/tour/_includes/attributes.asciidoc +2 -2
  164. data/lib/starter_web/pages/public/tour/_includes/documents/419_advanced_modals_demo.asciidoc +16 -16
  165. data/lib/starter_web/pages/public/tour/asciidoc_extensions.adoc +13 -3
  166. data/lib/starter_web/pages/public/tour/bootstrap_themes.adoc +12 -3
  167. data/lib/starter_web/pages/public/tour/highlghter_rouge.adoc +13 -3
  168. data/lib/starter_web/pages/public/tour/icon_fonts.adoc +12 -3
  169. data/lib/starter_web/pages/public/tour/modal_extentions.adoc +12 -6
  170. data/lib/starter_web/pages/public/tour/{playback_audio.adoc → play_audio.adoc} +207 -188
  171. data/lib/starter_web/pages/public/tour/{playback_video.adoc → play_video.adoc} +49 -51
  172. data/lib/starter_web/pages/public/tour/present_images.adoc +27 -5
  173. data/lib/starter_web/pages/public/tour/quicksearch.adoc +13 -3
  174. data/lib/starter_web/pages/public/tour/responsive_tables.adoc +13 -4
  175. data/lib/starter_web/pages/public/tour/typography.adoc +12 -3
  176. metadata +90 -22
  177. /data/assets/theme/j1/modules/{lazyLoader → j1LazyLoader/js}/plugins/README.md +0 -0
  178. /data/assets/theme/j1/modules/{lazyLoader/plugins/jquery.lazy.picture.js → j1LazyLoader/js/plugins/picture.js} +0 -0
  179. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.ajax.js +0 -0
  180. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.ajax.min.js +0 -0
  181. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.av.js +0 -0
  182. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.av.min.js +0 -0
  183. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.iframe.js +0 -0
  184. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.iframe.min.js +0 -0
  185. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.noop.js +0 -0
  186. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.noop.min.js +0 -0
  187. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.picture.min.js +0 -0
  188. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.script.js +0 -0
  189. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.script.min.js +0 -0
  190. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.vimeo.js +0 -0
  191. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.vimeo.min.js +0 -0
  192. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.youtube.js +0 -0
  193. /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.youtube.min.js +0 -0
@@ -0,0 +1,324 @@
1
+ ### jQuery Lazy - Loader Plugins
2
+ [![GitHub version](https://badge.fury.io/gh/dkern%2Fjquery.lazy.svg)](http://github.com/dkern/jquery.lazy)
3
+ [![NPM version](https://badge.fury.io/js/jquery-lazy.svg)](http://www.npmjs.org/package/jquery-lazy)
4
+ [![Bower version](https://badge.fury.io/bo/jquery-lazy.svg)](http://bower.io/search/?q=jquery-lazy)
5
+ [![Dependencies Status](https://david-dm.org/dkern/jquery.lazy/status.svg)](https://david-dm.org/dkern/jquery.lazy)
6
+ [![devDependencies Status](https://david-dm.org/dkern/jquery.lazy/dev-status.svg)](https://david-dm.org/dkern/jquery.lazy?type=dev)
7
+
8
+ ---
9
+
10
+ ### Table of Contents
11
+ * [Document Note](#document-note)
12
+ * [About Loader Plugins](#about-loader-plugins)
13
+ * [Create an own Loader Plugin](#create-an-own-loader-plugin)
14
+ * [AJAX Loader](#ajax-loader)
15
+ * [Audio / Video Loader](#audio--video-loader)
16
+ * [iFrame Loader](#iframe-loader)
17
+ * [NOOP Loader](#noop-loader)
18
+ * [Picture Loader](#picture-loader)
19
+ * [JS / Script Loader](#js--script-loader)
20
+ * [Vimeo Video Loader](#vimeo-video-loader)
21
+ * [YouTube Video Loader](#youtube-video-loader)
22
+ * [Bugs / Feature request](#bugs--feature-request)
23
+ * [License](#license)
24
+ * [Donation](#donation)
25
+
26
+ ---
27
+
28
+ ## Document Note
29
+ This is not the main readme file of this project.
30
+ Please go to the [project root](https://github.com/dkern/jquery.lazy) and take a look in the [README.md](https://github.com/dkern/jquery.lazy/blob/master/README.md) to learn more about the basics of Lazy.
31
+
32
+
33
+ ## About Loader Plugins
34
+ The loader plugins for Lazy can be used whenever you want to extend the basic functionality by default or globally for many instances of Lazy.
35
+ Just add the plugins you want to use or a combined file, containing all plugins, to your page and all instances can use the plugins from now on.
36
+ ```HTML
37
+ <!-- as single plugin files -->
38
+ <script type="text/javascript" src="jquery.lazy.min.js"></script>
39
+ <script type="text/javascript" src="plugins/jquery.lazy.ajax.min.js"></script>
40
+ <script type="text/javascript" src="plugins/jquery.lazy.av.min.js"></script>
41
+ <script type="text/javascript" src="plugins/jquery.lazy.iframe.min.js"></script>
42
+ <script type="text/javascript" src="plugins/jquery.lazy.noop.min.js"></script>
43
+ <script type="text/javascript" src="plugins/jquery.lazy.picture.min.js"></script>
44
+ <script type="text/javascript" src="plugins/jquery.lazy.script.min.js"></script>
45
+ <script type="text/javascript" src="plugins/jquery.lazy.vimeo.min.js"></script>
46
+ <script type="text/javascript" src="plugins/jquery.lazy.youtube.min.js"></script>
47
+
48
+ <!-- or combined in one file -->
49
+ <script type="text/javascript" src="jquery.lazy.min.js"></script>
50
+ <script type="text/javascript" src="jquery.lazy.plugins.min.js"></script>
51
+ ```
52
+
53
+
54
+ ## Create an own Loader Plugin
55
+ If you want to, you can easily create own loader plugins.
56
+ Just use jQuery or Zepto's public function `Lazy` to create and register them.
57
+ Best practice is to wrap everything by an [IIFE](https://en.wikipedia.org/wiki/Immediately-invoked_function_expression).
58
+ ```JS
59
+ (function($) {
60
+ $.Lazy("pluginName", function(element, response) {
61
+ // add your logic here
62
+
63
+ // 'this' is the current instance of Lazy
64
+ // so it's possible to access all public functions, like:
65
+ var imageBase = this.config("imageBase");
66
+ });
67
+ })(window.jQuery || window.Zepto);
68
+ ```
69
+
70
+ This loader can now be called on every element with the attribute `data-loader` (_by default_), like:
71
+ ```HTML
72
+ <div data-loader="pluginName"></div>
73
+ ```
74
+
75
+ It's possible to register a plugin with more than one name / alias.
76
+ ```JS
77
+ (function($) {
78
+ $.Lazy(["pluginName", "anotherPluginName"], function(element, response) {
79
+ // the plugin is now available by 'data-loader="pluginLoaderName"'
80
+ // and 'data-loader="anotherLoaderName"'
81
+ });
82
+ })(window.jQuery || window.Zepto);
83
+ ```
84
+
85
+ The optional second parameter gives you the ability to register a plugin by default to an element type.
86
+ When you do this, there is no need to set the `data-loader` attribute on each element you want to use this loader on.
87
+
88
+ But keep in mind, if you register an plugin on often used elements, like `<div>`, Lazy will try to handle each of them!
89
+ If you want to do so anyway, use a most specific selector for jQuery or Zepto.
90
+ ```JS
91
+ (function($) {
92
+ $.Lazy("av", ["audio", "video"], function(element, response) {
93
+ // this plugin will automatically handle '<audio>' and '<video>' elements,
94
+ // even when no 'data-loader' attribute was set on the elements
95
+ });
96
+ })(window.jQuery || window.Zepto);
97
+ ```
98
+
99
+ For more examples, take a look at the [existing plugins](https://github.com/dkern/jquery.lazy/tree/master/plugins).
100
+
101
+
102
+ ## AJAX Loader
103
+ **Names:** `ajax`, `get`, `post`, `put`
104
+ **Parameters:** `data-src`, `data-method`, `data-type`
105
+ **Default for:** -
106
+
107
+ The AJAX loader can receive data from a given url and paste the response to the inner html of the element.
108
+ This is useful, when you want do load a bigger amount of content.
109
+ Use `ajax` as the loader name by default.
110
+ But there are even some shorthand names for specific request types `GET`, `POST` and `PUT` too.
111
+ ```HTML
112
+ <!-- simple GET request -->
113
+ <div data-loader="ajax" data-src="ajax.html"></div>
114
+
115
+ <!-- simple post request with configurable response type -->
116
+ <div data-loader="ajax" data-src="ajax.html" data-method="post" data-type="html"></div>
117
+
118
+ <!-- GET request -->
119
+ <div data-loader="get" data-src="ajax.html"></div>
120
+
121
+ <!-- POST request-->
122
+ <div data-loader="post" data-src="ajax.html"></div>
123
+
124
+ <!-- PUT request-->
125
+ <div data-loader="put" data-src="ajax.html"></div>
126
+ ```
127
+
128
+ On `POST` and `PUT` requests, the callback `ajaxCreateData` will be executed before every AJAX call.
129
+ If used, the callback function should return the value for the `data` parameter of jQuery's AJAX function.
130
+ ```HTML
131
+ <div data-loader="post" data-src="ajax.html" data-value="post-data"></div>
132
+ ```
133
+
134
+ ```JS
135
+ $('div').Lazy({
136
+ ajaxCreateData: function(element) {
137
+ return {name: element.data('value')};
138
+ }
139
+ });
140
+ ```
141
+
142
+
143
+ ## Audio / Video Loader
144
+ **Names:** `av`, `audio`, `video`
145
+ **Parameters:** `data-src`, `data-poster`
146
+ **Default for:** `<audio>`, `<video>`
147
+
148
+ Loads `<audio>` and `<video>` elements and attach the sources and tracks in the right order.
149
+ There are two ways you can prepare your audio and/or video tags.
150
+ First way is to add all sources by `data-src` attribute, separated by comma and type by pipe on the element.
151
+ ```HTML
152
+ <audio data-src="file.ogg|audio/ogg,file.mp3|audio/mp3,file.wav|audio/wav"></audio>
153
+ <video data-src="file.ogv|video/ogv,file.mp4|video/mp4,file.webm|video/webm" data-poster="poster.jpg"></video>
154
+ ```
155
+
156
+ The other way is to add the sources and tracks like default, as child elements.
157
+ ```HTML
158
+ <audio>
159
+ <data-src src="file.ogg" type="audio/ogg"></data-src>
160
+ <data-src src="file.mp3" type="audio/mp3"></data-src>
161
+ <data-src src="file.wav" type="audio/wav"></data-src>
162
+ </audio>
163
+
164
+ <video data-poster="poster.jpg">
165
+ <data-src src="file.ogv" type="video/ogv"></data-src>
166
+ <data-src src="file.mp4" type="video/mp4"></data-src>
167
+ <data-src src="file.webm" type="video/webm"></data-src>
168
+ <data-track kind="captions" src="captions.vtt" srclang="en"></data-track>
169
+ <data-track kind="descriptions" src="descriptions.vtt" srclang="en"></data-track>
170
+ <data-track kind="subtitles" src="subtitles.vtt" srclang="de"></data-track>
171
+ </video>
172
+ ```
173
+
174
+
175
+ ## iFrame Loader
176
+ **Names:** `frame`, `iframe`
177
+ **Parameters:** `data-src`, `data-error-detect`
178
+ **Default for:** `<iframe>`
179
+
180
+ Loads `<iframe>` contents.
181
+ The default will return a successfull load, even if the iframe url is not reachable (_like on 404 or wrong url_), because there is no way to check the loaded content in javascript.
182
+ It might be the fastest and safest way to do that.
183
+ If you know the requested path is reachable every time or don't care about error checks, you should use this way!
184
+ ```HTML
185
+ <iframe data-src="iframe.html"></iframe>
186
+ ```
187
+
188
+ The second way is more professional and support error checks.
189
+ It will load the content by AJAX and checks the response.
190
+ Afterwards pass the HTML content to iframe inner and set the correct url.
191
+ This is a very secure check, but could be a bit more tricky on some use cases.
192
+ You should only use this on the same domain origin.
193
+
194
+ To enable this feature, set the attribute `data-error-detect` to `true` or `1` on the iframe element.
195
+ ```HTML
196
+ <iframe data-loader="iframe" data-src="iframe.html" data-error-detect="true"></iframe>
197
+ ```
198
+
199
+
200
+ ## NOOP Loader
201
+ **Names:** `noop`, `noop-success`, `noop-error`
202
+ **Parameters:** -
203
+ **Default for:** -
204
+
205
+ The NOOP (_or no-operations_) loader will, like the name said, do nothing.
206
+ There will even be no callbacks triggered, like `beforeLoad` or `onError`, when using a NOOP` loader.
207
+ It could be useful for developers or to simple, secure and fast disable some other loaders.
208
+ It can be used with all elements.
209
+ ```HTML
210
+ <div data-loader="noop"></div>
211
+ ```
212
+
213
+ There are two other NOOP loaders, helping to debug your code.
214
+ The `noop-success` and `noop-error` loaders will return the current state to Lazy and trigger the right callbacks.
215
+ ```HTML
216
+ <!-- triggers the 'afterLoad' and 'onFinishedAll' callback -->
217
+ <div data-loader="noop-success"></div>
218
+
219
+ <!-- triggers the 'onError' and 'onFinishedAll' callback -->
220
+ <div data-loader="noop-error"></div>
221
+ ```
222
+
223
+
224
+ ## Picture Loader
225
+ **Names:** `pic`, `picture`
226
+ **Parameters:** `data-src`, `data-srcset`, `data-media`, `data-sizes`
227
+ **Default for:** `<picture>`
228
+
229
+ Loads `<picture>` elements and attach the sources.
230
+ There are two ways you can prepare your picture tags.
231
+ First way is to create all child elements from a single line:
232
+ ```HTML
233
+ <picture data-src="default.jpg" data-srcset="1x.jpg 1x, 2x.jpg 2x, 3x.jpg 3x" data-media="(min-width: 600px)" data-type="image/jpeg" />
234
+ ```
235
+
236
+ The other way is to add the sources like default, as child elements.
237
+ ```HTML
238
+ <picture>
239
+ <data-src srcset="1x.jpg 1x, 2x.jpg 2x, 3x.jpg 3x" media="(min-width: 600px)" type="image/jpeg"></data-src>
240
+ <data-img src="default.jpg"></data-img>
241
+ </picture>
242
+
243
+ <picture data-src="default.jpg">
244
+ <data-src srcset="1x.jpg 1x, 2x.jpg 2x, 3x.jpg 3x" media="(min-width: 600px)" type="image/jpeg"></data-src>
245
+ </picture>
246
+ ```
247
+
248
+
249
+ ## JS / Script Loader
250
+ **Names:** `js`, `javascript`, `script`
251
+ **Parameters:** `data-src`
252
+ **Default for:** `<script>`
253
+
254
+ Loads javascript files on `<script>` element.
255
+ Change the element like the example below, and the files will be loaded automatically after page load.
256
+ ```HTML
257
+ <script data-src="script.js" type="text/javascript"></script>
258
+ ```
259
+
260
+ **Note:**
261
+ The viewport detection is not correct in some browsers.
262
+ So it could happen, that all script files get loaded right after page load, and not when the user scrolls to them.
263
+
264
+
265
+ ## Vimeo Video Loader
266
+ **Names:** `vimeo`
267
+ **Parameters:** `data-src`
268
+ **Default for:** -
269
+
270
+ Loads vimeo videos in an `<iframe>`.
271
+ This is the suggested way by vimeo itself.
272
+ You can prepare the `<iframe>` element as you would do without Lazy.
273
+ Only add the vimeo video id to the attribute `data-src` and add the loader name.
274
+ That's all.
275
+ ```HTML
276
+ <iframe data-loader="vimeo" data-src="176894130" width="640" height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
277
+ ```
278
+
279
+ **Please keep in mind:**
280
+ Because this is an iframe and there is no feedback javascript could check on, this loader can only return success to Lazy.
281
+ There is no way to check if the video was loaded correctly or your provided video id is existing.
282
+
283
+
284
+ ## YouTube Video Loader
285
+ **Names:** `yt`, `youtube`
286
+ **Parameters:** `data-src`, `data-nocookie`
287
+ **Default for:** -
288
+
289
+ Loads youtube videos in an `<iframe>`.
290
+ This is the suggested way by youtube itself.
291
+ You can prepare the `<iframe>` element as you would do without Lazy.
292
+ Only add the youtube video id to the attribute `data-src` and add the loader name.
293
+ That's all.
294
+
295
+ ```HTML
296
+ <iframe data-loader="youtube" data-src="1AYGnw6MwFM" width="560" height="315" frameborder="0"></iframe>
297
+ ```
298
+
299
+ If you want to, you can control the cookie behavior of the embedded video with `data-nocookie="1"`.
300
+ This would change the url to `youtube-nocookie.com` instead of `youtube.com`.
301
+
302
+ ```HTML
303
+ <iframe data-loader="youtube" data-src="1AYGnw6MwFM" data-nocookie="1" width="560" height="315" frameborder="0"></iframe>
304
+ ```
305
+
306
+ **Please keep in mind:**
307
+ Because this is an iframe and there is no feedback javascript could check on, this loader can only return success to Lazy.
308
+ There is no way to check if the video was loaded correctly or your provided video id is existing.
309
+
310
+
311
+ ## Bugs / Feature request
312
+ Please [report](http://github.com/dkern/jquery.lazy/issues) bugs and feel free to [ask](http://github.com/dkern/jquery.lazy/issues) for new features and loaders directly on GitHub.
313
+
314
+
315
+ ## License
316
+ Lazy plugins are dual-licensed under [MIT](http://www.opensource.org/licenses/mit-license.php) and [GPL-2.0](http://www.gnu.org/licenses/gpl-2.0.html) license.
317
+
318
+
319
+ ## Donation
320
+ _You like to support me?_
321
+ _You appreciate my work?_
322
+ _You use it in commercial projects?_
323
+
324
+ Feel free to make a little [donation](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=FFL6VQJCUZMXC)! :wink:
@@ -0,0 +1,188 @@
1
+ /*!
2
+ * jQuery & Zepto Lazy - Picture Plugin - v1.3
3
+ * http://jquery.eisbehr.de/lazy/
4
+ *
5
+ * Copyright 2012 - 2018, Daniel 'Eisbehr' Kern
6
+ *
7
+ * Dual licensed under the MIT and GPL-2.0 licenses:
8
+ * http://www.opensource.org/licenses/mit-license.php
9
+ * http://www.gnu.org/licenses/gpl-2.0.html
10
+ */
11
+ ;(function($) {
12
+ var srcAttr = 'data-src',
13
+ srcsetAttr = 'data-srcset',
14
+ mediaAttr = 'data-media',
15
+ sizesAttr = 'data-sizes',
16
+ typeAttr = 'data-type';
17
+
18
+ // loads picture elements like:
19
+ // <picture>
20
+ // <data-src srcset="1x.jpg 1x, 2x.jpg 2x, 3x.jpg 3x" media="(min-width: 600px)" type="image/jpeg"></data-src>
21
+ // <data-src srcset="1x.jpg 1x, 2x.jpg 2x, 3x.jpg 3x" media="(min-width: 400px)" type="image/jpeg"></data-src>
22
+ // <data-img src="default.jpg" >
23
+ // </picture>
24
+ //
25
+ // or:
26
+ // <picture data-src="default.jpg">
27
+ // <data-src srcset="1x.jpg 1x, 2x.jpg 2x, 3x.jpg 3x" media="(min-width: 600px)" type="image/jpeg"></data-src>
28
+ // <data-src srcset="1x.jpg 1x, 2x.jpg 2x, 3x.jpg 3x" media="(min-width: 400px)" type="image/jpeg"></data-src>
29
+ // </picture>
30
+ //
31
+ // or just with attributes in one line:
32
+ // <picture data-src="default.jpg" data-srcset="1x.jpg 1x, 2x.jpg 2x, 3x.jpg 3x" data-media="(min-width: 600px)" data-sizes="" data-type="image/jpeg" />
33
+ $.lazy(['pic', 'picture'], ['picture'], function(element, response) {
34
+ var elementTagName = element[0].tagName.toLowerCase();
35
+
36
+ if (elementTagName === 'picture') {
37
+ var sources = element.find(srcAttr),
38
+ image = element.find('data-img'),
39
+ imageBase = this.config('imageBase') || '';
40
+
41
+ // handle as child elements
42
+ if (sources.length) {
43
+ sources.each(function() {
44
+ renameElementTag($(this), 'source', imageBase);
45
+ });
46
+
47
+ // create img tag from child
48
+ if (image.length === 1) {
49
+ image = renameElementTag(image, 'img', imageBase);
50
+
51
+ // bind event callbacks to new image tag
52
+ image.on('load', function() {
53
+ response(true);
54
+ }).on('error', function() {
55
+ response(false);
56
+ });
57
+
58
+ image.attr('src', image.attr(srcAttr));
59
+
60
+ if (this.config('removeAttribute')) {
61
+ image.removeAttr(srcAttr);
62
+ }
63
+ }
64
+
65
+ // create img tag from attribute
66
+ else if (element.attr(srcAttr)) {
67
+ // create image tag
68
+ createImageObject(element, imageBase + element.attr(srcAttr), response);
69
+
70
+ if (this.config('removeAttribute')) {
71
+ element.removeAttr(srcAttr);
72
+ }
73
+ }
74
+
75
+ // pass error state
76
+ else {
77
+ // use response function for Zepto
78
+ response(false);
79
+ }
80
+ }
81
+
82
+ // handle as attributes
83
+ else if( element.attr(srcsetAttr) ) {
84
+ // create source elements before img tag
85
+ $('<source>').attr({
86
+ media: element.attr(mediaAttr),
87
+ sizes: element.attr(sizesAttr),
88
+ type: element.attr(typeAttr),
89
+ srcset: getCorrectedSrcSet(element.attr(srcsetAttr), imageBase)
90
+ })
91
+ .appendTo(element);
92
+
93
+ // create image tag
94
+ createImageObject(element, imageBase + element.attr(srcAttr), response);
95
+
96
+ // remove attributes from parent picture element
97
+ if (this.config('removeAttribute')) {
98
+ element.removeAttr(srcAttr + ' ' + srcsetAttr + ' ' + mediaAttr + ' ' + sizesAttr + ' ' + typeAttr);
99
+ }
100
+ }
101
+
102
+ // pass error state
103
+ else {
104
+ // use response function for Zepto
105
+ response(false);
106
+ }
107
+ }
108
+
109
+ else {
110
+ // pass error state
111
+ // use response function for Zepto
112
+ response(false);
113
+ }
114
+ });
115
+
116
+ /**
117
+ * create a new child element and copy attributes
118
+ * @param {jQuery|object} element
119
+ * @param {string} toType
120
+ * @param {string} imageBase
121
+ * @return {jQuery|object}
122
+ */
123
+ function renameElementTag(element, toType, imageBase) {
124
+ var attributes = element.prop('attributes'),
125
+ target = $('<' + toType + '>');
126
+
127
+ $.each(attributes, function(index, attribute) {
128
+ // build srcset with image base
129
+ if (attribute.name === 'srcset' || attribute.name === srcAttr) {
130
+ attribute.value = getCorrectedSrcSet(attribute.value, imageBase);
131
+ }
132
+
133
+ target.attr(attribute.name, attribute.value);
134
+ });
135
+
136
+ element.replaceWith(target);
137
+ return target;
138
+ }
139
+
140
+ /**
141
+ * create a new image element inside parent element
142
+ * @param {jQuery|object} parent
143
+ * @param {string} src
144
+ * @param {function} response
145
+ * @return void
146
+ */
147
+ function createImageObject(parent, src, response) {
148
+ // create image tag
149
+ var imageObj = $('<img>')
150
+
151
+ // create image tag an bind callbacks for correct response
152
+ .one('load', function() {
153
+ response(true);
154
+ })
155
+ .one('error', function() {
156
+ response(false);
157
+ })
158
+
159
+ // set into picture element
160
+ .appendTo(parent)
161
+
162
+ // set src attribute at last to prevent early kick-in
163
+ .attr('src', src);
164
+
165
+ // call after load even on cached image
166
+ imageObj.complete && imageObj.load(); // jshint ignore : line
167
+ }
168
+
169
+ /**
170
+ * prepend image base to all srcset entries
171
+ * @param {string} srcset
172
+ * @param {string} imageBase
173
+ * @returns {string}
174
+ */
175
+ function getCorrectedSrcSet(srcset, imageBase) {
176
+ if (imageBase) {
177
+ // trim, remove unnecessary spaces and split entries
178
+ var entries = srcset.split(',');
179
+ srcset = '';
180
+
181
+ for (var i = 0, l = entries.length; i < l; i++) {
182
+ srcset += imageBase + entries[i].trim() + (i !== l - 1 ? ',' : '');
183
+ }
184
+ }
185
+
186
+ return srcset;
187
+ }
188
+ })(window.jQuery || window.Zepto);
@@ -1641,7 +1641,7 @@
1641
1641
  _this.settings.loadYouTubePoster &&
1642
1642
  !element.poster &&
1643
1643
  element.__slideVideoInfo.youtube) {
1644
- element.poster = "//img.youtube.com/vi/" + element.__slideVideoInfo.youtube[1] + "/maxresdefault.jpg";
1644
+ element.poster = "//img.youtube.com/vi/" + element.__slideVideoInfo.youtube[1] + "/mqdefault.jpg";
1645
1645
  }
1646
1646
  });
1647
1647
  };