j1-template 2021.0.7 → 2021.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/procedures/global/create_bs_button.proc +1 -1
  3. data/assets/data/menu.html +1 -30
  4. data/assets/themes/j1/adapter/js/fam.js +59 -27
  5. data/assets/themes/j1/adapter/js/j1.js +3 -2
  6. data/assets/themes/j1/adapter/js/themer.js +47 -23
  7. data/assets/themes/j1/adapter/js/toccer.js +97 -18
  8. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +81 -90
  9. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
  10. data/assets/themes/j1/modules/justifiedGallery/LICENSE +1 -1
  11. data/assets/themes/j1/modules/justifiedGallery/README.md +5 -3
  12. data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/js/{jquery.justifiedGallery.js → justifiedGallery.js} +145 -145
  13. data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/js/{jquery.justifiedGallery.min.js → justifiedGallery.min.js} +1 -2
  14. data/assets/themes/j1/modules/justifiedGallery/js/justifiedGallery.js +69 -53
  15. data/assets/themes/j1/modules/justifiedGallery/js/justifiedGallery.min.js +2 -2
  16. data/lib/j1/commands/generate.rb +2 -2
  17. data/lib/j1/version.rb +1 -1
  18. data/lib/j1_app/j1_auth_manager/auth_manager.rb +15 -0
  19. data/lib/starter_web/Gemfile +1 -1
  20. data/lib/starter_web/_config.yml +7 -5
  21. data/lib/starter_web/_data/apps/justified_gallery.yml +41 -13
  22. data/lib/starter_web/_data/blocks/banner.yml +20 -8
  23. data/lib/starter_web/_data/blocks/defaults/banner.yml +5 -5
  24. data/lib/starter_web/_data/blocks/panel.yml +1 -1
  25. data/lib/starter_web/_data/modules/defaults/themer.yml +1 -0
  26. data/lib/starter_web/_data/modules/defaults/toccer.yml +2 -2
  27. data/lib/starter_web/_data/modules/fam.yml +8 -0
  28. data/lib/starter_web/_data/modules/navigator_menu.yml +43 -38
  29. data/lib/starter_web/_includes/attributes.asciidoc +21 -5
  30. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  31. data/lib/starter_web/assets/images/collections/blog/featured/markus-spiske-2.jpg +0 -0
  32. data/lib/starter_web/assets/images/collections/blog/featured/staticgen.jpg +0 -0
  33. data/lib/starter_web/assets/images/modules/attics/florian-olivo-1920x1280.jpg +0 -0
  34. data/lib/starter_web/assets/images/modules/attics/joel-filipe-1920x1280.jpg +0 -0
  35. data/lib/starter_web/assets/images/modules/attics/markus-spiske3-1920x1280.jpg +0 -0
  36. data/lib/starter_web/assets/images/modules/attics/nicola-styles-1920x1280.jpg +0 -0
  37. data/lib/starter_web/assets/images/modules/attics/{runner-1920x1200-bw.jpg → runner-1920x1200.jpg} +0 -0
  38. data/lib/starter_web/assets/images/modules/attics/{the-place-1920x1280-bw.jpg → the-place-1920x1280.jpg} +0 -0
  39. data/lib/starter_web/assets/images/modules/gallery/old_times/colored/image_01.jpg +0 -0
  40. data/lib/starter_web/assets/images/modules/gallery/old_times/image_01.jpg +0 -0
  41. data/lib/starter_web/assets/images/modules/gallery/old_times/image_02.jpg +0 -0
  42. data/lib/starter_web/assets/images/modules/gallery/old_times/image_03.jpg +0 -0
  43. data/lib/starter_web/assets/images/modules/gallery/old_times/image_04.jpg +0 -0
  44. data/lib/starter_web/assets/images/modules/icons/d1/scalable/d1.svg +1 -1
  45. data/lib/starter_web/assets/images/pages/panels/florian-olivo-1920x800.jpg +0 -0
  46. data/lib/starter_web/assets/images/pages/panels/responsive-text-1920x800.jpg +0 -0
  47. data/lib/starter_web/collections/posts/public/featured/_posts/{0000-00-00-welcome-to-j1-template.adoc.erb → 0000-00-00-welcome-to-j1.adoc.erb} +29 -13
  48. data/lib/starter_web/collections/posts/public/featured/_posts/{2020-05-01-top-open-source-static-site-generators.adoc → 2020-05-01-top-site-generators.adoc} +9 -14
  49. data/lib/starter_web/collections/posts/public/featured/_posts/2020-06-01-about-cookies.adoc +57 -53
  50. data/lib/starter_web/dot.gitignore +2 -3
  51. data/lib/starter_web/index.html +10 -12
  52. data/lib/starter_web/package.json +1 -1
  53. data/lib/starter_web/pages/public/about/about_site.adoc +15 -1861
  54. data/lib/starter_web/pages/public/asciidoc_skeletons/book/000_intro.adoc +1 -1
  55. data/lib/starter_web/pages/public/asciidoc_skeletons/book/100_chapter.adoc +1 -1
  56. data/lib/starter_web/pages/public/asciidoc_skeletons/book/200_chapter.adoc +1 -1
  57. data/lib/starter_web/pages/public/asciidoc_skeletons/book/900_references.adoc +1 -1
  58. data/lib/starter_web/pages/public/asciidoc_skeletons/book/book.adoc +1 -1
  59. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/100_chapter.asciidoc +1 -1
  60. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/200_chapter.asciidoc +1 -1
  61. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +1 -1
  62. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +4 -5
  63. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +79 -46
  64. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +0 -7
  65. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +20 -48
  66. data/lib/starter_web/pages/public/learn/where_to_go.adoc +24 -49
  67. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +67 -36
  68. data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +15 -15
  69. data/lib/starter_web/pages/public/previewer/rouge.adoc +22 -50
  70. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  71. data/lib/starter_web/utilsrv/package.json +1 -1
  72. metadata +20 -25
  73. data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/justifiedGallery.min.zip +0 -0
  74. data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/justifiedGallery.zip +0 -0
  75. data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/css/justifiedGallery.css +0 -110
  76. data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/css/justifiedGallery.min.css +0 -110
  77. data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/css/theme/uno.css +0 -23
  78. data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/js/jquery.justifiedGallery.js +0 -1229
  79. data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/js/jquery.justifiedGallery.min.js +0 -8
  80. data/lib/j1/templates/posts/0000-00-00-welcome-to-j1-template.adoc.erb +0 -72
  81. data/lib/starter_web/collections/posts/public/featured/_posts/2020-04-01-confusion-about-base-url.adoc +0 -118
  82. data/lib/starter_web/pages/public/about/become_a_patron.adoc +0 -71
  83. data/lib/starter_web/pages/public/legal/de/100_impress.adoc +0 -98
  84. data/lib/starter_web/pages/public/legal/de/200_terms_of_use.adoc +0 -55
  85. data/lib/starter_web/pages/public/legal/de/300_privacy.adoc +0 -295
  86. data/lib/starter_web/pages/public/legal/de/400_license_agreement.adoc +0 -395
  87. data/lib/starter_web/pages/public/legal/de/500_support.adoc +0 -20
  88. data/lib/starter_web/pages/public/legal/en/400_license_agreement.adoc +0 -441
  89. data/lib/starter_web/pages/public/legal/en/500_support.adoc +0 -27
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0f01dd4e427270ca3a7ac4c21fb868f5ee0985c5dd9767eda91b64b466c2c0c8
4
- data.tar.gz: 4e7ae30275c4102dd4e383249841d6f33365d8eaf36c775855d59c855ac77f5f
3
+ metadata.gz: a125175cbe45e72e471f0791b41c61e57a1ec4c0e018269aabda6312df689c33
4
+ data.tar.gz: 24ef960d123e60c66aedd129e5e39a22e6647402cd42ecb479a9f9b10298846e
5
5
  SHA512:
6
- metadata.gz: 0a8ac5dbfbae496773157bba92744bddb436c8793a148093ae9d273f67a11cc813ee4ff1cf2e60d2d952e12459bd404975dbba34e686c22c86e6e58926a2d31d
7
- data.tar.gz: 4e2e4c16c0ef2b743f94a1c47e536297ceb8e20e441ffcda893c7a070925575ae66dc2e87bb33d9ba428b80957b51ed8610f6d9db87f1692fc725700e9a71168
6
+ metadata.gz: 22232a87fdccaa04aa4e3cb6f2b7270995db3a7af3ed83e87f328bc60242763d6f383a905bb2c072811adb6d4aef30aaf39829dfaa3c9e3a3e1201938a86d135
7
+ data.tar.gz: 4a37a140f0cce1a465d70009738d0fe5ff4226a1120184fbef93e16286d64dc704811d00e09388b38a6f96d759225e14aa615685fbd4416adea02784c0e3743e
@@ -75,7 +75,7 @@
75
75
  {% endfor %}
76
76
 
77
77
  {% if button_href and button_target %}
78
- {% capture bs_button_html %}<a href="{{button_href}}" target="{{ button_target }}" class="{{button_class}}" style="{{button_style}}"><i class="{{icon_family}} {{icon_family}}-{{button_icon}} {{icon_family}}-{{button_icon_size}} {{icon_family}}-{{button_icon_color}} mr-1"></i> {{button_text}} </a>{% endcapture %}
78
+ {% capture bs_button_html %}<a href="{{button_href}}" target="{{ button_target }}" rel="noopener" class="{{button_class}}" style="{{button_style}}"><i class="{{icon_family}} {{icon_family}}-{{button_icon}} {{icon_family}}-{{button_icon_size}} {{icon_family}}-{{button_icon_color}} mr-1"></i> {{button_text}} </a>{% endcapture %}
79
79
  {% elsif button_href %}
80
80
  {% capture bs_button_html %}<a href="{{button_href}}" class="{{button_class}}" style="{{button_style}}"><i class="{{icon_family}} {{icon_family}}-{{button_icon}} {{icon_family}}-{{button_icon_size}} {{icon_family}}-{{button_icon_color}} mr-1"></i> {{button_text}} </a>{% endcapture %}
81
81
  {% else %}
@@ -318,7 +318,7 @@ regenerate: true
318
318
  {% assign menu_type = '' %}
319
319
 
320
320
 
321
- {% comment %}Collect TOP-LEVEL items (NO sub-menu)
321
+ {% comment %} Collect TOP-LEVEL items (NO sub-menu)
322
322
  -------------------------------------------------------------------------- {% endcomment %}
323
323
  {% when 'top_level_item' %}
324
324
  <!-- [INFO ] [j1.modules.navigator.menu.html ] [found menu-type: menu-top-level-only] -->
@@ -465,35 +465,6 @@ regenerate: true
465
465
  {% endfor %}
466
466
  <!-- [INFO ] [j1.modules.navigator.menu.html ] [nav_menu_settings: end menu] -->
467
467
  </ul>
468
-
469
- <style>
470
- /* jadams, 2021-02-16: unclear why global styles defined in CSS file */
471
- /* (bootsttrap.css) not applied. For that reason, given locally for now */
472
- .scrollable-menu {
473
- height: auto;
474
- max-height: 300px;
475
- overflow-x: hidden;
476
- }
477
-
478
- .scrollable-menu::-webkit-scrollbar {
479
- -webkit-appearance: none;
480
- width: 12px;
481
- background-color: #f5f5f5;
482
- }
483
-
484
- .scrollable-menu::-webkit-scrollbar-thumb {
485
- border-radius: 10px;
486
- -webkit-box-shadow: inset 0 0 6px rgba(255, 255, 255, 0.3);
487
- background-color: #424242;
488
- }
489
-
490
- .scrollable-menu::-webkit-scrollbar-track {
491
- -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
492
- border-radius: 0px;
493
- background-color: #f5f5f5;
494
- }
495
- </style>
496
-
497
468
  <!-- [INFO ] [j1.modules.navigator.menu.html ] [nav_menu_settings: end navbar] -->
498
469
  <!-- [INFO ] [j1.modules.navigator.menu.html ] [nav_menu_settings: end processing] -->
499
470
  {% endcapture %}
@@ -396,16 +396,39 @@ j1.adapter['fam'] = (function (j1, window) {
396
396
  var currentNode;
397
397
  var prev_node;
398
398
  var anchor_id;
399
+ var index = 0;
400
+ var maxNode = $(nodes).length-1;
401
+ var $toc = $('#sidebar');
402
+ var current_header_id = $toc.find('.is-active-link').attr('href');
403
+ var toccerScrollDuration = {{toccer_options.scrollSmoothDuration}};
404
+ var toccerScrollOffset = {{toccer_options.scrollSmoothOffset}};
405
+
406
+ // Scroll offset correction if mobile or window width <= 992
407
+ // For smaller window sizes, the height of the menubar changes
408
+ //
409
+ // if (j1.core.isMobile() || $(window).width() <= 992) { scrollOffset += 30; }
410
+
411
+ // calculate offset for correct (smooth) scroll position
412
+ //
413
+ var $pagehead = $('.attic');
414
+ var $navbar = $('nav.navbar');
415
+ var $adblock = $('#adblock');
416
+
417
+ var navbarType = $navbar.hasClass('navbar-fixed') ? 'fixed' : 'scrolled';
418
+ var fontSize = $('body').css('font-size').replace('px','');
419
+ var start = window.pageYOffset;
420
+
421
+ var l = parseInt(fontSize);
422
+
423
+ var h = $pagehead.length ? $pagehead.height() : 0;
424
+ var n = $navbar.length ? $navbar.height() : 0;
425
+ var a = $adblock.length ? $adblock.height() : 0;
399
426
 
400
- var index = 0;
401
- var maxNode = $(nodes).length - 1;
402
- var $toc = $('#sidebar');
403
- var current_header_id = $toc.find('.is-active-link').attr('href');
404
- var scrollDuration = {{toccer_options.scrollSmoothDuration}};
405
- var scrollOffset = {{toccer_options.scrollSmoothOffset}};
427
+ var scrollOffset = navbarType == 'fixed' ? -1*(n + a + l) : -1*(h + n + a + l);
406
428
 
407
- // Correction if mobile (offset: desktop -90px, mobile -80px)
408
- scrollOffset = j1.core.isMobile() ? scrollOffset + 10 : scrollOffset;
429
+ // static offset, to be checked why this is needed
430
+ //
431
+ scrollOffset = scrollOffset + toccerScrollOffset;
409
432
 
410
433
  nodes.each(function () {
411
434
  currentNode = $(this).find(current_header_id);
@@ -418,7 +441,7 @@ j1.adapter['fam'] = (function (j1, window) {
418
441
  anchor_id = '#' + previous_header_id;
419
442
 
420
443
  j1.core.scrollSmooth.scroll( anchor_id, {
421
- duration: scrollDuration,
444
+ duration: toccerScrollDuration,
422
445
  offset: scrollOffset,
423
446
  callback: null
424
447
  });
@@ -439,12 +462,12 @@ j1.adapter['fam'] = (function (j1, window) {
439
462
  var nextNode;
440
463
  var next_header_id;
441
464
  var next_anchor_id;
442
- var index = 0;
443
- var maxNode = $(nodes).length-1;
444
- // var maxNode = $(nodes).length;
445
- var $toc = $('#sidebar');
446
- var scrollDuration = {{toccer_options.scrollSmoothDuration}};
447
- var scrollOffset = {{toccer_options.scrollSmoothOffset}};
465
+ var index = 0;
466
+ var maxNode = $(nodes).length-1;
467
+ var $toc = $('#sidebar');
468
+ var scrollDuration = {{toccer_options.scrollSmoothDuration}};
469
+ var toccerScrollDuration = {{toccer_options.scrollSmoothDuration}};
470
+ var toccerScrollOffset = {{toccer_options.scrollSmoothOffset}};
448
471
 
449
472
  current_header_id = $toc.find('.is-active-link').attr('href');
450
473
  nodes.each(function () {
@@ -453,28 +476,37 @@ j1.adapter['fam'] = (function (j1, window) {
453
476
  if (index == maxNode) {
454
477
  return false;
455
478
  } else {
456
- // nextNode = nodes[index];
457
- // next_header_id = $(nextNode).find(':header').first()[0].id;
458
- // anchor_id = '#' + next_header_id;
459
479
  nextNode = nodes[index+1];
460
480
  next_header_id = $(nextNode).find(':header').first()[0].id;
461
481
  next_anchor_id = '#' + next_header_id;
462
482
 
463
- // Correction if mobile (offset: desktop -90px, mobile -80px)
464
- scrollOffset = j1.core.isMobile() ? scrollOffset + 10 : scrollOffset;
483
+ // calculate offset for correct (smooth) scroll position
484
+ //
485
+ var $pagehead = $('.attic');
486
+ var $navbar = $('nav.navbar');
487
+ var $adblock = $('#adblock');
488
+
489
+ var navbarType = $navbar.hasClass('navbar-fixed') ? 'fixed' : 'scrolled';
490
+ var fontSize = $('body').css('font-size').replace('px','');
491
+ var start = window.pageYOffset;
492
+
493
+ var l = parseInt(fontSize);
465
494
 
466
- // j1.core.scrollSmooth.scroll( next_anchor_id, {
467
- // duration: scrollDuration,
468
- // offset: scrollOffset,
469
- // callback: tocbot.refresh()
470
- // });
495
+ var h = $pagehead.length ? $pagehead.height() : 0;
496
+ var n = $navbar.length ? $navbar.height() : 0;
497
+ var a = $adblock.length ? $adblock.height() : 0;
498
+
499
+ var scrollOffset = navbarType == 'fixed' ? -1*(n + a + l) : -1*(h + n + a + l);
500
+
501
+ // static offset, to be checked why this is needed
502
+ //
503
+ scrollOffset = scrollOffset + toccerScrollOffset;
471
504
 
472
505
  j1.core.scrollSmooth.scroll( next_anchor_id, {
473
- duration: scrollDuration,
506
+ duration: toccerScrollDuration,
474
507
  offset: scrollOffset,
475
508
  callback: null
476
509
  });
477
-
478
510
  }
479
511
  }
480
512
  index < maxNode ? index++ : index;
@@ -172,7 +172,8 @@ var j1 = (function () {
172
172
 
173
173
  // user SESSION cookie (initial values)
174
174
  var user_session = {
175
- 'mode': 'na',
175
+ 'mode': 'web',
176
+ 'writer': 'web',
176
177
  'locale': navigator.language || navigator.userLanguage,
177
178
  'user_name': '{{template_config.user.user_name}}',
178
179
  'provider': '{{template_config.user.provider}}',
@@ -324,7 +325,7 @@ var j1 = (function () {
324
325
  // detect middleware (mode 'app') and update user session cookie
325
326
  // -----------------------------------------------------------------------
326
327
  // if (user_session.mode === 'na' || user_session.mode === 'app') {
327
- if (user_session.mode === 'na') {
328
+ if (user_session.mode === 'app') {
328
329
  var url = new liteURL(window.location.href);
329
330
  var ep_status = baseUrl + '/status' + '?page=' + window.location.pathname;
330
331
  var detectTimeout = 50;
@@ -187,7 +187,8 @@ j1.adapter['themer'] = (function (j1, window) {
187
187
 
188
188
  j1.writeCookie({
189
189
  name: cookie_user_state_name,
190
- data: user_state
190
+ data: user_state,
191
+ expires: 365 // was missing
191
192
  });
192
193
 
193
194
  // jadams, 2021-01-03: dependency has to be checked in more detail
@@ -196,32 +197,55 @@ j1.adapter['themer'] = (function (j1, window) {
196
197
  if (j1.getState() == 'finished') {
197
198
  if (themerOptions.enabled) {
198
199
  // enable BS ThemeSwitcher
200
+ //
199
201
  logger.info('themes detected as: enabled');
200
202
  logger.info('theme is being initialized: ' + user_state.theme_name);
201
203
 
204
+ // jadams, 2021-02-22: make sure that remote themes are loaded
205
+ // max retries = max_count
206
+
207
+ // load list of remote themes
208
+ //
202
209
  if ( $('#remote_themes').length ) {
203
- /* eslint-disable */
204
- // initialize Bootswatch Theme Switcher
205
- $('#remote_themes').bootstrapThemeSwitcher.defaults = {
206
- debug: themerOptions.debug,
207
- saveToCookie: themerOptions.saveToCookie,
208
- cssThemeLink: themerOptions.cssThemeLink,
209
- cookieThemeName: themerOptions.cookieThemeName,
210
- cookieDefaultThemeName: themerOptions.cookieDefaultThemeName,
211
- cookieThemeCss: themerOptions.cookieThemeCss,
212
- cookieThemeExtensionCss: themerOptions.cookieThemeExtensionCss,
213
- cookieExpiration: themerOptions.cookieExpiration,
214
- cookiePath: themerOptions.cookiePath,
215
- defaultCssFile: themerOptions.defaultCssFile,
216
- bootswatchApiUrl: themerOptions.bootswatchApiUrl,
217
- bootswatchApiVersion: themerOptions.bootswatchApiVersion,
218
- loadFromBootswatch: themerOptions.loadFromBootswatch,
219
- localFeed: themerOptions.localThemes,
220
- excludeBootswatch: themerOptions.excludeBootswatch,
221
- includeBootswatch: themerOptions.includeBootswatch,
222
- skipIncludeBootswatch: themerOptions.skipIncludeBootswatch
223
- }
224
- /* eslint-enable */
210
+ var interval_count = 0;
211
+ var max_count = themerOptions.retries;
212
+
213
+ var dependencies_met_remote_themes_loaded = setInterval(function() {
214
+ interval_count += 1;
215
+ if ( document.getElementById("remote_themes").getElementsByTagName("li").length == 0 ) {
216
+ /* eslint-disable */
217
+ // initialize Bootswatch Theme Switcher
218
+ $('#remote_themes').bootstrapThemeSwitcher.defaults = {
219
+ debug: themerOptions.debug,
220
+ saveToCookie: themerOptions.saveToCookie,
221
+ cssThemeLink: themerOptions.cssThemeLink,
222
+ cookieThemeName: themerOptions.cookieThemeName,
223
+ cookieDefaultThemeName: themerOptions.cookieDefaultThemeName,
224
+ cookieThemeCss: themerOptions.cookieThemeCss,
225
+ cookieThemeExtensionCss: themerOptions.cookieThemeExtensionCss,
226
+ cookieExpiration: themerOptions.cookieExpiration,
227
+ cookiePath: themerOptions.cookiePath,
228
+ defaultCssFile: themerOptions.defaultCssFile,
229
+ bootswatchApiUrl: themerOptions.bootswatchApiUrl,
230
+ bootswatchApiVersion: themerOptions.bootswatchApiVersion,
231
+ loadFromBootswatch: themerOptions.loadFromBootswatch,
232
+ localFeed: themerOptions.localThemes,
233
+ excludeBootswatch: themerOptions.excludeBootswatch,
234
+ includeBootswatch: themerOptions.includeBootswatch,
235
+ skipIncludeBootswatch: themerOptions.skipIncludeBootswatch
236
+ }
237
+ /* eslint-enable */
238
+ } else {
239
+ logger.info('remote themes loaded: successfully');
240
+ logger.debug('remote themes loaded: successfully after: ' + interval_count * 25 + ' ms');
241
+ clearInterval(dependencies_met_remote_themes_loaded);
242
+ }
243
+ if (interval_count > max_count) {
244
+ logger.warn('remote themes loading: failed');
245
+ logger.warn('continue processing');
246
+ clearInterval(dependencies_met_remote_themes_loaded);
247
+ }
248
+ }, 25);
225
249
 
226
250
  logger.info('theme loaded: ' + user_state.theme_name);
227
251
  logger.info('theme css file: ' + user_state.theme_css);
@@ -194,23 +194,23 @@ j1.adapter['toccer'] = (function () {
194
194
  // calculate (tocbot page) offset DYMICALLY for correct
195
195
  // smoothscroll position
196
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;
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
214
 
215
215
  _this.initToccerCore(settings);
216
216
 
@@ -228,6 +228,7 @@ j1.adapter['toccer'] = (function () {
228
228
  // Set Toccer options
229
229
  // -------------------------------------------------------------------------
230
230
  initToccerCore: function (options) {
231
+ var scrollOffset;
231
232
 
232
233
  if (options !== undefined) {
233
234
  var settings = $.extend({}, options);
@@ -235,10 +236,33 @@ j1.adapter['toccer'] = (function () {
235
236
  var settings = false;
236
237
  }
237
238
 
239
+ // calculate offset for correct (smooth) scroll position
240
+ //
241
+ var $pagehead = $('.attic');
242
+ var $navbar = $('nav.navbar');
243
+ var $adblock = $('#adblock');
244
+
245
+ var navbarType = $navbar.hasClass('navbar-fixed') ? 'fixed' : 'scrolled';
246
+ var fontSize = $('body').css('font-size').replace('px','');
247
+ var start = window.pageYOffset;
248
+
249
+ var l = parseInt(fontSize);
250
+
251
+ var h = $pagehead.length ? $pagehead.height() : 0;
252
+ var n = $navbar.length ? $navbar.height() : 0;
253
+ var a = $adblock.length ? $adblock.height() : 0;
254
+
255
+ scrollOffset = navbarType == 'fixed' ? -1*(n + a + l) : -1*(h + n + a + l);
256
+
257
+ // static offset, to be checked why this is needed
258
+ //
259
+ scrollOffset = scrollOffset + moduleOptions.scrollSmoothOffset
260
+
238
261
  _this.setState('running');
239
262
  logger.info('state: ' + _this.getState());
240
263
 
241
264
  // tocbot get fired if HTML portion is loaded (AJAX load finished)
265
+ //
242
266
  var dependencies_met_ajax_load_finished = setInterval (function () {
243
267
  if ($('#toc_mmenu').length) {
244
268
  /* eslint-disable */
@@ -267,7 +291,7 @@ j1.adapter['toccer'] = (function () {
267
291
  scrollContainer: null,
268
292
  scrollSmooth: moduleOptions.scrollSmooth,
269
293
  scrollSmoothDuration: moduleOptions.scrollSmoothDuration,
270
- scrollSmoothOffset: moduleOptions.scrollSmoothOffset,
294
+ scrollSmoothOffset: scrollOffset,
271
295
  headingsOffset: 1,
272
296
  throttleTimeout: moduleOptions.throttleTimeout
273
297
  });
@@ -276,6 +300,61 @@ j1.adapter['toccer'] = (function () {
276
300
  clearInterval(dependencies_met_ajax_load_finished);
277
301
  } // END AJAX load finished
278
302
  }, 25); // END dependencies_met_ajax_load_finished
303
+
304
+ $(window).on('resize', function() {
305
+ var scrollOffset;
306
+ // re-calculate offset for correct (smooth) scroll position
307
+ //
308
+ var $pagehead = $('.attic');
309
+ var $navbar = $('nav.navbar');
310
+ var $adblock = $('#adblock');
311
+
312
+ var navbarType = $navbar.hasClass('navbar-fixed') ? 'fixed' : 'scrolled';
313
+ var fontSize = $('body').css('font-size').replace('px','');
314
+ var start = window.pageYOffset;
315
+
316
+ var l = parseInt(fontSize);
317
+
318
+ var h = $pagehead.length ? $pagehead.height() : 0;
319
+ var n = $navbar.length ? $navbar.height() : 0;
320
+ var a = $adblock.length ? $adblock.height() : 0;
321
+
322
+ scrollOffset = navbarType == 'fixed' ? -1*(n + a + l) : -1*(h + n + a + l);
323
+
324
+ // static offset, to be checked why this is needed
325
+ //
326
+ scrollOffset = scrollOffset + moduleOptions.scrollSmoothOffset
327
+
328
+ tocbot.refresh({
329
+ log: moduleOptions.log,
330
+ activeLinkColor: moduleOptions.activeLinkColor,
331
+ tocSelector: moduleOptions.tocSelector,
332
+ headingSelector: moduleOptions.headingSelector,
333
+ ignoreSelector: moduleOptions.ignoreSelector,
334
+ contentSelector: moduleOptions.contentSelector,
335
+ collapseDepth: moduleOptions.collapseDepth,
336
+ throttleTimeout: moduleOptions.throttleTimeout,
337
+ hasInnerContainers: false,
338
+ includeHtml: false,
339
+ linkClass: 'toc-link',
340
+ extraLinkClasses: '',
341
+ activeLinkClass: 'is-active-link',
342
+ listClass: 'toc-list',
343
+ extraListClasses: '',
344
+ isCollapsedClass: 'is-collapsed',
345
+ collapsibleClass: 'is-collapsible',
346
+ listItemClass: 'toc-list-item',
347
+ positionFixedSelector: '',
348
+ positionFixedClass: 'is-position-fixed',
349
+ fixedSidebarOffset: 'auto',
350
+ scrollContainer: null,
351
+ scrollSmooth: moduleOptions.scrollSmooth,
352
+ scrollSmoothDuration: moduleOptions.scrollSmoothDuration,
353
+ scrollSmoothOffset: scrollOffset,
354
+ headingsOffset: 1,
355
+ throttleTimeout: moduleOptions.throttleTimeout
356
+ });
357
+ });
279
358
  }, // END initToccerCore
280
359
 
281
360
  // -------------------------------------------------------------------------