j1-template 2021.1.1 → 2021.1.6
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/layouts/layout_metadata_generator.html +23 -9
- data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +1 -1
- data/_includes/themes/j1/modules/connectors/ads +3 -5
- data/_includes/themes/j1/modules/connectors/analytic/google-analytics.html +9 -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 +4 -40
- data/_includes/themes/j1/modules/navigator/procedures/topsearch.proc +2 -2
- data/_includes/themes/j1/procedures/global/create_bs_button.proc +64 -22
- data/_includes/themes/j1/procedures/posts/collate_timeline.proc +14 -10
- data/_layouts/default.html +4 -7
- data/assets/data/authclient.html +231 -229
- data/assets/data/banner.html +30 -32
- data/assets/data/cookieconsent.html +249 -0
- data/assets/data/fam.html +1 -1
- data/assets/data/footer.html +1 -1
- data/assets/data/gallery_customizer.html +10 -5
- data/assets/data/menu.html +3 -3
- data/assets/data/mmenu.html +4 -3
- data/assets/data/mmenu_sidebar.html +1 -1
- data/assets/data/mmenu_toc.html +1 -1
- data/assets/data/panel.html +20 -16
- data/assets/data/quicklinks.html +20 -18
- data/assets/data/themes.json +6 -6
- data/assets/themes/j1/adapter/js/{cookiebar.js → cookieConsent.js} +129 -55
- data/assets/themes/j1/adapter/js/j1.js +147 -145
- data/assets/themes/j1/adapter/js/justifiedGalleryCustomizer.js +3 -2
- data/assets/themes/j1/adapter/js/mmenu.js +8 -4
- data/assets/themes/j1/adapter/js/navigator.js +77 -22
- data/assets/themes/j1/adapter/js/themer.js +37 -29
- data/assets/themes/j1/adapter/js/toccer.js +4 -45
- data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.css +17 -14
- data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.min.css +1 -1
- data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +3960 -240
- data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
- data/assets/themes/j1/core/js/template.js +3 -9
- data/assets/themes/j1/core/js/template.js.map +1 -1
- data/assets/themes/j1/core/js/template.min.js +3 -9
- data/assets/themes/j1/core/js/template.min.js.map +1 -1
- data/assets/themes/j1/modules/cookieConsent/LICENSE +21 -0
- data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +286 -0
- data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.min.js +28 -0
- data/assets/themes/j1/modules/fam/css/{uno → theme/uno}/fam.css +0 -0
- data/assets/themes/j1/modules/fam/css/theme/uno/fam.min.css +15 -0
- data/assets/themes/j1/modules/fam/js/fam.js +1 -6
- data/assets/themes/j1/modules/iframeResizer/examples/frame.absolute.html +4 -2
- data/assets/themes/j1/modules/iframeResizer/examples/frame.content.html +4 -3
- data/assets/themes/j1/modules/iframeResizer/examples/frame.hover.html +4 -2
- data/assets/themes/j1/modules/iframeResizer/examples/frame.nested.html +4 -2
- data/assets/themes/j1/modules/iframeResizer/examples/frame.textarea.html +4 -2
- data/assets/themes/j1/modules/iframeResizer/examples/frame.tolerance.html +4 -2
- data/assets/themes/j1/modules/iframeResizer/examples/index.html +2 -0
- data/assets/themes/j1/modules/iframeResizer/examples/two.html +4 -2
- data/assets/themes/j1/modules/mmenuLight/css/{mmenu.css → mmenu-light.css} +0 -0
- data/assets/themes/j1/modules/mmenuLight/css/{mmenu.min.css → mmenu-light.min.css} +0 -0
- data/assets/themes/j1/modules/mmenuLight/css/theme/{uno.css → uno/mmenu.css} +0 -0
- data/assets/themes/j1/modules/mmenuLight/css/theme/{uno.min.css → uno/mmenu.min.css} +0 -0
- data/assets/themes/j1/modules/rtable/css/theme/{uno.css → uno/rtable.css} +0 -0
- data/assets/themes/j1/modules/rtable/css/theme/{uno.min.css → uno/rtable.min.css} +0 -0
- data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +33 -47
- data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +410 -2
- data/assets/themes/j1/modules/util/js/domready.js +146 -0
- data/assets/themes/j1/modules/util/js/gtag-opt-in.js +1 -0
- data/lib/j1/version.rb +1 -1
- data/lib/j1_app/j1_auth_manager/auth_manager.rb +2 -3
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/_config.yml +8 -7
- data/lib/starter_web/_data/_defaults/resources.yml +11 -8
- data/lib/starter_web/_data/apps/defaults/justifiedGalleryCustomizer.yml +1 -0
- data/lib/starter_web/_data/blocks/banner.yml +30 -24
- data/lib/starter_web/_data/blocks/panel.yml +9 -7
- data/lib/starter_web/_data/builder/blog_navigator.yml +6 -1
- data/lib/starter_web/_data/j1_config.yml +22 -19
- data/lib/starter_web/_data/layouts/blog_archive.yml +9 -0
- data/lib/starter_web/_data/layouts/default.yml +17 -27
- data/lib/starter_web/_data/layouts/home.yml +6 -5
- data/lib/starter_web/_data/layouts/page.yml +1 -1
- data/lib/starter_web/_data/modules/{cookiebar.yml → cookieconsent.yml} +4 -4
- data/lib/starter_web/_data/modules/defaults/authentication.yml +1 -0
- data/lib/starter_web/_data/modules/defaults/cookieconsent.yml +135 -0
- data/lib/starter_web/_data/modules/defaults/navigator.yml +5 -2
- data/lib/starter_web/_data/modules/defaults/themer.yml +2 -1
- data/lib/starter_web/_data/modules/navigator.yml +24 -21
- data/lib/starter_web/_data/modules/navigator_menu.yml +1 -1
- data/lib/starter_web/_data/pages/builder.yml +7 -7
- data/lib/starter_web/_data/private.default.yml +119 -0
- data/lib/starter_web/_data/private.yml +6 -6
- data/lib/starter_web/_data/resources.yml +19 -15
- data/lib/starter_web/_includes/attributes.asciidoc +10 -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/assets/images/modules/attics/{cookies-1920x1200-bw.jpg → cookies-1920x1200.jpg} +0 -0
- data/lib/starter_web/assets/images/modules/attics/lianhao-1920x1280.jpg +0 -0
- data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +3 -9
- data/lib/starter_web/collections/posts/public/featured/_posts/2020-01-01-about-cookies.adoc +4 -4
- data/lib/starter_web/collections/posts/public/featured/_posts/2021-03-01-site-generators.adoc +1 -7
- data/lib/starter_web/collections/posts/public/featured/_posts/2021-03-03-about-j1.adoc +2 -7
- 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/dot.gitignore +1 -1
- data/lib/starter_web/index.html +3 -3
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/blog/navigator/archive.html +43 -23
- data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +51 -27
- data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +48 -26
- data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +44 -12
- data/lib/starter_web/pages/public/blog/navigator/index.html +1 -1
- data/lib/starter_web/pages/public/cookieConsent.adoc +93 -0
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.org.asciidoc +244 -0
- data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +2 -1
- data/lib/starter_web/pages/public/learn/where_to_go.adoc +0 -16
- data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +104 -209
- data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +6 -1
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +25 -14
- data/assets/data/cookiebar.html +0 -285
- data/lib/starter_web/_data/modules/defaults/cookiebar.yml +0 -132
@@ -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 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 mr-1"></i> {{likes_count}}
|
186
|
+
{% endif %}
|
187
|
+
{% if comment_count %}
|
188
|
+
<span class="font-weight-bold"> · </span>
|
189
|
+
<i class="mdi mdi-comment 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>
|
@@ -180,10 +211,11 @@ resource_options:
|
|
180
211
|
var user_state = j1.readCookie(user_state_cookie_name);
|
181
212
|
var user_state_last_page = "{{browser_page_url}}";
|
182
213
|
user_state.last_page = user_state_last_page;
|
183
|
-
|
214
|
+
|
184
215
|
j1.writeCookie({
|
185
216
|
name: user_state_cookie_name,
|
186
|
-
data: user_state
|
217
|
+
data: user_state,
|
218
|
+
samesite: 'Strict'
|
187
219
|
});
|
188
220
|
logger.info('Saved current Post Browser page to cookie: {{browser_page_url}}');
|
189
221
|
}
|
@@ -0,0 +1,93 @@
|
|
1
|
+
---
|
2
|
+
title: J1
|
3
|
+
tagline: Cookie Consent
|
4
|
+
date: 2021-06-24 00:00:00 +100
|
5
|
+
description: >
|
6
|
+
Bootstrap Cookie Consent Module
|
7
|
+
for J1 Template
|
8
|
+
|
9
|
+
categories: [ Software ]
|
10
|
+
tags: [ Cookie, Consent ]
|
11
|
+
|
12
|
+
scrollbar: false
|
13
|
+
fam_menu_id: default
|
14
|
+
|
15
|
+
permalink: /pages/public/cookieConsent/
|
16
|
+
regenerate: true
|
17
|
+
|
18
|
+
resources: [ bsCookieConsent ]
|
19
|
+
resource_options:
|
20
|
+
- attic:
|
21
|
+
padding_top: 400
|
22
|
+
padding_bottom: 50
|
23
|
+
opacity: 0.5
|
24
|
+
slides:
|
25
|
+
- url: /assets/images/modules/attics/cookies-1920x1200.jpg
|
26
|
+
---
|
27
|
+
|
28
|
+
// Page Initializer
|
29
|
+
// =============================================================================
|
30
|
+
// Enable the Liquid Preprocessor
|
31
|
+
:page-liquid:
|
32
|
+
|
33
|
+
// Set (local) page attributes here
|
34
|
+
// -----------------------------------------------------------------------------
|
35
|
+
// :page--attr: <attr-value>
|
36
|
+
:badges-enabled: false
|
37
|
+
|
38
|
+
// Load Liquid procedures
|
39
|
+
// -----------------------------------------------------------------------------
|
40
|
+
{% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
|
41
|
+
|
42
|
+
// Load page attributes
|
43
|
+
// -----------------------------------------------------------------------------
|
44
|
+
{% include {{load_attributes}} scope="global" %}
|
45
|
+
|
46
|
+
|
47
|
+
// Page content
|
48
|
+
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
49
|
+
|
50
|
+
++++
|
51
|
+
<div class="container">
|
52
|
+
<h2>Usage</h2>
|
53
|
+
<p>Initialize the cookie consent framework with the constructor</p>
|
54
|
+
<p><code>var cookieSettings = new BootstrapCookieConsent()</code></p>
|
55
|
+
<h3>Show the Dialog</h3>
|
56
|
+
<p>
|
57
|
+
On a new visit the dialog is shown automatically. For reconfiguration
|
58
|
+
show the Dialog again with <code>cookieSettings.showDialog()</code>.
|
59
|
+
</p>
|
60
|
+
<p>
|
61
|
+
<a href="javascript:showSettingsDialog()" class="btn btn-primary btn-raised">Cookie Settings</a>
|
62
|
+
</p>
|
63
|
+
<h2>Read the settings</h2>
|
64
|
+
<p>Read all cookie settings with <code>cookieSettings.getSettings()</code></p>
|
65
|
+
<div class="card mb-4">
|
66
|
+
<div class="card-body">
|
67
|
+
<pre class="mb-0" id="settingsOutput"></pre>
|
68
|
+
</div>
|
69
|
+
</div>
|
70
|
+
<p>Read a specific cookie setting with <code>cookieSettings.getSettings('analyses')</code></p>
|
71
|
+
<div class="card">
|
72
|
+
<div class="card-body">
|
73
|
+
<pre class="mb-0" id="settingsAnalysisOutput"></pre>
|
74
|
+
</div>
|
75
|
+
</div>
|
76
|
+
</div>
|
77
|
+
|
78
|
+
<script>
|
79
|
+
|
80
|
+
function showSettingsDialog() {
|
81
|
+
j1.cookieConsent.showDialog();
|
82
|
+
}
|
83
|
+
|
84
|
+
var dependencies_met_cookie_consent_ready = setInterval (function (options) {
|
85
|
+
if ( typeof j1.cookieConsent !== 'undefined' ) {
|
86
|
+
$("#settingsOutput").text(JSON.stringify(j1.cookieConsent.getSettings()))
|
87
|
+
$("#settingsAnalysisOutput").text(j1.cookieConsent.getSettings('analyses'))
|
88
|
+
clearInterval(dependencies_met_cookie_consent_ready);
|
89
|
+
}
|
90
|
+
});
|
91
|
+
|
92
|
+
</script>
|
93
|
+
++++
|
@@ -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].
|
@@ -115,7 +115,7 @@ WARNING: Icon background-color: yellow
|
|
115
115
|
.CAUTION block
|
116
116
|
CAUTION: Icon background-color: red
|
117
117
|
|
118
|
-
|
118
|
+
/////
|
119
119
|
== Q&A Blocks
|
120
120
|
|
121
121
|
Q&A sections are used quite often to answer popular questions. To make
|
@@ -163,6 +163,7 @@ find the full color scheme for Material Design.
|
|
163
163
|
For J1 Template, go for the {jekyll-one-core-doc-color-scheme}[Core documentation, window="blank"] section.
|
164
164
|
You'll find the full color scheme for Material Design.
|
165
165
|
====
|
166
|
+
/////
|
166
167
|
|
167
168
|
== Lightboxes
|
168
169
|
|
@@ -87,19 +87,3 @@ of some of the top features of J1.
|
|
87
87
|
|
88
88
|
If you like, continue by walking through the roundtrip examples
|
89
89
|
link:/pages/public/learn/roundtrip/present_images/[by starting the tour here].
|
90
|
-
|
91
|
-
Web in a Day::
|
92
|
-
To go deeper, you’re invited to *Web in a Day*. This tutorial guides you
|
93
|
-
through all the steps to build a website using Jekyll and the template system
|
94
|
-
J1. The guide lets you go more in-depth and make things real. You dive into
|
95
|
-
the world of Jekyll. You'll have learned a lot at the end of that day about
|
96
|
-
what Jekyll is, static webs, and the template system J1 is all about.
|
97
|
-
|
98
|
-
To go deeper, you’re invited, try out the journey having some hours of fun at
|
99
|
-
{url-j1-web-in-a-day--meet-and-greet}[Web in a Day, {browser-window--new}].
|
100
|
-
|
101
|
-
Study sections should help all people interested in modern Jekyll websites
|
102
|
-
learn what Jekyll and J1 Template is all about. Now, it's on you where
|
103
|
-
you start.
|
104
|
-
|
105
|
-
Anyway, have a good start using *Jekyll and J1*!
|