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.
- checksums.yaml +4 -4
- data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +14 -6
- data/_includes/themes/j1/modules/connectors/ads +3 -5
- data/_includes/themes/j1/modules/connectors/analytics +4 -2
- data/_includes/themes/j1/modules/connectors/comments +7 -6
- data/_includes/themes/j1/modules/connectors/translator +3 -4
- data/_includes/themes/j1/modules/navigator/generator.html +2 -38
- data/_includes/themes/j1/modules/navigator/generator.org.html +232 -0
- data/_includes/themes/j1/procedures/global/create_bs_button.proc +64 -22
- data/_includes/themes/j1/procedures/posts/collate_timeline.proc +10 -7
- data/assets/data/panel.html +12 -9
- data/assets/themes/j1/adapter/js/navigator.js +55 -10
- data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +102 -54
- data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/_config.yml +3 -3
- data/lib/starter_web/_data/blocks/banner.yml +28 -24
- data/lib/starter_web/_data/builder/blog_navigator.yml +5 -1
- data/lib/starter_web/_data/j1_config.yml +2 -2
- data/lib/starter_web/_data/layouts/blog_archive.yml +9 -0
- data/lib/starter_web/_data/layouts/default.yml +16 -26
- data/lib/starter_web/_data/modules/navigator_menu.yml +1 -1
- data/lib/starter_web/_data/resources.yml +4 -1
- data/lib/starter_web/_includes/attributes.asciidoc +1 -1
- data/lib/starter_web/_plugins/lunr_index.rb +1 -1
- data/lib/starter_web/assets/images/modules/attics/christa-dodoo-1920x1280.jpg +0 -0
- data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +0 -6
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +0 -4
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +0 -4
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +0 -4
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +0 -4
- data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-20-minneapolis.adoc +3 -0
- data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +3 -0
- data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-26-columbia-river.adoc +3 -0
- data/lib/starter_web/index.html +2 -2
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/blog/navigator/archive.html +40 -21
- data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +40 -22
- data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +40 -21
- data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +41 -10
- data/lib/starter_web/pages/public/blog/navigator/index.html +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.org.asciidoc +244 -0
- data/lib/starter_web/pages/public/learn/where_to_go.adoc +0 -16
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +5 -2
@@ -15,7 +15,7 @@ pagination:
|
|
15
15
|
enabled: false
|
16
16
|
permalink: /page:num/
|
17
17
|
|
18
|
-
regenerate:
|
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-
|
92
|
+
<article class="card raised-z3 mb-5">
|
92
93
|
<h3 id="{{100000|rand}}" class="card-header bg-primary">{{post.title}}</h3>
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
{
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
{
|
105
|
-
|
106
|
-
|
107
|
-
|
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-
|
130
|
-
<
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
{
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
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-
|
115
|
-
<
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
{
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
{
|
128
|
-
|
129
|
-
|
130
|
-
|
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-
|
158
|
+
<article class="card raised-z3 mb-5">
|
158
159
|
<h3 id="{{100000|rand}}" class="card-header bg-primary">{{post.title}}</h3>
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
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>
|
@@ -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].
|