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.
Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/layout_metadata_generator.html +23 -9
  3. data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +1 -1
  4. data/_includes/themes/j1/modules/connectors/ads +3 -5
  5. data/_includes/themes/j1/modules/connectors/analytic/google-analytics.html +9 -5
  6. data/_includes/themes/j1/modules/connectors/analytics +4 -2
  7. data/_includes/themes/j1/modules/connectors/comments +7 -6
  8. data/_includes/themes/j1/modules/connectors/translator +3 -4
  9. data/_includes/themes/j1/modules/navigator/generator.html +4 -40
  10. data/_includes/themes/j1/modules/navigator/procedures/topsearch.proc +2 -2
  11. data/_includes/themes/j1/procedures/global/create_bs_button.proc +64 -22
  12. data/_includes/themes/j1/procedures/posts/collate_timeline.proc +14 -10
  13. data/_layouts/default.html +4 -7
  14. data/assets/data/authclient.html +231 -229
  15. data/assets/data/banner.html +30 -32
  16. data/assets/data/cookieconsent.html +249 -0
  17. data/assets/data/fam.html +1 -1
  18. data/assets/data/footer.html +1 -1
  19. data/assets/data/gallery_customizer.html +10 -5
  20. data/assets/data/menu.html +3 -3
  21. data/assets/data/mmenu.html +4 -3
  22. data/assets/data/mmenu_sidebar.html +1 -1
  23. data/assets/data/mmenu_toc.html +1 -1
  24. data/assets/data/panel.html +20 -16
  25. data/assets/data/quicklinks.html +20 -18
  26. data/assets/data/themes.json +6 -6
  27. data/assets/themes/j1/adapter/js/{cookiebar.js → cookieConsent.js} +129 -55
  28. data/assets/themes/j1/adapter/js/j1.js +147 -145
  29. data/assets/themes/j1/adapter/js/justifiedGalleryCustomizer.js +3 -2
  30. data/assets/themes/j1/adapter/js/mmenu.js +8 -4
  31. data/assets/themes/j1/adapter/js/navigator.js +77 -22
  32. data/assets/themes/j1/adapter/js/themer.js +37 -29
  33. data/assets/themes/j1/adapter/js/toccer.js +4 -45
  34. data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.css +17 -14
  35. data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.min.css +1 -1
  36. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +3960 -240
  37. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
  38. data/assets/themes/j1/core/js/template.js +3 -9
  39. data/assets/themes/j1/core/js/template.js.map +1 -1
  40. data/assets/themes/j1/core/js/template.min.js +3 -9
  41. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  42. data/assets/themes/j1/modules/cookieConsent/LICENSE +21 -0
  43. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +286 -0
  44. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.min.js +28 -0
  45. data/assets/themes/j1/modules/fam/css/{uno → theme/uno}/fam.css +0 -0
  46. data/assets/themes/j1/modules/fam/css/theme/uno/fam.min.css +15 -0
  47. data/assets/themes/j1/modules/fam/js/fam.js +1 -6
  48. data/assets/themes/j1/modules/iframeResizer/examples/frame.absolute.html +4 -2
  49. data/assets/themes/j1/modules/iframeResizer/examples/frame.content.html +4 -3
  50. data/assets/themes/j1/modules/iframeResizer/examples/frame.hover.html +4 -2
  51. data/assets/themes/j1/modules/iframeResizer/examples/frame.nested.html +4 -2
  52. data/assets/themes/j1/modules/iframeResizer/examples/frame.textarea.html +4 -2
  53. data/assets/themes/j1/modules/iframeResizer/examples/frame.tolerance.html +4 -2
  54. data/assets/themes/j1/modules/iframeResizer/examples/index.html +2 -0
  55. data/assets/themes/j1/modules/iframeResizer/examples/two.html +4 -2
  56. data/assets/themes/j1/modules/mmenuLight/css/{mmenu.css → mmenu-light.css} +0 -0
  57. data/assets/themes/j1/modules/mmenuLight/css/{mmenu.min.css → mmenu-light.min.css} +0 -0
  58. data/assets/themes/j1/modules/mmenuLight/css/theme/{uno.css → uno/mmenu.css} +0 -0
  59. data/assets/themes/j1/modules/mmenuLight/css/theme/{uno.min.css → uno/mmenu.min.css} +0 -0
  60. data/assets/themes/j1/modules/rtable/css/theme/{uno.css → uno/rtable.css} +0 -0
  61. data/assets/themes/j1/modules/rtable/css/theme/{uno.min.css → uno/rtable.min.css} +0 -0
  62. data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +33 -47
  63. data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +410 -2
  64. data/assets/themes/j1/modules/util/js/domready.js +146 -0
  65. data/assets/themes/j1/modules/util/js/gtag-opt-in.js +1 -0
  66. data/lib/j1/version.rb +1 -1
  67. data/lib/j1_app/j1_auth_manager/auth_manager.rb +2 -3
  68. data/lib/starter_web/Gemfile +1 -1
  69. data/lib/starter_web/_config.yml +8 -7
  70. data/lib/starter_web/_data/_defaults/resources.yml +11 -8
  71. data/lib/starter_web/_data/apps/defaults/justifiedGalleryCustomizer.yml +1 -0
  72. data/lib/starter_web/_data/blocks/banner.yml +30 -24
  73. data/lib/starter_web/_data/blocks/panel.yml +9 -7
  74. data/lib/starter_web/_data/builder/blog_navigator.yml +6 -1
  75. data/lib/starter_web/_data/j1_config.yml +22 -19
  76. data/lib/starter_web/_data/layouts/blog_archive.yml +9 -0
  77. data/lib/starter_web/_data/layouts/default.yml +17 -27
  78. data/lib/starter_web/_data/layouts/home.yml +6 -5
  79. data/lib/starter_web/_data/layouts/page.yml +1 -1
  80. data/lib/starter_web/_data/modules/{cookiebar.yml → cookieconsent.yml} +4 -4
  81. data/lib/starter_web/_data/modules/defaults/authentication.yml +1 -0
  82. data/lib/starter_web/_data/modules/defaults/cookieconsent.yml +135 -0
  83. data/lib/starter_web/_data/modules/defaults/navigator.yml +5 -2
  84. data/lib/starter_web/_data/modules/defaults/themer.yml +2 -1
  85. data/lib/starter_web/_data/modules/navigator.yml +24 -21
  86. data/lib/starter_web/_data/modules/navigator_menu.yml +1 -1
  87. data/lib/starter_web/_data/pages/builder.yml +7 -7
  88. data/lib/starter_web/_data/private.default.yml +119 -0
  89. data/lib/starter_web/_data/private.yml +6 -6
  90. data/lib/starter_web/_data/resources.yml +19 -15
  91. data/lib/starter_web/_includes/attributes.asciidoc +10 -1
  92. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  93. data/lib/starter_web/assets/images/modules/attics/christa-dodoo-1920x1280.jpg +0 -0
  94. data/lib/starter_web/assets/images/modules/attics/{cookies-1920x1200-bw.jpg → cookies-1920x1200.jpg} +0 -0
  95. data/lib/starter_web/assets/images/modules/attics/lianhao-1920x1280.jpg +0 -0
  96. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +3 -9
  97. data/lib/starter_web/collections/posts/public/featured/_posts/2020-01-01-about-cookies.adoc +4 -4
  98. data/lib/starter_web/collections/posts/public/featured/_posts/2021-03-01-site-generators.adoc +1 -7
  99. data/lib/starter_web/collections/posts/public/featured/_posts/2021-03-03-about-j1.adoc +2 -7
  100. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +0 -4
  101. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +0 -4
  102. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +0 -4
  103. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +0 -4
  104. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-20-minneapolis.adoc +3 -0
  105. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +3 -0
  106. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-26-columbia-river.adoc +3 -0
  107. data/lib/starter_web/dot.gitignore +1 -1
  108. data/lib/starter_web/index.html +3 -3
  109. data/lib/starter_web/package.json +1 -1
  110. data/lib/starter_web/pages/public/blog/navigator/archive.html +43 -23
  111. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +51 -27
  112. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +48 -26
  113. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +44 -12
  114. data/lib/starter_web/pages/public/blog/navigator/index.html +1 -1
  115. data/lib/starter_web/pages/public/cookieConsent.adoc +93 -0
  116. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.org.asciidoc +244 -0
  117. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +2 -1
  118. data/lib/starter_web/pages/public/learn/where_to_go.adoc +0 -16
  119. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +104 -209
  120. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +6 -1
  121. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  122. data/lib/starter_web/utilsrv/package.json +1 -1
  123. metadata +25 -14
  124. data/assets/data/cookiebar.html +0 -285
  125. 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-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 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
- // j1.setUserState( {last_page:user_state_last_page} );
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
  }
@@ -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,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*!