j1-template 2024.1.5 → 2024.2.0
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_page.html +0 -34
- data/_includes/themes/j1/modules/searcher/generator.html +4 -1
- data/_includes/themes/j1/modules/searcher/procedures/topsearch.proc +59 -56
- data/assets/data/authclient.html +1 -8
- data/assets/data/banner.html +1 -7
- data/assets/data/fab.html +2 -13
- data/assets/data/footer.html +0 -3
- data/assets/data/galeries.html +2 -13
- data/assets/data/gemini-ui.html +74 -21
- data/assets/data/iframes.html +1 -4
- data/assets/data/masonry.html +1 -13
- data/assets/data/masterslider.html +10 -21
- data/assets/data/menu.html +6 -14
- data/assets/data/mmenu.html +6 -5
- data/assets/data/mmenu_toc.html +2 -1
- data/assets/data/panel.html +4 -11
- data/assets/data/particles.yml +8 -8
- data/assets/data/quicklinks.html +4 -23
- data/assets/data/rtext_resizer.html +3 -1
- data/assets/data/slick.html +9 -11
- data/assets/data/translator.html +0 -1
- data/assets/themes/j1/adapter/js/advertising.js +141 -172
- data/assets/themes/j1/adapter/js/algolia.js +61 -54
- data/assets/themes/j1/adapter/js/analytics.js +67 -47
- data/assets/themes/j1/adapter/js/asciidoctor.js +32 -20
- data/assets/themes/j1/adapter/js/attic.js +75 -69
- data/assets/themes/j1/adapter/js/bmd.js +195 -177
- data/assets/themes/j1/adapter/js/carousel.js +786 -761
- data/assets/themes/j1/adapter/js/chatbot.js +77 -35
- data/assets/themes/j1/adapter/js/clipboard.js +66 -49
- data/assets/themes/j1/adapter/js/comments.js +92 -70
- data/assets/themes/j1/adapter/js/cookieConsent.js +466 -462
- data/assets/themes/j1/adapter/js/customFunctions.js +52 -35
- data/assets/themes/j1/adapter/js/customModule.js +56 -46
- data/assets/themes/j1/adapter/js/docsearch.js +54 -34
- data/assets/themes/j1/adapter/js/dropdowns.js +65 -52
- data/assets/themes/j1/adapter/js/fab.js +123 -109
- data/assets/themes/j1/adapter/js/gallery.js +494 -476
- data/assets/themes/j1/adapter/js/gemini.js +933 -299
- data/assets/themes/j1/adapter/js/iconPicker.js +255 -235
- data/assets/themes/j1/adapter/js/iconPickerPage.js +279 -0
- data/assets/themes/j1/adapter/js/iframer.js +81 -61
- data/assets/themes/j1/adapter/js/j1.js +3285 -3222
- data/assets/themes/j1/adapter/js/lazyLoader.js +241 -222
- data/assets/themes/j1/adapter/js/lightbox.js +241 -241
- data/assets/themes/j1/adapter/js/logger.js +77 -66
- data/assets/themes/j1/adapter/js/lunr.js +688 -86
- data/assets/themes/j1/adapter/js/masonry.js +426 -411
- data/assets/themes/j1/adapter/js/masterslider.js +526 -527
- data/assets/themes/j1/adapter/js/mmenu.js +101 -66
- data/assets/themes/j1/adapter/js/navigator.js +291 -356
- data/assets/themes/j1/adapter/js/particles.js +61 -40
- data/assets/themes/j1/adapter/js/rangeSlider.js +65 -48
- data/assets/themes/j1/adapter/js/rouge.js +287 -269
- data/assets/themes/j1/adapter/js/rtable.js +309 -293
- data/assets/themes/j1/adapter/js/rtextResizer.js +57 -44
- data/assets/themes/j1/adapter/js/scroller.js +170 -133
- data/assets/themes/j1/adapter/js/slick.js +487 -485
- data/assets/themes/j1/adapter/js/slimSelect.js +290 -0
- data/assets/themes/j1/adapter/js/speak2me.js +124 -128
- data/assets/themes/j1/adapter/js/themeToggler.js +280 -260
- data/assets/themes/j1/adapter/js/{themer.js → themes.js} +145 -113
- data/assets/themes/j1/adapter/js/toccer.js +87 -54
- data/assets/themes/j1/adapter/js/translator.js +73 -70
- data/assets/themes/j1/adapter/js/waves.js +74 -58
- data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +29 -11
- data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +2 -2
- data/assets/themes/j1/core/js/template.js +474 -420
- data/assets/themes/j1/core/js/template.min.js +7 -7
- data/assets/themes/j1/core/js/template.min.js.map +1 -1
- data/assets/themes/j1/modules/carousel/css/theme/uno.css +4 -4
- data/assets/themes/j1/modules/carousel/css/theme/uno.min.css +1 -1
- data/assets/themes/j1/modules/clipboard/js/clipboard.js +0 -1
- data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +4 -4
- data/assets/themes/j1/modules/iconPicker/css/theme/uno.css +58 -0
- data/assets/themes/j1/modules/iconPicker/css/theme/uno.min.css +16 -0
- data/assets/themes/j1/modules/iconPicker/js/universal-icon-picker.0.js +493 -0
- data/assets/themes/j1/modules/iconPicker/js/universal-icon-picker.js +7 -7
- data/assets/themes/j1/modules/lightGallery/js/plugins/lg-video.js +4 -4
- data/assets/themes/j1/modules/lightGallery/js/plugins/lg-video.min.js +2 -10
- data/assets/themes/j1/modules/lunr/css/j1.css +12 -6
- data/assets/themes/j1/modules/lunr/css/j1.min.css +1 -1
- data/assets/themes/j1/modules/lunr/js/j1.js +46 -43
- data/assets/themes/j1/modules/lunr/js/j1.min.js +1 -1
- data/assets/themes/j1/modules/masterslider/js/masterslider.js +1 -1
- data/assets/themes/j1/modules/scroller/js/scroller.js +64 -74
- data/assets/themes/j1/modules/scroller/js/scroller.min.js +1 -1
- data/assets/themes/j1/modules/slick/slider/css/theme/uno.css +4 -4
- data/assets/themes/j1/modules/slick/slider/css/theme/uno.min.css +1 -1
- data/assets/themes/j1/modules/slimSelect/js/select.js +1865 -1821
- data/assets/themes/j1/modules/slimSelect/js/select.min.js +2 -1
- data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +87 -89
- data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +1 -1
- data/assets/themes/j1/modules/videojs/js/plugins/vm/api/player.min.js +5 -7
- data/assets/themes/j1/modules/videojs/js/plugins/vm/api/v2.20.1/player.min.js +23 -0
- 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/_panel.yml +775 -0
- data/lib/starter_web/_data/blocks/panel.yml +53 -53
- data/lib/starter_web/_data/j1_config.yml +3 -2
- data/lib/starter_web/_data/layouts/default.yml +0 -2
- data/lib/starter_web/_data/modules/_scroller.yml +102 -0
- data/lib/starter_web/_data/modules/carousel.yml +3 -3
- data/lib/starter_web/_data/modules/defaults/attics.yml +5 -5
- data/lib/starter_web/_data/modules/defaults/docsearch.yml +1 -1
- data/lib/starter_web/_data/modules/defaults/gemini.yml +204 -46
- data/lib/starter_web/_data/modules/defaults/{iconPicker.yml → icon_picker.yml} +6 -12
- data/lib/starter_web/_data/modules/defaults/lunr.yml +20 -5
- data/lib/starter_web/_data/modules/defaults/masterslider.yml +4 -4
- data/lib/starter_web/_data/modules/defaults/navigator.yml +20 -24
- data/lib/starter_web/_data/modules/defaults/particles.yml +3 -3
- data/lib/starter_web/_data/modules/defaults/slim_select.yml +54 -0
- data/lib/starter_web/_data/modules/defaults/{themer.yml → themes.yml} +171 -171
- data/lib/starter_web/_data/modules/defaults/toccer.yml +1 -1
- data/lib/starter_web/_data/modules/gallery.yml +33 -38
- data/lib/starter_web/_data/modules/gemini.yml +42 -3
- data/lib/starter_web/_data/modules/{iconPicker.yml → icon_picker.yml} +31 -3
- data/lib/starter_web/_data/modules/lunr.yml +12 -1
- data/lib/starter_web/_data/modules/masonry.yml +37 -38
- data/lib/starter_web/_data/modules/masterslider.yml +78 -95
- data/lib/starter_web/_data/modules/navigator_menu.yml +12 -20
- data/lib/starter_web/_data/modules/particles.yml +3 -3
- data/lib/starter_web/_data/modules/scroller.yml +3 -3
- data/lib/starter_web/_data/modules/slim_select.yml +110 -0
- data/lib/starter_web/_data/modules/{themer.yml → themes.yml} +4 -4
- data/lib/starter_web/_data/resources.yml +57 -47
- data/lib/starter_web/_data/templates/feed.xml +1 -1
- data/lib/starter_web/_includes/attributes.asciidoc +354 -355
- data/lib/starter_web/_plugins/asciidoctor/gemini-ui-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/slim-select-block.rb +45 -0
- data/lib/starter_web/_plugins/index/lunr.rb +1 -1
- data/lib/starter_web/collections/asciidoc_skeletons/simple-post/_posts/yyyy-mm-dd-your-post-name.asciidoc +5 -2
- data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +3 -3
- data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.adoc +9 -9
- data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-static-site-generators.adoc +4 -4
- data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +3 -2
- data/lib/starter_web/collections/posts/public/featured/_posts/2023-10-18-url-types.adoc +12 -12
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/about/features.adoc +1 -1
- data/lib/starter_web/pages/public/about/reporting_issues.adoc +1 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/attributes.asciidoc +44 -44
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +1 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/attributes.asciidoc +12 -12
- data/lib/starter_web/pages/public/blog/navigator/archive/allview.html +1 -1
- data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/attributes.asciidoc +42 -28
- data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/highlghter_rouge.adoc +1 -0
- data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/lunr_search.adoc +1 -0
- data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/present_audio_video.adoc +18 -2
- data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/present_images.adoc +500 -507
- data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +6 -11
- data/lib/starter_web/pages/public/legal/en/200_impress.adoc +4 -11
- data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +5 -12
- data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +5 -10
- data/lib/starter_web/pages/public/tools/previewer/_includes/attributes.asciidoc +10 -9
- data/lib/starter_web/pages/public/tools/previewer/preview_bootstrap_theme.adoc +77 -75
- metadata +50 -46
- data/lib/starter_web/pages/public/manuals/integrations/gemini/_includes/attributes.asciidoc +0 -47
- data/lib/starter_web/pages/public/manuals/integrations/gemini/_includes/documents/preview_google_adsense.asciidoc +0 -448
- data/lib/starter_web/pages/public/manuals/integrations/gemini/_includes/documents/readme +0 -0
- data/lib/starter_web/pages/public/manuals/integrations/gemini/_includes/tables/readme +0 -0
- data/lib/starter_web/pages/public/manuals/integrations/gemini/gemini.adoc +0 -525
- data/lib/starter_web/pages/public/manuals/integrations/gemini/security.asccidoc +0 -274
- data/lib/starter_web/pages/public/manuals/integrations/gemini/security.hrml +0 -560
- /data/lib/starter_web/pages/public/{legal/learn → learn}/bookshelf/article_previewer/viewer_biography.adoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/bookshelf/article_previewer/viewer_fantasy.adoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/bookshelf/article_previewer/viewer_romance.adoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/bookshelf/jekyll_collections.adoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/bookshelf/viewer_all_books.adoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/100_gistblock.asciidoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_bottom_info.asciidoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_bottom_left_warning.asciidoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_bottom_right_danger.asciidoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_central_success.asciidoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_full_height_left_info.asciidoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_full_height_right_success.asciidoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_table_bs_modal_examples.asciidoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_top_info.asciidoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_top_left_info.asciidoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_top_right_success.asciidoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/419_advanced_modals_demo.asciidoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/tables/bs_modal_examples.asciidoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/themes_bootstrap.asciidoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/themes_rouge.asciidoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/asciidoc_extensions.adoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/bootstrap_themes.adoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/icon_fonts.adoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/modal_extentions.adoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/responsive_tables.adoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/typography.adoc +0 -0
- /data/lib/starter_web/pages/public/{legal/learn → learn}/where_to_go.adoc +0 -0
@@ -6,7 +6,7 @@ regenerate: true
|
|
6
6
|
|
7
7
|
{% comment %}
|
8
8
|
# -----------------------------------------------------------------------------
|
9
|
-
# ~/assets/themes/j1/adapter/js/
|
9
|
+
# ~/assets/themes/j1/adapter/js/themes.js
|
10
10
|
# Liquid template to adapt theme functions
|
11
11
|
#
|
12
12
|
# Product/Info:
|
@@ -43,14 +43,14 @@ regenerate: true
|
|
43
43
|
|
44
44
|
{% comment %} Set config data
|
45
45
|
-------------------------------------------------------------------------------- {% endcomment %}
|
46
|
-
{% assign
|
47
|
-
{% assign
|
46
|
+
{% assign themes_defaults = modules.defaults.themes.defaults %}
|
47
|
+
{% assign themes_settings = modules.themes.settings %}
|
48
48
|
{% assign footer_defaults = blocks.defaults.footer.defaults %}
|
49
49
|
{% assign footer_settings = blocks.footer.settings %}
|
50
50
|
|
51
51
|
{% comment %} Set config options
|
52
52
|
-------------------------------------------------------------------------------- {% endcomment %}
|
53
|
-
{% assign
|
53
|
+
{% assign themes_options = themes_defaults| merge: themes_settings %}
|
54
54
|
{% assign footer_options = footer_defaults | merge: footer_settings %}
|
55
55
|
{% assign footer = 'active_footer' %}
|
56
56
|
{% assign footer_id = footer_options.active_footer %}
|
@@ -74,20 +74,20 @@ regenerate: true
|
|
74
74
|
|
75
75
|
/*
|
76
76
|
# -----------------------------------------------------------------------------
|
77
|
-
# ~/assets/themes/j1/adapter/js/
|
78
|
-
# JS Adapter for J1
|
77
|
+
# ~/assets/themes/j1/adapter/js/themes.js
|
78
|
+
# JS Adapter for J1 themes (ThemeSwitcher)
|
79
79
|
#
|
80
80
|
# Product/Info:
|
81
81
|
# https://jekyll.one
|
82
|
-
# https://github.com/jguadagno/
|
82
|
+
# https://github.com/jguadagno/ThemeSwitcher
|
83
83
|
#
|
84
84
|
# Copyright (C) 2023, 2024 Juergen Adams
|
85
85
|
# Copyright (C) 2014 Joseph Guadagno
|
86
86
|
#
|
87
87
|
# J1 Template is licensed under the MIT License.
|
88
88
|
# For details, see: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
|
89
|
-
#
|
90
|
-
# For details, see https://github.com/jguadagno/
|
89
|
+
# ThemeSwitcher is licensed under the MIT License.
|
90
|
+
# For details, see https://github.com/jguadagno/ThemeSwitcher/blob/master/LICENSE
|
91
91
|
# -----------------------------------------------------------------------------
|
92
92
|
# NOTE:
|
93
93
|
# Setup of theme loaders for local_themes|remote_themes moved
|
@@ -105,11 +105,10 @@ regenerate: true
|
|
105
105
|
// -----------------------------------------------------------------------------
|
106
106
|
|
107
107
|
'use strict';
|
108
|
-
j1.adapter.
|
108
|
+
j1.adapter.themes = (function (j1, window) {
|
109
109
|
|
110
|
-
|
111
|
-
|
112
|
-
// ---------------------------------------------------------------------------
|
110
|
+
{% comment %} Set global variables
|
111
|
+
------------------------------------------------------------------------------ {% endcomment %}
|
113
112
|
var environment = '{{environment}}';
|
114
113
|
var development = (environment.includes('dev') ? true : false);
|
115
114
|
var url = new liteURL(window.location.href);
|
@@ -117,7 +116,7 @@ j1.adapter.themer = (function (j1, window) {
|
|
117
116
|
var user_state = {};
|
118
117
|
var user_consent = {};
|
119
118
|
var cookie_names = j1.getCookieNames();
|
120
|
-
|
119
|
+
//var user_state_detected = false;
|
121
120
|
var styleLoaded = false;
|
122
121
|
var id = 'default';
|
123
122
|
var state = 'not_started';
|
@@ -128,15 +127,13 @@ j1.adapter.themer = (function (j1, window) {
|
|
128
127
|
var default_theme_css_name = default_theme_name.toLowerCase();
|
129
128
|
var default_theme_css = '{{asset_path}}/{{theme_base}}/' + default_theme_css_name + '/bootstrap' + cssExtension;
|
130
129
|
var interval_count = 0;
|
130
|
+
|
131
131
|
var user_state_cookie;
|
132
132
|
var theme_css_html;
|
133
|
-
var _this;
|
134
|
-
var logger;
|
135
|
-
var logText;
|
136
133
|
var cookie_written;
|
137
|
-
var
|
138
|
-
var
|
139
|
-
var
|
134
|
+
var themesDefaults;
|
135
|
+
var themesSettings;
|
136
|
+
var themesOptions;
|
140
137
|
var max_count;
|
141
138
|
var j1Cookies;
|
142
139
|
var gaCookies;
|
@@ -144,6 +141,17 @@ j1.adapter.themer = (function (j1, window) {
|
|
144
141
|
var baseUrl;
|
145
142
|
var error_page;
|
146
143
|
|
144
|
+
var _this;
|
145
|
+
var logger;
|
146
|
+
var logText;
|
147
|
+
|
148
|
+
// date|time
|
149
|
+
var startTime;
|
150
|
+
var endTime;
|
151
|
+
var startTimeModule;
|
152
|
+
var endTimeModule;
|
153
|
+
var timeSeconds;
|
154
|
+
|
147
155
|
// ---------------------------------------------------------------------------
|
148
156
|
// helper functions
|
149
157
|
// ---------------------------------------------------------------------------
|
@@ -152,7 +160,7 @@ j1.adapter.themer = (function (j1, window) {
|
|
152
160
|
var sheets = document.styleSheets, stylesheet = sheets[(sheets.length - 1)];
|
153
161
|
|
154
162
|
// find CSS file 'styleSheetName' in document
|
155
|
-
for(var i in document.styleSheets) {
|
163
|
+
for (var i in document.styleSheets) {
|
156
164
|
if(sheets[i].href && sheets[i].href.indexOf(styleSheet) > -1) {
|
157
165
|
return true;
|
158
166
|
}
|
@@ -163,8 +171,8 @@ j1.adapter.themer = (function (j1, window) {
|
|
163
171
|
// see: https://stackoverflow.com/questions/4301968/checking-a-url-in-jquery-javascript
|
164
172
|
// see: https://stackoverflow.com/questions/16481598/prevent-unhandled-jquery-ajax-error
|
165
173
|
//
|
166
|
-
var urlExists = function(url, callback) {
|
167
|
-
if ( ! $.isFunction(callback)) {
|
174
|
+
var urlExists = function (url, callback) {
|
175
|
+
if ( ! $.isFunction (callback)) {
|
168
176
|
throw Error('Not a valid callback');
|
169
177
|
}
|
170
178
|
|
@@ -189,40 +197,35 @@ j1.adapter.themer = (function (j1, window) {
|
|
189
197
|
// Default module settings
|
190
198
|
// -----------------------------------------------------------------------
|
191
199
|
var settings = $.extend({
|
192
|
-
module_name: 'j1.adapter.
|
200
|
+
module_name: 'j1.adapter.themes',
|
193
201
|
generated: '{{site.time}}'
|
194
202
|
}, options);
|
195
203
|
|
196
204
|
// -----------------------------------------------------------------------
|
197
205
|
// Global variable settings
|
198
206
|
// -----------------------------------------------------------------------
|
199
|
-
_this
|
200
|
-
logger
|
207
|
+
_this = j1.adapter.themes;
|
208
|
+
logger = log4javascript.getLogger('j1.adapter.themes');
|
201
209
|
|
202
210
|
// Load module DEFAULTS|CONFIG
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
max_count = themerOptions.retries;
|
208
|
-
url = new liteURL(window.location.href);
|
209
|
-
baseUrl = url.origin;
|
210
|
-
error_page = url.origin + '/204.html';
|
211
|
-
j1Cookies = j1.findCookie('j1');
|
212
|
-
gaCookies = j1.findCookie('__g');
|
211
|
+
themesDefaults = $.extend({}, {{themes_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
|
212
|
+
themesSettings = $.extend({}, {{themes_settings | replace: 'nil', 'null' | replace: '=>', ':' }});
|
213
|
+
themesOptions = $.extend(true, {}, themesDefaults, themesSettings);
|
213
214
|
|
214
|
-
|
215
|
-
|
216
|
-
|
215
|
+
max_count = themesOptions.retries;
|
216
|
+
url = new liteURL(window.location.href);
|
217
|
+
baseUrl = url.origin;
|
218
|
+
error_page = url.origin + '/204.html';
|
219
|
+
j1Cookies = j1.findCookie('j1');
|
220
|
+
gaCookies = j1.findCookie('__g');
|
217
221
|
|
218
|
-
// hide page until 'theme' is loaded
|
219
|
-
$('#no_flicker').hide();
|
220
222
|
|
221
223
|
// jadams, 2023-06-10: Added to optimze 'CLS' of a page load.
|
222
224
|
// Find conterpart (show) in the j1.adapter
|
223
225
|
// hide content|footer until 'page' is loaded
|
224
|
-
|
225
|
-
$('
|
226
|
+
//
|
227
|
+
// $('#content').hide();
|
228
|
+
// $('.{{footer}}').hide();
|
226
229
|
|
227
230
|
// jadams, 2021-07-25: problem seems NOT an timing issue on the iPad
|
228
231
|
// platform. (General) Dependency should be REMOVED!!!
|
@@ -230,70 +233,91 @@ j1.adapter.themer = (function (j1, window) {
|
|
230
233
|
//
|
231
234
|
// jadams, 2021-07-11: added dependecy on the user state cookie
|
232
235
|
// Found timing issues testing mobile devices (iPad)
|
233
|
-
|
234
|
-
|
236
|
+
//
|
237
|
+
|
238
|
+
// -----------------------------------------------------------------------
|
239
|
+
// module initializer
|
240
|
+
// -----------------------------------------------------------------------
|
241
|
+
var dependencies_met_page_ready = setInterval (() => {
|
242
|
+
var pageState = $('#content').css("display");
|
243
|
+
// var pageState = $('#no_flicker').css("display");
|
244
|
+
var pageVisible = (pageState === 'block') ? true : false;
|
245
|
+
var j1CoreFinished = (j1.getState() === 'finished') ? true : false;
|
246
|
+
var atticFinished = (j1.adapter.attic.getState() === 'finished') ? true: false;
|
247
|
+
// var userStateDetected = j1.existsCookie(cookie_names.user_state);
|
235
248
|
|
236
249
|
// counter how often the check should be done for the existence
|
237
250
|
// of the user state cookie
|
238
|
-
interval_count += 1;
|
239
|
-
if (user_state_detected) {
|
240
|
-
user_state = j1.readCookie(cookie_names.user_state);
|
241
|
-
user_consent = j1.readCookie(cookie_names.user_consent);
|
242
|
-
|
243
|
-
logger.debug('\n' + 'cookie ' + cookie_names.user_state + ' successfully loaded after: ' + interval_count * 25 + ' ms');
|
244
|
-
|
245
|
-
// initial theme data
|
246
|
-
if (user_state.theme_css === '') {
|
247
|
-
user_state.theme_name = default_theme_name;
|
248
|
-
user_state.theme_css = default_theme_css;
|
249
|
-
user_state.theme_author = default_theme_author;
|
250
|
-
user_state.theme_author_url = default_theme_author_url;
|
251
|
-
|
252
|
-
cookie_written = j1.writeCookie({
|
253
|
-
name: cookie_names.user_state,
|
254
|
-
data: user_state,
|
255
|
-
secure: secure,
|
256
|
-
expires: 365
|
257
|
-
});
|
258
|
-
|
259
|
-
if (!cookie_written) {
|
260
|
-
logger.error('\n' + 'failed to write cookie: ' + cookie_names.user_consent);
|
261
|
-
}
|
262
|
-
}
|
251
|
+
// interval_count += 1;
|
263
252
|
|
264
|
-
|
265
|
-
|
266
|
-
|
253
|
+
if (pageVisible && j1CoreFinished) {
|
254
|
+
startTimeModule = Date.now();
|
255
|
+
|
256
|
+
user_state = j1.readCookie(cookie_names.user_state);
|
257
|
+
user_consent = j1.readCookie(cookie_names.user_consent);
|
258
|
+
|
259
|
+
_this.setState('started');
|
260
|
+
logger.debug('\n' + 'state: ' + _this.getState());
|
261
|
+
logger.info('\n' + 'module is being initialized');
|
262
|
+
|
263
|
+
// hide page until 'theme' is loaded
|
264
|
+
logger.info('\n' + 'hide page until theme is loaded');
|
265
|
+
$('#no_flicker').hide();
|
266
|
+
|
267
|
+
// logger.info('\n' + 'cookie ' + cookie_names.user_state + ' successfully loaded after: ' + interval_count * 25 + ' ms');
|
268
|
+
|
269
|
+
// initial theme data
|
270
|
+
if (user_state.theme_css === '') {
|
271
|
+
user_state.theme_name = default_theme_name;
|
272
|
+
user_state.theme_css = default_theme_css;
|
273
|
+
user_state.theme_author = default_theme_author;
|
274
|
+
user_state.theme_author_url = default_theme_author_url;
|
275
|
+
|
276
|
+
cookie_written = j1.writeCookie({
|
277
|
+
name: cookie_names.user_state,
|
278
|
+
data: user_state,
|
279
|
+
secure: secure,
|
280
|
+
expires: 365
|
281
|
+
});
|
282
|
+
|
283
|
+
if (!cookie_written) {
|
284
|
+
logger.error('\n' + 'failed to write cookie: ' + cookie_names.user_consent);
|
285
|
+
}
|
286
|
+
} // END if user_state theme_css === ''
|
287
|
+
|
288
|
+
// set the theme switcher state
|
289
|
+
user_state.theme_switcher = themesOptions.enabled;
|
290
|
+
if (themesOptions.enabled) {
|
267
291
|
// enable BS ThemeSwitcher
|
268
|
-
logger.info('\n' + 'themes detected as: ' +
|
292
|
+
logger.info('\n' + 'themes detected as: ' + themesOptions.enabled);
|
269
293
|
logger.info('\n' + 'remote themes are being initialized');
|
270
294
|
|
271
295
|
/* eslint-disable */
|
272
296
|
// load list of remote themes
|
273
|
-
$('#remote_themes').
|
274
|
-
debug:
|
275
|
-
saveToCookie:
|
276
|
-
cssThemeLink:
|
277
|
-
cookieThemeName:
|
278
|
-
cookieDefaultThemeName:
|
279
|
-
cookieThemeCss:
|
280
|
-
cookieThemeExtensionCss:
|
281
|
-
cookieExpiration:
|
282
|
-
cookiePath:
|
283
|
-
defaultCssFile:
|
284
|
-
bootswatchApiUrl:
|
285
|
-
bootswatchApiVersion:
|
286
|
-
loadFromBootswatch:
|
287
|
-
localFeed:
|
288
|
-
excludeBootswatch:
|
289
|
-
includeBootswatch:
|
290
|
-
skipIncludeBootswatch:
|
297
|
+
$('#remote_themes').ThemeSwitcher.defaults = {
|
298
|
+
debug: themesOptions.debug,
|
299
|
+
saveToCookie: themesOptions.saveToCookie,
|
300
|
+
cssThemeLink: themesOptions.cssThemeLink,
|
301
|
+
cookieThemeName: themesOptions.cookieThemeName,
|
302
|
+
cookieDefaultThemeName: themesOptions.cookieDefaultThemeName,
|
303
|
+
cookieThemeCss: themesOptions.cookieThemeCss,
|
304
|
+
cookieThemeExtensionCss: themesOptions.cookieThemeExtensionCss,
|
305
|
+
cookieExpiration: themesOptions.cookieExpiration,
|
306
|
+
cookiePath: themesOptions.cookiePath,
|
307
|
+
defaultCssFile: themesOptions.defaultCssFile,
|
308
|
+
bootswatchApiUrl: themesOptions.bootswatchApiUrl,
|
309
|
+
bootswatchApiVersion: themesOptions.bootswatchApiVersion,
|
310
|
+
loadFromBootswatch: themesOptions.loadFromBootswatch,
|
311
|
+
localFeed: themesOptions.localThemes,
|
312
|
+
excludeBootswatch: themesOptions.excludeBootswatch,
|
313
|
+
includeBootswatch: themesOptions.includeBootswatch,
|
314
|
+
skipIncludeBootswatch: themesOptions.skipIncludeBootswatch
|
291
315
|
};
|
292
316
|
/* eslint-enable */
|
293
317
|
} else {
|
294
318
|
logger.debug('\n' + 'themes detected as: disabled');
|
295
319
|
logger.debug('\n' + 'no remote themes are available');
|
296
|
-
}
|
320
|
+
} // END if themesOptions enabled
|
297
321
|
|
298
322
|
// validate theme to be loaded
|
299
323
|
urlExists(user_state.theme_css, function(success) {
|
@@ -340,62 +364,70 @@ j1.adapter.themer = (function (j1, window) {
|
|
340
364
|
location.reload(true);
|
341
365
|
}
|
342
366
|
});
|
343
|
-
|
367
|
+
|
368
|
+
clearInterval(dependencies_met_page_ready);
|
344
369
|
}
|
345
|
-
}, 10); // END
|
370
|
+
}, 10); // END dependencies_met_page_ready
|
346
371
|
|
347
372
|
// set final module state if theme loaded
|
348
|
-
var dependencies_met_theme_applied = setInterval (
|
373
|
+
var dependencies_met_theme_applied = setInterval (() => {
|
349
374
|
user_state = j1.readCookie(cookie_names.user_state);
|
350
375
|
styleLoaded = styleSheetLoaded(user_state.theme_css);
|
351
376
|
|
352
377
|
if (styleLoaded) {
|
353
378
|
// show page (theme is loaded)
|
354
|
-
$('#no_flicker').show();
|
355
|
-
|
356
379
|
logger.info('\n' + 'theme loaded successfully: ' + user_state.theme_name);
|
357
380
|
logger.debug('\n' + 'theme CSS loaded: ' + user_state.theme_css);
|
381
|
+
logger.info('\n' + 'show page on theme loaded');
|
382
|
+
$('#no_flicker').show();
|
358
383
|
|
359
384
|
_this.setState('finished');
|
360
|
-
|
361
385
|
logger.debug('\n' + 'state: ' + _this.getState());
|
362
|
-
logger.info('\n' + 'module
|
386
|
+
logger.info('\n' + 'initializing module finished');
|
363
387
|
|
364
|
-
|
365
|
-
|
388
|
+
endTimeModule = Date.now();
|
389
|
+
logger.info('\n' + 'module initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
|
366
390
|
|
391
|
+
clearInterval(dependencies_met_theme_applied);
|
392
|
+
} // ENF if styleLoaded
|
367
393
|
}, 10); // END dependencies_met_theme_applied
|
368
394
|
|
369
395
|
}, // END init
|
370
396
|
|
371
397
|
// -------------------------------------------------------------------------
|
372
|
-
// messageHandler
|
373
|
-
//
|
398
|
+
// messageHandler()
|
399
|
+
// manage messages send from other J1 modules
|
374
400
|
// -------------------------------------------------------------------------
|
375
|
-
messageHandler:
|
401
|
+
messageHandler: (sender, message) => {
|
376
402
|
var json_message = JSON.stringify(message, undefined, 2);
|
377
403
|
|
378
404
|
logText = '\n' + 'received message from ' + sender + ': ' + json_message;
|
379
|
-
logger.
|
405
|
+
logger.debug(logText);
|
380
406
|
|
381
407
|
// -----------------------------------------------------------------------
|
382
|
-
//
|
408
|
+
// process commands|actions
|
383
409
|
// -----------------------------------------------------------------------
|
384
410
|
if (message.type === 'command' && message.action === 'module_initialized') {
|
385
|
-
logger.info('\n' + message.text);
|
386
411
|
|
387
412
|
//
|
388
|
-
//
|
413
|
+
// place handling of command|action here
|
389
414
|
//
|
390
415
|
|
416
|
+
logger.info('\n' + message.text);
|
391
417
|
}
|
418
|
+
|
419
|
+
//
|
420
|
+
// place handling of other command|action here
|
421
|
+
//
|
422
|
+
|
423
|
+
return true;
|
392
424
|
}, // END messageHandler
|
393
425
|
|
394
426
|
// -------------------------------------------------------------------------
|
395
427
|
// setState()
|
396
|
-
//
|
428
|
+
// sets the current (processing) state of the module
|
397
429
|
// -------------------------------------------------------------------------
|
398
|
-
setState:
|
430
|
+
setState: (stat) => {
|
399
431
|
_this.state = stat;
|
400
432
|
}, // END setState
|
401
433
|
|
@@ -403,11 +435,11 @@ j1.adapter.themer = (function (j1, window) {
|
|
403
435
|
// getState()
|
404
436
|
// Returns the current (processing) state of the module
|
405
437
|
// -------------------------------------------------------------------------
|
406
|
-
getState:
|
438
|
+
getState: () => {
|
407
439
|
return _this.state;
|
408
440
|
} // END getState
|
409
441
|
|
410
|
-
}; // END return
|
442
|
+
}; // END main (return)
|
411
443
|
})(j1, window);
|
412
444
|
|
413
445
|
{% endcapture %}
|