j1-template 2024.3.16 → 2024.3.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/assets/data/amplitude.html +132 -61
  3. data/assets/data/banner.html +1 -1
  4. data/assets/data/cookieconsent.html +1 -1
  5. data/assets/data/docsearch.html +1 -1
  6. data/assets/data/fab.html +1 -1
  7. data/assets/data/footer.html +1 -1
  8. data/assets/data/galeries.html +1 -1
  9. data/assets/data/gallery_customizer.html +1 -1
  10. data/assets/data/gemini-ui.html +1 -1
  11. data/assets/data/iframes.html +1 -1
  12. data/assets/data/masonry.html +1 -1
  13. data/assets/data/masterslider.html +1 -1
  14. data/assets/data/menu.html +1 -1
  15. data/assets/data/mmenu.html +1 -1
  16. data/assets/data/mmenu_sidebar.html +1 -1
  17. data/assets/data/mmenu_toc.html +1 -1
  18. data/assets/data/panel.html +1 -1
  19. data/assets/data/quicklinks.html +1 -1
  20. data/assets/data/rtext_resizer.html +1 -1
  21. data/assets/data/slick.html +1 -1
  22. data/assets/data/speak2me.html +1 -1
  23. data/assets/data/swiper.html +313 -0
  24. data/assets/theme/j1/adapter/js/amplitude.30.js +1177 -0
  25. data/assets/theme/j1/adapter/js/amplitude.js +152 -121
  26. data/assets/theme/j1/adapter/js/j1.js +3 -3
  27. data/assets/theme/j1/adapter/js/masterslider.js +2 -1
  28. data/assets/theme/j1/adapter/js/swiper.js +231 -0
  29. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/amplitude.css +13 -3
  30. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/amplitude.min.css +1 -1
  31. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.css +53 -6
  32. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.min.css +2 -1
  33. data/assets/theme/j1/modules/amplitudejs/js/tech/ytp.15.js +1594 -0
  34. data/assets/theme/j1/modules/amplitudejs/js/tech/ytp.js +1617 -89
  35. data/assets/theme/j1/modules/amplitudejs/js/visualizations/bar.js +1 -1
  36. data/assets/theme/j1/modules/amplitudejs/js/visualizations/circular-equalizer.js +31 -1
  37. data/assets/theme/j1/modules/amplitudejs/js/visualizations/frequency-analyzer.js +1 -1
  38. data/assets/theme/j1/modules/amplitudejs/js/visualizations/michael-bromley.js +1 -1
  39. data/assets/theme/j1/modules/amplitudejs/js/visualizations/template.js +1 -1
  40. data/assets/theme/j1/modules/photoswipe/.version_5.4.4 +6 -0
  41. data/assets/theme/j1/modules/photoswipe/LICENSE +21 -0
  42. data/assets/theme/j1/modules/photoswipe/README.md +32 -0
  43. data/assets/theme/j1/modules/photoswipe/css/org/photoswipe-dynamic-caption-plugin.umd.min.js +5 -0
  44. data/assets/theme/j1/modules/photoswipe/css/org/photoswipe.css +420 -0
  45. data/assets/theme/j1/modules/photoswipe/css/photoswipe-caption-plugin.css +67 -0
  46. data/assets/theme/j1/modules/photoswipe/css/photoswipe-caption-plugin.min.css +16 -0
  47. data/assets/theme/j1/modules/photoswipe/css/photoswipe.css +376 -0
  48. data/assets/theme/j1/modules/photoswipe/css/photoswipe.min.css +17 -0
  49. data/assets/theme/j1/modules/photoswipe/css/scss/photoswipe.scss +427 -0
  50. data/assets/theme/j1/modules/photoswipe/example/photoswipe-caption-plugin.html +237 -0
  51. data/assets/theme/j1/modules/photoswipe/example/test-gallery.html +36 -0
  52. data/assets/theme/j1/modules/photoswipe/js/README.md +43 -0
  53. data/assets/theme/j1/modules/photoswipe/js/photoswipe-caption-plugin.min.js +5 -0
  54. data/assets/theme/j1/modules/photoswipe/js/photoswipe-core.min.js +18 -0
  55. data/assets/theme/j1/modules/photoswipe/js/photoswipe-lightbox.min.js +18 -0
  56. data/assets/theme/j1/modules/swiper/.version_1.2.0 +15 -0
  57. data/assets/theme/j1/modules/swiper/LICENSE +20 -0
  58. data/assets/theme/j1/modules/swiper/README.md +95 -0
  59. data/assets/theme/j1/modules/swiper/css/swiper-bundle.css +740 -0
  60. data/assets/theme/j1/modules/swiper/css/swiper-bundle.min..css +17 -0
  61. data/assets/theme/j1/modules/swiper/css/theme/uno.css +249 -0
  62. data/assets/theme/j1/modules/swiper/css/theme/uno.min.css +154 -0
  63. data/assets/theme/j1/modules/swiper/js/swiper-bundle.js +9785 -0
  64. data/assets/theme/j1/modules/swiper/js/swiper-bundle.min.js +17 -0
  65. data/assets/theme/j1/modules/swiper/swiperjs.com-demos.url +2 -0
  66. data/lib/j1/version.rb +1 -1
  67. data/lib/starter_web/README.md +5 -5
  68. data/lib/starter_web/_config.yml +1 -1
  69. data/lib/starter_web/_data/modules/amplitude.yml +374 -39
  70. data/lib/starter_web/_data/modules/defaults/amplitude.yml +60 -35
  71. data/lib/starter_web/_data/modules/defaults/slick.yml +1 -1
  72. data/lib/starter_web/_data/modules/defaults/swiper.yml +515 -0
  73. data/lib/starter_web/_data/modules/swiper.yml +227 -0
  74. data/lib/starter_web/_data/resources.yml +53 -1
  75. data/lib/starter_web/_data/templates/feed.xml +1 -1
  76. data/lib/starter_web/_plugins/asciidoctor/amplitude-block.rb +1 -0
  77. data/lib/starter_web/_plugins/asciidoctor/videojs-block.rb +0 -4
  78. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  79. data/lib/starter_web/assets/video/poster/youtube/faelle_des_bnd/der_unverzichtbare_feind.jpg +0 -0
  80. data/lib/starter_web/assets/video/poster/youtube/faelle_des_bnd/ein_diener_vieler_herren.jpg +0 -0
  81. data/lib/starter_web/assets/video/poster/youtube/the_piano/the-piano.jpg +0 -0
  82. data/lib/starter_web/package.json +1 -1
  83. data/lib/starter_web/pages/public/_includes/attributes.asciidoc +45 -0
  84. data/lib/starter_web/pages/public/_includes/documents/photoswipe/200_photoswipe_parameters.asciidoc +510 -0
  85. data/lib/starter_web/pages/public/_includes/documents/photoswipe/210_photoswipe_lightbox_parameters.asciidoc +98 -0
  86. data/lib/starter_web/pages/public/_includes/documents/photoswipe/300_caption_plugin_for_photoSwipe.asciidoc +327 -0
  87. data/lib/starter_web/pages/public/_includes/documents/swiper/100_swiper_features.asciidoc +50 -0
  88. data/lib/starter_web/pages/public/_includes/documents/swiper/100_swiper_html_layout.asciidoc +122 -0
  89. data/lib/starter_web/pages/public/_includes/documents/swiper/100_swiper_initialization.asciidoc +53 -0
  90. data/lib/starter_web/pages/public/_includes/documents/swiper/110_swiper_common_options.asciidoc +43 -0
  91. data/lib/starter_web/pages/public/_includes/documents/swiper/200_swiper_parameters_a_k.asciidoc +994 -0
  92. data/lib/starter_web/pages/public/_includes/documents/swiper/200_swiper_parameters_l_o.asciidoc +473 -0
  93. data/lib/starter_web/pages/public/_includes/documents/swiper/200_swiper_parameters_p_s.asciidoc +700 -0
  94. data/lib/starter_web/pages/public/_includes/documents/swiper/200_swiper_parameters_t_z.asciidoc +413 -0
  95. data/lib/starter_web/pages/public/_includes/documents/swiper/300_swiper_instance_properties.asciidoc +873 -0
  96. data/lib/starter_web/pages/public/_includes/documents/swiper/400_swiper_modules.asciidoc +2514 -0
  97. data/lib/starter_web/pages/public/_includes/documents/swiper/500_swiper_methods.asciidoc +989 -0
  98. data/lib/starter_web/pages/public/_includes/documents/swiper/600_swiper_events.asciidoc +1534 -0
  99. data/lib/starter_web/pages/public/amplitude_yt_tester.adoc +77 -63
  100. data/lib/starter_web/pages/public/photoswipe_api.adoc +150 -0
  101. data/lib/starter_web/pages/public/swiper_api.adoc +128 -0
  102. data/lib/starter_web/pages/public/swiper_tester.adoc +973 -0
  103. data/lib/starter_web/pages/public/tour/modal_extentions.adoc +12 -5
  104. data/lib/starter_web/pages/public/tour/play_audio.adoc +60 -5
  105. data/lib/starter_web/pages/public/tour/play_video.adoc +30 -0
  106. data/lib/starter_web/pages/public/tour/present_images.adoc +5 -5
  107. metadata +56 -3
  108. data/assets/theme/j1/modules/amplitudejs/js/tech/youtube_example.js +0 -211
@@ -44,10 +44,12 @@ resource_options:
44
44
 
45
45
  // Attribute settings for section control
46
46
  //
47
- :ytp_audio: false
48
- :ytp_example: false
49
- :ms_slider_video_examples: false
47
+ :ytp-api--description: false
48
+ :ytp--example: false
49
+ :ytp--audio-player: true
50
+ :ms-slider-video--example: false
50
51
 
52
+ :manon-melodie--playlist: //youtube.com/channel/UCEsIlUzfXYT5AZSOVnbFqsQ
51
53
 
52
54
  // Set (local) page attributes here
53
55
  // -----------------------------------------------------------------------------
@@ -65,18 +67,13 @@ resource_options:
65
67
  // Page content
66
68
  // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67
69
  [role="dropcap"]
68
- The J1 Template support playing video on web pages by HTML5 Video, the new
69
- standard of HTML to show videos on webpages.
70
-
71
- Modern browsers support the video tag `<video>` for the new HTML5 video
72
- standard. The previous proprietary de facto standard software like
73
- _Flash Player_, _Quicktime_, or _Silverlight_ is no longer needed as the
74
- Jekyll theme J1 provides HTML5 Video support for local video content
75
- and from online sources on the Internet.
70
+ The J1 Template supports the AmpltidueJS module playing audio from (YouTube)
71
+ video. The Template system provides a plugin (Tech) to mimic AmpliudeJS
72
+ players to control the audio.
76
73
 
77
74
  // Include sub-documents (if any)
78
75
  // -----------------------------------------------------------------------------
79
- ifeval::[{ytp_examples} == true]
76
+ ifeval::[{ytp-api--description} == true]
80
77
  [role="mt-4"]
81
78
  == YouTube Audio
82
79
 
@@ -87,10 +84,9 @@ ifeval::[{ytp_examples} == true]
87
84
  // https://www.youtube.com/watch?v=ryxAe4B_3Pg
88
85
  // https://www.youtube.com/watch?v=wI1Rr29OCJM
89
86
 
90
- You can embed any YouTube video in your web pages and visitors on your
91
- site will be able to play and pause the video audio with a simple click.
92
- With this technique, you can also use a YouTube video as background audio
93
- that runs in a loop.
87
+ You can embed any YouTube video on your web pages, and visitors can play
88
+ and pause the audio with a simple click. This technique can also be used
89
+ to use a YouTube video as background audio that runs in a loop.
94
90
 
95
91
  [TIP]
96
92
  ====
@@ -101,11 +97,11 @@ http://www.labnol.org/internet/youtube-audio-player/26740/[Embed YouTube as an A
101
97
  [role="mt-4"]
102
98
  === How to Embed YouTube Audio
103
99
 
104
- It takes just one step to embed a YouTube audio. Open any YouTube video
105
- and make a note of the YouTube Video ID (a string of 11 characters).
100
+ It takes just one step to embed a YouTube audio. Open any YouTube video and
101
+ make a note of the YouTube Video ID (a string of 11 characters).
106
102
 
107
- Next copy-paste the code below anywhere on your website and replace
108
- VIDEO_ID with actual ID of your YouTube video.
103
+ Next, copy and paste the code below anywhere on your website, replacing
104
+ VIDEO_ID with the actual ID of your YouTube video.
109
105
 
110
106
  [source, html]
111
107
  ----
@@ -114,50 +110,39 @@ VIDEO_ID with actual ID of your YouTube video.
114
110
  <script src="https://cdn.rawgit.com/labnol/files/master/yt.js"></script>
115
111
  ----
116
112
 
117
- There are few other configuration parameters that you can change depending
118
- on requirements. For instance, if you set data-autoplay to 1, the audio will
119
- begin playing immediately on page load. Likewise, set data-loop to 1 and the
120
- audio will play continuously in a never-ending loop until manually stopped.
113
+ The following example is using the YouTube JavaScript API, which renders a
114
+ regular YouTube player with the width and height set to *0 pixels*. When
115
+ the user clicks the audio button, it toggles the existing YouTube player state,
116
+ and the video begins to play or pauses.
121
117
 
122
- This internally renders the YouTube video using the IFRAME player and would
123
- thus work on both desktop and mobile browsers. The JavaScript files are hosted
124
- on Github while the images are hosted on Imgur. It is recommended that you
125
- copy the assets to your own server before deploying on a heavy-traffic website.
118
+ Here’s the annotated version of the source code. It can be extended to embed
119
+ YouTube playlists; the default playback volume can be changed, or you even
120
+ https://www.labnol.org/internet/embed-part-of-youtube-video/27948/[embeda part, {browser-window--new}]
121
+ of the video.
126
122
 
127
123
  [role="mt-4"]
128
124
  === Technical Details
129
125
 
130
- We are using the YouTube JavaScript API that renders a regular YouTube player
131
- but with the width and height set to *0 pixels*. When the user clicks the
132
- audio button, it toggles the existing YouTube player state and the video
133
- begins to play or pauses.
134
-
135
- Here’s the annotated version of the source code. It can be extended to embed
136
- YouTube playlists, the default playback volume can be changed or you even
137
- https://www.labnol.org/internet/embed-part-of-youtube-video/27948/[embeda part, {browser-window--new}]
138
- of the video.
126
+ lorem:sentences[5]
139
127
  endif::[]
140
128
 
141
- ifeval::[{ytp_example} == true]
129
+ ifeval::[{ytp--example} == true]
142
130
  [role="mt-5"]
143
- === YT Player
131
+ == YT Player Example
144
132
  ++++
145
- <!-- 1. The <iframe> (and video player) will replace this <div> tag. -->
133
+ <!-- the <iframe> (video player) will replace this <div> tag -->
146
134
  <!-- =========================================================================== -->
147
135
  <div style="display:flex;justify-content:center;align-items:center;">
148
136
  <div id="youtube-audio1" data-video="WxcWO9O4DSM" data-autoplay="0" data-loop="1"></div>
149
137
  <div id="youtube-audio2" data-video="zAmDwCz2BOs" data-autoplay="0" data-loop="1"></div>
150
- <!-- div id="youtube-audio2"></div -->
151
138
  <div id="youtube-audio3" data-video="ryxAe4B_3Pg" data-autoplay="0" data-loop="1"></div>
152
139
  <div id="youtube-audio4" data-video="wI1Rr29OCJM" data-autoplay="0" data-loop="1"></div>
153
140
  </div>
154
- ++++
155
141
 
156
- ++++
157
142
  <script>
158
143
  $(function() {
159
144
 
160
- // Load the IFrame Player API code asynchronously.
145
+ // load the IFrame Player API code (asynchronously)
161
146
  var techScript;
162
147
 
163
148
  var tech = document.createElement('script');
@@ -171,33 +156,64 @@ ifeval::[{ytp_example} == true]
171
156
  ++++
172
157
  endif::[]
173
158
 
159
+
160
+ ifeval::[{ytp--audio-player} == true]
174
161
  [role="mt-5"]
175
- == Amplitude Player
162
+ == Amplitude YT Player
176
163
 
177
- lorem:sentences[5]
164
+ The example below demonstrates playing only the *Audio* track from YouTube
165
+ Video using an AmplitudJS player. The J1 template uses the video *plugin* ytp
166
+ to extend the native functionality of the AmplitudeJS API to playback YouTube
167
+ files for the audio part.
178
168
 
179
- .Mimi Rutherfurt · Maritim Verlag (YouTube)
180
- amplitude::mimi_rutherfurt_yt_large[role="mt-4 mb-8"]
169
+ [role="mt-4 mb-5"]
170
+ [TIP]
171
+ ====
172
+ Find complete playlist for the example of Manon Mélodie on link:{manon-melodie--playlist}[YouTube, {browser-window--new}].
173
+ ====
181
174
 
182
- ++++
183
- <script>
184
- $(function() {
175
+ // [role="mt-4"]
176
+ // [[manon_melodie]]
177
+ // === Manon Mélodie
185
178
 
186
- // Load the IFrame Player API code asynchronously.
187
- var techScript;
179
+ // lorem:sentences[3]
188
180
 
189
- var tech = document.createElement('script');
190
- tech.src = "/assets/theme/j1/modules/amplitudejs/js/tech/ytp.js";
191
- techScript = document.getElementsByTagName('script')[0];
181
+ // .Manon Mélodie · YouTube 2024
182
+ // amplitude::manon_melodie_yt_large[role="mt-4 mb-5"]
192
183
 
193
- techScript.parentNode.insertBefore(tech, techScript);
184
+ [role="mt-4"]
185
+ === Mimi Rutherfurt
194
186
 
195
- });
196
- </script>
197
- ++++
187
+ lorem:sentences[3]
188
+
189
+ .Mimi Rutherfurt · Maritim Verlag
190
+ amplitude::mimi_rutherfurt_yt_large[role="mt-4 mb-5"]
191
+
192
+ // [role="mt-4"]
193
+ // [[faelle_des_bnd]]
194
+ // === Die größten Fälle des BND
195
+
196
+ // lorem:sentences[3]
198
197
 
198
+ // .Die größten Fälle des BND · Maritim Verlag
199
+ // amplitude::faelle_des_bnd_yt_large[role="mt-4 mb-5"]
199
200
 
200
- ifeval::[{ms_slider_video_examples} == true]
201
+ endif::[]
202
+
203
+ [role="mb-8"]
204
+ [CAUTION]
205
+ ====
206
+ Playing audio tracks is currently supported only for videos from YouTube (YT).
207
+ The YT plugin *ytp* embeds a YouTube (iframe) player and mimics the AmplitudeJS
208
+ player buttons and controls to manage a *playlist* of video the same as known
209
+ for native audio files.
210
+
211
+ Note, AmplitudeJS YT Player can only be used with the J1 Template. Currently,
212
+ only AJS players of type *compact* and *large* are supported.
213
+ ====
214
+
215
+
216
+ ifeval::[{ms-slider-video--example} == true]
201
217
  [[ms_video]]
202
218
  == MS Slider using YouTube Video
203
219
 
@@ -226,6 +242,4 @@ controlling MPEG 4 video content on websites and web applications.
226
242
 
227
243
  .Video over VideoJS
228
244
  gallery::jg_video_html5_videojs[role="mt-4 mb-5"]
229
-
230
245
  endif::[]
231
-
@@ -0,0 +1,150 @@
1
+ ---
2
+ title: PhotoSwipe
3
+ title_extention: Application Interface
4
+ tagline: Application Interface
5
+
6
+ date: 2025-01-17
7
+ #last_modified: 2025-01-01
8
+
9
+ description: >
10
+ PhotoSwipe is a popular JavaScript image gallery library well-suited
11
+ for desktops browsers and apps on mobile devices with touchscreens. PhotoSwipe provides a smooth and engaging way to showcase images on the web, especially on mobile devices.
12
+ keywords: >
13
+ open source, free, template, jekyll, jekyllone, web,
14
+ sites, static, jamstack, bootstrap,
15
+ html, html5, slider, photoswipe
16
+
17
+ categories: [ Manuals ]
18
+ tags: [ Module, Photoswipe ]
19
+
20
+ image:
21
+ path: /assets/image/modules/attics/markus-spiske-1920x1280.jpg
22
+ width: 1920
23
+ height: 1280
24
+
25
+ attic: false
26
+ regenerate: true
27
+ personalization: true
28
+ permalink: /pages/public/photoswipe_api/
29
+
30
+ resources: [ photoswipe ]
31
+ resource_options:
32
+ - toccer:
33
+ collapseDepth: 3
34
+ - attic:
35
+ slides:
36
+ - url: /assets/image/modules/attics/markus-spiske-1920x1280.jpg
37
+ alt: PhotoSwipe API
38
+ ---
39
+
40
+ // Page Initializer
41
+ // =============================================================================
42
+ // Enable the Liquid Preprocessor
43
+ :page-liquid:
44
+
45
+ // Attribute settings for page content control (e.g includes)
46
+ //
47
+ :documentdir: _includes/documents
48
+
49
+ // Attribute settings for section control
50
+ //
51
+ :photoswipe-options: /pages/public/photoswipe_api/#photoswipe-options
52
+
53
+ // Load Liquid procedures
54
+ // -----------------------------------------------------------------------------
55
+ {% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
56
+
57
+ // Load page attributes
58
+ // -----------------------------------------------------------------------------
59
+ {% include {{load_attributes}} scope="all" %}
60
+
61
+
62
+ // Page content
63
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64
+ // See: https://photoswipe.com/getting-started
65
+
66
+ [role="dropcap"]
67
+ PhotoSwipe is a popular JavaScript image gallery library well-suited for
68
+ desktops browsers and apps on mobile devices with touchscreens. PhotoSwipe
69
+ provides a smooth and engaging way to showcase images on the web, especially
70
+ on mobile devices. Here's a breakdown of its key functionalities.
71
+
72
+ Displays images in a lightbox::
73
+ When you click on an image, it overlays the current page with a zoomed-in
74
+ view of the image. Easily zoom in and out of images and pan around them.
75
+ View images in full-screen for an immersive experience
76
+
77
+ Supports galleries::
78
+ You can link multiple images together, allowing users to easily browse
79
+ through a collection.
80
+
81
+ Touch-friendly::
82
+ Designed with intuitive touch gestures for navigation (swiping, pinching, etc.).
83
+ Supports touch gestures like swiping, pinching, and dragging.
84
+
85
+ Responsive::
86
+ Adapts to different screen sizes and orientations.
87
+
88
+ Customizable::
89
+ Offers various options for customization, such as themes, transitions, and
90
+ social sharing features.
91
+
92
+ Keyboard Navigation::
93
+ Navigate through images using keyboard shortcuts.
94
+
95
+ Social Sharing::
96
+ Easily share images on social media platforms.
97
+
98
+ PhotoSwipe comes with a rich https://photoswipe.com/getting-startedi[API, {browser-window--new}].
99
+ The programming interface allows developers to create individual user
100
+ interfaces (UI) for pagination, navigation and more. Find large number of
101
+ complex examples on the pages of the
102
+ https://uiinitiative.com/[UI Initiative project, {browser-window--new}].
103
+
104
+ The rich API makes PhotoSwipe an excellent choice for *web developers*, not least
105
+ for template systems like J1 Template. In the current version of the J1 template
106
+ (version 2025.x), PhotoSwipe is the *default slider* and *replaces* the *previously*
107
+ used *carousels* _Owl Carousel_, _Slickslider_, and _Masterslider_ by their
108
+ implementations based on _PhotoSwipeJS_.
109
+
110
+ [NOTE]
111
+ ====
112
+ The https://photoswipe.com/getting-startedi[PhotoSwipe API documentation, {browser-window--new}]
113
+ pages are based on version *v11.2.1* for the current J1 template version 2025.x.
114
+ The idea of providing this documentation is *not* to simply copy the original
115
+ pages as duplicates. For better readability and usability, all pages are
116
+ restructured and enhanced by code examples or improved description texts.
117
+
118
+ The documentation pages for the J1 Template project will be used for the
119
+ **AI**-based **chat client** (*planned* for 4th quarter of 2025). The agent
120
+ will be trained by all available documentation pages of the Template system
121
+ to give users an easy-to-use source for using the J1 Template to create
122
+ websites for their needs.
123
+
124
+ All previously used slider *resources* are available in version 2025.x for
125
+ *backward compatibility* but are no longer used for the example
126
+ pages of the *built-in web*.
127
+ ====
128
+
129
+ // Include sub-documents
130
+ // -----------------------------------------------------------------------------
131
+
132
+ // include::{documentdir}/100_swiper_html_layout.asciidoc[]
133
+ // include::{documentdir}/100_swiper_initialization.asciidoc[]
134
+
135
+ include::{documentdir}/photoswipe/200_photoswipe_parameters.asciidoc[]
136
+ include::{documentdir}/photoswipe/210_photoswipe_lightbox_parameters.asciidoc[]
137
+
138
+ // include::{documentdir}/200_swiper_parameters_l_o.asciidoc[]
139
+ // include::{documentdir}/200_swiper_parameters_p_s.asciidoc[]
140
+ // include::{documentdir}/200_swiper_parameters_t_z.asciidoc[]
141
+
142
+ // include::{documentdir}/300_swiper_instance_properties.asciidoc[]
143
+
144
+ include::{documentdir}/photoswipe/300_caption_plugin_for_photoSwipe.asciidoc[]
145
+ // include::{documentdir}/400_swiper_modules.asciidoc[]
146
+
147
+ // include::{documentdir}/500_swiper_methods.asciidoc[]
148
+
149
+ // include::{documentdir}/600_swiper_events.asciidoc[]
150
+
@@ -0,0 +1,128 @@
1
+ ---
2
+ title: SwiperJS
3
+ title_extention: Application Interface
4
+ tagline: Application Interface
5
+
6
+ date: 2025-01-07
7
+ #last_modified: 2025-01-01
8
+
9
+ description: >
10
+ Swiper comes with a very rich API. It allows
11
+ creating your own pagination, navigation buttons,
12
+ parallax effects and many more.
13
+
14
+ keywords: >
15
+ open source, free, template, jekyll, jekyllone, web,
16
+ sites, static, jamstack, bootstrap,
17
+ html, html5, slider, swiper
18
+
19
+ categories: [ Roundtrip ]
20
+ tags: [ Module, Swiper ]
21
+
22
+ image:
23
+ path: /assets/image/modules/attics/markus-spiske-1920x1280.jpg
24
+ width: 1920
25
+ height: 1280
26
+
27
+ attic: false
28
+ regenerate: true
29
+ personalization: true
30
+ permalink: /pages/public/swiper_api/
31
+
32
+ resources: [ swiper ]
33
+ resource_options:
34
+ - toccer:
35
+ collapseDepth: 2
36
+ - attic:
37
+ slides:
38
+ - url: /assets/image/modules/attics/markus-spiske-1920x1280.jpg
39
+ alt: Swiper API
40
+ ---
41
+
42
+ // Page Initializer
43
+ // =============================================================================
44
+ // Enable the Liquid Preprocessor
45
+ :page-liquid:
46
+
47
+ // Attribute settings for page content control (e.g includes)
48
+ //
49
+ :documentdir: _includes/documents
50
+
51
+ // Attribute settings for section control
52
+ //
53
+ :swiper--features: false
54
+ :swiper--global-options: true
55
+ :swiper-modules: /pages/public/swiper_api/#swiper-modules
56
+ :swiper-modules--a11y: /pages/public/swiper_api/#swiper-modules-a11y
57
+
58
+ // Load Liquid procedures
59
+ // -----------------------------------------------------------------------------
60
+ {% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
61
+
62
+ // Load page attributes
63
+ // -----------------------------------------------------------------------------
64
+ {% include {{load_attributes}} scope="all" %}
65
+
66
+
67
+ // Page content
68
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69
+ // See: https://swiperjs.com/swiper-api
70
+
71
+ [role="dropcap"]
72
+ Swiper is a free, modern touch slider with hardware-accelerated transitions.
73
+ The slider is intended for desktop websites, mobile (web) apps, and native or
74
+ hybrid mobile environments.
75
+
76
+ Swiper comes with a rich https://swiperjs.com/swiper-api[API, {browser-window--new}].
77
+ The programming interface allows developers to create individual user
78
+ interfaces (UI) for pagination, navigation and more. Find large number of
79
+ complex examples on the pages of the
80
+ https://uiinitiative.com/[UI Initiative project, {browser-window--new}].
81
+
82
+ The rich API makes Swiper an excellent choice for *web developers*, not least
83
+ for template systems like J1 Template. In the current version of the J1 template
84
+ (version 2025.x), Swiper is the *default slider* and *replaces* the *previously*
85
+ used *carousels* _Owl Carousel_, _Slickslider_, and _Masterslider_ by their
86
+ implementations based on _SwiperJS_.
87
+
88
+ [NOTE]
89
+ ====
90
+ The https://swiperjs.com/swiper-api[Swiper API documentation, {browser-window--new}]
91
+ pages are based on version *v11.2.1* for the current J1 template version 2025.x.
92
+ The idea of providing this documentation is *not* to simply copy the original
93
+ pages as duplicates. For better readability and usability, all pages are
94
+ restructured and enhanced by code examples or improved description texts.
95
+
96
+ The documentation pages for the J1 Template project will be used for the
97
+ **AI**-based **chat client** (*planned* for 4th quarter of 2025). The agent
98
+ will be trained by all available documentation pages of the Template system
99
+ to give users an easy-to-use source for using the J1 Template to create
100
+ websites for their needs.
101
+
102
+ All previously used slider *resources* are available in version 2025.x for
103
+ *backward compatibility* but are no longer used for the example
104
+ pages of the *built-in web*.
105
+ ====
106
+
107
+
108
+ // Include sub-documents
109
+ // -----------------------------------------------------------------------------
110
+ include::{documentdir}/swiper/100_swiper_features.asciidoc[]
111
+
112
+ include::{documentdir}/swiper/100_swiper_html_layout.asciidoc[]
113
+ include::{documentdir}/swiper/100_swiper_initialization.asciidoc[]
114
+
115
+ include::{documentdir}/swiper/110_swiper_common_options.asciidoc[]
116
+
117
+ include::{documentdir}/swiper/200_swiper_parameters_a_k.asciidoc[]
118
+ include::{documentdir}/swiper/200_swiper_parameters_l_o.asciidoc[]
119
+ include::{documentdir}/swiper/200_swiper_parameters_p_s.asciidoc[]
120
+ include::{documentdir}/swiper/200_swiper_parameters_t_z.asciidoc[]
121
+
122
+ include::{documentdir}/swiper/300_swiper_instance_properties.asciidoc[]
123
+
124
+ include::{documentdir}/swiper/400_swiper_modules.asciidoc[]
125
+
126
+ include::{documentdir}/swiper/500_swiper_methods.asciidoc[]
127
+
128
+ include::{documentdir}/swiper/600_swiper_events.asciidoc[]