j1_template_mde 2018.4.33 → 2018.4.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/layout_shim_generator.html +1 -1
  3. data/_includes/themes/j1/modules/navigator/generator.html +16 -3
  4. data/lib/j1/commands/generate.rb +4 -4
  5. data/lib/j1/version.rb +1 -1
  6. data/lib/starter_web/Gemfile +1 -1
  7. data/lib/starter_web/_config.yml +1 -1
  8. data/lib/starter_web/_data/j1_config.yml +24 -7
  9. data/lib/starter_web/_data/modules/j1_cookie_consent.yml +12 -7
  10. data/lib/starter_web/_data/modules/j1_navigator.yml +61 -50
  11. data/lib/starter_web/_data/modules/j1_navigator_menu.yml +4 -6
  12. data/lib/starter_web/assets/data/cookie_consent.html +12 -11
  13. data/lib/starter_web/assets/data/menu.html +3 -2
  14. data/lib/starter_web/assets/data/quicklinks.html +149 -0
  15. data/lib/starter_web/assets/data/sidebar.html +271 -0
  16. data/lib/starter_web/assets/images/pages/roundtrip/package.json +1 -1
  17. data/lib/starter_web/assets/themes/j1/core/css/theme_extensions.css +8 -5
  18. data/lib/starter_web/assets/themes/j1/core/css/theme_extensions.min.css +1 -1
  19. data/lib/starter_web/assets/themes/j1/core/css/uno.css +8 -5
  20. data/lib/starter_web/assets/themes/j1/core/css/uno.min.css +1 -1
  21. data/lib/starter_web/assets/themes/j1/core/js/adapter/algolia.js +1 -1
  22. data/lib/starter_web/assets/themes/j1/core/js/adapter/back2top.js +3 -3
  23. data/lib/starter_web/assets/themes/j1/core/js/adapter/bs_gallery.js +2 -2
  24. data/lib/starter_web/assets/themes/j1/core/js/adapter/cookie_consent.js +36 -25
  25. data/lib/starter_web/assets/themes/j1/core/js/adapter/custom.js +1 -1
  26. data/lib/starter_web/assets/themes/j1/core/js/adapter/iframer.js +1 -1
  27. data/lib/starter_web/assets/themes/j1/core/js/adapter/lightbox.js +1 -1
  28. data/lib/starter_web/assets/themes/j1/core/js/adapter/logger.js +1 -1
  29. data/lib/starter_web/assets/themes/j1/core/js/adapter/master_header.js +2 -2
  30. data/lib/starter_web/assets/themes/j1/core/js/adapter/navigator.js +108 -23
  31. data/lib/starter_web/assets/themes/j1/core/js/adapter/scroller.js +1 -1
  32. data/lib/starter_web/assets/themes/j1/core/js/adapter/searcher.js +1 -1
  33. data/lib/starter_web/assets/themes/j1/core/js/adapter/stickybits.js +1 -1
  34. data/lib/starter_web/assets/themes/j1/core/js/adapter/switcher.js +1 -1
  35. data/lib/starter_web/assets/themes/j1/core/js/adapter/template.js +145 -74
  36. data/lib/starter_web/assets/themes/j1/core/js/adapter/toccer.js +5 -5
  37. data/lib/starter_web/assets/themes/j1/core/js/template.js +1 -1
  38. data/lib/starter_web/assets/themes/j1/core/js/template.js.map +1 -1
  39. data/lib/starter_web/assets/themes/j1/core/js/template.min.js +1 -1
  40. data/lib/starter_web/j1_config.yml +223 -0
  41. data/lib/starter_web/package.json +1 -1
  42. data/lib/starter_web/pages/public/about/about_site.adoc +33 -4
  43. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +130 -14
  44. data/lib/starter_web/pages/public/legal/en/400_license_agreement.adoc +2 -4
  45. data/lib/starter_web/pages/public/start/downloads/quickstarter/000_includes/tables/100_quickstart_installation_packages.asciidoc +1 -1
  46. metadata +5 -4
  47. data/lib/starter_web/assets/data/_authclient.html +0 -365
  48. data/lib/starter_web/pages/public/about/about_you.adoc +0 -139
@@ -94,7 +94,7 @@ j1.Scroller = (function (j1, window) {
94
94
  logger.info('state: ' + state); // Set|Log status
95
95
  logger.info("SmoothScroll initialized successfully");
96
96
 
97
- return;
97
+ return true;
98
98
  }, // END init
99
99
 
100
100
  // -------------------------------------------------------------------------
@@ -94,7 +94,7 @@ j1.Searcher = (function (j1, window) {
94
94
  logger.info("Jekyll Search initialized successfully");
95
95
  logger.info('state: ' + state); // Set|Log status
96
96
 
97
- return;
97
+ return true;
98
98
  }, // END init
99
99
 
100
100
  // -------------------------------------------------------------------------
@@ -80,7 +80,7 @@ j1.Stickybits = (function (j1, window) {
80
80
  logger.info('state: ' + state); // Set|Log status
81
81
  logger.info("J1 Stickybits successfully initialized");
82
82
 
83
- return;
83
+ return true;
84
84
  }, // END init
85
85
 
86
86
  // -------------------------------------------------------------------------
@@ -98,7 +98,7 @@ j1.Switcher = (function (j1, window) {
98
98
  logger.info('state: ' + state); // Set|Log status
99
99
  logger.info("J1 Theme Switcher initialized successfully");
100
100
 
101
- return;
101
+ return true;
102
102
  }, // END init
103
103
 
104
104
  // -------------------------------------------------------------------------
@@ -93,7 +93,6 @@ var j1 = function () {
93
93
  var colors_data_path = "/assets/data/colors.json";
94
94
 
95
95
  // Logger
96
- var logger;
97
96
  var logText;
98
97
 
99
98
  // J1 UserState Cookie (initial values)
@@ -102,15 +101,15 @@ var j1 = function () {
102
101
  'theme_extension_css' : '/assets/themes/j1/core/css/theme_extensions.css',
103
102
  'theme_name' : 'Uno',
104
103
  'theme_author' : 'J1 Team',
105
- 'theme_link' : 'https://support.jekyll-one.com/',
104
+ 'theme_link' : 'https://jekyll.one/',
106
105
  'previous_page' : 'unknown',
107
106
  'current_page' : 'unknown',
108
- 'provider' : 'j1',
109
- 'provider_membership' : 'guest',
110
- "provider_permissions" : "public",
111
- "provider_url" : "https:/jekyll.one",
107
+ 'provider' : '{{site.data.j1_config.user.provider}}',
108
+ 'provider_membership' : '{{site.data.j1_config.user.provider_membership}}',
109
+ "provider_permissions" : "{{site.data.j1_config.user.provider_permissions}}",
110
+ "provider_url" : "{{site.data.j1_config.user.provider_url}}",
112
111
  'status' : 'pending',
113
- 'user_name' : 'visitor',
112
+ 'user_name' : '{{site.data.j1_config.user.user_name}}',
114
113
  'language' : 'unknown',
115
114
  'cookies_accepted' : "pending",
116
115
  'writer' : 'web'
@@ -120,8 +119,9 @@ var j1 = function () {
120
119
 
121
120
  // Initialize
122
121
  init: function ( options ) {
122
+ var logger;
123
123
 
124
- var logger = log4javascript.getLogger('j1.Template.adapter');
124
+ logger = log4javascript.getLogger('j1.Template.init');
125
125
  state = 'started';
126
126
  logger.info('state: ' + state); // Set|Log status
127
127
 
@@ -132,7 +132,8 @@ var j1 = function () {
132
132
  }
133
133
 
134
134
  if ( settings.scrollbar === 'false' ) {
135
- $( 'body' ).addClass( 'hide-scrollbar' )
135
+ $('body').addClass( 'hide-scrollbar' )
136
+ $('html').addClass( 'hide-scrollbar-moz' )
136
137
  }
137
138
 
138
139
  // Detect|Set J1 AppSession
@@ -176,7 +177,7 @@ var j1 = function () {
176
177
  j1.displayPage(settings);
177
178
  });
178
179
 
179
- return;
180
+ return true;
180
181
  }, // END init
181
182
 
182
183
  // -------------------------------------------------------------------------
@@ -184,12 +185,12 @@ var j1 = function () {
184
185
  // -------------------------------------------------------------------------
185
186
  // ToDo:
186
187
  initBanner: function ( options ) {
187
-
188
- var logger = log4javascript.getLogger('j1.Template.adapter');
189
188
  var banner = [];
190
189
  var bannerOptions = [];
190
+ var logger;
191
191
 
192
- var logText = 'initBanner: Start initialization';
192
+ logger = log4javascript.getLogger('j1.Template.initBanner');
193
+ logText = 'initBanner: Start initialization';
193
194
  logger.info(logText);
194
195
 
195
196
  {% comment %} helper functions for (AJAX) data load
@@ -294,19 +295,19 @@ var j1 = function () {
294
295
  }
295
296
  }
296
297
 
297
- return;
298
+ return true;
298
299
  }, // END initBanner
299
300
 
300
301
  // -------------------------------------------------------------------------
301
302
  // AJAX loader for panel used with J1 Template fo all pages
302
303
  // -------------------------------------------------------------------------
303
304
  // ToDo:
304
- initPanel: function ( options ) {
305
-
306
- var logger = log4javascript.getLogger('j1.Template.adapter');
307
- var panel = [];
305
+ initPanel: function ( options ) {
306
+ var panel = [];
307
+ var logger;
308
308
 
309
- var logText = 'initPanel: Start initialization';
309
+ logger = log4javascript.getLogger('j1.Template.initPanel');
310
+ logText = 'initPanel: Start initialization';
310
311
  logger.info(logText);
311
312
 
312
313
  // closure to pass additional data (e.g. div #id)
@@ -360,7 +361,7 @@ var j1 = function () {
360
361
  }
361
362
  }
362
363
 
363
- return;
364
+ return true;
364
365
  }, // END initPanel
365
366
 
366
367
  // -------------------------------------------------------------------------
@@ -368,9 +369,10 @@ var j1 = function () {
368
369
  // -------------------------------------------------------------------------
369
370
  // ToDo:
370
371
  initFooter: function ( options ) {
372
+ var logger;
371
373
 
372
- var logger = log4javascript.getLogger('j1.Template.adapter');
373
- var logText = 'initFooter: Start initialization';
374
+ logger = log4javascript.getLogger('j1.Template.initFooter');
375
+ logText = 'initFooter: Start initialization';
374
376
  logger.info(logText);
375
377
 
376
378
  var cb_load_closure = function(footer_id) {
@@ -396,7 +398,7 @@ var j1 = function () {
396
398
  selector.load( footer_data_path, cb_load_closure( id ) );
397
399
  }
398
400
 
399
- return;
401
+ return true;
400
402
  }, // END initFooter
401
403
 
402
404
  // -------------------------------------------------------------------------
@@ -404,9 +406,10 @@ var j1 = function () {
404
406
  // -------------------------------------------------------------------------
405
407
  // ToDo:
406
408
  initClipboard: function ( options ) {
409
+ var logger;
407
410
 
408
- var logger = log4javascript.getLogger('j1.Template.adapter');
409
- var logText = 'initClipboard: Start initialization';
411
+ logger = log4javascript.getLogger('j1.Template.initClipboard');
412
+ logText = 'initClipboard: Start initialization';
410
413
  logger.info(logText);
411
414
 
412
415
  // insert copy to clipboard button before all elements having a
@@ -450,7 +453,7 @@ var j1 = function () {
450
453
  $(e.trigger).attr('title', fallbackMsg).tooltip('_fixTitle').tooltip('show').attr('title', 'Copy to clipboard').tooltip('_fixTitle');
451
454
  });
452
455
 
453
- return;
456
+ return true;
454
457
  }, // END initClipboard
455
458
 
456
459
  // -------------------------------------------------------------------------
@@ -459,16 +462,47 @@ var j1 = function () {
459
462
  // AND the menubar is signaled as (state) 'finished'
460
463
  // -------------------------------------------------------------------------
461
464
  displayPage: function ( options ) {
465
+ var settings = options;
466
+ var user_state = {};
467
+ var web_session_state = {};
468
+ var appDetected = j1.Navigator.appDetected();
469
+ var authClientEnabled = j1.Navigator.authClientEnabled();
470
+ var logger;
462
471
 
463
- var settings = options;
464
-
465
- logger = log4javascript.getLogger('j1.displayPage');
466
- logText = 'Start to display the page';
472
+ logger = log4javascript.getLogger('j1.Template.displayPage');
473
+ logText = 'Finalize current page';
467
474
  logger.info(logText);
468
475
 
469
476
  var headerLoaded = setInterval(function() {
470
477
 
471
478
  if ( j1.MastHead.state() === 'initialized' && j1.Navigator.state() === 'finished' ) {
479
+
480
+ user_state = j1.getUserStateCookie();
481
+
482
+ // Show or Hide cookie icon
483
+ if ( user_state.cookies_accepted === 'accepted' ) {
484
+ logText = 'Display cookie icon';
485
+ logger.info(logText);
486
+ // Display cookie icon
487
+ $('#quickLinksCookieButton').css('display', 'block');
488
+ } else {
489
+ logText = 'Hide cookie icon';
490
+ logger.info(logText);
491
+ // Display cookie icon
492
+ $('#quickLinksCookieButton').css('display', 'none');
493
+ }
494
+
495
+ // Show or Hide signin icon
496
+ if ( appDetected && authClientEnabled ) {
497
+ logText = 'Show signIn icon';
498
+ logger.info(logText);
499
+ $('#quickLinksSignInOutButton').css('display', 'block');
500
+ } else {
501
+ logText = 'Hide signIn icon';
502
+ logger.info(logText);
503
+ $('#quickLinksSignInOutButton').css('display', 'none');
504
+ }
505
+
472
506
  $('#no_flicker').css('display', 'block'); // display current page
473
507
  j1.scrollTo(); // scroll to an anchor element this page (if any)
474
508
 
@@ -480,7 +514,7 @@ var j1 = function () {
480
514
  state = 'finished';
481
515
  logText = 'state: ' + state;
482
516
  logger.info(logText);
483
- logText = "displayPage: J1 Template successfully initialized";
517
+ logText = "J1 Template successfully initialized";
484
518
  logger.info(logText);
485
519
 
486
520
  // clear interval checking
@@ -488,7 +522,7 @@ var j1 = function () {
488
522
  }
489
523
  }, 50); // END setInterval
490
524
 
491
- return;
525
+ return true;
492
526
  }, // END displayPage
493
527
 
494
528
  // -------------------------------------------------------------------------
@@ -496,9 +530,10 @@ var j1 = function () {
496
530
  // -------------------------------------------------------------------------
497
531
  // ToDo:
498
532
  initMDB: function ( options ) {
533
+ var logger;
499
534
 
500
- var logger = log4javascript.getLogger('j1.Template.adapter');
501
- var logText = 'initMDB: Start initMDB';
535
+ logger = log4javascript.getLogger('j1.Template.initMDB');
536
+ logText = 'initMDB: Start initMDB';
502
537
  logger.info(logText);
503
538
 
504
539
  $('body').bootstrapMaterialDesign();
@@ -507,7 +542,7 @@ var j1 = function () {
507
542
  var logText = 'initMDB Finished initMDB';
508
543
  logger.info(logText);
509
544
 
510
- return;
545
+ return true;
511
546
  }, // END initMDB
512
547
 
513
548
  // -------------------------------------------------------------------------
@@ -570,6 +605,39 @@ var j1 = function () {
570
605
  return decodeURI(dc.substring(begin + prefix.length, end) ).replace(/"/g, '');
571
606
  }, // END getCookie
572
607
 
608
+ // -------------------------------------------------------------------------
609
+ // Clears all given cookies by name (except cookies set to httpOnly).
610
+ // For all cookies, the expire date is set in the past to make all
611
+ // cookies affectected a 'session' cookie. All session cookies are
612
+ // deleted by the browser automatically if the last session (browser
613
+ // window) is closed.
614
+ // See: https://stackoverflow.com/questions/179355/clearing-all-cookies-with-javascript
615
+ // -------------------------------------------------------------------------
616
+ deleteCookie: function (options) {
617
+ var name = options;
618
+ var all_cookies = document.cookie.split("; ");
619
+
620
+ if ( name === 'all' ) {
621
+ for (var c = 0; c < all_cookies.length; c++) {
622
+ var d = window.location.hostname.split(".");
623
+ while (d.length > 0) {
624
+ var cookieBase = encodeURIComponent(all_cookies[c].split(";")[0].split("=")[0]) + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ;path=';
625
+ var p = location.pathname.split('/');
626
+ document.cookie = cookieBase + '/';
627
+ while (p.length > 0) {
628
+ document.cookie = cookieBase + p.join('/');
629
+ p.pop();
630
+ };
631
+ d.shift();
632
+ }
633
+ }
634
+ } else {
635
+ document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
636
+ }
637
+
638
+ return true;
639
+ }, // END getCookie
640
+
573
641
  // -------------------------------------------------------------------------
574
642
  // Returns the current user state collected from /status endpoint
575
643
  // if the web is detected as an app
@@ -642,7 +710,7 @@ var j1 = function () {
642
710
  Cookies.set( 'j1.user.state', user_state_encoded, { expires: 365 } );
643
711
  }
644
712
 
645
- return;
713
+ return true;
646
714
  }, // END setUserStateCookie
647
715
 
648
716
  // -------------------------------------------------------------------------
@@ -759,7 +827,7 @@ var j1 = function () {
759
827
  $(window).scrollTop($(window).scrollTop()-1);
760
828
  } // END if anchor_id
761
829
 
762
- return;
830
+ return true;
763
831
  }, // END scrollTo
764
832
 
765
833
  // -------------------------------------------------------------------------
@@ -845,7 +913,7 @@ var j1 = function () {
845
913
  });
846
914
  }); // END Replace macros
847
915
 
848
- return;
916
+ return true;
849
917
  }, // END resolveMacros
850
918
 
851
919
  // -------------------------------------------------------------------------
@@ -881,7 +949,7 @@ var j1 = function () {
881
949
  var $html = $this.html();
882
950
  //$this.html($html.replace(/all|public|protected|private/g, user_state.provider_permissions));
883
951
  //$this.html($html.replace(/.*/, 'Permissions: ' + user_state.provider_permissions));
884
- $this.html($html.replace(/public.*|protected.*|private.*/, user_state.provider_permissions));
952
+ $this.html($html.replace(/public.*|protected.*|private.*|blocked.*/, user_state.provider_permissions));
885
953
  });
886
954
  $('#macro-provider-membership').each(function() {
887
955
  var $this = $(this);
@@ -890,7 +958,7 @@ var j1 = function () {
890
958
  });
891
959
  });
892
960
 
893
- return;
961
+ return true;
894
962
  }, // END updateMacros
895
963
 
896
964
  // -------------------------------------------------------------------------
@@ -920,17 +988,16 @@ var j1 = function () {
920
988
  //
921
989
  // -------------------------------------------------------------------------
922
990
  updateCookies: function ( data ) {
923
-
924
991
  var user_state = data;
925
992
  var appDetected = j1.Navigator.appDetected();
926
993
  var authClientEnabled = j1.Navigator.authClientEnabled();
994
+ var cookiesDeclined = user_state.cookies_accepted === 'declined' ? true : false;
927
995
  var userAuthenticated;
928
996
  var web_session_state;
929
997
  var json_data;
930
- var logger;
931
- var logText;
998
+ var logger;
932
999
 
933
- logger = log4javascript.getLogger('j1.updateCookies');
1000
+ logger = log4javascript.getLogger('j1.Template.updateCookies');
934
1001
 
935
1002
  // Update cookies
936
1003
  if ( appDetected ) {
@@ -941,17 +1008,25 @@ var j1 = function () {
941
1008
  user_state.authenticated = userAuthenticated;
942
1009
 
943
1010
  if ( userAuthenticated ) {
944
- user_state.provider = web_session_state.provider;
945
- user_state.user_name = web_session_state.user_name;
946
- user_state.provider_membership = web_session_state.provider_membership;
947
- user_state.provider_permissions = web_session_state.provider_permissions;
1011
+ user_state.provider = web_session_state.provider;
1012
+ user_state.user_name = web_session_state.user_name;
1013
+ user_state.provider_membership = web_session_state.provider_membership;
1014
+ if ( cookiesDeclined ) {
1015
+ user_state.provider_permissions = 'blocked';
1016
+ } else {
1017
+ user_state.provider_permissions = web_session_state.provider_permissions;
1018
+ }
948
1019
  } else {
949
- // Set default credentials if soignet out
950
- user_state.provider = 'j1'
951
- user_state.user_name = 'vistor';
952
- user_state.status = 'active';
953
- user_state.provider_membership = 'guest';
954
- user_state.provider_permissions = 'public'
1020
+ // Set default credentials if user is signed out
1021
+ user_state.provider = '{{site.data.j1_config.user.provider}}';
1022
+ user_state.user_name = '{{site.data.j1_config.user.user_name}}';
1023
+ user_state.status = 'active';
1024
+ user_state.provider_membership = '{{site.data.j1_config.user.provider_membership}}';
1025
+ if ( cookiesDeclined ) {
1026
+ user_state.provider_permissions = 'blocked';
1027
+ } else {
1028
+ user_state.provider_permissions = '{{site.data.j1_config.user.provider_permissions}}';
1029
+ }
955
1030
  }
956
1031
  }
957
1032
 
@@ -970,7 +1045,7 @@ var j1 = function () {
970
1045
  logText = 'User State data: ' + json_data;
971
1046
  logger.info(logText);
972
1047
 
973
- return;
1048
+ return true;
974
1049
  }, // END updateCookies
975
1050
 
976
1051
  // -------------------------------------------------------------------------
@@ -979,37 +1054,33 @@ var j1 = function () {
979
1054
  // Note:
980
1055
  // -------------------------------------------------------------------------
981
1056
  updateSidebar: function () {
982
-
983
1057
  var user_state = j1.getUserStateCookie();
984
1058
  var json_data;
985
- var logText;
986
-
987
- logger = log4javascript.getLogger('j1.updateSidebar');
1059
+ var logger;
1060
+
1061
+ logger = log4javascript.getLogger('j1.Template.updateSidebar');
1062
+
1063
+ if (!user_state) {
1064
+ user_state = {};
1065
+ user_state.status = 'pending';
1066
+ user_state.user_name = '{{site.data.j1_config.user.user_name}}';
1067
+ user_state.provider = '{{site.data.j1_config.user.provider}}';
1068
+ user_state.provider_url = '{{site.data.j1_config.user.provider_url}}';
1069
+ user_state.provider_membership = '{{site.data.j1_config.user.provider_membership}}';
1070
+ user_state.provider_permissions = 'blocked';
1071
+
1072
+ }
988
1073
 
989
1074
  json_data = JSON.stringify( user_state, undefined, 2); // JSON pretty print
990
1075
  logText = 'User State data: ' + json_data;
991
1076
  logger.info(logText);
992
1077
 
993
- // var pageLoaded = setInterval(function() {
994
- // if ( j1.state() === 'finished' ) {
995
- // //if ( j1.cookieConsent.state() === 'finished' ) {
996
- // // Replace Macro placeholders to values
997
- // j1.resolveMacros( user_state );
998
- // // Replace Macro values only
999
- // j1.updateMacros( user_state );
1000
- //
1001
- // // clear interval checking
1002
- // clearInterval(pageLoaded);
1003
- // } // END Replace Macro placeholders
1004
- // }, 50); // END setInterval
1005
-
1006
1078
  // Replace Macro placeholders to values
1007
1079
  j1.resolveMacros( user_state );
1008
1080
  // Replace Macro values only
1009
1081
  j1.updateMacros( user_state );
1010
1082
 
1011
-
1012
- return;
1083
+ return true;
1013
1084
  } // END updateSidebar
1014
1085
 
1015
1086
  } // END j1 (return)