j1-template 2024.3.13 → 2024.3.14
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/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"]
|