j1-template 2021.1.1 → 2021.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +14 -6
  3. data/_includes/themes/j1/modules/connectors/ads +3 -5
  4. data/_includes/themes/j1/modules/connectors/analytics +4 -2
  5. data/_includes/themes/j1/modules/connectors/comments +7 -6
  6. data/_includes/themes/j1/modules/connectors/translator +3 -4
  7. data/_includes/themes/j1/modules/navigator/generator.html +2 -38
  8. data/_includes/themes/j1/modules/navigator/generator.org.html +232 -0
  9. data/_includes/themes/j1/procedures/global/create_bs_button.proc +64 -22
  10. data/_includes/themes/j1/procedures/posts/collate_timeline.proc +10 -7
  11. data/assets/data/panel.html +12 -9
  12. data/assets/themes/j1/adapter/js/navigator.js +55 -10
  13. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +102 -54
  14. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
  15. data/lib/j1/version.rb +1 -1
  16. data/lib/starter_web/Gemfile +1 -1
  17. data/lib/starter_web/_config.yml +3 -3
  18. data/lib/starter_web/_data/blocks/banner.yml +28 -24
  19. data/lib/starter_web/_data/builder/blog_navigator.yml +5 -1
  20. data/lib/starter_web/_data/j1_config.yml +2 -2
  21. data/lib/starter_web/_data/layouts/blog_archive.yml +9 -0
  22. data/lib/starter_web/_data/layouts/default.yml +16 -26
  23. data/lib/starter_web/_data/modules/navigator_menu.yml +1 -1
  24. data/lib/starter_web/_data/resources.yml +4 -1
  25. data/lib/starter_web/_includes/attributes.asciidoc +1 -1
  26. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  27. data/lib/starter_web/assets/images/modules/attics/christa-dodoo-1920x1280.jpg +0 -0
  28. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +0 -6
  29. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +0 -4
  30. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +0 -4
  31. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +0 -4
  32. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +0 -4
  33. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-20-minneapolis.adoc +3 -0
  34. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +3 -0
  35. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-26-columbia-river.adoc +3 -0
  36. data/lib/starter_web/index.html +2 -2
  37. data/lib/starter_web/package.json +1 -1
  38. data/lib/starter_web/pages/public/blog/navigator/archive.html +40 -21
  39. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +40 -22
  40. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +40 -21
  41. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +41 -10
  42. data/lib/starter_web/pages/public/blog/navigator/index.html +1 -1
  43. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.org.asciidoc +244 -0
  44. data/lib/starter_web/pages/public/learn/where_to_go.adoc +0 -16
  45. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  46. data/lib/starter_web/utilsrv/package.json +1 -1
  47. metadata +5 -2
@@ -15,7 +15,7 @@ pagination:
15
15
  enabled: false
16
16
  permalink: /page:num/
17
17
 
18
- regenerate: false
18
+ regenerate: true
19
19
 
20
20
  resources: []
21
21
  resource_options:
@@ -43,6 +43,7 @@ resource_options:
43
43
  -------------------------------------------------------------------------------- {% endcomment %}
44
44
  {% assign view_config = site.data.builder.blog_navigator.archive_view %}
45
45
  {% assign view_description = view_config.description %}
46
+ {% assign defaults = site.data.builder.blog_navigator.defaults %}
46
47
 
47
48
  {% if site.permalink == 'none' %}
48
49
  {% capture browser_page_url %}{{page.url}}.html{% endcapture %}
@@ -88,28 +89,46 @@ resource_options:
88
89
  {% assign comment_count = sharing.comment_count %}
89
90
  {% endfor %}
90
91
 
91
- <article class="card raised-z5 mb-5">
92
+ <article class="card raised-z3 mb-5">
92
93
  <h3 id="{{100000|rand}}" class="card-header bg-primary">{{post.title}}</h3>
93
- <!-- h5 class="notoc card-subtitle text-muted mb-2">{{post.tagline}}</h5 -->
94
- <div class="card-body r-text-300">{{excerpt}}</div>
95
- <div class="card-footer r-text-200">
96
- <div class="card-footer-text">
97
- {% if post.date %}
98
- <i class="mdi mdi-calendar-blank mr-1"></i> {{post.date | date: "%Y %B, %e"}}
99
- {% endif %}
100
- {% if likes_count %}
101
- <span class="font-weight-bold"> · </span>
102
- <i class="mdi mdi-heart mr-1"></i> {{likes_count}}
103
- {% endif %}
104
- {% if comment_count %}
105
- <span class="font-weight-bold"> · </span>
106
- <i class="mdi mdi-comment mr-1"></i> {{comment_count}}
107
- {% endif %}
94
+ <div class="row mx-0">
95
+
96
+ <!-- [INFO ] [j1.pages.blog.navigator.archive ] [Check if post image is available] -->
97
+ {% if post.image %}
98
+ <!-- [INFO ] [j1.pages.blog.navigator.archive ] [Post image is available] -->
99
+ <div class="col-md-6 img-bg--fill px-0"
100
+ style="background-image: url({{post.image}});">
101
+ </div>
102
+ {% else %}
103
+ <!-- [INFO ] [j1.pages.blog.navigator.archive ] [Post image missing, using configured default image] -->
104
+ <div class="col-md-6 img-bg--fill px-0"
105
+ style="background-image: url({{defaults.post_image}});">
106
+ </div>
107
+ {% endif %}
108
+
109
+ <div class="col-md-6">
110
+ <div class="card-body r-text-300">{{excerpt}}</div>
111
+ <div class="card-footer r-text-200">
112
+ <div class="card-footer-text">
113
+ <hr class="my-3">
114
+ {% if post.date %}
115
+ <i class="mdi mdi-calendar-blank mdi-md-grey mr-1"></i> {{post.date | date: "%Y %B, %e"}}
116
+ {% endif %}
117
+ {% if likes_count %}
118
+ <span class="font-weight-bold"> · </span>
119
+ <i class="mdi mdi-heart mdi-md-grey mr-1"></i> {{likes_count}}
120
+ {% endif %}
121
+ {% if comment_count %}
122
+ <span class="font-weight-bold"> · </span>
123
+ <i class="mdi mdi-comment mdi-md-grey mr-1"></i> {{comment_count}}
124
+ {% endif %}
125
+ </div>
126
+ <a class="card-link text-muted text-lowercase"
127
+ href="{{post.url}}#readmore">
128
+ Read · {{post.tagline}}
129
+ </a>
130
+ </div>
108
131
  </div>
109
- <a class="card-link md-grey-800 font-weight-bold g-font-size-12 text-uppercase"
110
- href="{{post.url}}#readmore">
111
- Read · {{post.tagline}}
112
- </a>
113
132
  </div>
114
133
  </article>
115
134
  {% endfor %}
@@ -48,6 +48,7 @@ resource_options:
48
48
  -------------------------------------------------------------------------------- {% endcomment %}
49
49
  {% assign view_config = site.data.builder.blog_navigator.category_view %}
50
50
  {% assign view_description = view_config.description %}
51
+ {% assign defaults = site.data.builder.blog_navigator.defaults %}
51
52
 
52
53
  {% if site.permalink == 'none' %}
53
54
  {% capture browser_page_url %}{{page.url}}.html{% endcapture %}
@@ -126,29 +127,46 @@ resource_options:
126
127
  {% assign comment_count = sharing.comment_count %}
127
128
  {% endfor %}
128
129
 
129
- <article class="card raised-z5 mb-5">
130
- <h3 id="{{100000|rand}}" class="card-header bg-primary notoc">{{post.title}}</h3>
131
- <!-- h5 class="notoc card-subtitle text-muted mb-2">{{post.tagline}}</h5 -->
132
- <div class="card-body r-text-300">{{excerpt}}</div>
133
-
134
- <div class="card-footer r-text-200">
135
- <div class="card-footer-text">
136
- {% if post.date %}
137
- <i class="mdi mdi-calendar-blank mr-1"></i> {{post.date | date: "%Y %B, %e"}}
138
- {% endif %}
139
- {% if likes_count %}
140
- <span class="font-weight-bold"> · </span>
141
- <i class="mdi mdi-heart mr-1"></i> {{likes_count}}
142
- {% endif %}
143
- {% if comment_count %}
144
- <span class="font-weight-bold"> · </span>
145
- <i class="mdi mdi-comment mr-1"></i> {{comment_count}}
146
- {% endif %}
130
+ <article class="card raised-z3 mb-5">
131
+ <h4 id="{{100000|rand}}" class="card-header bg-primary">{{post.title}}</h4>
132
+ <div class="row mx-0">
133
+
134
+ <!-- [INFO ] [j1.pages.blog.navigator.archive ] [Check if post image is available] -->
135
+ {% if post.image %}
136
+ <!-- [INFO ] [j1.pages.blog.navigator.archive ] [Post image is available] -->
137
+ <div class="col-md-6 img-bg--fill px-0"
138
+ style="background-image: url({{post.image}});">
139
+ </div>
140
+ {% else %}
141
+ <!-- [INFO ] [j1.pages.blog.navigator.archive ] [Post image missing, using configured default image] -->
142
+ <div class="col-md-6 img-bg--fill px-0"
143
+ style="background-image: url({{defaults.post_image}});">
144
+ </div>
145
+ {% endif %}
146
+
147
+ <div class="col-md-6">
148
+ <div class="card-body r-text-300">{{excerpt}}</div>
149
+ <div class="card-footer r-text-200">
150
+ <div class="card-footer-text">
151
+ <hr class="my-3">
152
+ {% if post.date %}
153
+ <i class="mdi mdi-calendar-blank mdi-md-grey mr-1"></i> {{post.date | date: "%Y %B, %e"}}
154
+ {% endif %}
155
+ {% if likes_count %}
156
+ <span class="font-weight-bold"> · </span>
157
+ <i class="mdi mdi-heart mdi-md-grey mr-1"></i> {{likes_count}}
158
+ {% endif %}
159
+ {% if comment_count %}
160
+ <span class="font-weight-bold"> · </span>
161
+ <i class="mdi mdi-comment mdi-md-grey mr-1"></i> {{comment_count}}
162
+ {% endif %}
163
+ </div>
164
+ <a class="card-link text-muted text-lowercase"
165
+ href="{{post.url}}#readmore">
166
+ Read · {{post.tagline}}
167
+ </a>
168
+ </div>
147
169
  </div>
148
- <a class="card-link md-grey-800 font-weight-bold g-font-size-12 text-uppercase"
149
- href="{{post.url}}#readmore">
150
- Read · {{post.tagline}}
151
- </a>
152
170
  </div>
153
171
  </article>
154
172
  {% endif %}
@@ -43,6 +43,7 @@ resource_options:
43
43
  -------------------------------------------------------------------------------- {% endcomment %}
44
44
  {% assign view_config = site.data.builder.blog_navigator.date_view %}
45
45
  {% assign view_description = view_config.description %}
46
+ {% assign defaults = site.data.builder.blog_navigator.defaults %}
46
47
 
47
48
  {% if site.permalink == 'none' %}
48
49
  {% capture browser_page_url %}{{page.url}}.html{% endcapture %}
@@ -111,28 +112,46 @@ resource_options:
111
112
  {% capture link %}
112
113
  {% assign excerpt = post.excerpt|truncatewords:50|replace:'...',' ...'|strip_html|strip_newlines|strip %}
113
114
  <li>
114
- <article class="card raised-z5 mb-5">
115
- <h3 id="{{100000|rand}}" class="card-header bg-primary notoc">{{post.title}}</h3>
116
- <!-- h5 class="notoc card-subtitle text-muted mb-2">{{post.tagline}}</h5 -->
117
- <div class="card-body r-text-300">{{excerpt}}</div>
118
- <div class="card-footer r-text-200">
119
- <div class="card-footer-text">
120
- {% if post.date %}
121
- <i class="mdi mdi-calendar-blank mr-1"></i> {{post.date | date: "%Y %B, %e"}}
122
- {% endif %}
123
- {% if likes_count %}
124
- <span class="font-weight-bold"> · </span>
125
- <i class="mdi mdi-heart mr-1"></i> {{likes_count}}
126
- {% endif %}
127
- {% if comment_count %}
128
- <span class="font-weight-bold"> · </span>
129
- <i class="mdi mdi-comment mr-1"></i> {{comment_count}}
130
- {% endif %}
115
+ <article class="card raised-z3 mb-5">
116
+ <h4 id="{{100000|rand}}" class="card-header bg-primary">{{post.title}}</h4>
117
+ <div class="row mx-0">
118
+
119
+ <!-- [INFO ] [j1.pages.blog.navigator.archive ] [Check if post image is available] -->
120
+ {% if post.image %}
121
+ <!-- [INFO ] [j1.pages.blog.navigator.archive ] [Post image is available] -->
122
+ <div class="col-md-6 img-bg--fill px-0"
123
+ style="background-image: url({{post.image}});">
124
+ </div>
125
+ {% else %}
126
+ <!-- [INFO ] [j1.pages.blog.navigator.archive ] [Post image missing, using configured default image] -->
127
+ <div class="col-md-6 img-bg--fill px-0"
128
+ style="background-image: url({{defaults.post_image}});">
129
+ </div>
130
+ {% endif %}
131
+
132
+ <div class="col-md-6">
133
+ <div class="card-body r-text-300">{{excerpt}}</div>
134
+ <div class="card-footer r-text-200">
135
+ <div class="card-footer-text">
136
+ <hr class="my-3">
137
+ {% if post.date %}
138
+ <i class="mdi mdi-calendar-blank mdi-md-grey mr-1"></i> {{post.date | date: "%Y %B, %e"}}
139
+ {% endif %}
140
+ {% if likes_count %}
141
+ <span class="font-weight-bold"> · </span>
142
+ <i class="mdi mdi-heart mdi-md-grey mr-1"></i> {{likes_count}}
143
+ {% endif %}
144
+ {% if comment_count %}
145
+ <span class="font-weight-bold"> · </span>
146
+ <i class="mdi mdi-comment mdi-md-grey mr-1"></i> {{comment_count}}
147
+ {% endif %}
148
+ </div>
149
+ <a class="card-link text-muted text-lowercase"
150
+ href="{{post.url}}#readmore">
151
+ Read · {{post.tagline}}
152
+ </a>
153
+ </div>
131
154
  </div>
132
- <a class="card-link md-grey-800 font-weight-bold g-font-size-12 text-uppercase"
133
- href="{{post.url}}#readmore">
134
- Read · {{post.tagline}}
135
- </a>
136
155
  </div>
137
156
  </article>
138
157
  </li>
@@ -40,6 +40,7 @@ resource_options:
40
40
  -------------------------------------------------------------------------------- {% endcomment %}
41
41
  {% assign view_config = site.data.builder.blog_navigator.tag_view %}
42
42
  {% assign view_description = view_config.description %}
43
+ {% assign defaults = site.data.builder.blog_navigator.defaults %}
43
44
 
44
45
  {% if site.permalink == 'none' %}
45
46
  {% capture browser_page_url %}{{page.url}}.html{% endcapture %}
@@ -154,19 +155,49 @@ resource_options:
154
155
  {% assign excerpt = post.excerpt|truncatewords:50|replace:'...',' ...'|strip_html|strip_newlines|strip %}
155
156
 
156
157
  <!-- place post -->
157
- <article class="card raised-z5 mb-5">
158
+ <article class="card raised-z3 mb-5">
158
159
  <h3 id="{{100000|rand}}" class="card-header bg-primary">{{post.title}}</h3>
159
- <!-- h5 class="notoc card-subtitle text-muted mb-2">{{post.tagline}}</h5 -->
160
- <div class="card-body r-text-300">{{excerpt}}</div>
161
- <div class="card-body text-muted r-text-200">
162
- <i class="mdi mdi-calendar-blank"></i> {{post.date|date:"%Y %B, %e"}}
163
- </div>
164
- <div class="card-footer r-text-200">
165
- <a class="card-link md-blue font-weight-bold g-font-size-12 text-uppercase"
166
- href="{{post.url}}#readmore">Read · {{post.tagline}}
167
- </a>
160
+ <div class="row mx-0">
161
+
162
+ <!-- [INFO ] [j1.pages.blog.navigator.archive ] [Check if post image is available] -->
163
+ {% if post.image %}
164
+ <!-- [INFO ] [j1.pages.blog.navigator.archive ] [Post image is available] -->
165
+ <div class="col-md-6 img-bg--fill px-0"
166
+ style="background-image: url({{post.image}});">
167
+ </div>
168
+ {% else %}
169
+ <!-- [INFO ] [j1.pages.blog.navigator.archive ] [Post image missing, using configured default image] -->
170
+ <div class="col-md-6 img-bg--fill px-0"
171
+ style="background-image: url({{defaults.post_image}});">
172
+ </div>
173
+ {% endif %}
174
+
175
+ <div class="col-md-6">
176
+ <div class="card-body r-text-300">{{excerpt}}</div>
177
+ <div class="card-footer r-text-200">
178
+ <div class="card-footer-text">
179
+ <hr class="my-3">
180
+ {% if post.date %}
181
+ <i class="mdi mdi-calendar-blank mdi-md-grey mr-1"></i> {{post.date | date: "%Y %B, %e"}}
182
+ {% endif %}
183
+ {% if likes_count %}
184
+ <span class="font-weight-bold"> · </span>
185
+ <i class="mdi mdi-heart mdi-md-grey mr-1"></i> {{likes_count}}
186
+ {% endif %}
187
+ {% if comment_count %}
188
+ <span class="font-weight-bold"> · </span>
189
+ <i class="mdi mdi-comment mdi-md-grey mr-1"></i> {{comment_count}}
190
+ {% endif %}
191
+ </div>
192
+ <a class="card-link text-muted text-lowercase"
193
+ href="{{post.url}}#readmore">
194
+ Read · {{post.tagline}}
195
+ </a>
196
+ </div>
197
+ </div>
168
198
  </div>
169
199
  </article>
200
+
170
201
  {% endif %}{% endfor %}
171
202
  {% endunless %}{% endfor %}
172
203
  </div>
@@ -13,7 +13,7 @@ pagination:
13
13
 
14
14
  sort: date
15
15
  toc: true
16
- fam_menu_id: default
16
+ fam_menu_id: open_toc
17
17
 
18
18
  regenerate: true # needed to update pagination pages
19
19
 
@@ -0,0 +1,244 @@
1
+ ---
2
+ title: Roundtrip
3
+ tagline: present images
4
+ date: 2020-11-03 00:00:00 +100
5
+ description: >
6
+ Welcome to the preview page focussing on the image module. This page
7
+ shows some valuable features of the J1 Template to manage your image-based
8
+ content using lightboxes, carousels (slider), and galleries.
9
+
10
+ categories: [ Images, Module ]
11
+ tags: [ Roundtrip, Introduction ]
12
+
13
+ comments: false
14
+ fam_menu_id: page_ctrl_simple
15
+
16
+ permalink: /pages/public/learn/roundtrip/present_images/
17
+ regenerate: false
18
+
19
+ resources: [
20
+ clipboard, rouge, carousel, lightbox,
21
+ justifiedGallery, lightGallery
22
+ ]
23
+ resource_options:
24
+ - attic:
25
+ padding_top: 400
26
+ padding_bottom: 50
27
+ opacity: 0.5
28
+ slides:
29
+ - url: /assets/images/pages/roundtrip/images-1920x1280-bw.jpg
30
+ alt: Photo by Ricardo Gomez Angel on Unsplash
31
+ badge:
32
+ type: unsplash
33
+ author: Ricardo Gomez Angel
34
+ href: https://unsplash.com/@ripato/portfolio
35
+ ---
36
+
37
+ // Page Initializer
38
+ // =============================================================================
39
+ // Enable the Liquid Preprocessor
40
+ :page-liquid:
41
+
42
+ // Set (local) page attributes here
43
+ // -----------------------------------------------------------------------------
44
+ // :page--attr: <attr-value>
45
+ :images-dir: {imagesdir}/pages/roundtrip/100_present_images
46
+
47
+ // Load Liquid procedures
48
+ // -----------------------------------------------------------------------------
49
+ {% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
50
+
51
+ // Load page attributes
52
+ // -----------------------------------------------------------------------------
53
+ {% include {{load_attributes}} scope="all" %}
54
+
55
+ // Page content
56
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
57
+
58
+ // Include sub-documents
59
+ // -----------------------------------------------------------------------------
60
+
61
+ Welcome to the first preview page focussing on the image module. This page
62
+ shows some valuable features of the J1 Template to manage your image-based
63
+ content using lightboxes, carousels (slider), and galleries.
64
+
65
+ The image module offers complex functionality based on powerful OpenSource
66
+ libraries like JustifiedGallery for high-end, masonry-styled preview maps.
67
+ J1 Template uses the jQuery plugin Owl Carousel as a base for image sliders.
68
+ A carousel app (slider) lets you present your images as shows.
69
+
70
+ Lightboxes like LightGallery or Lightbox V2 support your web for enlarged
71
+ image views of your picture or video content. Have a look, a quick tour
72
+ of what J1 can do for image data. Have fun!
73
+
74
+ == J1 Lightboxes
75
+
76
+ A Lightbox, in general, is a helper which displays enlarged, almost
77
+ screen-filling versions of pictures (or videos) while dimming the rest of the
78
+ page. The technique, introduced by Lightbox V2, gained widespread popularity
79
+ due to its simple and elegant style. The term lightbox is used since then for
80
+ Javascript libraries to support such functionality.
81
+
82
+ For the J1 Template, two different lightboxes can be used:
83
+
84
+ * Lightbox V2 (lightbox)
85
+ * LightGallery
86
+
87
+ The default lightbox used by J1 Template is Lightbox V2, a Javascript library
88
+ written by _Lokesh Dhakar_. The name of that (build-in) is simply: lightbox.
89
+ For more complex use cases, like a thumbnail gallery preview or video support,
90
+ LightGallery can be used alternatively.
91
+
92
+ NOTE: The name LightGallery implies a sort of a Gallery, but the library is a
93
+ _lightbox_. And, LightGallery provides much more functionality on image-based
94
+ data rather than enlarged displaying of images. See the examples below to check
95
+ for the differences in comparison to the simpler Lightbox V2 lightbox.
96
+
97
+ Both lightboxes are fully integrated to be used as standalone modules or
98
+ used as helpers *under-the-hood* by other apps or modules focussing on
99
+ image-data like gallery or carousel, the build-in carousel module.
100
+
101
+ == Lightbox Examples
102
+
103
+ Find below an example of using the lightbox Lightbox standalone. See how
104
+ single (individual) images are linked for use with Lightbox.
105
+
106
+ .Lightbox block for standalone images
107
+ lightbox::example-standalone[ 400, {data-images-standalone} ]
108
+
109
+ Lightbox supports image groups (image sets). Click on the images below to
110
+ see how Lightbox manages a group of images.
111
+
112
+ .Lightbox block for grouped images
113
+ lightbox::example-group[ 400, {data-images-group}, group ]
114
+
115
+ === LightGallery Example
116
+
117
+ LightGallery provides more complex functions on image data. The module
118
+ supports a gallery-style thumbnail preview plus image resizing, a download
119
+ dialog, sharing provider support, and some more helpful. Check what
120
+ LightGallery can do by the following example.
121
+
122
+ gallery::jg_old_times[]
123
+
124
+
125
+ == J1 Carousel App
126
+
127
+ J1 Carousel is based on OWL Carousel V1 in the latest (and unfortunately
128
+ last) version of 1.3.3. OWL Carousel is a clean and neat jQuery slider plugin
129
+ for creating fully responsive and touch-enabled carousel sliders.
130
+
131
+ NOTE: OWL Carousel V1 is no longer available on the Internet; for an
132
+ unknown reason. Anyway, the J1 Template is using this version of OWL
133
+ Carousel as a build-in carousel module because the software does an excellent
134
+ job, is based on an MIT license with no issues using them for private and
135
+ business use. And offers a lot of great features!
136
+
137
+ === Simple Text Carousel
138
+
139
+ A slider or carousel is typically used for displaying images. Still, the
140
+ implementation for the J1 Template supports a lot more sources to be
141
+ displayed as a slide show: simple text, for example.
142
+
143
+ .Simple text carousel
144
+ carousel::demo_text_carousel[role="mb-3"]
145
+
146
+ Important statements or topics can be placed, e.g., on top of an article or
147
+ a paragraph to give them better visibility. In one line, you can present
148
+ a bunch of facts to know animated for the reader's attention within a single
149
+ line. No much space is needed!
150
+
151
+ === Parallax Text Carousel
152
+
153
+ A more eye-minded type of a text-show is a parallax text slider. If you
154
+ want to place emphasis on your personal statements focussing the meaning, this
155
+ kind of a slide show may be interesting. Image-based slide shows may draw off
156
+ the reader's attention from the text, therefor a pure text-based presentation
157
+ may the better choice.
158
+
159
+ .Parallax text carousel
160
+ carousel::demo_text_carousel_parallax[role="mb-3"]
161
+
162
+ Parallax text shows can be placed as banners on a page. A lot of different
163
+ animations can be used. Internally, J1 Template is using some of the really
164
+ great CSS styles offered by _animate.css_.
165
+
166
+ TIP: Have a look a https://daneden.github.io/animate.css/[Dan Eden's home page]
167
+ to see all the possible dynamic styles, you can create based on pure CSS. Some
168
+ of them are implemented for OWL Carousel for animation. See the documentation
169
+ for the CAROUSEL Module for more details.
170
+
171
+ === Simple Image Carousel
172
+
173
+ Carousels are mostly used for pictures data to animate the images as a series.
174
+ Find with the following some examples how to use a carousel for your image
175
+ data.
176
+
177
+ A simple image show is useful for example as an animated (or not animated)
178
+ banner presenting exciting things of your site or the products offered.
179
+
180
+ .Simple Image Carousel
181
+ carousel::demo_simple[role="mb-3"]
182
+
183
+ === Carousel + Caption + Lightbox
184
+
185
+ Carousels can be used for an exceptionally compact form of image galleries.
186
+ This example shows some pictures having individual caption text and supports
187
+ a lightbox to enlarge images full size. For the example below, a almost simple
188
+ lightbox is used: Lightbox V2; or short: lightbox.
189
+
190
+ .Nice cats
191
+ carousel::demo_cats[role="mb-3"]
192
+
193
+ The J1 module lightbox is a simple Lightbox but offers a bunch of impressive
194
+ features for displaying images. For example, the lightbox can display all
195
+ images (of a carousel) as a group. If one picture is opened in the lightbox, all
196
+ the other can be browsed as well.
197
+
198
+ === One Slide Carousel + Lightbox
199
+
200
+ The build-in Carousel carousel supports multiple and single image shows.
201
+ Here you find an example of a single image slide show with controls enabled
202
+ to browse all images back and forth. An indicator below the slider shows how
203
+ many images the show contains.
204
+
205
+ .Single Slide Carousel and a Lightbox
206
+ carousel::demo_oneslide[role="mb-3"]
207
+
208
+ == J1 Gallery App
209
+
210
+ To create image and video galleries, J1 Template implements the jQuery
211
+ plugin JustifiedGallery as the main gallery module. Beside Justified
212
+ Gallery, a gallery based on pure _Bootstrap_ code is available with the
213
+ built-in gallery app *gallery*.
214
+
215
+ JustifiedGallery is a great jQuery plugin to create responsive, infinite,
216
+ and high quality justified image galleries. J1 Template combines the Gallery
217
+ with the lightboxes supported to enlarge the images of a gallery.
218
+
219
+ See JustifiedGallery in action - and for sure all that you see is even
220
+ responsive. Change the size of your current browser window, by width or height,
221
+ to see what will happen!
222
+
223
+ === JustifiedGallery
224
+
225
+ Pictures you've made are typically not even in size. Images may have the
226
+ same size (resolution), but some of them are orientated landscape or other
227
+ may portrait. For that reason, a more powerful gallery is needed to create
228
+ so-called justified views.
229
+
230
+ JustifiedGallery is using a so-called masonry grid layout. It works by
231
+ placing elements in an optimal position based on available horizontal and
232
+ vertical space. Sort of like mason fitting stones in a wall. You’ll have
233
+ seen it in use all over the Internet!
234
+
235
+ .Masonry grid layout of JustifiedGallery
236
+ gallery::jg_customizer[]
237
+
238
+ == Whats next
239
+
240
+ Hopefully, you've enjoyed exploring the possibilities J1 offers for managing
241
+ and displaying digital image content. But much, much more can the J1 do for
242
+ your web.
243
+
244
+ Incredible? See the next example page link:{roundtrip-present-videos}[Present videos].