j1-template 2020.0.18 → 2020.0.19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/blocks/footer/boxes/about_box.proc +2 -2
  3. data/_includes/themes/j1/blocks/footer/boxes/links_box.proc +3 -3
  4. data/_includes/themes/j1/blocks/footer/boxes/news_box.proc +2 -2
  5. data/_includes/themes/j1/layouts/content_generator_blog_archive.html +19 -16
  6. data/_includes/themes/j1/layouts/content_generator_collection.html +2 -2
  7. data/_includes/themes/j1/layouts/content_generator_page.html +8 -56
  8. data/_includes/themes/j1/layouts/content_generator_post.html +4 -4
  9. data/_includes/themes/j1/procedures/global/create_bs_button.proc +10 -10
  10. data/_includes/themes/j1/procedures/posts/collate_timeline.proc +37 -38
  11. data/_layouts/blog_archive.html +2 -1
  12. data/_layouts/collection.html +1 -1
  13. data/_layouts/page.html +1 -1
  14. data/_layouts/post.html +1 -1
  15. data/apps/public/cc/cc.yml +35 -34
  16. data/assets/data/authclient.html +5 -5
  17. data/assets/data/banner.html +8 -8
  18. data/assets/data/cookiebar.html +5 -5
  19. data/assets/data/gallery_customizer.html +1 -1
  20. data/assets/data/menu.html +4 -4
  21. data/assets/data/mmenu.html +4 -4
  22. data/assets/data/panel.html +110 -90
  23. data/assets/data/themes.json +2 -0
  24. data/assets/themes/j1/adapter/js/carousel.js +134 -133
  25. data/assets/themes/j1/adapter/js/j1.js +32 -8
  26. data/assets/themes/j1/adapter/js/mmenu.js +6 -6
  27. data/assets/themes/j1/adapter/js/navigator.js +78 -27
  28. data/assets/themes/j1/adapter/js/themer.js +6 -13
  29. data/assets/themes/j1/core/css/animate.css +17 -0
  30. data/assets/themes/j1/core/css/bootstrap.css +54 -48
  31. data/assets/themes/j1/core/css/bootstrap.min.css +3 -3
  32. data/assets/themes/j1/core/css/{fontawesome.css → icons-fontawesome.css} +31 -12
  33. data/assets/themes/j1/core/css/{fontawesome.min.css → icons-fontawesome.min.css} +0 -0
  34. data/assets/themes/j1/core/css/{iconify-icons.css → icons-iconify.css} +51 -38
  35. data/assets/themes/j1/core/css/{iconify-icons.min.css → icons-iconify.min.css} +1 -1
  36. data/assets/themes/j1/core/css/{material-design-icons.css → icons-materialdesign.css} +326 -244
  37. data/assets/themes/j1/core/css/icons-materialdesign.min.css +1 -0
  38. data/assets/themes/j1/core/css/{twemoji.css → icons-twemoji.css} +61 -51
  39. data/assets/themes/j1/core/css/{twemoji.min.css → icons-twemoji.min.css} +0 -0
  40. data/assets/themes/j1/core/css/{theme_extensions.css → theme-extensions.css} +1527 -1625
  41. data/assets/themes/j1/core/css/theme-extensions.min.css +1 -0
  42. data/assets/themes/j1/core/css/uno-dark.css +7886 -0
  43. data/assets/themes/j1/core/css/uno-dark.min.css +6 -0
  44. data/assets/themes/j1/core/css/uno.css +18138 -6363
  45. data/assets/themes/j1/core/css/uno.min.css +8 -1
  46. data/assets/themes/j1/core/css/vendor.css +49 -13412
  47. data/assets/themes/j1/core/css/vendor.min.css +1 -7
  48. data/assets/themes/j1/modules/bsThemeSwitcher/js/switcher.js +32 -22
  49. data/assets/themes/j1/modules/mdiPreviewer/css/previewer.css +82 -0
  50. data/assets/themes/j1/modules/mdiPreviewer/css/previewer.min.css +15 -0
  51. data/assets/themes/j1/modules/mdiPreviewer/js/readme +0 -0
  52. data/assets/themes/j1/modules/mmenuLight/css/mmenu.css +11 -11
  53. data/assets/themes/j1/modules/mmenuLight/css/theme/uno.css +3 -3
  54. data/assets/themes/j1/modules/twemoji/css/picker/twemoji-picker.css +153 -0
  55. data/assets/themes/j1/modules/twemoji/css/picker/twemoji-picker.min.css +19 -0
  56. data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.js +12 -13
  57. data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.min.js +11 -12
  58. data/assets/themes/j1/modules/twemoji/js/twemoji.js +1 -10
  59. data/assets/themes/j1/modules/twemoji/js/twemoji.min.js +1 -6
  60. data/lib/j1/version.rb +1 -1
  61. data/lib/j1_app/j1_auth_manager/config.rb +10 -5
  62. data/lib/j1_app/j1_auth_manager/views/auth_manager_ui.erb +5 -5
  63. data/lib/starter_web/Gemfile +1 -1
  64. data/lib/starter_web/_config.yml +2 -2
  65. data/lib/starter_web/_data/blocks/banner.yml +24 -19
  66. data/lib/starter_web/_data/blocks/panel.yml +29 -22
  67. data/lib/starter_web/_data/layouts/home.yml +6 -26
  68. data/lib/starter_web/_data/modules/defaults/navigator.yml +4 -4
  69. data/lib/starter_web/_data/modules/defaults/themer.yml +2 -1
  70. data/lib/starter_web/_data/modules/themer.yml +2 -1
  71. data/lib/starter_web/_data/private.yml +56 -108
  72. data/lib/starter_web/_data/resources.yml +49 -29
  73. data/lib/starter_web/assets/images/modules/icons/j1/favicon.ico +0 -0
  74. data/lib/starter_web/assets/images/modules/icons/j1/j1-256x256.png +0 -0
  75. data/lib/starter_web/assets/images/modules/icons/j1/j1-32x32.ico +0 -0
  76. data/lib/starter_web/assets/images/modules/icons/j1/j1-512x512.png +0 -0
  77. data/lib/starter_web/assets/images/modules/icons/j1/j1-64x64.png +0 -0
  78. data/lib/starter_web/assets/images/modules/icons/j1/j1.ico +0 -0
  79. data/lib/starter_web/assets/images/modules/icons/j1/scalable/j1.svg +31 -35
  80. data/lib/starter_web/collections/posts/public/featured/_posts/2019-05-01-top-open-source-static-site-generators.adoc +2 -2
  81. data/lib/starter_web/collections/posts/public/featured/_posts/2019-06-01-about-cookies.adoc +1 -1
  82. data/lib/starter_web/package.json +1 -1
  83. data/lib/starter_web/pages/public/000_nav_pagination_tester.adoc +297 -0
  84. data/lib/starter_web/pages/public/blog/navigator/archive.html +11 -17
  85. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +13 -18
  86. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +13 -19
  87. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +11 -12
  88. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +51 -59
  89. data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +20 -20
  90. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +11 -11
  91. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +20 -20
  92. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +67 -67
  93. data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +18 -18
  94. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +10 -10
  95. data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +544 -39
  96. data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +1 -1
  97. data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +12 -10
  98. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  99. data/lib/starter_web/utilsrv/package.json +1 -1
  100. metadata +20 -16
  101. data/_includes/themes/j1/blocks/footer/boxes/about_box.proc.org +0 -40
  102. data/assets/themes/j1/core/css/material-design-icons.min.css +0 -1
  103. data/assets/themes/j1/core/css/theme_extensions.min.css +0 -1
  104. data/lib/starter_web/pages/public/learn/roundtrip/000_bs_tour.1.asciidoc +0 -120
  105. data/lib/starter_web/pages/public/learn/roundtrip/000_bs_tour.adoc +0 -144
  106. data/lib/starter_web/pages/public/learn/roundtrip/000_bs_tour_api.adoc +0 -642
@@ -48,6 +48,7 @@ regenerate: true
48
48
  "themes":
49
49
  [
50
50
  {"name": "Uno", "css": "{{asset_path}}/core/css/uno.css"},
51
+ {"name": "Uno dark", "css": "{{asset_path}}/core/css/uno-dark.css"},
51
52
  {"name": "Bootstrap", "css": "{{asset_path}}/core/css/bootstrap.css"}
52
53
  ]
53
54
  }
@@ -56,6 +57,7 @@ regenerate: true
56
57
  "themes":
57
58
  [
58
59
  {"name": "Uno", "css": "{{asset_path}}/core/css/uno.min.css"},
60
+ {"name": "Uno dark", "css": "{{asset_path}}/core/css/uno-dark.min.css"},
59
61
  {"name": "Bootstrap", "css": "{{asset_path}}/core/css/bootstrap.min.css"}
60
62
  ]
61
63
  }
@@ -129,157 +129,158 @@ j1.adapter['carousel'] = (function (j1, window) {
129
129
  moduleOptions = j1.mergeData(moduleOptions, settings);
130
130
  }
131
131
 
132
-
133
-
134
132
  _this.setState('started');
135
133
  logger.info('state: ' + _this.getState());
136
134
  logger.info('module is being initialized');
137
135
 
138
- {% for item in carousel_options.carousel %}
139
-
140
- {% if item.show.enabled %}
141
- {% assign slider_id = item.show.id %}
142
- {% assign slider_title = item.show.title %}
143
- {% assign slider_type = item.show.type %}
144
- {% assign parallax = item.show.parallax %}
145
- {% assign css_classes = item.show.css_classes %}
146
- {% assign lazyLoad = item.show.lightbox %}
147
-
148
- // Create an Carousel INSTANCE if slider on id: {{slider_id}} exists
149
- if ($('#{{slider_id}}').length) {
150
-
151
- {% if environment == 'development' %}
152
- logText = 'slider is being initialized on id: #{{slider_id}}';
153
- logger.info(logText);
154
- _this.setState('running');
155
- logger.info('state: ' + _this.getState());
156
- logger.info('module is being initialized');
157
- {% endif %}
136
+ var dependencies_met_page_finished = setInterval(function() {
137
+ if (j1.getState() == 'finished') {
158
138
 
159
- {% if item.show.slide_height != null %}
160
- // Set slide_height: {{item.show.slide_height}}vh
161
- {% assign slide_height = item.show.slide_height %}
162
- $('head').append('<style>.owl-carousel .item{height: {{slide_height}}vh;}</style>');
163
- {% endif %}
139
+ {% for item in carousel_options.carousel %}
164
140
 
165
- {% if item.show.slide_space_between %}
166
- {% assign slide_space = item.show.slide_space_between %}
167
- {% else %}
168
- {% assign slide_space = 3 %}
169
- {% endif %}
170
-
171
- {% if item.show.slide_border %}
172
- {% assign slide_border = "thumbnail" %}
173
- {% else %}
174
- {% assign slide_border = "" %}
175
- {% endif %}
141
+ {% if item.show.enabled %}
142
+ {% assign slider_id = item.show.id %}
143
+ {% assign slider_title = item.show.title %}
144
+ {% assign slider_type = item.show.type %}
145
+ {% assign parallax = item.show.parallax %}
146
+ {% assign css_classes = item.show.css_classes %}
147
+ {% assign lazyLoad = item.show.lightbox %}
176
148
 
177
- // Place HTML markup for the title
178
- {% if slider_title %}
179
- var slider_title = '<div class="slider-title">{{slider_title}}</div>';
180
- $('#{{slider_id}}').before(slider_title);
181
- {% endif %}
149
+ // Create an Carousel INSTANCE if slider on id: {{slider_id}} exists
150
+ if ($('#{{slider_id}}').length) {
182
151
 
183
- // place parallax styles
184
- {% if parallax %}
185
- $('head').append('<style>.parallax-slider__owl_demo_text_carousel_parallax{background:url(/assets/images/quotes/default.png) 50% 0 repeat fixed}</style>');
186
- $('head').append('<style>.parallax-slider__owl_demo_text_carousel_parallax{padding:75px 0 75px 25px;position:relative}</style>');
187
- $('head').append('<style>.parallax-slider__owl_demo_text_carousel_parallax{color:#e5e5e5;font-size:1.5rem;font-weight:400}</style>');
188
- $('head').append('<!-- style>.parallax-slider__owl_demo_text_carousel_parallax{text-align:center}</style -->');
189
- $('head').append('<!-- style>.parallax-slider__owl_demo_text_carousel_parallax{text-transform:uppercase}</style -->');
190
- $('head').append('<style>.parallax-slider__owl_demo_text_carousel_parallax:before{top:0;left:0;width:100%;height:100%;content:" ";position:absolute;background:url(/assets/images/modules/patterns/gridtile.png) repeat;}</style>');
191
- $('head').append('<style>.parallax-slider__owl_demo_text_carousel_parallax:after{top:0;left:0;width:100%;height:100%;content:" ";position:absolute;background:rgba(0,0,0,0.3)}</style>');
192
- {% endif %}
152
+ {% if environment == 'development' %}
153
+ logText = 'slider is being initialized on id: #{{slider_id}}';
154
+ logger.info(logText);
155
+ _this.setState('running');
156
+ logger.info('state: ' + _this.getState());
157
+ logger.info('module is being initialized');
158
+ {% endif %}
193
159
 
194
- $('head').append('<style>.{{slider_id}}-item{margin: {{slide_space}}px;}</style>');
195
- //$('.{{slider_id}}-item').parent().addClass('owl-carousel');
196
- //$('.owl-carousel .item').css('margin','{{slide_space}}px');
197
-
198
- // Initialize individual show parameters
199
- /* eslint-disable */
200
- $('#{{slider_id}}').owlCarousel({
201
- {% for option in item.show.options %}
202
- {{option[0] | json}}: {{option[1] | json}},
203
- {% endfor %}
204
- // Enable lazyLoad if lightbox is enabled
205
- {% if item.show.lightbox %}
206
- "lazyLoad": true,
207
- {% endif %}
208
- "jsonPath": {{carousel_options.xhr_data_path | json}},
209
- "jsonSuccess": customDataSuccess_{{forloop.index}}
210
- });
211
- /* eslint-enable */
212
-
213
- // Initialize instance variable (for later access)
214
- //{{slider_id}} = $('#{{slider_id}}').data('owlCarousel');
215
-
216
- j1['{{slider_id}}'] = $('#{{slider_id}}').data('owlCarousel');
217
-
218
- // jQuery show data functions
219
- function customDataSuccess_{{forloop.index}}(data){
220
- var content = '';
221
- for (var i in data['{{slider_id}}']) {
222
- {% if slider_type == 'image' %}
223
- var lb = data['{{slider_id}}'][i].lb;
224
- var lb_caption = data['{{slider_id}}'][i].lb_caption;
225
- var img = data['{{slider_id}}'][i].img;
226
- var alt = data['{{slider_id}}'][i].alt;
160
+ {% if item.show.slide_height != null %}
161
+ // Set slide_height: {{item.show.slide_height}}vh
162
+ {% assign slide_height = item.show.slide_height %}
163
+ $('head').append('<style>.owl-carousel .item{height: {{slide_height}}vh;}</style>');
227
164
  {% endif %}
228
- {% if slider_type == 'text' %}
229
- var text = data['{{slider_id}}'][i].text;
165
+
166
+ {% if item.show.slide_space_between %}
167
+ {% assign slide_space = item.show.slide_space_between %}
168
+ {% else %}
169
+ {% assign slide_space = 3 %}
230
170
  {% endif %}
231
- var href = data['{{slider_id}}'][i].href;
232
- {% if css_classes %}
233
- var css_classes = 'class="{{css_classes}}";';
171
+
172
+ {% if item.show.slide_border %}
173
+ {% assign slide_border = "thumbnail" %}
234
174
  {% else %}
235
- var css_classes = '';
175
+ {% assign slide_border = "" %}
236
176
  {% endif %}
237
177
 
238
- {% if slider_type == 'image' %}
239
- // If lightbox is enabled (preference over href)
240
- if (lb) {
241
- if (lb_caption) {
242
- content += '\t\t' + '<div class="item {{slider_id}}-item {{slide_border}}">'+ '\n';
243
- content += '\t\t\t' + '<a href="' +img+ '" ' + 'data-lightbox="{{slider_id}}" data-title="' +lb_caption+ '">' + '\n';
244
- content += '\t\t\t\t' + '<img class="lazyOwl" src="' +img+ '">' + '\n';
245
- content += '\t\t\t' + '</a>' + '\n';
246
- if (href) {
247
- content += '\t\t\t' + '<span class="carousel-caption"><a href="' +href+ '">' +lb_caption+ '</a> </span>' + '\n';
248
- } else {
249
- content += '\t\t\t' + '<span class="carousel-caption">' +lb_caption+ '</span>' + '\n';
250
- }
251
- content += '\t\t' + '</div>' + '\n';
252
- } else {
253
- content += '<a class="item" href="' +img+ '" ' + 'data-lightbox="{{slider_id}}"> <img class="lazyOwl" data-src="' +img+ '" alt="' +alt+ '">' + '</a>';
254
- }
255
- } else if (href) {
256
- content += '<div class="item">' + '<img ' +css_classes+ ' src="' +img+ '" alt="' +alt+ '">' + '</div>';
257
- } else {
258
- content += '<div class="item">' + '<img ' +css_classes+ ' src="' +img+ '" alt="' +alt+ '">' + '</div>';
259
- }
178
+ // Place HTML markup for the title
179
+ {% if slider_title %}
180
+ var slider_title = '<div class="slider-title">{{slider_title}}</div>';
181
+ $('#{{slider_id}}').before(slider_title);
260
182
  {% endif %}
261
183
 
262
- {% if slider_type == 'text' %}
263
- if (href) {
264
- content += '<div class="item">' + '<p href=' +href+ '">' +text+ '</p>' + '</div>';
265
- } else {
266
- content += '<div class="item">' + '<p>' +text+ '</p>' + '</div>';
267
- }
184
+ // place parallax styles
185
+ {% if parallax %}
186
+ $('head').append('<style>.parallax-slider__owl_demo_text_carousel_parallax{background:url(/assets/images/quotes/default.png) 50% 0 repeat fixed}</style>');
187
+ $('head').append('<style>.parallax-slider__owl_demo_text_carousel_parallax{padding:75px 0 75px 25px;position:relative}</style>');
188
+ $('head').append('<style>.parallax-slider__owl_demo_text_carousel_parallax{color:#e5e5e5;font-size:1.5rem;font-weight:400}</style>');
189
+ $('head').append('<!-- style>.parallax-slider__owl_demo_text_carousel_parallax{text-align:center}</style -->');
190
+ $('head').append('<!-- style>.parallax-slider__owl_demo_text_carousel_parallax{text-transform:uppercase}</style -->');
191
+ $('head').append('<style>.parallax-slider__owl_demo_text_carousel_parallax:before{top:0;left:0;width:100%;height:100%;content:" ";position:absolute;background:url(/assets/images/modules/patterns/gridtile.png) repeat;}</style>');
192
+ $('head').append('<style>.parallax-slider__owl_demo_text_carousel_parallax:after{top:0;left:0;width:100%;height:100%;content:" ";position:absolute;background:rgba(0,0,0,0.3)}</style>');
268
193
  {% endif %}
269
- }
270
- $('#{{slider_id}}').html(content);
271
- logText = 'initializing slider finished on id: {{slider_id}}';
272
- logger.info(logText);
273
- } // END customDataSuccess_{{forloop.index}}
274
- } // END if carousel exists
275
- {% endif %}
276
- {% endfor %}
277
-
278
- _this.setState('finished');
279
- logger.info('state: ' + _this.getState());
280
- logger.info('initializing module finished');
281
194
 
282
- return true;
195
+ $('head').append('<style>.{{slider_id}}-item{margin: {{slide_space}}px;}</style>');
196
+ //$('.{{slider_id}}-item').parent().addClass('owl-carousel');
197
+ //$('.owl-carousel .item').css('margin','{{slide_space}}px');
198
+
199
+ // Initialize individual show parameters
200
+ /* eslint-disable */
201
+ $('#{{slider_id}}').owlCarousel({
202
+ {% for option in item.show.options %}
203
+ {{option[0] | json}}: {{option[1] | json}},
204
+ {% endfor %}
205
+ // Enable lazyLoad if lightbox is enabled
206
+ {% if item.show.lightbox %}
207
+ "lazyLoad": true,
208
+ {% endif %}
209
+ "jsonPath": {{carousel_options.xhr_data_path | json}},
210
+ "jsonSuccess": customDataSuccess_{{forloop.index}}
211
+ });
212
+ /* eslint-enable */
213
+
214
+ // Initialize instance variable (for later access)
215
+ //{{slider_id}} = $('#{{slider_id}}').data('owlCarousel');
216
+
217
+ j1['{{slider_id}}'] = $('#{{slider_id}}').data('owlCarousel');
218
+
219
+ // jQuery show data functions
220
+ function customDataSuccess_{{forloop.index}}(data){
221
+ var content = '';
222
+ for (var i in data['{{slider_id}}']) {
223
+ {% if slider_type == 'image' %}
224
+ var lb = data['{{slider_id}}'][i].lb;
225
+ var lb_caption = data['{{slider_id}}'][i].lb_caption;
226
+ var img = data['{{slider_id}}'][i].img;
227
+ var alt = data['{{slider_id}}'][i].alt;
228
+ {% endif %}
229
+ {% if slider_type == 'text' %}
230
+ var text = data['{{slider_id}}'][i].text;
231
+ {% endif %}
232
+ var href = data['{{slider_id}}'][i].href;
233
+ {% if css_classes %}
234
+ var css_classes = 'class="{{css_classes}}";';
235
+ {% else %}
236
+ var css_classes = '';
237
+ {% endif %}
238
+
239
+ {% if slider_type == 'image' %}
240
+ // If lightbox is enabled (preference over href)
241
+ if (lb) {
242
+ if (lb_caption) {
243
+ content += '\t\t' + '<div class="item {{slider_id}}-item {{slide_border}}">'+ '\n';
244
+ content += '\t\t\t' + '<a href="' +img+ '" ' + 'data-lightbox="{{slider_id}}" data-title="' +lb_caption+ '">' + '\n';
245
+ content += '\t\t\t\t' + '<img class="lazyOwl" src="' +img+ '">' + '\n';
246
+ content += '\t\t\t' + '</a>' + '\n';
247
+ if (href) {
248
+ content += '\t\t\t' + '<span class="carousel-caption"><a href="' +href+ '">' +lb_caption+ '</a> </span>' + '\n';
249
+ } else {
250
+ content += '\t\t\t' + '<span class="carousel-caption">' +lb_caption+ '</span>' + '\n';
251
+ }
252
+ content += '\t\t' + '</div>' + '\n';
253
+ } else {
254
+ content += '<a class="item" href="' +img+ '" ' + 'data-lightbox="{{slider_id}}"> <img class="lazyOwl" data-src="' +img+ '" alt="' +alt+ '">' + '</a>';
255
+ }
256
+ } else if (href) {
257
+ content += '<div class="item">' + '<img ' +css_classes+ ' src="' +img+ '" alt="' +alt+ '">' + '</div>';
258
+ } else {
259
+ content += '<div class="item">' + '<img ' +css_classes+ ' src="' +img+ '" alt="' +alt+ '">' + '</div>';
260
+ }
261
+ {% endif %}
262
+
263
+ {% if slider_type == 'text' %}
264
+ if (href) {
265
+ content += '<div class="item">' + '<p href=' +href+ '">' +text+ '</p>' + '</div>';
266
+ } else {
267
+ content += '<div class="item">' + '<p>' +text+ '</p>' + '</div>';
268
+ }
269
+ {% endif %}
270
+ }
271
+ $('#{{slider_id}}').html(content);
272
+ logText = 'initializing slider finished on id: {{slider_id}}';
273
+ logger.info(logText);
274
+ } // END customDataSuccess_{{forloop.index}}
275
+ } // END if carousel exists
276
+ {% endif %}
277
+ {% endfor %}
278
+ clearInterval(dependencies_met_page_finished);
279
+ }
280
+ _this.setState('finished');
281
+ logger.info('state: ' + _this.getState());
282
+ logger.info('initializing module finished');
283
+ }, 25); // END 'dependencies_met_adapter_finished'
283
284
  }, // END init
284
285
 
285
286
  // -------------------------------------------------------------------------
@@ -137,7 +137,7 @@ var j1 = (function () {
137
137
  // Theme information
138
138
  var themeName;
139
139
  var themeCss;
140
- var themeExtensionCss = environment === 'production' ? '/assets/themes/j1/core/css/theme_extensions.min.css' : '/assets/themes/j1/core/css/theme_extensions.css';
140
+ var themeExtensionCss = environment === 'production' ? '/assets/themes/j1/core/css/theme-extensions.min.css' : '/assets/themes/j1/core/css/theme-extensions.css';
141
141
 
142
142
  // Pathes of J1 data files
143
143
  var colors_data_path = '{{template_config.colors_data_path}}';
@@ -157,6 +157,8 @@ var j1 = (function () {
157
157
  var referrer;
158
158
 
159
159
  var default_theme_css = environment === 'production' ? '/assets/themes/j1/core/css/uno.min.css' : '/assets/themes/j1/core/css/uno.css';
160
+ // TODO: check what property is used default_theme|default_theme_name ?
161
+ var default_theme = 'Uno';
160
162
  var default_theme_name = 'Uno';
161
163
  var default_theme_author = 'J1 Team';
162
164
  var default_theme_link = 'https://jekyll.one/';
@@ -504,7 +506,6 @@ var j1 = (function () {
504
506
  if ( statusTxt == 'success' ) {
505
507
  var logger = log4javascript.getLogger('j1.xhrData');
506
508
  logText = 'loading banner completed on id: ' +banner_id;
507
- $(banner_id).addClass("mutated");
508
509
  logger.info(logText);
509
510
  j1.setXhrDataState(banner_id, statusTxt);
510
511
  j1.setXhrDomState(banner_id, statusTxt);
@@ -713,7 +714,6 @@ var j1 = (function () {
713
714
  if ( statusTxt == 'success' ) {
714
715
  logText = 'footer loaded successfully on id: ' + footer_id;
715
716
  logger.info(logText);
716
- $(footer_id).addClass("mutated");
717
717
  j1.setXhrDataState(footer_id, statusTxt);
718
718
  j1.setXhrDomState(footer_id, statusTxt);
719
719
  logger.info('XHR data loaded in the DOM: ' + footer_id);
@@ -1555,6 +1555,23 @@ var j1 = (function () {
1555
1555
  return val;
1556
1556
  }, // END getStyleValue
1557
1557
 
1558
+ // -------------------------------------------------------------------------
1559
+ // getStyleSheetLoaded:
1560
+ // NOTE:
1561
+ // EXAMPLE: getStyleSheetLoaded('bootstrap');
1562
+ //
1563
+ getStyleSheetLoaded: function (styleSheet) {
1564
+ // var styleSheet = styleSheetName.toLowerCase() + '.css';
1565
+ var sheets = document.styleSheets, stylesheet = sheets[(sheets.length - 1)];
1566
+
1567
+ // find CSS file 'styleSheetName' in document
1568
+ for(var i in document.styleSheets) {
1569
+ if(sheets[i].href && sheets[i].href.indexOf(styleSheet) > -1) {
1570
+ return true;;
1571
+ }
1572
+ }
1573
+ },
1574
+
1558
1575
  // -------------------------------------------------------------------------
1559
1576
  // Returns the names of cookies used for J1 Template
1560
1577
  // -------------------------------------------------------------------------
@@ -1566,8 +1583,9 @@ var j1 = (function () {
1566
1583
  // Set dynamic styles
1567
1584
  // -------------------------------------------------------------------------
1568
1585
  setCss: function () {
1569
- var logger = log4javascript.getLogger('j1.setCss');
1570
- var bg_primary = j1.getStyleValue('bg-primary', 'background-color');
1586
+ var logger = log4javascript.getLogger('j1.setCss');
1587
+ var bg_primary = j1.getStyleValue('bg-primary', 'background-color');
1588
+ var bg_secondary = j1.getStyleValue('bg-secondary', 'background-color');
1571
1589
 
1572
1590
  logger.info('set color scheme for selected theme');
1573
1591
 
@@ -1575,6 +1593,12 @@ var j1 = (function () {
1575
1593
  // -----------------------------------------------------------------------
1576
1594
  $('head').append('<style>.g-bg-primary { background-color: ' +bg_primary+ ' !important; }</style>');
1577
1595
 
1596
+ // Set color of timeline bullet
1597
+ // -----------------------------------------------------------------------
1598
+ // $('head').append('<style>.tmicon { background: ' +bg_primary+ ' !important; }</style>');
1599
+ // $('head').append('<style>.timeline-panel:after { border-left-color: ' +bg_primary+ ' !important; }</style>');
1600
+ // $('head').append('<style>.timeline-panel:after { border-right-color: ' +bg_primary+ ' !important; }</style>');
1601
+
1578
1602
  // mdi icons
1579
1603
  // -----------------------------------------------------------------------
1580
1604
  $('head').append('<style>.iconify-md-bg-primary { color: ' +bg_primary+ ' !important; }</style>');
@@ -1584,9 +1608,9 @@ var j1 = (function () {
1584
1608
 
1585
1609
  // asciidoc
1586
1610
  // -----------------------------------------------------------------------
1587
- var admonitionblock_note_color = '#0D47A1'; // md-blue-900, was: bg_primary;
1611
+ var admonitionblock_note_color = bg_primary;
1588
1612
  var admonitionblock_tip_color = j1.getStyleValue('btn-success', 'background-color');
1589
- var admonitionblock_important_color = j1.getStyleValue('btn-warning', 'background-color');
1613
+ var admonitionblock_important_color = j1.getStyleValue('btn-info', 'background-color');
1590
1614
  var admonitionblock_warning_color = j1.getStyleValue('icon-warning', 'color');
1591
1615
  var admonitionblock_caution_color = j1.getStyleValue('btn-danger', 'background-color');
1592
1616
 
@@ -1598,7 +1622,7 @@ var j1 = (function () {
1598
1622
 
1599
1623
  // bs base styles
1600
1624
  // -----------------------------------------------------------------------
1601
- $('head').append('<style>code { color: ' +bg_primary+ ' !important; }</style>');
1625
+ $('head').append('<style>code { color: ' +bg_secondary+ ' !important; }</style>');
1602
1626
 
1603
1627
  // bs tool tips
1604
1628
  // -----------------------------------------------------------------------
@@ -110,6 +110,7 @@ j1.adapter['mmenu'] = (function (j1, window) {
110
110
  var environment = '{{environment}}';
111
111
  var dclFinished = false;
112
112
  var moduleOptions = {};
113
+ var themerOptions = {};
113
114
  var cookie_names = j1.getCookieNames();
114
115
  var user_state;
115
116
  var user_session;
@@ -160,6 +161,7 @@ j1.adapter['mmenu'] = (function (j1, window) {
160
161
  var xhr_data_path;
161
162
  var menu_id;
162
163
 
164
+ themerOptions = $.extend({}, {{themer_options | replace: '=>', ':' }});
163
165
  // save config settings into the mmenu object for global access
164
166
  //
165
167
  _this['navMenuOptions'] = navMenuOptions;
@@ -314,12 +316,10 @@ j1.adapter['mmenu'] = (function (j1, window) {
314
316
  });
315
317
  });
316
318
 
317
- // load themes from Bootswatch API (set localFeed EMPTY)
318
- $('#ThemeList_MMenu').bootstrapThemeSwitcher({
319
- localFeed: ''
320
- });
321
- // load (local) J1 themes (default settings)
322
- $('#ThemeSelect_MMenu').bootstrapThemeSwitcher();
319
+ // remotely loaded (BootSwatch) themes (from API)
320
+ $('#remote_themes_mmenu').bootstrapThemeSwitcher({localFeed: ''});
321
+ // locally loaded themes (from json file)
322
+ $('#local_themes_mmenu').bootstrapThemeSwitcher({localFeed: themerOptions.localThemes});
323
323
  logger.info('met dependencies for: {{menu_id}} loaded');
324
324
  clearInterval(dependencies_met_{{menu_id}}_loaded);
325
325
  $('#{{item.menu.content.id}}').show();
@@ -6,7 +6,7 @@ regenerate: true
6
6
 
7
7
  {% comment %}
8
8
  # -----------------------------------------------------------------------------
9
- # ~/assets/themes/j1/adapter/js/navigator.js
9
+ # ~/assets/themes/j1/adapter/js/navigator.js (new-2)
10
10
  # Liquid template to adapt Navigator Core functions
11
11
  #
12
12
  # Product/Info:
@@ -174,7 +174,7 @@ j1.adapter['navigator'] = (function (j1, window) {
174
174
  var user_session_merged = {};
175
175
  var session_state = {};
176
176
 
177
- var themerEnabled = false;
177
+ var themerEnabled = {{themer_options.enabled}}; //was (test): false;
178
178
  var authClientEnabled;
179
179
  var appDetected;
180
180
  var json_data;
@@ -234,6 +234,8 @@ j1.adapter['navigator'] = (function (j1, window) {
234
234
  var navAuthClientOptions = {};
235
235
  var navAuthMAnagerConfig = {};
236
236
 
237
+ var themerOptions = {};
238
+
237
239
  navDefaults = $.extend({}, {{navigator_defaults | replace: '=>', ':' }});
238
240
  navBarConfig = $.extend({}, {{nav_bar_options | replace: '=>', ':' }});
239
241
  navMenuConfig = $.extend({}, {{nav_menu_options | replace: '=>', ':' }});
@@ -244,6 +246,7 @@ j1.adapter['navigator'] = (function (j1, window) {
244
246
  navAuthMAnagerConfig = $.extend({}, {{authentication_options | replace: '=>', ':' }});
245
247
  authClientEnabled = navAuthMAnagerConfig.enabled;
246
248
 
249
+ themerOptions = $.extend({}, {{themer_options | replace: '=>', ':' }});
247
250
 
248
251
  // Merge|Overload module CONFIG by DEFAULTS
249
252
  //
@@ -331,23 +334,30 @@ j1.adapter['navigator'] = (function (j1, window) {
331
334
  // cast text-based booleans
332
335
  // themerEnabled = ({{themer_options.enabled }} === 'true');
333
336
 
334
- if ({{themer_options.enabled }}) {
335
- logText = 'theme switcher detect: enabled';
336
- logger.info(logText);
337
- // initialize theme switcher menu
338
- // load themes from Bootswatch API (set localFeed EMPTY)
339
- $('#ThemeList').bootstrapThemeSwitcher({
340
- localFeed: ''
341
- });
342
- // load (local) J1 themes (default settings)
343
- $('#ThemeSelect').bootstrapThemeSwitcher();
344
- logText = 'theme switcher menu loaded successfully';
345
- logger.info(logText);
346
- } else {
347
- logText = 'theme switcher detect: disabled';
348
- logger.info(logText);
349
- }
350
- _this.setState('initialized');
337
+ // load themes (to menu) if page is finished
338
+ var dependencies_met_page_finished = setInterval(function() {
339
+ if (j1.getState() == 'finished') {
340
+ if ({{themer_options.enabled }}) {
341
+ // initialize theme switcher menus
342
+ logText = 'theme switcher detect: enabled';
343
+ logger.info(logText);
344
+
345
+ // load remote themes (Bootswatch API)
346
+ logText = 'load remote themes (Bootswatch API)';
347
+ logger.info(logText);
348
+ $('#remote_themes').bootstrapThemeSwitcher({localFeed: ''});
349
+ // load local themes (json file)
350
+ logText = 'load local themes (json file)';
351
+ logger.info(logText);
352
+ $('#local_themes').bootstrapThemeSwitcher({localFeed: themerOptions.localThemes});
353
+ } else {
354
+ logText = 'theme switcher detect: disabled';
355
+ logger.info(logText);
356
+ }
357
+ clearInterval(dependencies_met_page_finished);
358
+ }
359
+ _this.setState('initialized');
360
+ }, 25); // END 'dependencies_met_page_finished'
351
361
 
352
362
  // -----------------------------------------------------------------
353
363
  // event handler|css styles
@@ -361,12 +371,18 @@ j1.adapter['navigator'] = (function (j1, window) {
361
371
  logger.info('initialize eventHandler');
362
372
  j1.core.navigator.eventHandler();
363
373
 
364
- // set general|global theme colors
365
- logger.info('apply dynamic CSS styles');
366
- _this.setCSS (
367
- navDefaults, navBarOptions, navMenuOptions,
368
- navQuicklinksOptions, navTopsearchOptions
369
- );
374
+ var dependencies_met_page_finished = setInterval(function() {
375
+ if (j1.getState() == 'finished') {
376
+ // set general|global theme colors
377
+ logger.info('initializing dynamic CSS styles: started');
378
+ _this.setCSS (
379
+ navDefaults, navBarOptions, navMenuOptions,
380
+ navQuicklinksOptions, navTopsearchOptions
381
+ );
382
+ clearInterval(dependencies_met_page_finished);
383
+ }
384
+ logger.info('initializing dynamic CSS styles: finished');
385
+ }, 25); // END 'dependencies_met_adapter_finished'
370
386
 
371
387
  logger.info('init auth client');
372
388
  _this.initAuthClient(_this.navAuthManagerConfig);
@@ -635,12 +651,12 @@ j1.adapter['navigator'] = (function (j1, window) {
635
651
 
636
652
  {% comment %} Set dymanic styles
637
653
  -------------------------------------------------------------------------- {% endcomment %}
638
- $('nav-primary').css({"background-color": "navPrimaryColor"});
654
+ // $('nav-primary').css({"background-color": "navPrimaryColor"});
639
655
 
640
656
 
641
657
  {% comment %} navBar styles
642
658
  -------------------------------------------------------------------------- {% endcomment %}
643
- var bg_primary = j1.getStyleValue('nav-primary', 'background-color');
659
+ var bg_primary = j1.getStyleValue('bg-primary', 'background-color');
644
660
  var bg_scrolled = bg_primary;
645
661
  var bg_collapsed = bg_primary;
646
662
 
@@ -653,6 +669,14 @@ j1.adapter['navigator'] = (function (j1, window) {
653
669
  $('head').append('<style>@media (min-width: ' +gridBreakpoint_lg+ ') { nav.navbar.navigator.navbar-transparent.light { background-color: ' +navBarOptions.background_color_full+ ' !important; border-bottom: solid 0px !important; } }</style>');
654
670
  $('head').append('<style>@media (min-width: ' +gridBreakpoint_lg+ ') { nav.navbar.navigator.navbar-scrolled.light { background-color: ' +bg_scrolled+ ' !important; } }</style>');
655
671
 
672
+ $('head').append('<style id="dynNav">@media (max-width: ' +gridBreakpoint_md+ ') { nav.navbar.navigator.navbar-transparent.light { background-color: ' +navBarOptions.background_color_full+ ' !important; border-bottom: solid 0px !important; } }</style>');
673
+ $('head').append('<style id="dynNav">@media (max-width: ' +gridBreakpoint_md+ ') { nav.navbar.navigator.navbar-scrolled.light { background-color: ' +bg_scrolled+ ' !important; } }</style>');
674
+ $('head').append('<style id="dynNav">@media (min-width: ' +gridBreakpoint_md+ ') { nav.navbar.navigator.navbar-transparent.light { background-color: ' +navBarOptions.background_color_full+ ' !important; border-bottom: solid 0px !important; } }</style>');
675
+ $('head').append('<style id="dynNav">@media (min-width: ' +gridBreakpoint_md+ ') { nav.navbar.navigator.navbar-scrolled.light { background-color: ' +bg_scrolled+ ' !important; } }</style>');
676
+
677
+ $('head').append('<style id="dynNav">@media (max-width: ' +gridBreakpoint_sm+ ') { nav.navbar.navigator.navbar-transparent.light { background-color: ' +navBarOptions.background_color_full+ ' !important; border-bottom: solid 0px !important; } }</style>');
678
+ $('head').append('<style id="dynNav">@media (max-width: ' +gridBreakpoint_sm+ ') { nav.navbar.navigator.navbar-scrolled.light { background-color: ' +bg_scrolled+ ' !important; } }</style>');
679
+
656
680
  {% comment %} navQuicklinks styles
657
681
  -------------------------------------------------------------------------- {% endcomment %}
658
682
  $('head').append('<style>.attr-nav> ul > li > a { color: ' +navQuicklinksOptions.icon_color+ ' !important; }</style>');
@@ -697,6 +721,33 @@ j1.adapter['navigator'] = (function (j1, window) {
697
721
  $('head').append('<style>.top-search { background-color: ' +navTopsearchOptions.background_color+ ' !important; }</style>');
698
722
  $('head').append('<style>.top-search input.form-control { color: ' +navTopsearchOptions.input_color+ ' !important; }</style>');
699
723
 
724
+ {% comment %} Timeline styles
725
+ -------------------------------------------------------------------------- {% endcomment %}
726
+ $('head').append('<style>.timeline > li > .timeline-panel:after {border-right-color: ' +bg_scrolled+ '; border-left-color: ' +bg_scrolled+ ';}</style>');
727
+ $('head').append('<style>.tmicon {background: ' +bg_scrolled+ ';}</style>');
728
+
729
+ {% comment %} Heading styles
730
+ -------------------------------------------------------------------------- {% endcomment %}
731
+ $('head').append('<style>.heading:after {background: ' +bg_scrolled+ ' !important;}</style>');
732
+
733
+ {% comment %} Tag Cloud styles
734
+ -------------------------------------------------------------------------- {% endcomment %}
735
+ $('head').append('<style>.tag-cloud ul li a {background-color: ' +bg_scrolled+ ' !important;}</style>');
736
+ $('head').append('<style>.tag-cloud ul li a:hover {background-color: #212121 !important;}</style>');
737
+
738
+ {% comment %} Toccer styles
739
+ -------------------------------------------------------------------------- {% endcomment %}
740
+ $('head').append('<style>.is-active-link::before {background-color: ' +bg_scrolled+ ' !important;}</style>');
741
+
742
+ {% comment %} BS extended Modal styles
743
+ -------------------------------------------------------------------------- {% endcomment %}
744
+ $('head').append('<style>.modal-dialog.modal-notify.modal-primary .modal-header {background-color: ' +bg_scrolled+ ';}</style>');
745
+
746
+ {% comment %} BS nav|pills styles
747
+ -------------------------------------------------------------------------- {% endcomment %}
748
+ $('head').append('<style>.nav-pills .nav-link.active, .nav-pills .show > .nav-link {background-color: ' +bg_scrolled+ ' !important;}</style>');
749
+
750
+
700
751
  return true;
701
752
  }, // END setCSS
702
753