j1-template 2021.1.1 → 2021.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/layout_metadata_generator.html +23 -9
  3. data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +1 -1
  4. data/_includes/themes/j1/modules/connectors/ads +3 -5
  5. data/_includes/themes/j1/modules/connectors/analytic/google-analytics.html +9 -5
  6. data/_includes/themes/j1/modules/connectors/analytics +4 -2
  7. data/_includes/themes/j1/modules/connectors/comments +7 -6
  8. data/_includes/themes/j1/modules/connectors/translator +3 -4
  9. data/_includes/themes/j1/modules/navigator/generator.html +4 -40
  10. data/_includes/themes/j1/modules/navigator/procedures/topsearch.proc +2 -2
  11. data/_includes/themes/j1/procedures/global/create_bs_button.proc +64 -22
  12. data/_includes/themes/j1/procedures/posts/collate_timeline.proc +14 -10
  13. data/_layouts/default.html +4 -7
  14. data/assets/data/authclient.html +231 -229
  15. data/assets/data/banner.html +30 -32
  16. data/assets/data/cookieconsent.html +249 -0
  17. data/assets/data/fam.html +1 -1
  18. data/assets/data/footer.html +1 -1
  19. data/assets/data/gallery_customizer.html +10 -5
  20. data/assets/data/menu.html +3 -3
  21. data/assets/data/mmenu.html +4 -3
  22. data/assets/data/mmenu_sidebar.html +1 -1
  23. data/assets/data/mmenu_toc.html +1 -1
  24. data/assets/data/panel.html +20 -16
  25. data/assets/data/quicklinks.html +20 -18
  26. data/assets/data/themes.json +6 -6
  27. data/assets/themes/j1/adapter/js/{cookiebar.js → cookieConsent.js} +129 -55
  28. data/assets/themes/j1/adapter/js/j1.js +147 -145
  29. data/assets/themes/j1/adapter/js/justifiedGalleryCustomizer.js +3 -2
  30. data/assets/themes/j1/adapter/js/mmenu.js +8 -4
  31. data/assets/themes/j1/adapter/js/navigator.js +77 -22
  32. data/assets/themes/j1/adapter/js/themer.js +37 -29
  33. data/assets/themes/j1/adapter/js/toccer.js +4 -45
  34. data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.css +17 -14
  35. data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.min.css +1 -1
  36. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +3960 -240
  37. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
  38. data/assets/themes/j1/core/js/template.js +3 -9
  39. data/assets/themes/j1/core/js/template.js.map +1 -1
  40. data/assets/themes/j1/core/js/template.min.js +3 -9
  41. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  42. data/assets/themes/j1/modules/cookieConsent/LICENSE +21 -0
  43. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +286 -0
  44. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.min.js +28 -0
  45. data/assets/themes/j1/modules/fam/css/{uno → theme/uno}/fam.css +0 -0
  46. data/assets/themes/j1/modules/fam/css/theme/uno/fam.min.css +15 -0
  47. data/assets/themes/j1/modules/fam/js/fam.js +1 -6
  48. data/assets/themes/j1/modules/iframeResizer/examples/frame.absolute.html +4 -2
  49. data/assets/themes/j1/modules/iframeResizer/examples/frame.content.html +4 -3
  50. data/assets/themes/j1/modules/iframeResizer/examples/frame.hover.html +4 -2
  51. data/assets/themes/j1/modules/iframeResizer/examples/frame.nested.html +4 -2
  52. data/assets/themes/j1/modules/iframeResizer/examples/frame.textarea.html +4 -2
  53. data/assets/themes/j1/modules/iframeResizer/examples/frame.tolerance.html +4 -2
  54. data/assets/themes/j1/modules/iframeResizer/examples/index.html +2 -0
  55. data/assets/themes/j1/modules/iframeResizer/examples/two.html +4 -2
  56. data/assets/themes/j1/modules/mmenuLight/css/{mmenu.css → mmenu-light.css} +0 -0
  57. data/assets/themes/j1/modules/mmenuLight/css/{mmenu.min.css → mmenu-light.min.css} +0 -0
  58. data/assets/themes/j1/modules/mmenuLight/css/theme/{uno.css → uno/mmenu.css} +0 -0
  59. data/assets/themes/j1/modules/mmenuLight/css/theme/{uno.min.css → uno/mmenu.min.css} +0 -0
  60. data/assets/themes/j1/modules/rtable/css/theme/{uno.css → uno/rtable.css} +0 -0
  61. data/assets/themes/j1/modules/rtable/css/theme/{uno.min.css → uno/rtable.min.css} +0 -0
  62. data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +33 -47
  63. data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +410 -2
  64. data/assets/themes/j1/modules/util/js/domready.js +146 -0
  65. data/assets/themes/j1/modules/util/js/gtag-opt-in.js +1 -0
  66. data/lib/j1/version.rb +1 -1
  67. data/lib/j1_app/j1_auth_manager/auth_manager.rb +2 -3
  68. data/lib/starter_web/Gemfile +1 -1
  69. data/lib/starter_web/_config.yml +8 -7
  70. data/lib/starter_web/_data/_defaults/resources.yml +11 -8
  71. data/lib/starter_web/_data/apps/defaults/justifiedGalleryCustomizer.yml +1 -0
  72. data/lib/starter_web/_data/blocks/banner.yml +30 -24
  73. data/lib/starter_web/_data/blocks/panel.yml +9 -7
  74. data/lib/starter_web/_data/builder/blog_navigator.yml +6 -1
  75. data/lib/starter_web/_data/j1_config.yml +22 -19
  76. data/lib/starter_web/_data/layouts/blog_archive.yml +9 -0
  77. data/lib/starter_web/_data/layouts/default.yml +17 -27
  78. data/lib/starter_web/_data/layouts/home.yml +6 -5
  79. data/lib/starter_web/_data/layouts/page.yml +1 -1
  80. data/lib/starter_web/_data/modules/{cookiebar.yml → cookieconsent.yml} +4 -4
  81. data/lib/starter_web/_data/modules/defaults/authentication.yml +1 -0
  82. data/lib/starter_web/_data/modules/defaults/cookieconsent.yml +135 -0
  83. data/lib/starter_web/_data/modules/defaults/navigator.yml +5 -2
  84. data/lib/starter_web/_data/modules/defaults/themer.yml +2 -1
  85. data/lib/starter_web/_data/modules/navigator.yml +24 -21
  86. data/lib/starter_web/_data/modules/navigator_menu.yml +1 -1
  87. data/lib/starter_web/_data/pages/builder.yml +7 -7
  88. data/lib/starter_web/_data/private.default.yml +119 -0
  89. data/lib/starter_web/_data/private.yml +6 -6
  90. data/lib/starter_web/_data/resources.yml +19 -15
  91. data/lib/starter_web/_includes/attributes.asciidoc +10 -1
  92. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  93. data/lib/starter_web/assets/images/modules/attics/christa-dodoo-1920x1280.jpg +0 -0
  94. data/lib/starter_web/assets/images/modules/attics/{cookies-1920x1200-bw.jpg → cookies-1920x1200.jpg} +0 -0
  95. data/lib/starter_web/assets/images/modules/attics/lianhao-1920x1280.jpg +0 -0
  96. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +3 -9
  97. data/lib/starter_web/collections/posts/public/featured/_posts/2020-01-01-about-cookies.adoc +4 -4
  98. data/lib/starter_web/collections/posts/public/featured/_posts/2021-03-01-site-generators.adoc +1 -7
  99. data/lib/starter_web/collections/posts/public/featured/_posts/2021-03-03-about-j1.adoc +2 -7
  100. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +0 -4
  101. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +0 -4
  102. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +0 -4
  103. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +0 -4
  104. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-20-minneapolis.adoc +3 -0
  105. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +3 -0
  106. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-26-columbia-river.adoc +3 -0
  107. data/lib/starter_web/dot.gitignore +1 -1
  108. data/lib/starter_web/index.html +3 -3
  109. data/lib/starter_web/package.json +1 -1
  110. data/lib/starter_web/pages/public/blog/navigator/archive.html +43 -23
  111. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +51 -27
  112. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +48 -26
  113. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +44 -12
  114. data/lib/starter_web/pages/public/blog/navigator/index.html +1 -1
  115. data/lib/starter_web/pages/public/cookieConsent.adoc +93 -0
  116. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.org.asciidoc +244 -0
  117. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +2 -1
  118. data/lib/starter_web/pages/public/learn/where_to_go.adoc +0 -16
  119. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +104 -209
  120. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +6 -1
  121. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  122. data/lib/starter_web/utilsrv/package.json +1 -1
  123. metadata +25 -14
  124. data/assets/data/cookiebar.html +0 -285
  125. data/lib/starter_web/_data/modules/defaults/cookiebar.yml +0 -132
@@ -152,8 +152,9 @@ j1.adapter['justifiedGalleryCustomizer'] = (function (j1, window) {
152
152
  // data loader
153
153
  // ---------------------------------------------------------------------
154
154
  j1.xhrData ({
155
- xhr_container_id: customizerOptions.xhr_container_id,
156
- xhr_data_path: customizerOptions.xhr_data_path },
155
+ xhr_container_id: customizerOptions.xhr_container_id,
156
+ xhr_data_path: customizerOptions.xhr_data_path,
157
+ xhr_data_element: customizerOptions.xhr_data_element },
157
158
  'j1.adapter.gallery_customizer',
158
159
  'null'
159
160
  );
@@ -209,13 +209,17 @@ j1.adapter['mmenu'] = (function (j1, window) {
209
209
  to
210
210
  {% if forloop.last %}'data_loaded'{% else %}'data_loaded'{% endif %}){% if forloop.last %}{% else %},{% endif %}
211
211
  -------------------------------------------------------------------------- {% endcomment %}
212
+
212
213
  {% for item in nav_mmenu_options.menus %} {% if item.menu.enabled %}
213
- {% assign menu_id = item.menu.xhr_container_id %}
214
- {% assign xhr_data_path = item.menu.xhr_data_path %}
214
+
215
+ {% assign menu_id = item.menu.xhr_container_id %}
216
+ {% assign xhr_data_path = item.menu.xhr_data_path %}
217
+ {% assign xhr_data_element = item.menu.xhr_data_element %}
215
218
 
216
219
  j1.xhrData ({
217
- xhr_container_id: '{{menu_id}}',
218
- xhr_data_path: '{{xhr_data_path}}'},
220
+ xhr_container_id: '{{menu_id}}',
221
+ xhr_data_path: '{{xhr_data_path}}',
222
+ xhr_data_element: '{{xhr_data_element}}' },
219
223
  'j1.adapter.mmenu',
220
224
  {% if forloop.last %}'data_loaded'{% else %}'null'{% endif %}){% if forloop.last %};{% else %};{% endif %}
221
225
 
@@ -160,13 +160,17 @@ j1.adapter['navigator'] = (function (j1, window) {
160
160
 
161
161
  var nav_menu_id = '{{nav_menu_id}}';
162
162
  var nav_quicklinks_id = '{{nav_quicklinks_id}}';
163
+
163
164
  var authclient_modals_id = '{{authclient_modals_id}}';
165
+ var authclient_xhr_data_element = '{{authclient_options.xhr_data_element}}';
166
+ var authclient_modals_data_path = '{{authclient_options.xhr_data_path}}';
164
167
 
165
- var colors_data_path = '{{template_config.colors_data_path}}';
166
- var font_size_data_path = '{{template_config.font_size_data_path}}';
167
168
  var nav_menu_data_path = '{{nav_menu_options.data_path}}';
168
169
  var nav_quicklinks_data_path = '{{quicklinks_options.data_path}}';
169
- var authclient_modals_data_path = '{{authclient_options.xhr_data_path}}';
170
+
171
+ var colors_data_path = '{{template_config.colors_data_path}}';
172
+ var font_size_data_path = '{{template_config.font_size_data_path}}';
173
+
170
174
 
171
175
  var cookie_names = j1.getCookieNames();
172
176
  var cookie_user_session_name = cookie_names.user_session;
@@ -235,7 +239,16 @@ j1.adapter['navigator'] = (function (j1, window) {
235
239
  var navAuthClientOptions = {};
236
240
  var navAuthMAnagerConfig = {};
237
241
 
242
+ var user_state = {};
243
+ var cookie_names = j1.getCookieNames();
244
+ var cookie_user_state_name = cookie_names.user_state;
245
+
238
246
  var themerOptions = {};
247
+ var interval_count = 0;
248
+ var user_state_detected;
249
+ var themes_count;
250
+ var max_count = 100;
251
+
239
252
 
240
253
  navDefaults = $.extend({}, {{navigator_defaults | replace: '=>', ':' }});
241
254
  navBarConfig = $.extend({}, {{nav_bar_options | replace: '=>', ':' }});
@@ -282,26 +295,29 @@ j1.adapter['navigator'] = (function (j1, window) {
282
295
  // Workaround: Set 'data_loaded' to be returned by all Deferred in
283
296
  // the chain.
284
297
  // See: https://stackoverflow.com/questions/5436327/jquery-deferreds-and-promises-then-vs-done
285
- //
298
+ // authclient_xhr_data_element
286
299
  // -----------------------------------------------------------------------
287
300
  // data loader
288
301
  // -----------------------------------------------------------------------
289
302
 
290
303
  j1.xhrData({
291
- xhr_container_id: navQuicklinksOptions.xhr_container_id,
292
- xhr_data_path: navQuicklinksOptions.xhr_data_path },
304
+ xhr_container_id: navQuicklinksOptions.xhr_container_id,
305
+ xhr_data_path: navQuicklinksOptions.xhr_data_path,
306
+ xhr_data_element: navQuicklinksOptions.xhr_data_element },
293
307
  'j1.adapter.navigator',
294
308
  null);
295
309
  j1.xhrData({
296
- xhr_container_id: navAuthClientConfig.xhr_container_id,
297
- xhr_data_path: navAuthClientConfig.xhr_data_path },
310
+ xhr_container_id: navAuthClientConfig.xhr_container_id,
311
+ xhr_data_path: navAuthClientConfig.xhr_data_path,
312
+ xhr_data_element: navAuthClientConfig.xhr_data_element },
298
313
  'j1.adapter.navigator',
299
314
  null);
300
315
  j1.xhrData({
301
- xhr_container_id: navMenuOptions.xhr_container_id,
302
- xhr_data_path: navMenuOptions.xhr_data_path },
316
+ xhr_container_id: navMenuOptions.xhr_container_id,
317
+ xhr_data_path: navMenuOptions.xhr_data_path,
318
+ xhr_data_element: navMenuOptions.xhr_data_element },
303
319
  'j1.adapter.navigator',
304
- 'null');
320
+ 'data_loaded');
305
321
 
306
322
  var dependencies_met_load_menu_finished = setInterval (function () {
307
323
  if (j1.xhrDOMState['#'+navQuicklinksOptions.xhr_container_id] == 'not loaded' ||
@@ -339,30 +355,69 @@ j1.adapter['navigator'] = (function (j1, window) {
339
355
 
340
356
  // load themes (to menu) if themer is enabled|finished
341
357
  if (themerEnabled) {
358
+
359
+ logText = 'theme switcher: enabled';
360
+ logger.info(logText);
361
+
362
+ // Detect|Set J1 UserState
363
+ user_state_detected = j1.existsCookie(cookie_user_state_name);
364
+ if (user_state_detected) {
365
+ user_state = j1.readCookie(cookie_user_state_name);
366
+ }
367
+
342
368
  var dependencies_met_page_finished = setInterval(function() {
343
- // jadams, 2020-10-03: NOT needed to wait for j1 finished
369
+ // jadams, 2020-10-03: NOT needed to wait for j1 get finished
344
370
  // if (j1.getState() == 'finished') {
345
- if (j1.adapter.themer.getState() == 'finished') {
371
+ // jadams, 2021-06-22: disabled check on themer get finished
372
+ // if (j1.adapter.themer.getState() == 'finished') {
373
+ if ('true' === 'true') {
346
374
  // initialize theme switcher menus
347
- logText = 'theme switcher detect: enabled';
348
- logger.info(logText);
349
375
 
350
376
  logText = 'load themes';
351
377
  logger.info(logText);
352
378
 
353
- // load REMOTE themes from Bootswatch API (localFeed EMPTY!)
354
- $('#remote_themes').bootstrapThemeSwitcher({
355
- localFeed: '',
356
- bootswatchApiVersion: themerOptions.bootswatchApiVersion
357
- });
358
-
359
379
  // load LOCAL themes from JSON data
360
380
  logText = 'load local themes (json file)';
361
381
  logger.info(logText);
362
382
  $('#local_themes').bootstrapThemeSwitcher({
363
383
  localFeed: themerOptions.localThemes
364
384
  });
365
- clearInterval(dependencies_met_page_finished);
385
+
386
+ // load REMOTE themes from Bootswatch API (localFeed EMPTY!)
387
+ $('#remote_themes').bootstrapThemeSwitcher({
388
+ localFeed: '',
389
+ bootswatchApiVersion: themerOptions.bootswatchApiVersion
390
+ });
391
+
392
+ // jadams, 2021-04-22: Up to now, it is unclear why in some
393
+ // cases the menu bar is NOT fully loaded for THEMES
394
+ // TODO: Add additional checks to find the reason
395
+
396
+ // added same checks (as already done by adapter themer) to
397
+ // check if remote theme menu detected as LOADED
398
+ //
399
+ var dependencies_met_remote_themes_loaded = setInterval(function() {
400
+ interval_count += 1;
401
+ themes_count = document.getElementById("remote_themes").getElementsByTagName("li").length;
402
+ if ( themes_count > 0 ) {
403
+ logger.info('remote themes loaded: successfully');
404
+ logger.info('remote themes loaded: successfully after: ' + interval_count * 25 + ' ms');
405
+
406
+ clearInterval(dependencies_met_remote_themes_loaded);
407
+ // clearInterval(dependencies_met_page_finished);
408
+ } else {
409
+ logger.debug('wait for theme to be loaded: ' + user_state.theme_name);
410
+ }
411
+ if (interval_count > max_count) {
412
+ logger.warn('remote themes loading: failed');
413
+ logger.warn('continue processing');
414
+ clearInterval(dependencies_met_remote_themes_loaded);
415
+ // clearInterval(dependencies_met_page_finished);
416
+ }
417
+ clearInterval(dependencies_met_page_finished);
418
+ }, 25);
419
+
420
+ // clearInterval(dependencies_met_page_finished);
366
421
  }
367
422
  _this.setState('initialized');
368
423
  }, 25); // END 'dependencies_met_page_finished'
@@ -101,32 +101,34 @@ j1.adapter['themer'] = (function (j1, window) {
101
101
  // ---------------------------------------------------------------------------
102
102
  // globals
103
103
  // ---------------------------------------------------------------------------
104
- var environment = '{{environment}}';
105
- var themerOptions = $.extend({}, {{themer_options | replace: '=>', ':' | replace: 'nil', '""' }});
106
- var user_state = {};
107
- var cookie_names = j1.getCookieNames();
108
- var cookie_user_state_name = cookie_names.user_state;
109
- var user_state_detected = false;
110
- var styleLoaded = false;
111
- var id = 'default';
104
+ var environment = '{{environment}}';
105
+ var themerOptions = $.extend({}, {{themer_options | replace: '=>', ':' | replace: 'nil', '""' }});
106
+ var user_state = {};
107
+ var user_consent = {};
108
+ var cookie_names = j1.getCookieNames();
109
+ var user_state_detected = false;
110
+ var styleLoaded = false;
111
+ var id = 'default';
112
112
  var user_state_cookie;
113
113
  var theme_css_html;
114
114
  var _this;
115
115
  var logger;
116
116
  var logText;
117
117
 
118
+ var cssExtension = (environment === 'production')
119
+ ? '.min.css'
120
+ : '.css';
121
+
118
122
  var default_theme_name = '{{default_theme.name}}';
119
123
  var default_theme_author = '{{default_theme.author}}';
120
- var default_theme_author_url = '{{default_theme.theme_author_url}}';
124
+ var default_theme_author_url = '{{default_theme.author_url}}';
121
125
  var default_theme_css_name = default_theme_name.toLowerCase().replace(' ', '-');
122
- var default_theme_css = (environment == 'production')
123
- ? '{{asset_path}}/{{theme_base}}/' +default_theme_css_name+ '/bootstrap.min.css'
124
- : '{{asset_path}}/{{theme_base}}/' +default_theme_css_name+ '/bootstrap.css';
126
+ var default_theme_css = '{{asset_path}}/{{theme_base}}/' + default_theme_css_name + '/bootstrap' + cssExtension;
125
127
 
126
128
  // ---------------------------------------------------------------------------
127
129
  // helper functions
128
130
  // ---------------------------------------------------------------------------
129
- // Example: var styleLoaded = styleSheetLoaded('');
131
+
130
132
  function styleSheetLoaded(styleSheet) {
131
133
  var sheets = document.styleSheets, stylesheet = sheets[(sheets.length - 1)];
132
134
 
@@ -157,15 +159,15 @@ j1.adapter['themer'] = (function (j1, window) {
157
159
  _this.state = 'started';
158
160
  logger.info('state: ' + _this.getState());
159
161
 
160
- // Detect|Set J1 UserState
161
- user_state_detected = j1.existsCookie(cookie_user_state_name);
162
+ // detect|set user state cookie
163
+ user_state_detected = j1.existsCookie(cookie_names.user_state);
162
164
  if (user_state_detected) {
163
- user_state = j1.readCookie(cookie_user_state_name);
165
+ user_state = j1.readCookie(cookie_names.user_state);
166
+ user_consent = j1.readCookie(cookie_names.user_consent);
164
167
  }
165
168
 
166
- // initial user_state cookie
167
- //
168
- if ( user_state.theme_name == '') {
169
+ // initial theme data
170
+ if (user_state.theme_css === '') {
169
171
  user_state.theme_name = default_theme_name;
170
172
  user_state.theme_css = default_theme_css;
171
173
  user_state.theme_author = default_theme_author;
@@ -175,29 +177,35 @@ j1.adapter['themer'] = (function (j1, window) {
175
177
  styleLoaded = styleSheetLoaded(user_state.theme_css);
176
178
  theme_css_html = '<link rel="stylesheet" id="' + id + '" href="' + user_state.theme_css + '" type="text/css" />';
177
179
 
178
- // skip loading UNO CSS file except it is NOT loaded
179
- //
180
+ // skip loading theme UNO css file except NOT loaded
180
181
  if (!user_state.theme_name.includes('Uno') || !styleLoaded) {
181
182
  $('head').append(theme_css_html);
182
183
  }
183
184
 
184
185
  // store if theme_switcher is enabled
185
- //
186
186
  user_state.theme_switcher = themerOptions.enabled;
187
187
 
188
- j1.writeCookie({
189
- name: cookie_user_state_name,
190
- data: user_state,
191
- expires: 365 // was missing
192
- });
188
+ if (!user_consent.analyses || !user_consent.personalization) {
189
+ // expire state cookie to session
190
+ j1.writeCookie({
191
+ name: cookie_names.user_state,
192
+ data: user_state,
193
+ samesite: 'Strict'
194
+ });
195
+ } else {
196
+ j1.writeCookie({
197
+ name: cookie_names.user_state,
198
+ data: user_state,
199
+ samesite: 'Strict',
200
+ expires: 365
201
+ });
202
+ }
193
203
 
194
204
  // jadams, 2021-01-03: dependency has to be checked in more detail
195
- //
196
205
  var dependencies_met_j1_finished = setInterval (function () {
197
206
  if (j1.getState() == 'finished') {
198
207
  if (themerOptions.enabled) {
199
208
  // enable BS ThemeSwitcher
200
- //
201
209
  logger.info('themes detected as: enabled');
202
210
  logger.info('theme is being initialized: ' + user_state.theme_name);
203
211
 
@@ -156,65 +156,25 @@ j1.adapter['toccer'] = (function () {
156
156
  /* eslint-enable */
157
157
 
158
158
  // save config settings into the toccer object for global access
159
- //
160
159
  _this['moduleOptions'] = moduleOptions;
161
160
 
162
- // if (options !== undefined) {
163
- // var settings = $.extend({}, options);
164
- // } else {
165
- // var settings = false;
166
- // }
167
-
168
161
  // cast text-based booleans
169
- var isToc = (moduleOptions.toc === 'true');
170
- var isComments = (moduleOptions.comments === 'true');
162
+ var isToc = (moduleOptions.toc === 'true');
163
+ var isComments = (moduleOptions.comments === 'true');
171
164
 
172
- if (moduleOptions.collapseDepth === undefined) {
165
+ if ( typeof moduleOptions.collapseDepth === 'undefined') {
173
166
  moduleOptions.collapseDepth = 3;
174
167
  }
175
168
 
176
- // if (settings.scrollSmoothOffset === undefined) {
177
- // settings.scrollSmoothOffset = {{toccer_options.scrollSmoothOffset}};
178
- // }
179
- //
180
- // if (settings.enabled === undefined) {
181
- // settings.enabled = true;
182
- // }
183
-
184
- // save config settings into the toccer object for global|later access
185
- //
186
- // _this['moduleOptions'] = settings;
187
-
188
169
  if (isToc) {
189
170
  var dependencies_met_navigator = setInterval(function() {
190
171
  // if ( j1.adapter.navigator.getState() == 'finished' ) {
191
172
  if ( j1.getState() == 'finished' ) {
192
173
  var settings = j1.adapter.toccer.moduleOptions;
193
174
 
194
- // calculate (tocbot page) offset DYMICALLY for correct
195
- // smoothscroll position
196
- //
197
- // var $pagehead = $('.attic');
198
- // var $navbar = $('nav.navbar');
199
- // var $adblock = $('#adblock');
200
- //
201
- // var navbarType = $navbar.hasClass('navbar-fixed') ? 'fixed' : 'scrolled';
202
- // var fontSize = $('body').css('font-size').replace('px','');
203
- // var start = window.pageYOffset;
204
- //
205
- // var l = parseInt(fontSize);
206
- //
207
- // var h = $pagehead.length ? $pagehead.height() : 0;
208
- // var n = $navbar.length ? $navbar.height() : 0;
209
- // var a = $adblock.length ? $adblock.height() : 0;
210
- //
211
- // var o = navbarType == 'fixed' ? -1*(n + a + l) : -1*(h + n + a + l);
212
- //
213
- // settings.scrollSmoothOffset = o;
214
-
215
175
  _this.initToccerCore(settings);
216
-
217
176
  _this.setState('finished');
177
+
218
178
  logger.info('state: ' + _this.getState());
219
179
  logger.info('module initialized successfully');
220
180
  logger.info('met dependencies for: j1');
@@ -322,7 +282,6 @@ j1.adapter['toccer'] = (function () {
322
282
  scrollOffset = navbarType == 'fixed' ? -1*(n + a + l) : -1*(h + n + a + l);
323
283
 
324
284
  // static offset, to be checked why this is needed
325
- //
326
285
  scrollOffset = scrollOffset + moduleOptions.scrollSmoothOffset
327
286
 
328
287
  tocbot.refresh({
@@ -7269,7 +7269,7 @@ a.text-dark:hover, a.text-dark:focus {
7269
7269
  */
7270
7270
  /*
7271
7271
  # -----------------------------------------------------------------------------
7272
- # ~/100_template_css/scss/theme_uno_dark/theme/_alert.scss
7272
+ # ~/100_template_css/scss/theme_uno_dark/bootstrap/_alert.scss
7273
7273
  #
7274
7274
  # Product/Info:
7275
7275
  # https://jekyll.one
@@ -7315,7 +7315,7 @@ a.text-dark:hover, a.text-dark:focus {
7315
7315
 
7316
7316
  /*
7317
7317
  # -----------------------------------------------------------------------------
7318
- # ~/100_template_css/scss/theme_uno_dark/theme/_badge.scss
7318
+ # ~/100_template_css/scss/theme_uno_dark/bootstrap/_badge.scss
7319
7319
  #
7320
7320
  # Product/Info:
7321
7321
  # https://jekyll.one
@@ -7351,7 +7351,7 @@ a.text-dark:hover, a.text-dark:focus {
7351
7351
 
7352
7352
  /*
7353
7353
  # -----------------------------------------------------------------------------
7354
- # ~/100_template_css/scss/theme_uno_dark/theme/_buttons.scss
7354
+ # ~/100_template_css/scss/theme_uno_dark/bootstrap/_buttons.scss
7355
7355
  #
7356
7356
  # Product/Info:
7357
7357
  # https://jekyll.one
@@ -7444,7 +7444,7 @@ a.text-dark:hover, a.text-dark:focus {
7444
7444
 
7445
7445
  /*
7446
7446
  # -----------------------------------------------------------------------------
7447
- # ~/100_template_css/scss/theme_uno_dark/theme/_cards.scss
7447
+ # ~/100_template_css/scss/theme_uno_dark/bootstrap/_cards.scss
7448
7448
  #
7449
7449
  # Product/Info:
7450
7450
  # https://jekyll.one
@@ -7459,14 +7459,16 @@ a.text-dark:hover, a.text-dark:focus {
7459
7459
  border: 0;
7460
7460
  border-radius: 0; }
7461
7461
  .card .card-header {
7462
- border-bottom: 1px solid #757575; }
7462
+ border-bottom: 0; }
7463
7463
  .card .card-footer {
7464
- background-color: #1565c0 !important;
7465
- border-top: 1px solid #757575; }
7464
+ background-color: transparent !important;
7465
+ border-top: 0; }
7466
+ .card hr {
7467
+ border-top: 1px solid #757575 !important; }
7466
7468
 
7467
7469
  /*
7468
7470
  # -----------------------------------------------------------------------------
7469
- # ~/100_template_css/scss/theme_uno_dark/theme/_dropdowns.scss
7471
+ # ~/100_template_css/scss/theme_uno_dark/bootstrap/_dropdowns.scss
7470
7472
  #
7471
7473
  # Product/Info:
7472
7474
  # https://jekyll.one
@@ -7482,7 +7484,7 @@ a.text-dark:hover, a.text-dark:focus {
7482
7484
 
7483
7485
  /*
7484
7486
  # -----------------------------------------------------------------------------
7485
- # ~/100_template_css/scss/theme_uno_dark/theme/_forms.scss
7487
+ # ~/100_template_css/scss/theme_uno_dark/bootstrap/_forms.scss
7486
7488
  #
7487
7489
  # Product/Info:
7488
7490
  # https://jekyll.one
@@ -7525,7 +7527,7 @@ select.form-control[size], select.form-control[multiple] {
7525
7527
 
7526
7528
  /*
7527
7529
  # -----------------------------------------------------------------------------
7528
- # ~/100_template_css/scss/theme_uno_dark/theme/_jumbotron.scss
7530
+ # ~/100_template_css/scss/theme_uno_dark/bootstrap/_jumbotron.scss
7529
7531
  #
7530
7532
  # Product/Info:
7531
7533
  # https://jekyll.one
@@ -7566,7 +7568,7 @@ li > a:hover {
7566
7568
 
7567
7569
  /*
7568
7570
  # -----------------------------------------------------------------------------
7569
- # ~/100_template_css/scss/theme_uno_dark/theme/_navbar.scss
7571
+ # ~/100_template_css/scss/theme_uno_dark/bootstrap/_navbar.scss
7570
7572
  #
7571
7573
  # Product/Info:
7572
7574
  # https://jekyll.one
@@ -7642,7 +7644,7 @@ li > a:hover {
7642
7644
 
7643
7645
  /*
7644
7646
  # -----------------------------------------------------------------------------
7645
- # ~/100_template_css/scss/theme_uno_dark/theme/_navs.scss
7647
+ # ~/100_template_css/scss/theme_uno_dark/bootstrap/_navs.scss
7646
7648
  #
7647
7649
  # Product/Info:
7648
7650
  # https://jekyll.one
@@ -7784,7 +7786,7 @@ button:focus {
7784
7786
 
7785
7787
  /*
7786
7788
  # -----------------------------------------------------------------------------
7787
- # ~/100_template_css/scss/theme_uno_dark/theme/_tables.scss
7789
+ # ~/100_template_css/scss/theme_uno_dark/bootstrap/_tables.scss
7788
7790
  #
7789
7791
  # Product/Info:
7790
7792
  # https://jekyll.one
@@ -7949,7 +7951,8 @@ table tr.even, table tr.alt, table tr:nth-of-type(even) {
7949
7951
  */
7950
7952
  .post-headline h1,
7951
7953
  .post-headline h2 {
7952
- border-bottom: 1px dotted #0d47a1 !important; }
7954
+ color: #bdbdbd;
7955
+ border-bottom: 1px dotted #424242 !important; }
7953
7956
 
7954
7957
  /*
7955
7958
  # -----------------------------------------------------------------------------