j1-template 2024.3.13 → 2024.3.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/_includes/themes/j1/layouts/content_generator_news_panel_posts.html +1 -1
- data/_includes/themes/j1/layouts/layout_resource_generator.html +1 -4
- data/_includes/themes/j1/procedures/blocks/footer/boxes/social_media_icons.proc +24 -23
- data/_includes/themes/j1/procedures/layouts/content_writer.proc +4 -3
- data/_includes/themes/j1/procedures/layouts/default_writer.proc +37 -6
- data/_includes/themes/j1/procedures/layouts/module_writer.proc +31 -95
- data/_includes/themes/j1/procedures/layouts/resource_writer.proc +51 -29
- data/assets/data/amplitude.28.html +887 -0
- data/assets/data/amplitude.29.html +923 -0
- data/assets/data/amplitude.html +311 -46
- data/assets/data/banner.html +9 -7
- data/assets/data/masterslider.html +128 -7
- data/assets/data/panel.html +16 -65
- data/assets/theme/j1/adapter/js/amplitude.23.js +1165 -0
- data/assets/theme/j1/adapter/js/amplitude.24.js +1164 -0
- data/assets/theme/j1/adapter/js/amplitude.25.js +1268 -0
- data/assets/theme/j1/adapter/js/amplitude.js +294 -117
- data/assets/theme/j1/adapter/js/attic.js +14 -11
- data/assets/theme/j1/adapter/js/docsearch.js +2 -2
- data/assets/theme/j1/adapter/js/fab.js +2 -2
- data/assets/theme/j1/adapter/js/j1.js +8 -8
- data/assets/theme/j1/adapter/js/lazyLoader.js +60 -10
- data/assets/theme/j1/adapter/js/masonry.js +1 -1
- data/assets/theme/j1/adapter/js/masterslider.js +2 -2
- data/assets/theme/j1/adapter/js/particles.js +2 -2
- data/assets/theme/j1/adapter/js/scroller.js +2 -2
- data/assets/theme/j1/adapter/js/slick.js +2 -2
- data/assets/theme/j1/adapter/js/themes.js +1 -1
- data/assets/theme/j1/adapter/js/translator.js +2 -2
- data/assets/theme/j1/adapter/js/waves.js +1 -1
- data/assets/theme/j1/core/css/animate.css +1634 -1070
- data/assets/theme/j1/core/css/animate.css.map +1 -0
- data/assets/theme/j1/core/css/animate.min.css +2 -1
- data/assets/theme/j1/core/css/animate.min.css.map +1 -0
- data/assets/theme/j1/core/css/icon-fonts/fontawesome.css +3060 -1538
- data/assets/theme/j1/core/css/icon-fonts/fontawesome.css.map +1 -0
- data/assets/theme/j1/core/css/icon-fonts/fontawesome.min.css +2 -1
- data/assets/theme/j1/core/css/icon-fonts/fontawesome.min.css.map +1 -0
- data/assets/theme/j1/core/css/icon-fonts/iconify.css +2308 -1153
- data/assets/theme/j1/core/css/icon-fonts/iconify.css.map +1 -0
- data/assets/theme/j1/core/css/icon-fonts/iconify.min.css +2 -1
- data/assets/theme/j1/core/css/icon-fonts/iconify.min.css.map +1 -0
- data/assets/theme/j1/core/css/icon-fonts/mdi.css +16716 -8423
- data/assets/theme/j1/core/css/icon-fonts/mdi.css.map +1 -0
- data/assets/theme/j1/core/css/icon-fonts/mdi.min.css +2 -1
- data/assets/theme/j1/core/css/icon-fonts/mdi.min.css.map +1 -0
- data/assets/theme/j1/core/css/icon-fonts/mdib.css +5554 -2766
- data/assets/theme/j1/core/css/icon-fonts/mdib.css.map +1 -0
- data/assets/theme/j1/core/css/icon-fonts/mdib.min.css +2 -1
- data/assets/theme/j1/core/css/icon-fonts/mdib.min.css.map +1 -0
- data/assets/theme/j1/core/css/icon-fonts/mdil.css +742 -441
- data/assets/theme/j1/core/css/icon-fonts/mdil.css.map +1 -0
- data/assets/theme/j1/core/css/icon-fonts/mdil.min.css +2 -1
- data/assets/theme/j1/core/css/icon-fonts/mdil.min.css.map +1 -0
- data/assets/theme/j1/core/css/themes/bootstrap/bootstrap.css +6552 -3980
- data/assets/theme/j1/core/css/themes/bootstrap/bootstrap.css.map +1 -0
- data/assets/theme/j1/core/css/themes/bootstrap/bootstrap.min.css +2 -5
- data/assets/theme/j1/core/css/themes/bootstrap/bootstrap.min.css.map +1 -0
- data/assets/theme/j1/core/css/themes/unodark/bootstrap.css +6818 -4131
- data/assets/theme/j1/core/css/themes/unodark/bootstrap.css.map +1 -0
- data/assets/theme/j1/core/css/themes/unodark/bootstrap.min.css +2 -5
- data/assets/theme/j1/core/css/themes/unodark/bootstrap.min.css.map +1 -0
- data/assets/theme/j1/core/css/themes/unolight/bootstrap.css +18568 -11577
- data/assets/theme/j1/core/css/themes/unolight/bootstrap.css.map +1 -0
- data/assets/theme/j1/core/css/themes/unolight/bootstrap.min.css +2 -35
- data/assets/theme/j1/core/css/themes/unolight/bootstrap.min.css.map +1 -0
- data/assets/theme/j1/core/css/vendor.css +1771 -1043
- data/assets/theme/j1/core/css/vendor.css.map +1 -0
- data/assets/theme/j1/core/css/vendor.min.css +2 -1
- data/assets/theme/j1/core/css/vendor.min.css.map +1 -0
- data/assets/theme/j1/core/js/template.js +399 -447
- data/assets/theme/j1/core/js/template.min.js +7 -7
- data/assets/theme/j1/core/js/template.min.js.map +1 -1
- data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/amplitude.css +4 -2
- data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/compact.css +39 -4
- data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/compact.min.css +1 -1
- data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.css +57 -17
- data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.min.css +1 -1
- data/assets/theme/j1/modules/amplitudejs/icons/player/blue/pause.png +0 -0
- data/assets/theme/j1/modules/amplitudejs/icons/player/blue/play.png +0 -0
- data/assets/theme/j1/modules/amplitudejs/icons/player/blue/play.svg +87 -0
- data/assets/theme/j1/modules/amplitudejs/icons/player/dark/skip-backward.svg +60 -0
- data/assets/theme/j1/modules/amplitudejs/icons/player/dark/skip-forward.svg +59 -0
- data/assets/theme/j1/modules/amplitudejs/js/amplitude.js +65 -21
- data/assets/theme/j1/modules/amplitudejs/js/amplitude.min.js +1 -1
- data/assets/theme/j1/modules/amplitudejs/js/tech/ytp.js +113 -0
- data/assets/theme/j1/modules/iconPicker/js/universal-icon-picker.js +471 -471
- data/assets/theme/j1/modules/j1LazyLoader/LICENSE +21 -0
- data/assets/theme/j1/modules/j1LazyLoader/js/j1Lazy.js +870 -0
- data/assets/theme/j1/modules/js-cookies/js/js.cookie.js +3 -3
- data/assets/theme/j1/modules/lazyCssLoader/js/main.0.js +166 -0
- data/assets/theme/j1/modules/lazyCssLoader/js/main.1.js +65 -0
- data/assets/theme/j1/modules/lazyCssLoader/js/main.js +66 -0
- data/assets/theme/j1/modules/lazyCssLoader/js/plugins/examplePlugin.js +13 -0
- data/assets/theme/j1/modules/lazyCssLoader/js/plugins/my-plugin.js +25 -0
- data/assets/theme/j1/modules/lazyCssLoader/js/plugins/plugin-interface.js +9 -0
- data/assets/theme/j1/modules/lazyCssLoader/js/plugins/pluginA.js +46 -0
- data/assets/theme/j1/modules/lazyLoader/js/plugins/README.md +324 -0
- data/assets/theme/j1/modules/lazyLoader/js/plugins/jquery.lazy.picture.js +188 -0
- data/assets/theme/j1/modules/lightGallery/js/lightgallery.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.0.js +794 -0
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.js +151 -67
- data/assets/theme/j1/modules/slimSelect/js/select.js +1 -1
- data/assets/theme/j1/modules/slimSelect/js/select.min.js +3 -3
- data/assets/theme/j1/modules/themeSwitcher/js/switcher.js +2 -1
- data/assets/theme/j1/modules/videojs/js/plugins/players/dm/dailymotion.min.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/players/dm/icon/scalable/dailymotion.svg +62 -0
- data/assets/theme/j1/modules/videojs/js/plugins/players/yt/v3.0.0/youtube.js +832 -0
- data/assets/theme/j1/modules/videojs/js/plugins/players/yt/v3.0.0/youtube.min.js +17 -0
- data/assets/theme/j1/modules/videojs/js/plugins/players/yt/youtube.min.js +1 -1
- data/assets/theme/j1/modules/videojs/js/video.js +2 -2
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/README.md +577 -560
- data/lib/starter_web/_config.yml +2 -2
- data/lib/starter_web/_data/blocks/footer.yml +10 -5
- data/lib/starter_web/_data/blocks/panel.yml +2 -2
- data/lib/starter_web/_data/layouts/default.yml +14 -3
- data/lib/starter_web/_data/modules/amplitude.yml +145 -0
- data/lib/starter_web/_data/modules/defaults/amplitude.yml +29 -7
- data/lib/starter_web/_data/modules/defaults/lazyLoader.yml +2 -2
- data/lib/starter_web/_data/modules/gallery.yml +136 -0
- data/lib/starter_web/_data/modules/lazyLoader.0.yml +118 -0
- data/lib/starter_web/_data/modules/lazyLoader.yml +68 -31
- data/lib/starter_web/_data/modules/masonry.yml +4 -4
- data/lib/starter_web/_data/modules/masterslider.yml +118 -12
- data/lib/starter_web/_data/modules/navigator_menu.yml +831 -803
- data/lib/starter_web/_data/resources.yml +154 -190
- data/lib/starter_web/_data/templates/feed.xml +1 -1
- data/lib/starter_web/_includes/attributes.asciidoc +1 -0
- data/lib/starter_web/_plugins/asciidoctor/amplitude-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/dailymotion-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/gallery-block.rb +4 -2
- data/lib/starter_web/_plugins/asciidoctor/masonry-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/videojs-block.rb +58 -46
- data/lib/starter_web/_plugins/asciidoctor/vimeo-block.rb +26 -19
- data/lib/starter_web/_plugins/asciidoctor/youtube-block.rb +30 -40
- data/lib/starter_web/_plugins/index/lunr.rb +1 -1
- data/lib/starter_web/assets/image/icons/lanus/favicon.ico +0 -0
- data/lib/starter_web/assets/image/icons/lanus/lanus-512x512.png +0 -0
- data/lib/starter_web/assets/image/icons/lanus/lanus.ico +0 -0
- data/lib/starter_web/assets/image/icons/lanus/lanus.png +0 -0
- data/lib/starter_web/assets/image/icons/lanus/scalable/lanus.svg +76 -0
- data/lib/starter_web/assets/image/icons/lanus/scalable/lanus_sw.svg +62 -0
- data/lib/starter_web/assets/image/modules/icons/social/scalable/icon-twitter-x-28 - social.svg +86 -0
- data/lib/starter_web/assets/image/modules/icons/social/scalable/icon-twitter-x-28.svg +64 -0
- data/lib/starter_web/assets/image/modules/icons/social/scalable/icon-twitter-x.svg +1 -0
- data/lib/starter_web/assets/image/modules/icons/social/twitter_x.png +0 -0
- data/lib/starter_web/package.json +7 -18
- data/lib/starter_web/pages/public/amplitude_yt_tester.adoc +218 -0
- data/lib/starter_web/pages/public/features/template.adoc +18 -8
- data/lib/starter_web/pages/public/features/template.asciidoc +758 -0
- data/lib/starter_web/pages/public/lazy_loader_tester.adoc +402 -0
- data/lib/starter_web/pages/public/manuals/ytdl/man.adoc +3020 -0
- data/lib/starter_web/pages/public/manuals/ytdl/man.md +2378 -0
- data/lib/starter_web/pages/public/tools/previewer/_includes/attributes.asciidoc +0 -16
- data/lib/starter_web/pages/public/tools/previewer/_includes/documents/amplitudejs.large.css.asciidoc +505 -0
- data/lib/starter_web/pages/public/tools/previewer/_includes/documents/frame.hover.html +69 -0
- data/lib/starter_web/pages/public/tools/previewer/_includes/documents/frame.nested.html +75 -0
- data/lib/starter_web/pages/public/tools/previewer/_includes/documents/frame.textarea.html +57 -0
- data/lib/starter_web/pages/public/tools/previewer/_includes/documents/my.content.html +112 -0
- data/lib/starter_web/pages/public/tools/previewer/preview_amplitudejs.adoc +172 -0
- data/lib/starter_web/pages/public/tour/_includes/attributes.asciidoc +2 -2
- data/lib/starter_web/pages/public/tour/_includes/documents/419_advanced_modals_demo.asciidoc +16 -16
- data/lib/starter_web/pages/public/tour/asciidoc_extensions.adoc +13 -3
- data/lib/starter_web/pages/public/tour/bootstrap_themes.adoc +12 -3
- data/lib/starter_web/pages/public/tour/highlghter_rouge.adoc +13 -3
- data/lib/starter_web/pages/public/tour/icon_fonts.adoc +12 -3
- data/lib/starter_web/pages/public/tour/modal_extentions.adoc +12 -6
- data/lib/starter_web/pages/public/tour/{playback_audio.adoc → play_audio.adoc} +207 -188
- data/lib/starter_web/pages/public/tour/{playback_video.adoc → play_video.adoc} +49 -51
- data/lib/starter_web/pages/public/tour/present_images.adoc +27 -5
- data/lib/starter_web/pages/public/tour/quicksearch.adoc +13 -3
- data/lib/starter_web/pages/public/tour/responsive_tables.adoc +13 -4
- data/lib/starter_web/pages/public/tour/typography.adoc +12 -3
- metadata +90 -22
- /data/assets/theme/j1/modules/{lazyLoader → j1LazyLoader/js}/plugins/README.md +0 -0
- /data/assets/theme/j1/modules/{lazyLoader/plugins/jquery.lazy.picture.js → j1LazyLoader/js/plugins/picture.js} +0 -0
- /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.ajax.js +0 -0
- /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.ajax.min.js +0 -0
- /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.av.js +0 -0
- /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.av.min.js +0 -0
- /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.iframe.js +0 -0
- /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.iframe.min.js +0 -0
- /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.noop.js +0 -0
- /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.noop.min.js +0 -0
- /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.picture.min.js +0 -0
- /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.script.js +0 -0
- /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.script.min.js +0 -0
- /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.vimeo.js +0 -0
- /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.vimeo.min.js +0 -0
- /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.youtube.js +0 -0
- /data/assets/theme/j1/modules/lazyLoader/{plugins → js/plugins}/jquery.lazy.youtube.min.js +0 -0
@@ -0,0 +1,758 @@
|
|
1
|
+
---
|
2
|
+
title: Features
|
3
|
+
tagline: Modules, Extensions and Integrations
|
4
|
+
|
5
|
+
date: 2021-01-01
|
6
|
+
#last_modified: 2023-01-01
|
7
|
+
|
8
|
+
description: >
|
9
|
+
J1 Template is a Bootstrap V5 website template for the static
|
10
|
+
site generator Jekyll.
|
11
|
+
For Jekyll, a huge number of templates are available that cover
|
12
|
+
all typical use cases for websites. The bad story: most of them
|
13
|
+
require programming and low-level customization. Deep knowledge
|
14
|
+
of Jekyll and valuable experience using HTML, CSS, and Javascript
|
15
|
+
is required. J1 Template is different: easy to use, no programming
|
16
|
+
is needed.
|
17
|
+
keywords: >
|
18
|
+
Jekyll, JekyllOne, Theme, Software, Modules, Extensions, Integrations
|
19
|
+
|
20
|
+
categories: [ Features ]
|
21
|
+
tags: [ Module, Extension, Integration ]
|
22
|
+
|
23
|
+
robots:
|
24
|
+
index: true
|
25
|
+
follow: true
|
26
|
+
|
27
|
+
image:
|
28
|
+
path: /assets/image/modules/attics/christina-1920x1280.jpg
|
29
|
+
width: 1920
|
30
|
+
height: 1280
|
31
|
+
|
32
|
+
regenerate: false
|
33
|
+
permalink: /pages/public/features/template_features/
|
34
|
+
|
35
|
+
resources: [
|
36
|
+
animate, comments, rouge,
|
37
|
+
lightbox, carousel,
|
38
|
+
masterslider, lightgallery, gallery,
|
39
|
+
videojs, vimeoplayer
|
40
|
+
]
|
41
|
+
resource_options:
|
42
|
+
- attic:
|
43
|
+
slides:
|
44
|
+
- url: /assets/image/modules/attics/christina-1920x1280.jpg
|
45
|
+
alt: Photo by Christina on Unsplash
|
46
|
+
badge:
|
47
|
+
type: unsplash
|
48
|
+
author: Christina
|
49
|
+
href: //unsplash.com/@wocintechchat
|
50
|
+
---
|
51
|
+
|
52
|
+
// Page Initializer
|
53
|
+
// =============================================================================
|
54
|
+
// Enable the Liquid Preprocessor
|
55
|
+
:page-liquid:
|
56
|
+
|
57
|
+
// Set (local) page attributes here
|
58
|
+
// -----------------------------------------------------------------------------
|
59
|
+
// :page--attr: <attr-value>
|
60
|
+
:url-fontawesome--home: https://fontawesome.com/
|
61
|
+
:url-roundtrip--mdi-icons: /pages/public/tour/mdi_icon_font/#material-design-icons
|
62
|
+
|
63
|
+
// Load Liquid procedures
|
64
|
+
// -----------------------------------------------------------------------------
|
65
|
+
{% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
|
66
|
+
|
67
|
+
// Load page attributes
|
68
|
+
// -----------------------------------------------------------------------------
|
69
|
+
{% include {{load_attributes}} scope="global" %}
|
70
|
+
|
71
|
+
|
72
|
+
// Page content
|
73
|
+
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
74
|
+
[role="dropcap"]
|
75
|
+
For Jekyll, a huge number of templates are available that cover all typical
|
76
|
+
use cases for websites. The bad story: most of them require programming and
|
77
|
+
low-level customization. Deep knowledge of Jekyll and valuable experience
|
78
|
+
using HTML, CSS, and Javascript is required.
|
79
|
+
|
80
|
+
J1 is different: easy to use, no programming is needed.
|
81
|
+
|
82
|
+
|
83
|
+
// Include sub-documents (if any)
|
84
|
+
// -----------------------------------------------------------------------------
|
85
|
+
[role="mt-5"]
|
86
|
+
== Modules
|
87
|
+
|
88
|
+
The Template provides a large number of building blocks to create modern
|
89
|
+
web pages in minutes. The base idea of the J1 Template is to give all people
|
90
|
+
a toolset at their hands to create a website with no need to start web
|
91
|
+
development or web design from the beginning.
|
92
|
+
|
93
|
+
mdi:mouse-move-down[24px, md-blue ml-3 mr-2]
|
94
|
+
<<Infinite scroll>> +
|
95
|
+
mdi:speaker[24px, md-blue ml-3 mr-2]
|
96
|
+
<<Screen reader>> +
|
97
|
+
mdi:mouse-move-down[24px, md-blue ml-3 mr-2]
|
98
|
+
<<Animate on Scroll>> +
|
99
|
+
mdi:animation[24px, md-blue ml-3 mr-2]
|
100
|
+
<<Floating Action Buttons>> +
|
101
|
+
mdi:magnify[24px, md-blue ml-3 mr-2]
|
102
|
+
<<Full-text search engine>> +
|
103
|
+
mdi:cookie[24px, md-blue ml-3 mr-2]
|
104
|
+
<<Cookie Consent>> +
|
105
|
+
mdi:translate[24px, md-blue ml-3 mr-2]
|
106
|
+
<<Translator>> +
|
107
|
+
mdi:window-shutter[24px, md-blue ml-3 mr-2]
|
108
|
+
<<Master Header>> +
|
109
|
+
mdi:clipboard[24px, md-blue ml-3 mr-2]
|
110
|
+
<<Clipboard>> +
|
111
|
+
mdi:forwardburger[24px, md-blue mdi-rotate-90 ml-3 mr-2]
|
112
|
+
<<Smooth Scroll>> +
|
113
|
+
mdi:near-me[24px, md-blue ml-3 mr-2]
|
114
|
+
<<Enhanced Navigation>> +
|
115
|
+
mdi:lightbulb-on[24px, md-blue ml-3 mr-2]
|
116
|
+
<<Lightboxes>> +
|
117
|
+
mdi:view-carousel[24px, md-blue ml-3 mr-2]
|
118
|
+
<<Text and Image Carousels>> +
|
119
|
+
mdi:gesture-swipe[24px, md-blue ml-3 mr-2]
|
120
|
+
<<Text and Image Sliders>> +
|
121
|
+
mdi:folder-multiple-image[24px, md-blue ml-3 mr-2]
|
122
|
+
<<Image and Video Galleries>>
|
123
|
+
|
124
|
+
[role="mt-4"]
|
125
|
+
=== Infinite scroll
|
126
|
+
|
127
|
+
Infinite scrolling (IS), or known as endless scrolling, is a technique that
|
128
|
+
loads more content as a user scrolls down the page. It allows visitors to
|
129
|
+
continue reading the content by scrolling seamlessly and not by loading
|
130
|
+
additional pages.
|
131
|
+
|
132
|
+
J1 Template supports infinite scrolling and is used, for example, for loading
|
133
|
+
previews of blog articles.
|
134
|
+
|
135
|
+
[role="mt-4"]
|
136
|
+
=== Screen reader
|
137
|
+
|
138
|
+
Speak2Me for J1 Template is a speech synthesise (TTS) module that enables a
|
139
|
+
so-called screen reader. The reader functionality allows users to sit back
|
140
|
+
and listen to the browser read aloud the important contents on a Web page.
|
141
|
+
|
142
|
+
The *screen reader* on websites created by J1 Template is started by
|
143
|
+
clicking on the *speaker* symbol mdi:speaker[24px, md-blue] placed top
|
144
|
+
right in the *menu bar*.
|
145
|
+
|
146
|
+
[role="mt-4"]
|
147
|
+
=== Animate on Scroll
|
148
|
+
|
149
|
+
Scroll-triggered animation (AOS) is an effective way to animate website
|
150
|
+
elements such as text, graphics, photos, and video, bringing them to life
|
151
|
+
as users scroll down a page. Scroll animations are more likely to grab the
|
152
|
+
user's attention, making websites look and feel more dynamic and
|
153
|
+
interesting.
|
154
|
+
|
155
|
+
[role="mt-4"]
|
156
|
+
=== Floating Action Buttons
|
157
|
+
|
158
|
+
The *Floating Action Button* (FAB) is an element of Google's Material Design.
|
159
|
+
A FAB represents the primary action in an application, or triggers additional
|
160
|
+
functions for a webpage. FABs are increasingly used on the web and serves to
|
161
|
+
enable important actions for a page, but separated from the main navigation.
|
162
|
+
|
163
|
+
.FAB (Menu)
|
164
|
+
lightbox::images--fab[ 1920, {data-images--fab} ]
|
165
|
+
|
166
|
+
The template system supports Floating Action Buttons for in-page navigation.
|
167
|
+
When the FAB is pressed, it provides more related actions like showing the
|
168
|
+
content table or scrolling a page chapter-wise up and down.
|
169
|
+
|
170
|
+
[role="mt-4"]
|
171
|
+
=== Full-text search engine
|
172
|
+
|
173
|
+
Full-text search (FTS) for a website is an advanced method of searching
|
174
|
+
through all documents. FTS promises fast retrieval of data with advanced
|
175
|
+
indexing and more intuitive search results based on relevance.
|
176
|
+
|
177
|
+
.Full-text search
|
178
|
+
lightbox::images--full-text-search[ 1920, {data-images--full-text-search} ]
|
179
|
+
|
180
|
+
J1 implements Lunr for indexing the whole website. The engine is designed
|
181
|
+
to be small but full-featured. Lunr enables developers to provide visitors
|
182
|
+
with a great search experience without the need for external, server-sided
|
183
|
+
search services like Google on the internet.
|
184
|
+
|
185
|
+
[role="mt-4"]
|
186
|
+
=== Cookie Consent
|
187
|
+
|
188
|
+
Running websites in the EU and many other countries, implementing the
|
189
|
+
*General Data Protection Regulation* (GDPR) is required to make a website
|
190
|
+
compliant with the *ePrivacy* regulations of the European Unions and
|
191
|
+
associated countries.
|
192
|
+
|
193
|
+
.Cookie Consent
|
194
|
+
lightbox::images--cookie-consent[ 1920, {data-images--cookie-consent} ]
|
195
|
+
|
196
|
+
Under the GDPR, *most cookies* will fall into the category of *personal data*
|
197
|
+
because they can identify visitors and can be used to provide website
|
198
|
+
personalization and even profiling of individuals. As a result, you will
|
199
|
+
need a *legal basis* for processing the data contained within those cookies.
|
200
|
+
That legal basis is most likely going to be the CONSENT of your visitors on
|
201
|
+
accepting the use of cookies.
|
202
|
+
|
203
|
+
The Template system provides a configurable GDPR compliant module to manage
|
204
|
+
the consent of your visitors on cookies.
|
205
|
+
|
206
|
+
[role="mt-4"]
|
207
|
+
=== Translator
|
208
|
+
|
209
|
+
A Website translation service is useful in a wide range of situations.
|
210
|
+
In today’s interconnected and global world English is no longer enough.
|
211
|
+
Most online content is still written in English, while the language is
|
212
|
+
just ranked 3rd in terms of the highest number of native speakers among all
|
213
|
+
languages worldwide.
|
214
|
+
|
215
|
+
.Native speakers by language
|
216
|
+
lightbox::lingohub--speakers-by-language[ 1920, {data-lingohub--speakers-by-language} ]
|
217
|
+
|
218
|
+
Source: link:{url-lingohub--speakers-by-language}[lingohub.com, {browser-window--new}]
|
219
|
+
|
220
|
+
In 2015 it was necessary to support 25 languages to reach 90 percent of the
|
221
|
+
entire Internet population in their native language. By 2020, a website will
|
222
|
+
require localization into 48 languages to reach the same proportion of the
|
223
|
+
global Internet audience.
|
224
|
+
|
225
|
+
Localization adapts a website to cultural backgrounds and local languages.
|
226
|
+
Translation makes it easier for users to browse content and find what they’re
|
227
|
+
looking for. An excellent user experience and understanding the language are
|
228
|
+
key for building trust in the content you provide.
|
229
|
+
|
230
|
+
.Translator configuration (j1_config.yml)
|
231
|
+
[source, yaml, role="noclip"]
|
232
|
+
----
|
233
|
+
translation:
|
234
|
+
enabled: true
|
235
|
+
provider: google
|
236
|
+
|
237
|
+
google:
|
238
|
+
layout: default
|
239
|
+
sourcelanguage: en
|
240
|
+
translationlanguages: [auto]
|
241
|
+
----
|
242
|
+
|
243
|
+
J1 integrates the *free* translation service provided by Google Translate
|
244
|
+
(GT) and the *professional* translation services of Deepl (DT). If you want
|
245
|
+
to get a larger number of international audiences, translating your site can
|
246
|
+
help target your global audience more easily and quickly.
|
247
|
+
|
248
|
+
.Google Translator
|
249
|
+
lightbox::images--translator[ 1920, {data-images--translator} ]
|
250
|
+
|
251
|
+
GT is fully integrated with the GDPR-compatible Cookie Consent module. If your
|
252
|
+
visitors do not agree on cookies required to use Google Translate, GT gets
|
253
|
+
automatically disabled, and all cookies from Google are deleted from the
|
254
|
+
user's system.
|
255
|
+
|
256
|
+
[role="mt-4"]
|
257
|
+
=== Master Header
|
258
|
+
|
259
|
+
The most-top position of a web page is important; this postion is presented to
|
260
|
+
your vistors very first. The Master Header (Attic) give your reader a first
|
261
|
+
impression of what is presented on a page.
|
262
|
+
|
263
|
+
Attics may contains (dynamic) *Text*, *Images* or *Videos* to support a page
|
264
|
+
for the content presented.
|
265
|
+
|
266
|
+
.Master Header (image-based)
|
267
|
+
lightbox::images--master-header[ 1920, {data-images--master-header} ]
|
268
|
+
|
269
|
+
[role="mt-4"]
|
270
|
+
=== Clipboard
|
271
|
+
|
272
|
+
The clipboard is a special function of the operating system of desktop or
|
273
|
+
mobile computers that temporarily stores copied text or other data in memory.
|
274
|
+
Once something is stored in the clipboard, comments, the user can paste the
|
275
|
+
data to a new location.
|
276
|
+
|
277
|
+
[TIP]
|
278
|
+
====
|
279
|
+
Click on the *COPY* button (top-right) in the following source code
|
280
|
+
section.
|
281
|
+
====
|
282
|
+
|
283
|
+
.Clipboard
|
284
|
+
[source, js]
|
285
|
+
----
|
286
|
+
// ---------------------------------------------------------------
|
287
|
+
// helper functions
|
288
|
+
// ---------------------------------------------------------------
|
289
|
+
function styleSheetLoaded(styleSheet) {
|
290
|
+
var sheets = document.styleSheets,
|
291
|
+
stylesheet = sheets[(sheets.length - 1)];
|
292
|
+
|
293
|
+
// find CSS file 'styleSheetName' in document
|
294
|
+
for(var i in document.styleSheets) {
|
295
|
+
if(sheets[i].href && sheets[i].href.indexOf(styleSheet) > -1) {
|
296
|
+
return true;;
|
297
|
+
}
|
298
|
+
}
|
299
|
+
}
|
300
|
+
----
|
301
|
+
|
302
|
+
J1 integrates the clipboard functionality of your computer system to copy and
|
303
|
+
paste examples or code elements from a webpage. A clipboard will help your
|
304
|
+
users a lot to manage the code snippets you’ve provided.
|
305
|
+
|
306
|
+
[role="mt-4"]
|
307
|
+
=== Smooth Scroll
|
308
|
+
|
309
|
+
Smooth scrolling (SSR) is an enhanced feature of J1 designed to improve
|
310
|
+
scrolling and positioning on anchor links. If SSR is enabled, an animated
|
311
|
+
transition is done for scrolling to headlines (anchor links) and gets
|
312
|
+
exactly positioned.
|
313
|
+
|
314
|
+
[role="mt-4"]
|
315
|
+
=== Enhanced Navigation
|
316
|
+
|
317
|
+
When it comes to the usability of a website, your visitors' focus is on one
|
318
|
+
important component: the Navigation System. The Navigation System used by
|
319
|
+
J1 Template is a multi-purpose navigation builder based on the _Bootstrap_ V5
|
320
|
+
Framework.
|
321
|
+
|
322
|
+
.Navigation Module (NAV)
|
323
|
+
lightbox::images--nav-module[ 1920, {data-images--nav-module} ]
|
324
|
+
|
325
|
+
The NAV module for J1 consists of four configurable sub-modules:
|
326
|
+
|
327
|
+
* Navigation Bar
|
328
|
+
* MainMenu
|
329
|
+
* Quicklinks
|
330
|
+
* TopSearch
|
331
|
+
|
332
|
+
All features are available by configuration, and no programming is needed.
|
333
|
+
|
334
|
+
.Configuration example for main menu entry (navigator_menu.yml)
|
335
|
+
[source, yaml, role="noclip"]
|
336
|
+
----
|
337
|
+
# ------------------------------------------------------------------------------
|
338
|
+
# Menu MANUALS
|
339
|
+
#
|
340
|
+
- item: Manuals
|
341
|
+
sublevel:
|
342
|
+
|
343
|
+
# --------------------------------------------------------------------------
|
344
|
+
# Resources
|
345
|
+
#
|
346
|
+
- title: Resources
|
347
|
+
icon: bread-slice
|
348
|
+
dropdown:
|
349
|
+
- title: Country Flags
|
350
|
+
href: /pages/public/manuals/resources/country_flags/
|
351
|
+
icon: flag
|
352
|
+
- title: MD Color Palette
|
353
|
+
href: /pages/public/manuals/resources/color_palette/
|
354
|
+
icon: format-color-fill
|
355
|
+
----
|
356
|
+
|
357
|
+
[role="mt-4"]
|
358
|
+
=== Lightboxes
|
359
|
+
|
360
|
+
A Lightbox is, in general, a helper which displays enlarged, almost
|
361
|
+
screen-filling versions of images (or videos) while dimming the remainder
|
362
|
+
of the page. For the J1 Template, two different lightboxes are available:
|
363
|
+
|
364
|
+
* Lightbox V2
|
365
|
+
* LightGallery
|
366
|
+
|
367
|
+
The default tool employed by J1 Template is Lightbox V2, a Javascript library
|
368
|
+
written by Lokesh Dhakar.
|
369
|
+
|
370
|
+
.Markup to place a Lightbox V2 (Asciidoc)
|
371
|
+
[source, apib, role="noclip"]
|
372
|
+
----
|
373
|
+
.Lightbox V2
|
374
|
+
lightbox::lb-example--template-features[ 300, {data-lb-example--template-features}, group ]
|
375
|
+
----
|
376
|
+
|
377
|
+
.Lightbox V2
|
378
|
+
lightbox::lb-example--template-features[ 300, {data-lb-example--template-features}, group ]
|
379
|
+
|
380
|
+
For more complex use cases, like thumbnail gallery previews or video support,
|
381
|
+
LightGallery can be used alternatively.
|
382
|
+
|
383
|
+
.Markup to place a LightGallery (Asciidoc)
|
384
|
+
[source, apib, role="noclip"]
|
385
|
+
----
|
386
|
+
.LightGallery
|
387
|
+
gallery::jg_old_times[ role="mb-4 wm-800" ]
|
388
|
+
----
|
389
|
+
|
390
|
+
.LightGallery
|
391
|
+
gallery::jg_old_times[ role="mb-4 wm-800" ]
|
392
|
+
|
393
|
+
[role="mt-4"]
|
394
|
+
=== Text and Image Carousels
|
395
|
+
|
396
|
+
J1 Carousel is based on OWL Carousel, a clean and neat jQuery slider plugin
|
397
|
+
for creating fully responsive and touch-enabled carousel sliders. Carousels
|
398
|
+
are mostly used for pictures data to animate the images as a series.
|
399
|
+
|
400
|
+
.Markup to place a Image carousel (Asciidoc)
|
401
|
+
[source, apib, role="noclip"]
|
402
|
+
----
|
403
|
+
.Image carousel
|
404
|
+
carousel::demo_simple[role="mb-3"]
|
405
|
+
----
|
406
|
+
|
407
|
+
.Image carousel
|
408
|
+
carousel::demo_simple[role="mb-3"]
|
409
|
+
|
410
|
+
In general, J1 Carousel supports many more sources to be displayed as a
|
411
|
+
slide show: simple text, for example.
|
412
|
+
|
413
|
+
.Markup to place a Text carousel (Asciidoc)
|
414
|
+
[source, apib, role="noclip"]
|
415
|
+
----
|
416
|
+
.Text carousel
|
417
|
+
carousel::demo_text_carousel[role="mb-3"]
|
418
|
+
----
|
419
|
+
|
420
|
+
.Text carousel
|
421
|
+
carousel::demo_text_carousel[role="mb-3"]
|
422
|
+
|
423
|
+
A more eye-minded type of text-based slide show is a parallax text slider.
|
424
|
+
If you want to emphasize your statements focussing on the meaning, this kind
|
425
|
+
of slide show may be interesting.
|
426
|
+
|
427
|
+
.Markup to place a Parallax carousel (Asciidoc)
|
428
|
+
[source, apib, role="noclip"]
|
429
|
+
----
|
430
|
+
.Parallax carousel
|
431
|
+
carousel::demo_text_carousel_parallax[role="mb-3"]
|
432
|
+
----
|
433
|
+
|
434
|
+
.Parallax text carousel
|
435
|
+
carousel::demo_text_carousel_parallax[role="mb-3"]
|
436
|
+
|
437
|
+
[role="mt-4"]
|
438
|
+
=== Text and Image Sliders
|
439
|
+
|
440
|
+
Master Slider is a premium image and content slider for any purposes, with
|
441
|
+
super smooth hardware accelerated transitions. MS is a well-known Slider Plugin
|
442
|
+
for _WordPress_. J1 implements the *free* version MS Lite of version v2.85.13
|
443
|
+
(Feb 2022).
|
444
|
+
|
445
|
+
masterslider::ms_00005[role="mt-4 mb-5"]
|
446
|
+
|
447
|
+
masterslider::ms_00006[role="mt-4 mb-5"]
|
448
|
+
|
449
|
+
masterslider::ms_00009[role="mt-4 mb-5"]
|
450
|
+
|
451
|
+
[role="mt-5"]
|
452
|
+
=== Image and Video Galleries
|
453
|
+
|
454
|
+
Image and Video Galleries allow you to lay out groups of images or videos
|
455
|
+
in very different ways. J1 supports JustifiedGallery is a great jQuery plugin
|
456
|
+
to create responsive, infinite, and high-quality justified image galleries.
|
457
|
+
The gallery uses a so-called masonry grid layout. It works by placing
|
458
|
+
elements in an optimal position based on available horizontal and vertical
|
459
|
+
space. Sort of like mason fitting stones in a wall.
|
460
|
+
|
461
|
+
.Markup to place the Image Gallery (Asciidoc)
|
462
|
+
[source, apib, role="noclip"]
|
463
|
+
----
|
464
|
+
.Image Gallery
|
465
|
+
gallery::jg_example[role="mb-5"]
|
466
|
+
----
|
467
|
+
|
468
|
+
.Image Gallery
|
469
|
+
gallery::jg_customizer[role="mb-5"]
|
470
|
+
|
471
|
+
A JustifiedGallery provides not only images. See the next example of a gallery
|
472
|
+
for HTML5 video content.
|
473
|
+
|
474
|
+
.Markup to place the Video Gallery (Asciidoc)
|
475
|
+
[source, apib, role="noclip"]
|
476
|
+
----
|
477
|
+
.Video Gallery (HTML5)
|
478
|
+
gallery::jg_video_html5[role="mb-5"]
|
479
|
+
----
|
480
|
+
|
481
|
+
.Video Gallery (HTML5)
|
482
|
+
gallery::jg_video_html5[role="mb-5"]
|
483
|
+
|
484
|
+
[role="mt-4"]
|
485
|
+
== Extensions
|
486
|
+
|
487
|
+
Frameworks like _Bootstrap_ and Asciidoc are enormously flexible and customizable.
|
488
|
+
Changing or adding components to frameworks requires a lot of experience. That
|
489
|
+
is not the idea of J1. Customizations for the base frameworks are prepared,
|
490
|
+
simple to use, and usable out-of-the-box.
|
491
|
+
|
492
|
+
mdi:bootstrap[24px, md-blue ml-3 mr-2]
|
493
|
+
<<Bootstrap extensions>> +
|
494
|
+
mdi:group[24px, md-blue ml-3 mr-2]
|
495
|
+
<<Blog Post Navigation>> +
|
496
|
+
mdi:format-annotation-plus[24px, md-blue ml-3 mr-2]
|
497
|
+
<<Block elements>> +
|
498
|
+
mdi:near-me[24px, md-blue ml-3 mr-2]
|
499
|
+
<<Asciidoctor extensions>> +
|
500
|
+
mdi:content-duplicate[24px, md-blue ml-3 mr-2]
|
501
|
+
<<Featured example content>> +
|
502
|
+
mdi:image[24px, md-blue ml-3 mr-2]
|
503
|
+
<<Royalty Free Images>>
|
504
|
+
|
505
|
+
[role="mt-4"]
|
506
|
+
=== Bootstrap extensions
|
507
|
+
|
508
|
+
A set of Advanced Bootstrap Modals (ABM), based on the free package of Material
|
509
|
+
Design for Bootstrap, is integrated with the template system. _Bootstrap_
|
510
|
+
modals are used to add dialogues to your web pages for user notifications.
|
511
|
+
|
512
|
+
To improve your visitor’s experience on important information that shouldn’t
|
513
|
+
be missed. ABMs are a great choice to bring the user’s attention. Using the
|
514
|
+
J1 Template predefined modal styles, some emotional weight is added to the
|
515
|
+
information displayed. Ranging from an info level, a simple warning to
|
516
|
+
critical messages.
|
517
|
+
|
518
|
+
Creating a design for responsive HTML tables is challenging. J1 integrates
|
519
|
+
responsible HTML tables for _Bootstrap_ to be used for Mobile Devices.
|
520
|
+
|
521
|
+
.Responsible HTML table (RTable)
|
522
|
+
[cols="6a,6a", options="header", width="100%", role="rtable mt-3"]
|
523
|
+
|===
|
524
|
+
|Variable |Description
|
525
|
+
|
526
|
+
|`page.content`
|
527
|
+
|The content of the Page, rendered or un-rendered
|
528
|
+
depending upon what Liquid is being processed and what `page` is.
|
529
|
+
|
530
|
+
|`page.title`
|
531
|
+
|The title of the Page.
|
532
|
+
|
533
|
+
|`page.date`
|
534
|
+
|The Date assigned to the Post. This can be overridden in a
|
535
|
+
Post's front matter by specifying a new date/time in the format
|
536
|
+
`YYYY-MM-DD HH:MM:SS` (assuming UTC), or `YYYY-MM-DD HH:MM:SS +/-TTTT`
|
537
|
+
(to specify a time zone using an offset from UTC. e.g.
|
538
|
+
`2008-12-14 10:30:00 +0900`).
|
539
|
+
|===
|
540
|
+
|
541
|
+
[role="mt-4"]
|
542
|
+
=== Blog Post Navigation
|
543
|
+
|
544
|
+
To make your Blog Articles available to your vistors, J1 offers an easy to use
|
545
|
+
navigation module for all your posts. The Blog Post Navigator automatically
|
546
|
+
generates different views to explore articles by Categoy, Date, or all posts
|
547
|
+
from an Archive View.
|
548
|
+
|
549
|
+
.Blog Post Navigator
|
550
|
+
lightbox::images--blog-post-navigator[ 1920, {data-images--blog-post-navigator} ]
|
551
|
+
|
552
|
+
[role="mt-4"]
|
553
|
+
=== Block elements
|
554
|
+
|
555
|
+
Banners and panels are complex but configurable building blocks, typically
|
556
|
+
used for home and landing pages. Examples how to use banners and panels
|
557
|
+
can be found with the included starter web for the homepage.
|
558
|
+
|
559
|
+
.Teaser Banner
|
560
|
+
lightbox::images--teaser-banner[ 1920, {data-images--teaser-banner} ]
|
561
|
+
|
562
|
+
.Intro Panel
|
563
|
+
lightbox::images--intro-panel[ 1920, {data-images--intro-panel} ]
|
564
|
+
|
565
|
+
[role="mt-4"]
|
566
|
+
=== Asciidoctor extensions
|
567
|
+
|
568
|
+
J1 Template implements a bunch of incubating Ruby-based extensions for
|
569
|
+
Asciidoctor. Using Asciidoctor extensions, it's easy to integrate lightboxes,
|
570
|
+
galleries, icon fonts, and other complex elements using Asciidoc tags with
|
571
|
+
your content pages.
|
572
|
+
|
573
|
+
.MDI Icons
|
574
|
+
[source, noformat, role="noclip"]
|
575
|
+
----
|
576
|
+
mdi:home[2x, mdi-pulsed ml-3 mr-2 mb-2] Symbol icon (pulsed)
|
577
|
+
mdi:font-awesome[2x, ml-3 mr-2 mb-2] Brand icon
|
578
|
+
mdi:apple[2x, md-indigo ml-3 mr-2] Brand icon (colored)
|
579
|
+
----
|
580
|
+
|
581
|
+
[.result]
|
582
|
+
====
|
583
|
+
mdi:home[2x, mdi-pulsed ml-3 mr-2 mb-2] Symbol icon (pulsed) +
|
584
|
+
mdi:font-awesome[2x, ml-3 mr-2 mb-2] Brand icon +
|
585
|
+
mdi:apple[2x, md-indigo ml-3 mr-2] Brand icon (colored)
|
586
|
+
====
|
587
|
+
|
588
|
+
[role="mt-4"]
|
589
|
+
=== Featured example content
|
590
|
+
|
591
|
+
All pages from the roundtrip section are provided by the starter web
|
592
|
+
included with the J1 Template. Many real-world examples for your content
|
593
|
+
could be taken from these pages and are easy to use with your website.
|
594
|
+
|
595
|
+
.Example Content (Icon Fonts)
|
596
|
+
lightbox::images--example-content[ 1920, {data-images--example-content} ]
|
597
|
+
|
598
|
+
[role="mt-4"]
|
599
|
+
=== Royalty Free Images
|
600
|
+
|
601
|
+
All images for a *Starter Web*, for example, from the roundtrip section, are
|
602
|
+
included with J1 Template. All images are taken from Unsplash.com as
|
603
|
+
*Royalty Free* images and can be used without paying any license fees.
|
604
|
+
|
605
|
+
|
606
|
+
[role="mt-5"]
|
607
|
+
== Integrations
|
608
|
+
|
609
|
+
The Internet of today has changed a lot. The new digital world is called the cloud.
|
610
|
+
Services out of the cloud is a fast-growing business. J1 Template integrates cloud
|
611
|
+
services to extend the functionality of a web for commenting features or Bootstrap
|
612
|
+
themes, for example.
|
613
|
+
|
614
|
+
mdi:theme-light-dark[2x, md-blue ml-3 mr-2]
|
615
|
+
<<Bootstrap Themes>> (Bootswatch) +
|
616
|
+
mdi:comment[2x, md-blue ml-3 mr-2]
|
617
|
+
<<Comment providers>> +
|
618
|
+
mdi:google-analytics[2x, md-blue ml-3 mr-2]
|
619
|
+
<<Google Analytics>> +
|
620
|
+
mdi:google-ads[2x, md-blue ml-3 mr-2]
|
621
|
+
<<Google Adsense>> +
|
622
|
+
mdi:youtube[2x, md-blue ml-3 mr-2]
|
623
|
+
<<YouTube Video>> +
|
624
|
+
mdi:vimeo[2x, md-blue ml-3 mr-2]
|
625
|
+
<<Vimeo Video>>
|
626
|
+
|
627
|
+
[role="mt-4"]
|
628
|
+
=== Bootstrap Themes
|
629
|
+
|
630
|
+
The Themes for the template system J1 are based on the free and Open Source
|
631
|
+
CSS front-end framework _Bootstrap_ of version V5. Using _Bootstrap_ base style
|
632
|
+
only results in a uniform appearance for the content in terms of the overall
|
633
|
+
layout, text, tables, and form elements across all modern web browsers
|
634
|
+
available on the market.
|
635
|
+
|
636
|
+
Thanks to the people at link:{url-bootswatch--home}[Bootswatch, {browser-window--new}],
|
637
|
+
a great set of already prepared _Bootstrap_ stylesheets in various designs are
|
638
|
+
available on their website. There is no need to start from scratch. Re-define
|
639
|
+
all the _Bootstrap_ variables, and rebuild the framework files to create a new
|
640
|
+
theme.
|
641
|
+
|
642
|
+
.Bootswatch Themes (Minty)
|
643
|
+
lightbox::images--bootswatch-themes[ 1920, {data-images--bootswatch-themes} ]
|
644
|
+
|
645
|
+
Many different styles are available. What is already available at
|
646
|
+
link:{url-bootswatch--home}[Bootswatch, {browser-window--new}] is at least a
|
647
|
+
good base for your modifications: your unique design. J1 integrates all
|
648
|
+
available themes from _Bootswatch_ with the navigator module.
|
649
|
+
|
650
|
+
[role="mt-4"]
|
651
|
+
=== Comment providers
|
652
|
+
|
653
|
+
Comments became an integral part of almost each website on the web. People
|
654
|
+
want to talk about what they currently read on your web, listen to or see.
|
655
|
+
And they want it right there, under what they’ve read or seen, not on their
|
656
|
+
social networks.
|
657
|
+
|
658
|
+
J1 Template supports currently two comment providers: Disqus (DQC) and
|
659
|
+
Hyvor (HVC). The comment interfaces from the supported providers can be
|
660
|
+
integrated by pure configuration.
|
661
|
+
|
662
|
+
.Comments by Hyvor Talk
|
663
|
+
lightbox::images--comments-hyvor[ 1920, {data-images--comments-hyvor} ]
|
664
|
+
|
665
|
+
Enable the provider you want to use and add your access credentials to the
|
666
|
+
configuration, and you're done. On all posts or pages you want to use for
|
667
|
+
comments, the comment interface is shown automatically and can be used by
|
668
|
+
your visitors.
|
669
|
+
|
670
|
+
.Comments configuration for Hyvor (j1_config.yml)
|
671
|
+
[source, yaml, role="noclip"]
|
672
|
+
----
|
673
|
+
comments:
|
674
|
+
enabled: true
|
675
|
+
provider: hyvor
|
676
|
+
|
677
|
+
comments_headline:
|
678
|
+
en: Leave a comment
|
679
|
+
de: Kommentieren
|
680
|
+
|
681
|
+
hyvor:
|
682
|
+
site_id: 'hyvor-site-id'
|
683
|
+
|
684
|
+
disqus:
|
685
|
+
site_id: '<your-site-short-name>'
|
686
|
+
----
|
687
|
+
|
688
|
+
DQC is fully integrated with the GDPR-compatible Cookie Consent module. If
|
689
|
+
your visitors do not agree on cookies needed for Diqus, DQC gets
|
690
|
+
automatically disabled, and all related cookies are deleted from the user's
|
691
|
+
system.
|
692
|
+
|
693
|
+
[role="mt-4"]
|
694
|
+
=== Google Analytics
|
695
|
+
|
696
|
+
Google Analytics (GAL) provides access to a massive amount of data related
|
697
|
+
to how users find and interact with your site. For example, you can see how
|
698
|
+
many people visited a specific page, how long they remained there, where your
|
699
|
+
users live, how certain keywords perform, and so forth.
|
700
|
+
|
701
|
+
Google Analytics is integrated by pure configuration. Simply enable the
|
702
|
+
provider and set your your access credentials to the configuration, and
|
703
|
+
you're done.
|
704
|
+
|
705
|
+
.Google Analytics configuration (j1_config.yml)
|
706
|
+
[source, yaml, role="noclip"]
|
707
|
+
----
|
708
|
+
analytics:
|
709
|
+
enabled: true
|
710
|
+
provider: google
|
711
|
+
|
712
|
+
google:
|
713
|
+
tracking_id: '<your-tracking-id>'
|
714
|
+
----
|
715
|
+
|
716
|
+
GAL is fully integrated with the GDPR-compatible Cookie Consent module.
|
717
|
+
If your visitors do not agree on cooies for *Analysis*, Google Analytics gets
|
718
|
+
automatically disabled and all cookies from Google are deleted from the
|
719
|
+
user's system.
|
720
|
+
|
721
|
+
[role="mt-4"]
|
722
|
+
=== Google Adsense
|
723
|
+
|
724
|
+
Google Adsense (GAD) is integrated by pure configuration. Simply enable the
|
725
|
+
provider and set your your access credentials to the configuration, and
|
726
|
+
you're done.
|
727
|
+
|
728
|
+
[role="mt-4"]
|
729
|
+
=== YouTube Video
|
730
|
+
|
731
|
+
J1 Template supports YouTube and Vimeo video content out-of-the-box.
|
732
|
+
The type of content is *automatically detected* with your video galleries
|
733
|
+
configured, and the player is started as needed.
|
734
|
+
|
735
|
+
.Asciidoc Markup
|
736
|
+
[source, apib, role="noclip"]
|
737
|
+
----
|
738
|
+
gallery::jg_video_online_youtube_james_and_adele[]
|
739
|
+
----
|
740
|
+
|
741
|
+
.YouTube Video
|
742
|
+
gallery::jg_video_online_youtube_james_and_adele[role="mb-5"]
|
743
|
+
|
744
|
+
[role="mt-4"]
|
745
|
+
=== Vimeo Video
|
746
|
+
|
747
|
+
J1 Template supports Vimeo video content out-of-the-box. The type of content
|
748
|
+
is *automatically detected* with your video galleries configured, and the
|
749
|
+
player is started as needed.
|
750
|
+
|
751
|
+
.Asciidoc Markup
|
752
|
+
[source, apib, role="noclip"]
|
753
|
+
----
|
754
|
+
gallery::jg_video_online_vimeo[role="mb-5"]
|
755
|
+
----
|
756
|
+
|
757
|
+
.Vimeo Video
|
758
|
+
gallery::jg_video_online_vimeo[role="mb-7"]
|