j1-template 2023.3.1 → 2023.3.3
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 +11 -9
- data/_includes/themes/j1/layouts/content_generator_post.html +1 -1
- data/_includes/themes/j1/modules/navigator/generator.html +3 -3
- data/_includes/themes/j1/modules/searcher/procedures/topsearch.proc +5 -5
- data/_includes/themes/j1/procedures/collections/create_collection_article_preview.proc +3 -3
- data/_includes/themes/j1/procedures/global/select_icon_size.proc +9 -2
- data/_includes/themes/j1/procedures/layouts/default_writer.proc +1 -1
- data/_includes/themes/j1/procedures/posts/collate_timeline.proc +8 -8
- data/_includes/themes/j1/procedures/posts/create_series_header.proc +1 -1
- data/_layouts/category.html +2 -2
- data/assets/data/authclient.html +10 -12
- data/assets/data/banner.html +3 -3
- data/assets/data/fab.html +11 -8
- data/assets/data/footer.html +2 -3
- data/assets/data/gallery_customizer.html +2 -2
- data/assets/data/masonry.html +4 -4
- data/assets/data/masterslider.html +1 -1
- data/assets/data/menu.html +9 -6
- data/assets/data/panel.html +11 -11
- data/assets/data/quicklinks.html +3 -1
- data/assets/data/rtext_resizer.html +1 -1
- data/assets/data/slick.html +2 -2
- data/assets/data/translator.html +1 -1
- data/assets/themes/j1/adapter/js/carousel.js +2 -2
- data/assets/themes/j1/adapter/js/j1.js +99 -25
- data/assets/themes/j1/adapter/js/justifiedGalleryCustomizer.js +1 -1
- data/assets/themes/j1/adapter/js/lazyLoader.js +221 -0
- data/assets/themes/j1/adapter/js/lunr.js +3 -3
- data/assets/themes/j1/adapter/js/navigator.js +3 -5
- data/assets/themes/j1/adapter/js/themeToggler.js +3 -3
- data/assets/themes/j1/adapter/js/themer.js +8 -5
- data/assets/themes/j1/core/css/icon-fonts/mdi.css +3 -7
- data/assets/themes/j1/core/css/icon-fonts/mdi.min.css +1 -1
- data/assets/themes/j1/core/css/icon-fonts/mdib.css +8391 -0
- data/assets/themes/j1/core/css/icon-fonts/mdib.min.css +1 -0
- data/assets/themes/j1/core/js/template.js +98 -31
- data/assets/themes/j1/core/js/template.min.js +2 -2
- data/assets/themes/j1/core/js/template.min.js.map +1 -1
- data/assets/themes/j1/modules/iconPicker/icons-libraries/mdi-icons-base.json +2690 -0
- data/assets/themes/j1/modules/iconPicker/icons-libraries/mdi-icons-base.min.json +1 -0
- data/assets/themes/j1/modules/iconPicker/icons-libraries/mdi-icons-light.json +2 -2
- data/assets/themes/j1/modules/iconPicker/icons-libraries/mdi-icons-light.min.json +1 -1
- data/assets/themes/j1/modules/materialize/scss/components/_global.scss +1 -1
- data/assets/themes/j1/modules/materialize/scss/components/_navbar.scss +2 -2
- data/assets/themes/j1/modules/materialize/scss/components/_sidenav.scss +1 -1
- data/assets/themes/j1/modules/materialize/scss/components/forms/_input-fields.scss +2 -2
- data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +1 -1
- data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +1 -1
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +2 -2
- data/lib/starter_web/README.md +5 -5
- data/lib/starter_web/_config.yml +1 -1
- data/lib/starter_web/_data/blocks/banner.yml +1 -1
- data/lib/starter_web/_data/blocks/footer.yml +1 -1
- data/lib/starter_web/_data/blocks/panel.yml +47 -47
- data/lib/starter_web/_data/j1_config.yml +1 -1
- data/lib/starter_web/_data/layouts/default.yml +1 -1
- data/lib/starter_web/_data/modules/defaults/attics.yml +2 -2
- data/lib/starter_web/_data/modules/defaults/authentication.yml +1 -1
- data/lib/starter_web/_data/modules/defaults/blog_navigator.yml +20 -20
- data/lib/starter_web/_data/modules/defaults/fab.yml +3 -3
- data/lib/starter_web/_data/modules/defaults/iconPicker.yml +1 -1
- data/lib/starter_web/_data/modules/defaults/lazyLoader.yml +33 -0
- data/lib/starter_web/_data/modules/defaults/lunr.yml +2 -2
- data/lib/starter_web/_data/modules/defaults/masterslider.yml +1 -1
- data/lib/starter_web/_data/modules/defaults/navigator.yml +18 -18
- data/lib/starter_web/_data/modules/defaults/themer.yml +2 -2
- data/lib/starter_web/_data/modules/fab.yml +7 -7
- data/lib/starter_web/_data/modules/iconPicker.yml +3 -3
- data/lib/starter_web/_data/modules/lazyLoader.yml +93 -0
- data/lib/starter_web/_data/modules/navigator_menu.yml +24 -73
- data/lib/starter_web/_data/modules/nbinteract.yml +445 -490
- data/lib/starter_web/_data/resources.yml +67 -69
- data/lib/starter_web/_data/templates/feed.xml +1 -1
- data/lib/starter_web/_includes/custom/templates/collection_panel.html +2 -2
- data/lib/starter_web/_plugins/asciidoctor/fab-icon-inline.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/fas-icon-inline.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/mdil-icon-inline.rb +1 -1
- data/lib/starter_web/_plugins/index/lunr.rb +1 -1
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/icon_fonts.adoc +152 -12
- data/lib/starter_web/pages/public/tools/cheatsheet/gem.adoc +4 -4
- data/lib/starter_web/pages/public/tools/cheatsheet/git.adoc +13 -13
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +9 -39
- data/assets/data/nbinteract.html +0 -129
- data/assets/themes/j1/adapter/js/nbinteract.js +0 -1485
- data/assets/themes/j1/modules/iconPicker/icons-libraries/mdi-icons-regular.json +0 -7312
- data/assets/themes/j1/modules/iconPicker/icons-libraries/mdi-icons-regular.min.json +0 -1
- data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.css +0 -1315
- data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.min.css +0 -7
- data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.structure.css +0 -886
- data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.structure.min.css +0 -5
- data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.theme.css +0 -446
- data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.theme.min.css +0 -5
- data/assets/themes/j1/modules/jquery-3.5.1/js/extensions/hasClass.js +0 -37
- data/assets/themes/j1/modules/jquery-3.5.1/js/extensions/hasClass.min.js +0 -17
- data/assets/themes/j1/modules/jquery-3.5.1/js/extensions/removeClass.js +0 -42
- data/assets/themes/j1/modules/jquery-3.5.1/js/extensions/removeClass.min.js +0 -17
- data/assets/themes/j1/modules/jquery-3.5.1/js/jquery-ui.js +0 -19057
- data/assets/themes/j1/modules/jquery-3.5.1/js/jquery-ui.min.js +0 -6
- data/assets/themes/j1/modules/jquery-3.5.1/js/jquery.js +0 -10872
- data/assets/themes/j1/modules/jquery-3.5.1/js/jquery.min.js +0 -2
- data/assets/themes/j1/modules/jquery-3.5.1/js/jquery.min.map +0 -1
- data/assets/themes/j1/modules/jquery-3.5.1/js/require.js +0 -2145
- data/assets/themes/j1/modules/jquery-3.5.1/js/require.min.js +0 -5
- data/assets/themes/j1/modules/nbinteract-core/LICENSE.txt +0 -60
- data/assets/themes/j1/modules/nbinteract-core/README.md +0 -226
- data/assets/themes/j1/modules/nbinteract-core/css/nbinteract.css +0 -191
- data/assets/themes/j1/modules/nbinteract-core/css/nbinteract.min.css +0 -19
- data/assets/themes/j1/modules/nbinteract-core/css/theme/uno/nbinteract.css +0 -250
- data/assets/themes/j1/modules/nbinteract-core/css/theme/uno/nbinteract.min.css +0 -15
- data/assets/themes/j1/modules/nbinteract-core/js/mathjax/latest.js +0 -19
- data/assets/themes/j1/modules/nbinteract-core/js/mathjax/tex-chtml-full.js +0 -34
- data/assets/themes/j1/modules/nbinteract-core/js/mathjax/tex-chtml.js +0 -1
- data/assets/themes/j1/modules/nbinteract-core/js/mathjax/tex-mml-chtml.js +0 -1
- data/assets/themes/j1/modules/nbinteract-core/js/nbinteract/README +0 -1
- data/assets/themes/j1/modules/nbinteract-core/js/nbinteract/j1-nbinteract-core.js +0 -94
- data/assets/themes/j1/modules/nbinteract-core/js/nbinteract/j1-nbinteract-core.js.map +0 -1
- data/assets/themes/j1/modules/nbinteract-core/js/requireJS/require.js +0 -2068
- data/assets/themes/j1/modules/nbinteract-core/js/requireJS/require.min.js +0 -36
- data/lib/starter_web/_data/modules/defaults/nbinteract.yml +0 -281
data/assets/data/panel.html
CHANGED
@@ -336,7 +336,7 @@ exclude_from_search: true
|
|
336
336
|
{% else %}
|
337
337
|
<span>
|
338
338
|
{% if card_icon_color == 'bg-primary' %}
|
339
|
-
<i class="{{card_icon_family}} {{card_icon_family}}-{{card_icon}} {{card_icon_family}}-{{card_icon_size}}
|
339
|
+
<i class="{{card_icon_family}} {{card_icon_family}}-{{card_icon}} {{card_icon_family}}-{{card_icon_size}} md-white"></i>
|
340
340
|
{% else %}
|
341
341
|
<i class="{{card_icon_family}} {{card_icon_family}}-{{card_icon}} {{card_icon_family}}-{{card_icon_size}} {{card_icon_family}}-{{card_icon_color}}"></i>
|
342
342
|
{% endif %}
|
@@ -757,9 +757,9 @@ exclude_from_search: true
|
|
757
757
|
<div class="card">
|
758
758
|
<div class="card-header" id="headingOne">
|
759
759
|
<h2 class="clearfix mb-0">
|
760
|
-
<a class="btn btn-link card-profile collapsed" href="#
|
761
|
-
<!-- i class="fa fa-chevron-circle-
|
762
|
-
<i class="
|
760
|
+
<a class="btn btn-link card-profile collapsed" href="#" data-bs-toggle="collapse" data-bs-target="#{{list.service.id}}" aria-expanded="false" aria-controls="{{list.service.id}}">
|
761
|
+
<!-- i class="fa fa-chevron-circle-right"></i -->
|
762
|
+
<i class="mdib mdib-chevron-right-circle"></i>
|
763
763
|
{{list.service.title}}
|
764
764
|
</a>
|
765
765
|
</h2>
|
@@ -935,10 +935,10 @@ exclude_from_search: true
|
|
935
935
|
|
936
936
|
<div class="card-footer-text">
|
937
937
|
{% if language == "en" %}
|
938
|
-
<i class="
|
938
|
+
<i class="mdib mdib-calendar-blank md-grey-900 mr-1"></i>{{post.date | localize: "%Y %B, %e"}}
|
939
939
|
{% endif %}
|
940
940
|
{% if language == "de" %}
|
941
|
-
<i class="
|
941
|
+
<i class="mdib mdib-calendar-blank md-grey-900 mr-1"></i>{{post.date | localize: "%-d. %B %Y"}}
|
942
942
|
{% endif %}
|
943
943
|
|
944
944
|
<!-- Cleanup categories by given blacklist -->
|
@@ -949,10 +949,10 @@ exclude_from_search: true
|
|
949
949
|
{% assign tags = post.tags | join: " · " %}
|
950
950
|
|
951
951
|
<p class="result-item-text small mb-3 notranslate">
|
952
|
-
<i class="
|
952
|
+
<i class="mdib mdib-tag-text-outline mdib-18px mr-1"></i>
|
953
953
|
<span class="sr-categories">{{categories}}</span>
|
954
954
|
<br>
|
955
|
-
<i class="
|
955
|
+
<i class="mdib mdib-tag mdib-18px mr-1"></i>
|
956
956
|
<span class="sr-tags">{{tags}}</span>
|
957
957
|
</p>
|
958
958
|
</div>
|
@@ -1004,10 +1004,10 @@ exclude_from_search: true
|
|
1004
1004
|
|
1005
1005
|
<div class="card-footer-text">
|
1006
1006
|
{% if language == "en" %}
|
1007
|
-
<i class="
|
1007
|
+
<i class="mdib mdib-calendar-blank md-grey-900 mr-1"></i>{{post.date | localize: "%Y %B, %e"}}
|
1008
1008
|
{% endif %}
|
1009
1009
|
{% if language == "de" %}
|
1010
|
-
<i class="
|
1010
|
+
<i class="mdib mdib-calendar-blank md-grey-900 mr-1"></i>{{post.date | localize: "%-d. %B %Y"}}
|
1011
1011
|
{% endif %}
|
1012
1012
|
</div>
|
1013
1013
|
<a class="card-link text-lowercase"
|
@@ -1075,7 +1075,7 @@ exclude_from_search: true
|
|
1075
1075
|
<div class="box">
|
1076
1076
|
<div class="content content-danger">
|
1077
1077
|
<h2 class="notoc">
|
1078
|
-
<i class="
|
1078
|
+
<i class="mdib mdib-alarm-light mdib-3x md-red mr-1"></i>
|
1079
1079
|
panel of type <big>{{panel_settings.type}}</big> not found
|
1080
1080
|
</h2>
|
1081
1081
|
<h4 class="notoc box-title">Check your configuration at {{panel_config_file_name}}</h4>
|
data/assets/data/quicklinks.html
CHANGED
@@ -220,8 +220,10 @@ exclude_from_search: true
|
|
220
220
|
{% assign icon_family = 'fa' %}
|
221
221
|
{% elsif quicklinks_options.icon_family == 'MDI' or quicklinks_options.icon_family == 'Material Design Icons' %}
|
222
222
|
{% assign icon_family = 'mdi' %}
|
223
|
+
{% elsif quicklinks_options.icon_family == 'mdib' or quicklinks_options.icon_family == 'Material Design Icons' %}
|
224
|
+
{% assign icon_family = 'mdib' %}
|
223
225
|
{% else %}
|
224
|
-
{% assign icon_family = '
|
226
|
+
{% assign icon_family = 'mdib' %}
|
225
227
|
{% endif %}
|
226
228
|
|
227
229
|
{% include {{select_icon_size}} family=quicklinks_options.icon_family size=quicklinks_options.icon_size %}
|
@@ -84,7 +84,7 @@ exclude_from_search: true
|
|
84
84
|
<div class="modal-header">
|
85
85
|
<p class="lead">Text Resizer</p>
|
86
86
|
<button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
|
87
|
-
<i class="
|
87
|
+
<i class="mdib mdib-close mdib-48px md-dark"></i>
|
88
88
|
</button>
|
89
89
|
</div>
|
90
90
|
<!-- Body -->
|
data/assets/data/slick.html
CHANGED
@@ -221,11 +221,11 @@ exclude_from_search: true
|
|
221
221
|
|
222
222
|
<ul class="list-inline d-flex justify-content-center mb-3">
|
223
223
|
<li class="list-inline-item">
|
224
|
-
<i class="
|
224
|
+
<i class="mdib mdib-account mdib-24px md-gray-400 mr-1" style="margin-right: 8px;"></i>
|
225
225
|
{{site.author.name | split: ' ' | first}} ·
|
226
226
|
</li>
|
227
227
|
<li class="list-inline-item">
|
228
|
-
<i class="
|
228
|
+
<i class="mdib mdib-calendar-blank mdib-24px md-gray-400 mr-1"></i>
|
229
229
|
{{post.date | date: '%b %d, %Y'}}
|
230
230
|
</li>
|
231
231
|
</ul>
|
data/assets/data/translator.html
CHANGED
@@ -81,7 +81,7 @@ exclude_from_search: true
|
|
81
81
|
<p class="mb-3">{{translate_options.google.modal_settings.body_text.en}}</p>
|
82
82
|
</div>
|
83
83
|
<p style="font-size: 90%">{{translate_options.google.modal_settings.language_selector_title.en}}</p>
|
84
|
-
<div id="dropdownJSON" class="notranslate mb-4" style="display:none"></div>
|
84
|
+
<div id="dropdownJSON" class="ms-dopdown notranslate mb-4" style="display:none"></div>
|
85
85
|
<p>
|
86
86
|
<a href="#google-privacy" data-bs-toggle="collapse" class="">Privacy Notice</a>
|
87
87
|
<a href="#google-options" data-bs-toggle="collapse" class="float-right">Privacy</a>
|
@@ -242,9 +242,9 @@ j1.adapter.carousel = (function (j1, window) {
|
|
242
242
|
{% endif %}
|
243
243
|
|
244
244
|
{% if text_color %}
|
245
|
-
$('#{{slider_id}}').addClass('
|
245
|
+
$('#{{slider_id}}').addClass('md-{{text_color}}');
|
246
246
|
{% else %}
|
247
|
-
$('#{{slider_id}}').addClass('
|
247
|
+
$('#{{slider_id}}').addClass('md-grey-100');
|
248
248
|
{% endif %}
|
249
249
|
|
250
250
|
{% if font_size %}
|
@@ -82,8 +82,7 @@ regenerate: true
|
|
82
82
|
|
83
83
|
{% assign authentication_options = authentication_defaults | merge: authentication_settings %}
|
84
84
|
|
85
|
-
|
86
|
-
|
85
|
+
{% assign footer = 'active_footer' %}
|
87
86
|
{% assign footer_id = footer_options.active_footer %}
|
88
87
|
{% assign footer_data_path = footer_defaults.data_path %}
|
89
88
|
{% assign banner_data_path = banner_defaults.data_path %}
|
@@ -165,6 +164,8 @@ var j1 = (function (options) {
|
|
165
164
|
var state = 'not_started';
|
166
165
|
var mode = 'not_detected';
|
167
166
|
|
167
|
+
var performance_monitors_enabled = ('{{template_config.monitor.performance_observer}}' === 'true') ? true: false;
|
168
|
+
|
168
169
|
// defaults for tracking providers
|
169
170
|
var tracking_enabled = ('{{tracking_enabled}}' === 'true') ? true: false;
|
170
171
|
var tracking_id = '{{tracking_id}}';
|
@@ -457,12 +458,12 @@ var j1 = (function (options) {
|
|
457
458
|
// set signout
|
458
459
|
logger.info('\n' + 'show signout icon');
|
459
460
|
$('#navLinkSignInOut').attr('data-bs-target','#modalOmniSignOut');
|
460
|
-
$('#iconSignInOut').removeClass('
|
461
|
+
$('#iconSignInOut').removeClass('mdib-login').addClass('mdib-logout');
|
461
462
|
} else {
|
462
463
|
// set signin
|
463
464
|
logger.info('\n' + 'show signin icon');
|
464
465
|
$('#navLinkSignInOut').attr('data-bs-target','#modalOmniSignIn');
|
465
|
-
$('#iconSignInOut').removeClass('
|
466
|
+
$('#iconSignInOut').removeClass('mdib-logout').addClass('mdib-login');
|
466
467
|
}
|
467
468
|
logger.info('\n' + 'authentication detected as: ' + user_session.authenticated);
|
468
469
|
$('#quickLinksSignInOutButton').css('display', 'block');
|
@@ -562,7 +563,7 @@ var j1 = (function (options) {
|
|
562
563
|
// show the content|footer
|
563
564
|
//
|
564
565
|
$('#content').show();
|
565
|
-
$('
|
566
|
+
$('.{{footer}}').show();
|
566
567
|
|
567
568
|
clearInterval(dependencies_met_page_ready);
|
568
569
|
clearInterval(dependencies_met_blocks_ready);
|
@@ -582,7 +583,7 @@ var j1 = (function (options) {
|
|
582
583
|
//
|
583
584
|
if ( footer_state == 'success') {
|
584
585
|
$('#content').show();
|
585
|
-
$('
|
586
|
+
$('.{{footer}}').show();
|
586
587
|
|
587
588
|
clearInterval(dependencies_met_page_ready);
|
588
589
|
}
|
@@ -720,7 +721,7 @@ var j1 = (function (options) {
|
|
720
721
|
// show the content|footer
|
721
722
|
//
|
722
723
|
$('#content').show();
|
723
|
-
$('
|
724
|
+
$('.{{footer}}').show();
|
724
725
|
|
725
726
|
clearInterval(dependencies_met_page_ready);
|
726
727
|
clearInterval(dependencies_met_blocks_ready);
|
@@ -740,7 +741,7 @@ var j1 = (function (options) {
|
|
740
741
|
//
|
741
742
|
if ( footer_state == 'success') {
|
742
743
|
$('#content').show();
|
743
|
-
$('
|
744
|
+
$('.{{footer}}').show();
|
744
745
|
|
745
746
|
clearInterval(dependencies_met_page_ready);
|
746
747
|
}
|
@@ -1215,12 +1216,12 @@ var j1 = (function (options) {
|
|
1215
1216
|
// set signout
|
1216
1217
|
logger.info('\n' + 'show signout icon');
|
1217
1218
|
$('#navLinkSignInOut').attr('data-bs-target','#modalOmniSignOut');
|
1218
|
-
$('#iconSignInOut').removeClass('
|
1219
|
+
$('#iconSignInOut').removeClass('mdib-login').addClass('mdib-logout');
|
1219
1220
|
} else {
|
1220
1221
|
// set signin
|
1221
1222
|
logger.info('\n' + 'show signin icon');
|
1222
1223
|
$('#navLinkSignInOut').attr('data-bs-target','#modalOmniSignIn');
|
1223
|
-
$('#iconSignInOut').removeClass('
|
1224
|
+
$('#iconSignInOut').removeClass('mdib-logout').addClass('mdib-login');
|
1224
1225
|
}
|
1225
1226
|
logger.info('\n' + 'authentication detected as: ' + user_session.authenticated);
|
1226
1227
|
$('#quickLinksSignInOutButton').css('display', 'block');
|
@@ -2486,8 +2487,8 @@ var j1 = (function (options) {
|
|
2486
2487
|
// // var tabs_pills_link_color_active = j1.setColorData('md_blue'); // j1.getStyleValue('btn-info', 'background-color');
|
2487
2488
|
// // var tabs_pills_link_color_hover = j1.setColorData('md_gray_300'); // j1.getStyleValue('btn-secondary', 'background-color');
|
2488
2489
|
//
|
2489
|
-
// // var tabs_pills_link_color_active = '
|
2490
|
-
// // var tabs_pills_link_color_hover = '
|
2490
|
+
// // var tabs_pills_link_color_active = 'md-blue';
|
2491
|
+
// // var tabs_pills_link_color_hover = 'md-gray-300';
|
2491
2492
|
//
|
2492
2493
|
// // nav module
|
2493
2494
|
// // -----------------------------------------------------------------------
|
@@ -2699,6 +2700,64 @@ var j1 = (function (options) {
|
|
2699
2700
|
|
2700
2701
|
}, // END stringToBoolean
|
2701
2702
|
|
2703
|
+
// -------------------------------------------------------------------------
|
2704
|
+
// registerLazyLoadCss()
|
2705
|
+
// CSS loader to speed up inital rendering
|
2706
|
+
//
|
2707
|
+
// Requires the following config serrings:
|
2708
|
+
//
|
2709
|
+
// src: the 'location' of the CSS file
|
2710
|
+
// selector: the 'selector' that triggers the observer
|
2711
|
+
// rootMargin: the 'margin' before the load is trigged
|
2712
|
+
//
|
2713
|
+
// -------------------------------------------------------------------------
|
2714
|
+
//
|
2715
|
+
registerLazyLoadCss: function () {
|
2716
|
+
|
2717
|
+
console.log('register CSS files for lazy loading');
|
2718
|
+
|
2719
|
+
// load MDI Light CSS
|
2720
|
+
//
|
2721
|
+
j1.lazyCss().observe({
|
2722
|
+
'src': '/assets/themes/j1/core/css/icon-fonts/mdil.min.css',
|
2723
|
+
'selector': '.mdil',
|
2724
|
+
'rootMargin': '150px 0px'
|
2725
|
+
});
|
2726
|
+
|
2727
|
+
// load MDI Regular CSS
|
2728
|
+
//
|
2729
|
+
j1.lazyCss().observe({
|
2730
|
+
'src': '/assets/themes/j1/core/css/icon-fonts/mdi.min.css',
|
2731
|
+
'selector': '.mdi',
|
2732
|
+
'rootMargin': '150px 0px'
|
2733
|
+
});
|
2734
|
+
|
2735
|
+
// load FA CSS
|
2736
|
+
//
|
2737
|
+
j1.lazyCss().observe({
|
2738
|
+
'src': '/assets/themes/j1/core/css/icon-fonts/fontawesome.min.css',
|
2739
|
+
'selector': '.fa',
|
2740
|
+
'rootMargin': '150px 0px'
|
2741
|
+
});
|
2742
|
+
|
2743
|
+
// load rTable CSS
|
2744
|
+
//
|
2745
|
+
j1.lazyCss().observe({
|
2746
|
+
'src': '/assets/themes/j1/modules/rtable/css/theme/uno/rtable.min.css',
|
2747
|
+
'selector': '.rtable',
|
2748
|
+
'rootMargin': '150px 0px'
|
2749
|
+
});
|
2750
|
+
|
2751
|
+
// load CountryFlags CSS
|
2752
|
+
//
|
2753
|
+
j1.lazyCss().observe({
|
2754
|
+
'src': '/assets/themes/j1/core/country-flags/css/theme/uno.min.css',
|
2755
|
+
'selector': '.flag-icon',
|
2756
|
+
'rootMargin': '150px 0px'
|
2757
|
+
});
|
2758
|
+
|
2759
|
+
}, // END registerLazyLoadCss
|
2760
|
+
|
2702
2761
|
// -------------------------------------------------------------------------
|
2703
2762
|
// registerMonitors()
|
2704
2763
|
//
|
@@ -2710,6 +2769,10 @@ var j1 = (function (options) {
|
|
2710
2769
|
var cumulated_lcp = 0;
|
2711
2770
|
const development = ('{{environment}}'.includes('prod')) ? false : true;
|
2712
2771
|
|
2772
|
+
{% comment %} generate code for performance monitor if 'enabled'
|
2773
|
+
------------------------------------------------------------------------ {% endcomment %}
|
2774
|
+
{% if template_config.monitor.performance_observer %}
|
2775
|
+
|
2713
2776
|
// PerformanceObserver to monitor the 'LCP' of a page load
|
2714
2777
|
// see: https://developer.mozilla.org/en-US/docs/Web/API/LargestContentfulPaint
|
2715
2778
|
//
|
@@ -2778,7 +2841,11 @@ var j1 = (function (options) {
|
|
2778
2841
|
}
|
2779
2842
|
|
2780
2843
|
for (const {node, currentRect, previousRect} of entry.sources) {
|
2781
|
-
var hasProperty =
|
2844
|
+
var hasProperty = node.hasOwnProperty('firstElementChild');
|
2845
|
+
if (hasProperty == null) {
|
2846
|
+
hasProperty = false;
|
2847
|
+
}
|
2848
|
+
|
2782
2849
|
if (hasProperty) {
|
2783
2850
|
var id = '';
|
2784
2851
|
try {
|
@@ -2805,6 +2872,8 @@ var j1 = (function (options) {
|
|
2805
2872
|
|
2806
2873
|
}); // END performanceObserverCLS
|
2807
2874
|
|
2875
|
+
{% endif %}
|
2876
|
+
|
2808
2877
|
// ResizeObserver to monitor the changes on page height (dynamic pages)
|
2809
2878
|
// see: https://stackoverflow.com/questions/14866775/detect-document-height-change
|
2810
2879
|
//
|
@@ -2899,19 +2968,24 @@ var j1 = (function (options) {
|
|
2899
2968
|
// run all observers for page monitoring
|
2900
2969
|
// -----------------------------------------------------------------------
|
2901
2970
|
|
2902
|
-
|
2903
|
-
|
2904
|
-
|
2905
|
-
|
2906
|
-
|
2907
|
-
|
2971
|
+
{% comment %} generate initializers for performance monitoring if 'enabled'
|
2972
|
+
------------------------------------------------------------------------ {% endcomment %}
|
2973
|
+
{% if template_config.monitor.performance_observer %}
|
2974
|
+
// monitor 'LCP'
|
2975
|
+
//
|
2976
|
+
performanceObserverLCP.observe({
|
2977
|
+
type: 'largest-contentful-paint',
|
2978
|
+
buffered: true
|
2979
|
+
});
|
2908
2980
|
|
2909
|
-
|
2910
|
-
|
2911
|
-
|
2912
|
-
|
2913
|
-
|
2914
|
-
|
2981
|
+
// monitor 'CLS'
|
2982
|
+
//
|
2983
|
+
performanceObserverCLS.observe({
|
2984
|
+
type: 'layout-shift',
|
2985
|
+
buffered: true
|
2986
|
+
});
|
2987
|
+
|
2988
|
+
{% endif %}
|
2915
2989
|
|
2916
2990
|
// monitor 'GROWTH'
|
2917
2991
|
resizeObserver.observe(
|
@@ -290,7 +290,7 @@ j1.adapter.justifiedGalleryCustomizer = (function (j1, window) {
|
|
290
290
|
// See: https://jsfiddle.net/prathviraj080/vbbbw46a/1/
|
291
291
|
//
|
292
292
|
$('button.drawer-toggler').click(function(){
|
293
|
-
$('button.drawer-toggler span.mdi').toggleClass('
|
293
|
+
$('button.drawer-toggler span.mdi').toggleClass('mdib-menu mdib-close');
|
294
294
|
});
|
295
295
|
$('button.drawer-toggler').click(function(){
|
296
296
|
$('button.drawer-toggler').toggleClass('fadeIn rotateIn');
|
@@ -0,0 +1,221 @@
|
|
1
|
+
---
|
2
|
+
regenerate: true
|
3
|
+
---
|
4
|
+
|
5
|
+
{% capture cache %}
|
6
|
+
|
7
|
+
{% comment %}
|
8
|
+
# -----------------------------------------------------------------------------
|
9
|
+
# ~/assets/themes/j1/adapter/js/lazyCSSLoader.js
|
10
|
+
# Liquid template to adapt the lazyCSS module(core)
|
11
|
+
#
|
12
|
+
# Product/Info:
|
13
|
+
# https://jekyll.one
|
14
|
+
# Copyright (C) 2023 Juergen Adams
|
15
|
+
#
|
16
|
+
# J1 Theme is licensed under the MIT License.
|
17
|
+
# For details, see: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
|
18
|
+
# -----------------------------------------------------------------------------
|
19
|
+
# Test data:
|
20
|
+
# {{ liquid_var | debug }}
|
21
|
+
# wave_options: {{ wave_options | debug }}
|
22
|
+
# -----------------------------------------------------------------------------
|
23
|
+
{% endcomment %}
|
24
|
+
|
25
|
+
{% comment %} Liquid procedures
|
26
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
27
|
+
|
28
|
+
{% comment %} Set global settings
|
29
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
30
|
+
{% assign environment = site.environment %}
|
31
|
+
{% assign asset_path = "/assets/themes/j1" %}
|
32
|
+
|
33
|
+
{% comment %} Process YML config data
|
34
|
+
================================================================================ {% endcomment %}
|
35
|
+
|
36
|
+
{% comment %} Set config files
|
37
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
38
|
+
{% assign template_config = site.data.j1_config %}
|
39
|
+
{% assign blocks = site.data.blocks %}
|
40
|
+
{% assign modules = site.data.modules %}
|
41
|
+
|
42
|
+
{% comment %} Set config data (settings only)
|
43
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
44
|
+
{% assign lazy_loader_defaults = modules.defaults.lazyLoader.defaults %}
|
45
|
+
{% assign lazy_loader_settings = modules.lazyLoader.settings %}
|
46
|
+
|
47
|
+
{% comment %} Set config options (settings only)
|
48
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
49
|
+
{% assign lazy_loader_options = lazy_loader_defaults | merge: lazy_loader_settings %}
|
50
|
+
|
51
|
+
{% comment %} Detect prod mode
|
52
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
53
|
+
{% assign production = false %}
|
54
|
+
{% if environment == 'prod' or environment == 'production' %}
|
55
|
+
{% assign production = true %}
|
56
|
+
{% endif %}
|
57
|
+
|
58
|
+
/*
|
59
|
+
# -----------------------------------------------------------------------------
|
60
|
+
# ~/assets/themes/j1/adapter/js/lazyLoader.js
|
61
|
+
# J1 Adapter for the lazyLoader module (core)
|
62
|
+
#
|
63
|
+
# Product/Info:
|
64
|
+
# https://jekyll.one
|
65
|
+
#
|
66
|
+
# Copyright (C) 2023 Juergen Adams
|
67
|
+
#
|
68
|
+
# J1 Theme is licensed under the MIT License.
|
69
|
+
# For details, see: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
|
70
|
+
# -----------------------------------------------------------------------------
|
71
|
+
# Adapter generated: {{site.time}}
|
72
|
+
# -----------------------------------------------------------------------------
|
73
|
+
*/
|
74
|
+
|
75
|
+
// -----------------------------------------------------------------------------
|
76
|
+
// ESLint shimming
|
77
|
+
// -----------------------------------------------------------------------------
|
78
|
+
/* eslint indent: "off" */
|
79
|
+
// -----------------------------------------------------------------------------
|
80
|
+
'use strict';
|
81
|
+
j1.adapter.lazyLoader = (function (j1, window) {
|
82
|
+
|
83
|
+
{% comment %} Set global variables
|
84
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
85
|
+
var environment = '{{environment}}';
|
86
|
+
var cookie_names = j1.getCookieNames();
|
87
|
+
var user_state = j1.readCookie(cookie_names.user_state);
|
88
|
+
var lazyLoaderDefaults;
|
89
|
+
var lazyLoaderSettings;
|
90
|
+
var lazyLoaderOptions;
|
91
|
+
var frontmatterOptions;
|
92
|
+
var _this;
|
93
|
+
var logger;
|
94
|
+
var logText;
|
95
|
+
|
96
|
+
// ---------------------------------------------------------------------------
|
97
|
+
// Main object
|
98
|
+
// ---------------------------------------------------------------------------
|
99
|
+
return {
|
100
|
+
|
101
|
+
// -------------------------------------------------------------------------
|
102
|
+
// init()
|
103
|
+
// adapter initializer
|
104
|
+
// -------------------------------------------------------------------------
|
105
|
+
init: function (options) {
|
106
|
+
|
107
|
+
// -----------------------------------------------------------------------
|
108
|
+
// Default module settings
|
109
|
+
// -----------------------------------------------------------------------
|
110
|
+
var settings = $.extend({
|
111
|
+
module_name: 'j1.adapter.lazyLoader',
|
112
|
+
generated: '{{site.time}}'
|
113
|
+
}, options);
|
114
|
+
|
115
|
+
// -----------------------------------------------------------------------
|
116
|
+
// Global variable settings
|
117
|
+
// -----------------------------------------------------------------------
|
118
|
+
|
119
|
+
// create settings object from module options
|
120
|
+
//
|
121
|
+
lazyLoaderDefaults = $.extend({}, {{lazy_loader_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
|
122
|
+
lazyLoaderSettings = $.extend({}, {{lazy_loader_settings | replace: 'nil', 'null' | replace: '=>', ':' }});
|
123
|
+
lazyLoaderOptions = $.extend(true, {}, lazyLoaderDefaults, lazyLoaderSettings);
|
124
|
+
|
125
|
+
_this = j1.adapter.lazyLoader;
|
126
|
+
logger = log4javascript.getLogger('j1.adapter.lazyLoader');
|
127
|
+
|
128
|
+
var dependencies_met_lazy_loader = setInterval(function() {
|
129
|
+
var pageFinished = (j1.getState() == 'finished') ? true: false;
|
130
|
+
|
131
|
+
if (pageFinished) {
|
132
|
+
|
133
|
+
_this.setState('started');
|
134
|
+
logger.info('\n' + 'initialize moodule lazyLoader: started');
|
135
|
+
|
136
|
+
_this.registerLoaders(lazyLoaderOptions);
|
137
|
+
|
138
|
+
_this.setState('finished');
|
139
|
+
logger.info('\n' + 'initialize moodule lazyLoader: finished');
|
140
|
+
clearInterval(dependencies_met_lazy_loader);
|
141
|
+
}
|
142
|
+
}, 10);
|
143
|
+
|
144
|
+
}, // END init
|
145
|
+
|
146
|
+
// -------------------------------------------------------------------------
|
147
|
+
// registerLoaders()
|
148
|
+
// Lazy load CSS to speed up page rendering
|
149
|
+
//
|
150
|
+
// Requires the following settings:
|
151
|
+
//
|
152
|
+
// src: the 'location' of the CSS file
|
153
|
+
// selector: the 'selector' that triggers the observer
|
154
|
+
// rootMargin: the 'margin' before the load is trigged
|
155
|
+
//
|
156
|
+
// -------------------------------------------------------------------------
|
157
|
+
//
|
158
|
+
registerLoaders: function () {
|
159
|
+
{% for loader in lazy_loader_options.loaders %} {% if loader.enabled %}
|
160
|
+
j1.lazyCSS().observe({
|
161
|
+
src: '{{loader.src}}',
|
162
|
+
selector: '{{loader.selector}}',
|
163
|
+
rootMargin: '{{loader.rootMargin}}'
|
164
|
+
});
|
165
|
+
logger.info('\n' + 'register lazy loading for: {{loader.description}}');
|
166
|
+
{% endif %} {% endfor %}
|
167
|
+
}, // END registerLoaders
|
168
|
+
|
169
|
+
// -------------------------------------------------------------------------
|
170
|
+
// messageHandler()
|
171
|
+
// manage messages send from other J1 modules
|
172
|
+
// -------------------------------------------------------------------------
|
173
|
+
messageHandler: function (sender, message) {
|
174
|
+
var json_message = JSON.stringify(message, undefined, 2);
|
175
|
+
|
176
|
+
logText = '\n' + 'received message from ' + sender + ': ' + json_message;
|
177
|
+
logger.debug(logText);
|
178
|
+
|
179
|
+
// -----------------------------------------------------------------------
|
180
|
+
// Process commands|actions
|
181
|
+
// -----------------------------------------------------------------------
|
182
|
+
if (message.type === 'command' && message.action === 'module_initialized') {
|
183
|
+
//
|
184
|
+
// Place handling of command|action here
|
185
|
+
//
|
186
|
+
logger.info('\n' + message.text);
|
187
|
+
}
|
188
|
+
|
189
|
+
//
|
190
|
+
// Place handling of other command|action here
|
191
|
+
//
|
192
|
+
|
193
|
+
return true;
|
194
|
+
}, // END messageHandler
|
195
|
+
|
196
|
+
// -------------------------------------------------------------------------
|
197
|
+
// setState()
|
198
|
+
// Sets the current (processing) state of the module
|
199
|
+
// -------------------------------------------------------------------------
|
200
|
+
setState: function (stat) {
|
201
|
+
_this.state = stat;
|
202
|
+
}, // END setState
|
203
|
+
|
204
|
+
// -------------------------------------------------------------------------
|
205
|
+
// getState()
|
206
|
+
// Returns the current (processing) state of the module
|
207
|
+
// -------------------------------------------------------------------------
|
208
|
+
getState: function () {
|
209
|
+
return _this.state;
|
210
|
+
} // END getState
|
211
|
+
|
212
|
+
}; // END return
|
213
|
+
})(j1, window);
|
214
|
+
|
215
|
+
{% endcapture %}
|
216
|
+
{% if production %}
|
217
|
+
{{ cache | minifyJS }}
|
218
|
+
{% else %}
|
219
|
+
{{ cache | strip_empty_lines }}
|
220
|
+
{% endif %}
|
221
|
+
{% assign cache = nil %}
|
@@ -168,10 +168,10 @@ j1.adapter.lunr = (function (j1, window) {
|
|
168
168
|
_this.modalScript.text += '{{#docs}}' + '\n';
|
169
169
|
_this.modalScript.text += ' <li>' + '\n';
|
170
170
|
_this.modalScript.text += ' <h4 class="result-item"> <a class="link-no-decoration" href="{{url}}" target="_blank">{{title}} · {{tagline}}</a> </h4>' + '\n';
|
171
|
-
_this.modalScript.text += ' <p class="result-item-text small text-muted mt-2 mb-0"> <i class="
|
171
|
+
_this.modalScript.text += ' <p class="result-item-text small text-muted mt-2 mb-0"> <i class="mdib mdib-calendar-blank mdib-18px mr-1"></i>{{displaydate}} </p>' + '\n';
|
172
172
|
_this.modalScript.text += ' <p class="result-item-text">{{description}}</p>' + '\n';
|
173
|
-
_this.modalScript.text += ' <i class="
|
174
|
-
_this.modalScript.text += ' <i class="
|
173
|
+
_this.modalScript.text += ' <i class="mdib mdib-tag-text-outline mdib-18px mr-1"></i><span class="sr-categories">{{#categories}} {{.}} · {{/categories}}</span>' + '\n';
|
174
|
+
_this.modalScript.text += ' <i class="mdib mdib-tag mdib-18px mr-1 ml-2"></i><span class="sr-tags">{{#tags}} {{.}} · {{/tags}}</span>' + '\n';
|
175
175
|
_this.modalScript.text += ' </p>' + '\n';
|
176
176
|
_this.modalScript.text += ' </li>' + '\n';
|
177
177
|
_this.modalScript.text += '{{/docs}}' + '\n';
|
@@ -487,11 +487,11 @@ j1.adapter.navigator = (function (j1, window) {
|
|
487
487
|
if (user_session.authenticated === 'true') {
|
488
488
|
// Set SignOut
|
489
489
|
$('#navLinkSignInOut').attr('data-bs-target', '#modalOmniSignOut');
|
490
|
-
$('#iconSignInOut').removeClass('
|
490
|
+
$('#iconSignInOut').removeClass('mdib-login').addClass('mdib-logout');
|
491
491
|
} else {
|
492
492
|
// Set SignIn
|
493
493
|
$('#navLinkSignInOut').attr('data-bs-target', '#modalOmniSignIn');
|
494
|
-
$('#iconSignInOut').removeClass('
|
494
|
+
$('#iconSignInOut').removeClass('mdib-logout').addClass('mdib-login');
|
495
495
|
}
|
496
496
|
}
|
497
497
|
|
@@ -889,11 +889,9 @@ j1.adapter.navigator = (function (j1, window) {
|
|
889
889
|
style += '</style>';
|
890
890
|
$('head').append(style);
|
891
891
|
|
892
|
-
|
893
|
-
|
894
892
|
// $('head').append('<style>.mdi-bg-primary {color: ' +bg_scrolled+ ';}</style>');
|
895
893
|
style = '<style>';
|
896
|
-
style += '
|
894
|
+
style += ' var(--bg-primary) {';
|
897
895
|
style += ' color: ' + bg_scrolled;
|
898
896
|
style += ' }';
|
899
897
|
style += '</style>';
|