j1-template 2021.0.9 → 2021.0.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/content_generator_blog_archive.html +34 -12
  3. data/_includes/themes/j1/layouts/content_generator_post.html +7 -5
  4. data/_includes/themes/j1/procedures/global/create_bs_button.proc +1 -1
  5. data/_includes/themes/j1/procedures/posts/create_series_header.proc +2 -0
  6. data/assets/data/menu.html +10 -42
  7. data/assets/themes/j1/adapter/js/fam.js +59 -27
  8. data/assets/themes/j1/adapter/js/mmenu.js +9 -4
  9. data/assets/themes/j1/adapter/js/navigator.js +12 -5
  10. data/assets/themes/j1/adapter/js/themer.js +49 -0
  11. data/assets/themes/j1/adapter/js/toccer.js +97 -18
  12. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +86 -95
  13. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
  14. data/assets/themes/j1/modules/justifiedGallery/LICENSE +1 -1
  15. data/assets/themes/j1/modules/justifiedGallery/README.md +5 -3
  16. data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/js/{jquery.justifiedGallery.js → justifiedGallery.js} +145 -145
  17. data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/js/{jquery.justifiedGallery.min.js → justifiedGallery.min.js} +1 -2
  18. data/assets/themes/j1/modules/justifiedGallery/js/justifiedGallery.js +69 -53
  19. data/assets/themes/j1/modules/justifiedGallery/js/justifiedGallery.min.js +2 -2
  20. data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +9 -4
  21. data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +1 -1
  22. data/lib/j1/commands/generate.rb +2 -2
  23. data/lib/j1/version.rb +1 -1
  24. data/lib/starter_web/Gemfile +2 -2
  25. data/lib/starter_web/_config.yml +3 -3
  26. data/lib/starter_web/_data/apps/justified_gallery.yml +41 -13
  27. data/lib/starter_web/_data/blocks/banner.yml +20 -8
  28. data/lib/starter_web/_data/blocks/defaults/banner.yml +5 -5
  29. data/lib/starter_web/_data/blocks/panel.yml +1 -1
  30. data/lib/starter_web/_data/builder/blog_navigator.yml +4 -4
  31. data/lib/starter_web/_data/modules/defaults/quicksearch.yml +3 -24
  32. data/lib/starter_web/_data/modules/defaults/themer.yml +1 -0
  33. data/lib/starter_web/_data/modules/defaults/toccer.yml +2 -2
  34. data/lib/starter_web/_data/modules/fam.yml +8 -0
  35. data/lib/starter_web/_data/modules/navigator_menu.yml +32 -32
  36. data/lib/starter_web/_data/modules/quicksearch.yml +3 -3
  37. data/lib/starter_web/_includes/attributes.asciidoc +21 -5
  38. data/lib/starter_web/_plugins/lunr_index.rb +8 -4
  39. data/lib/starter_web/assets/images/collections/blog/featured/markus-spiske-2.jpg +0 -0
  40. data/lib/starter_web/assets/images/collections/blog/featured/staticgen.jpg +0 -0
  41. data/lib/starter_web/assets/images/modules/attics/florian-olivo-1920x1280.jpg +0 -0
  42. data/lib/starter_web/assets/images/modules/attics/joel-filipe-1920x1280.jpg +0 -0
  43. data/lib/starter_web/assets/images/modules/attics/markus-spiske-1920x1280.jpg +0 -0
  44. data/lib/starter_web/assets/images/modules/attics/markus-spiske.jpg +0 -0
  45. data/lib/starter_web/assets/images/modules/attics/markus-spiske3-1920x1280.jpg +0 -0
  46. data/lib/starter_web/assets/images/modules/attics/markus-spiske4-1920x1280.jpg +0 -0
  47. data/lib/starter_web/assets/images/modules/attics/{runner-1920x1200-bw.jpg → runner-1920x1200.jpg} +0 -0
  48. data/lib/starter_web/assets/images/modules/attics/{the-place-1920x1280-bw.jpg → the-place-1920x1280.jpg} +0 -0
  49. data/lib/starter_web/assets/images/modules/gallery/old_times/colored/image_01.jpg +0 -0
  50. data/lib/starter_web/assets/images/modules/gallery/old_times/image_01.jpg +0 -0
  51. data/lib/starter_web/assets/images/modules/gallery/old_times/image_02.jpg +0 -0
  52. data/lib/starter_web/assets/images/modules/gallery/old_times/image_03.jpg +0 -0
  53. data/lib/starter_web/assets/images/modules/gallery/old_times/image_04.jpg +0 -0
  54. data/lib/starter_web/assets/images/modules/icons/d1/scalable/d1.svg +1 -1
  55. data/lib/starter_web/assets/images/pages/panels/florian-olivo-1920x800.jpg +0 -0
  56. data/lib/starter_web/assets/images/pages/panels/responsive-text-1920x800.jpg +0 -0
  57. 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} +30 -14
  58. 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} +10 -15
  59. data/lib/starter_web/collections/posts/public/featured/_posts/2020-06-01-about-cookies.adoc +58 -54
  60. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +8 -5
  61. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +7 -4
  62. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +7 -4
  63. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +7 -4
  64. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-20-minneapolis.adoc +1 -1
  65. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +1 -1
  66. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-26-columbia-river.adoc +1 -1
  67. data/lib/starter_web/dot.gitignore +2 -3
  68. data/lib/starter_web/index.html +8 -8
  69. data/lib/starter_web/package.json +1 -1
  70. data/lib/starter_web/pages/public/about/about_site.adoc +6 -7
  71. data/lib/starter_web/pages/public/asciidoc_skeletons/book/000_intro.adoc +1 -1
  72. data/lib/starter_web/pages/public/asciidoc_skeletons/book/100_chapter.adoc +1 -1
  73. data/lib/starter_web/pages/public/asciidoc_skeletons/book/200_chapter.adoc +1 -1
  74. data/lib/starter_web/pages/public/asciidoc_skeletons/book/900_references.adoc +1 -1
  75. data/lib/starter_web/pages/public/asciidoc_skeletons/book/book.adoc +1 -1
  76. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/100_chapter.asciidoc +1 -1
  77. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/200_chapter.asciidoc +1 -1
  78. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +1 -1
  79. data/lib/starter_web/pages/public/blog/navigator/archive.html +7 -5
  80. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +7 -5
  81. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +7 -5
  82. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +7 -5
  83. data/lib/starter_web/pages/public/blog/navigator/index.html +7 -10
  84. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +4 -5
  85. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +79 -46
  86. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +0 -7
  87. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +20 -51
  88. data/lib/starter_web/pages/public/learn/where_to_go.adoc +24 -49
  89. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +67 -36
  90. data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +89 -503
  91. data/lib/starter_web/pages/public/previewer/iframer.adoc +2 -1
  92. data/lib/starter_web/pages/public/previewer/justified_gallery.html +2 -2
  93. data/lib/starter_web/pages/public/previewer/md_color_palette.adoc +2450 -0
  94. data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +4 -4
  95. data/lib/starter_web/pages/public/previewer/rouge.adoc +25 -56
  96. data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +3 -3
  97. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  98. data/lib/starter_web/utilsrv/package.json +1 -1
  99. metadata +23 -24
  100. data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/justifiedGallery.min.zip +0 -0
  101. data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/justifiedGallery.zip +0 -0
  102. data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/css/justifiedGallery.css +0 -110
  103. data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/css/justifiedGallery.min.css +0 -110
  104. data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/css/theme/uno.css +0 -23
  105. data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/js/jquery.justifiedGallery.js +0 -1229
  106. data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/js/jquery.justifiedGallery.min.js +0 -8
  107. data/lib/j1/templates/posts/0000-00-00-welcome-to-j1-template.adoc.erb +0 -72
  108. data/lib/starter_web/collections/posts/public/featured/_posts/2020-04-01-confusion-about-base-url.adoc +0 -118
  109. data/lib/starter_web/pages/public/legal/de/100_impress.adoc +0 -98
  110. data/lib/starter_web/pages/public/legal/de/200_terms_of_use.adoc +0 -55
  111. data/lib/starter_web/pages/public/legal/de/300_privacy.adoc +0 -295
  112. data/lib/starter_web/pages/public/legal/de/400_license_agreement.adoc +0 -395
  113. data/lib/starter_web/pages/public/legal/de/500_support.adoc +0 -20
  114. data/lib/starter_web/pages/public/legal/en/400_license_agreement.adoc +0 -441
  115. 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: 8b532323c312f5e4f29197952a554f72e937788720b46ddab76995bb5d1abecb
4
- data.tar.gz: 12c6c49d0a6bd07f5be239189c2546cf95735fbed47b0eef3ee127bbb192d50f
3
+ metadata.gz: 9ad880eb93e91e36cb456660c77e863b64dae610a81569a968524a627136b285
4
+ data.tar.gz: 844c32e109bba242ceb8035697248b04982a20b8565f07e8c8ca28bcb1a3d027
5
5
  SHA512:
6
- metadata.gz: 00f07838d49656973f637894165c4b83cc0970cfeb41e3e38b0d394b58cdc72d5c9a5b846ed7bd056695394a07ab109e747aaf236e2f795214167aec93e1ac00
7
- data.tar.gz: 8d1aafecf11a7760ef73c98d9e5d84f67d5434e3fbbf87707481dae5c5b5a5e42f36378759e1926bc85927a539ed3d77ecbc952fb185cb3680372f0a3381bbc5
6
+ metadata.gz: 30e32c19d2c52bb5a89262edb032187ea1860d10b2da61378247f36c94c87878462855196365ec63b6f252529991d252cb34d6e6a7e0acf641f382070a01ab3e
7
+ data.tar.gz: 6f6418b39121165283f0bcd7d743eeb76910774985515e7c4c7095257e7223fecd7de44a60ffe5b5745684ddde7900a879fca81cb1cc5fd1824b1c7480a0be99
@@ -104,10 +104,10 @@
104
104
  <nav class="paginator">
105
105
  <ul class="pagination raised-z0">
106
106
 
107
- <li class="page-item"><a class="page-link md-grey-800" href="{{category_view}}" title="View by Category">By Category</a></li>
108
- <li class="page-item"><a class="page-link md-grey-800" href="{{date_view}}" title="View by Date">By Date</a></li>
109
- <!-- li class="page-item"><a class="page-link md-grey-800" href="{{tag_view}}" title="View by Tag">By Tag</a></li -->
110
- <li class="page-item"><a class="page-link md-grey-800" href="{{all_view}}" title="View All">All Posts</a></li>
107
+ <li class="page-item"><a class="page-link" href="{{category_view}}" title="View by Category">By Category</a></li>
108
+ <li class="page-item"><a class="page-link" href="{{date_view}}" title="View by Date">By Date</a></li>
109
+ <!-- li class="page-item"><a class="page-link" href="{{tag_view}}" title="View by Tag">By Tag</a></li -->
110
+ <li class="page-item"><a class="page-link" href="{{all_view}}" title="View All">All Posts</a></li>
111
111
 
112
112
  </ul>
113
113
  </nav> <!-- end paginator -->
@@ -133,8 +133,30 @@
133
133
  <h2 id="previewer" class="mt-4">Preview</h2>
134
134
  </div>
135
135
 
136
- {% comment %} Display pagination links if any
137
- ---------------------------------------------------------------- {% endcomment %}
136
+ {% if paginator.total_pages > 1 %}
137
+ <nav class="paginator mb-4">
138
+ <ul class="pagination raised-z0">
139
+ {% if paginator.previous_page %}
140
+ <li class="page-item">
141
+ <a class="page-link" href="{{ paginator.previous_page_path }}#article_navigator">Newer Posts</a>
142
+ </li>
143
+ {% else %}
144
+ <li class="page-item disabled"><a href="#" class="page-link">First Page</a></li>
145
+ {% endif %}
146
+
147
+ {% if paginator.next_page %}
148
+ <li class="page-item">
149
+ <a class="page-link" href="{{ paginator.next_page_path }}#article_navigator">Older Posts</a>
150
+ </li>
151
+ {% else %}
152
+ <li class="page-item disabled"><a href="#" class="page-link">Last Page</a></li>
153
+ {% endif %}
154
+ </ul>
155
+ </nav>
156
+ {% endif %}
157
+
158
+ {% comment %} Old (defect) preview paginator
159
+ ----------------------------------------------------------------
138
160
  {% if paginator.total_pages > 1 %}
139
161
  <!-- nav class="paginator ml-3" -->
140
162
  <nav class="paginator">
@@ -142,26 +164,27 @@
142
164
  {% if paginator.previous_page %}
143
165
  {% if paginator.previous_page > 1 %}
144
166
  {% capture page_link %}{{paginator.previous_page_path}}#previewer{% endcapture %}
145
- <li class="page-item"><a href="#" class="page-link md-grey-800" href="{{page_link}}" title="Previous page">Previous</a></li>
167
+ <li class="page-item"><a href="#" class="page-link" href="{{page_link}}" title="Previous page">Previous</a></li>
146
168
  {% else %}
147
169
  {% comment %} Back to FIRST page {% endcomment %}
148
170
  {% assign navigator = page.url | remove_first:'page2/index.html' %}
149
171
  {% capture page_link %}{{navigator}}#previewer{% endcapture %}
150
- <li class="page-item"><a href="#" class="page-link md-grey-800" href="{{page_link}}" title="First page">Previous</a></li>
172
+ <li class="page-item"><a href="#" class="page-link" href="{{page_link}}" title="First page">Previous</a></li>
151
173
  {% endif %}
152
174
  {% else %}
153
- <li class="page-item disabled"><a href="#" class="page-link md-grey-800">First</a></li>
175
+ <li class="page-item disabled"><a href="#" class="page-link">First</a></li>
154
176
  {% endif %}
155
177
 
156
178
  {% if paginator.next_page %}
157
179
  {% capture page_link %}{{paginator.next_page_path}}#previewer{% endcapture %}
158
- <li class="page-item"><a class="page-link md-grey-800" href="{{page_link}}" title="Next page">Next</a></li>
180
+ <li class="page-item"><a class="page-link" href="{{page_link}}" title="Next page">Next</a></li>
159
181
  {% else %}
160
- <li class="page-item disabled"><a href="#" class="page-link md-grey-800">Last</a>
182
+ <li class="page-item disabled"><a href="#" class="page-link">Last</a>
161
183
  {% endif %}
162
184
  </ul>
163
185
  </nav>
164
186
  {% endif %}
187
+ ---------------------------------------------------------------- {% endcomment %}
165
188
 
166
189
  <!-- div class="view-description ml-3 mb-3" -->
167
190
  <div class="view-description mb-3">
@@ -246,5 +269,4 @@
246
269
  <!-- /div --> <!-- end row -->
247
270
  <!-- /div --> <!-- end container -->
248
271
 
249
-
250
272
  <!-- [INFO ] [j1.layout.content_generator_blog.html ] [ end content ] -->
@@ -77,8 +77,8 @@
77
77
  ------------------------------------------------------------------------ {% endcomment %}
78
78
  {% if page.series %}
79
79
  <header class="bmd-layout-header">
80
- <!-- div class="navbar navbar-dark bg-primary raised-z2 mb-4" -->
81
- <div class="navbar navbar-dark bg-primary raised-z2">
80
+ <!-- jadams, 2021-02-28 added mb-3 to the navbar -->
81
+ <div class="navbar navbar-dark bg-primary raised-z2 mb-3">
82
82
  <button class="bmd-drawer drawer-toggler animated fadeIn" type="button" data-toggle="drawer" data-target="#post_navigator">
83
83
  <span class="mdi mdi-menu mdi-2x"></span>
84
84
  </button>
@@ -90,11 +90,13 @@
90
90
  </div>
91
91
  </header>
92
92
 
93
- <nav class="nav bmd-layout-container custom-size-350 bmd-drawer-f-l">
93
+ <!-- jadams, 2021-02-28: added bmd-drawer-overlay to close nav -->
94
+ <!-- by click on overflow (as well as by toggle button) -->
95
+ <nav class="nav bmd-layout-container bmd-drawer-overlay custom-size-350 bmd-drawer-f-l">
94
96
  <!-- Drawer content -->
95
97
  <div id="post_navigator" class="bmd-layout-drawer bg-faded">
96
- <!-- header><a class="navbar-brand ml-3 mb-3">{{page.title}}</a></header -->
97
- <header><a class="navbar-brand mb-3">{{page.title}}</a></header>
98
+ <!-- jadams, 2021-02-28: disabled header -->
99
+ <!-- header><a class="navbar-brand mb-3">{{page.title}}</a></header -->
98
100
  <!-- Series Navigator -->
99
101
  {% comment %}{% include {{create_series_header}} page=page post=post readmore=page.readmore %}{% endcomment %}
100
102
  {% include {{create_series_header}} page=page post=post readmore=false %}
@@ -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 %}
@@ -52,6 +52,7 @@
52
52
  {% capture open %}
53
53
  <div id="post_series">
54
54
  <!-- div class="series-navigator ml-3" -->
55
+ <!-- jadams, 2021-02-28: added ml-3 -->
55
56
  <div class="series-navigator">
56
57
  <div class="container content series-navigation">
57
58
 
@@ -78,6 +79,7 @@
78
79
  </div>
79
80
 
80
81
  <!-- div class="col-xs-12 col-md-12 col-lg-12 mt-2" -->
82
+ <!-- jadams, 2021-02-28: added mr-3 -->
81
83
  <div class="mt-2">
82
84
  <h5 class="notoc series-exerpt-title">{{excerpt_title}}</h5>
83
85
  <!-- div class="series-exerpt mr-3" -->
@@ -192,13 +192,13 @@ regenerate: true
192
192
  {% if level_1.target == null %}
193
193
  <li class="dropdown-item"><a href="{{ level_1.href }}{{ext}}">{{ level_1.title }}</a></li>
194
194
  {% else %}
195
- <li class="dropdown-item"><a href="{{ level_1.href }}{{ext}}" target="{{ level_1.target }}">{{ level_1.title }}</a></li>
195
+ <li class="dropdown-item"><a href="{{ level_1.href }}{{ext}}" target="{{ level_1.target }}" rel="noopener">{{ level_1.title }}</a></li>
196
196
  {% endif %}
197
197
  {% else %}
198
198
  {% if level_1.target == null %}
199
199
  <li class="dropdown-item"><a href="{{ level_1.href }}{{ext}}"><i class="{{nav_menu_icon_style}} {{nav_menu_icon_family}}-{{level_1.icon}} {{nav_menu_icon_size}} mr-2" style="color:{{nav_menu_icon_color}}"></i> {{ level_1.title }}</a></li>
200
200
  {% else %}
201
- <li class="dropdown-item"><a href="{{ level_1.href }}{{ext}}" target="{{ level_1.target }}"><i class="{{nav_menu_icon_style}} {{nav_menu_icon_family}}-{{level_1.icon}} {{nav_menu_icon_size}} mr-2" style="color:{{nav_menu_icon_color}}"></i> {{ level_1.title }}</a></li>
201
+ <li class="dropdown-item"><a href="{{ level_1.href }}{{ext}}" target="{{ level_1.target }}" rel="noopener"><i class="{{nav_menu_icon_style}} {{nav_menu_icon_family}}-{{level_1.icon}} {{nav_menu_icon_size}} mr-2" style="color:{{nav_menu_icon_color}}"></i> {{ level_1.title }}</a></li>
202
202
  {% endif %}
203
203
  {% endif %}
204
204
  {% endif %}
@@ -219,13 +219,13 @@ regenerate: true
219
219
  {% if level_2.target == null %}
220
220
  <li class="dropdown-item"><a href="{{ level_2.href }}{{ext}}">{{ level_2.title }}</a></li>
221
221
  {% else %}
222
- <li class="dropdown-item"><a href="{{ level_2.href }}{{ext}}" target="{{ level_2.target }}">{{ level_2.title }}</a></li>
222
+ <li class="dropdown-item"><a href="{{ level_2.href }}{{ext}}" target="{{ level_2.target }}" rel="noopener">{{ level_2.title }}</a></li>
223
223
  {% endif %}
224
224
  {% else %}
225
225
  {% if level_2.target == null %}
226
226
  <li class="dropdown-item"><a href="{{ level_2.href }}{{ext}}"><i class="{{nav_menu_icon_style}} {{nav_menu_icon_family}}-{{level_2.icon}} {{nav_menu_icon_size}} mr-2" style="color:{{nav_menu_icon_color}}"></i> {{ level_2.title }}</a></li>
227
227
  {% else %}
228
- <li class="dropdown-item"><a href="{{ level_2.href }}{{ext}}" target="{{ level_2.target }}"><i class="{{nav_menu_icon_style}} {{nav_menu_icon_family}}-{{level_2.icon}} {{nav_menu_icon_size}} mr-2" style="color:{{nav_menu_icon_color}}"></i> {{ level_2.title }}</a></li>
228
+ <li class="dropdown-item"><a href="{{ level_2.href }}{{ext}}" target="{{ level_2.target }}" rel="noopener"><i class="{{nav_menu_icon_style}} {{nav_menu_icon_family}}-{{level_2.icon}} {{nav_menu_icon_size}} mr-2" style="color:{{nav_menu_icon_color}}"></i> {{ level_2.title }}</a></li>
229
229
  {% endif %}
230
230
  {% endif %}
231
231
  {% endif %}
@@ -245,13 +245,13 @@ regenerate: true
245
245
  {% if level_3.target == null %}
246
246
  <li class="dropdown-item"><a href="{{ level_3.href }}{{ext}}">{{ level_3.title }}</a></li>
247
247
  {% else %}
248
- <li class="dropdown-item"><a href="{{ level_3.href }}{{ext}}" target="{{ level_3.target }}">{{ level_3.title }}</a></li>
248
+ <li class="dropdown-item"><a href="{{ level_3.href }}{{ext}}" target="{{ level_3.target }}" rel="noopener">{{ level_3.title }}</a></li>
249
249
  {% endif %}
250
250
  {% else %}
251
251
  {% if level_3.target == null %}
252
252
  <li class="dropdown-item"><a href="{{ level_3.href }}{{ext}}"><i class="{{nav_menu_icon_style}} {{nav_menu_icon_family}}-{{level_3.icon}} {{nav_menu_icon_size}} mr-2" style="color:{{nav_menu_icon_color}}"></i> {{ level_3.title }}</a></li>
253
253
  {% else %}
254
- <li class="dropdown-item"><a href="{{ level_3.href }}{{ext}}" target="{{ level_3.target }}"><i class="{{nav_menu_icon_style}} {{nav_menu_icon_family}}-{{level_3.icon}} {{nav_menu_icon_size}} mr-2" style="color:{{nav_menu_icon_color}}"></i> {{ level_3.title }}</a></li>
254
+ <li class="dropdown-item"><a href="{{ level_3.href }}{{ext}}" target="{{ level_3.target }}" rel="noopener"><i class="{{nav_menu_icon_style}} {{nav_menu_icon_family}}-{{level_3.icon}} {{nav_menu_icon_size}} mr-2" style="color:{{nav_menu_icon_color}}"></i> {{ level_3.title }}</a></li>
255
255
  {% endif %}
256
256
  {% endif %}
257
257
  {% if level_3.divider %} <li class="divider"></li> {% endif %}
@@ -299,9 +299,9 @@ regenerate: true
299
299
  <ul class="menu-col">
300
300
  {% for links in megabox.column %}
301
301
  {% if links.icon == null %}
302
- <li class="dropdown-megamenu-item"><a href="{{links.href}}{{ext}}" target="{{ links.target }}">{{links.title}}</a></li>
302
+ <li class="dropdown-megamenu-item"><a href="{{links.href}}{{ext}}" target="{{ links.target }}" rel="noopener">{{links.title}}</a></li>
303
303
  {% else %}
304
- <li class="dropdown-megamenu-item"><a href="{{links.href}}{{ext}}" target="{{ links.target }}"><i class="{{nav_menu_icon_style}} {{nav_menu_icon_family}}-{{links.icon}} {{nav_menu_icon_size}} mr-2" style="color:{{nav_menu_icon_color}}"></i> {{links.title}}</a></li>
304
+ <li class="dropdown-megamenu-item"><a href="{{links.href}}{{ext}}" target="{{ links.target }}" rel="noopener"><i class="{{nav_menu_icon_style}} {{nav_menu_icon_family}}-{{links.icon}} {{nav_menu_icon_size}} mr-2" style="color:{{nav_menu_icon_color}}"></i> {{links.title}}</a></li>
305
305
  {% endif %}
306
306
  {% endfor %}
307
307
  </ul>
@@ -327,14 +327,14 @@ regenerate: true
327
327
  {% if menu.target == null %}
328
328
  <li class="nav-item"> <a class="nav-link" href="{{ menu.href }}{{ext}}">{{ menu.item }}</a> </li>
329
329
  {% else %}
330
- <li class="nav-item"> <a class="nav-link" href="{{ menu.href }}{{ext}}" target="{{ menu.target }}">{{ menu.item }}</a> </li>
330
+ <li class="nav-item"> <a class="nav-link" href="{{ menu.href }}{{ext}}" target="{{ menu.target }}" rel="noopener">{{ menu.item }}</a> </li>
331
331
  {% endif %}
332
332
  {% elsif menu.icon %}
333
333
  <!-- [INFO ] [j1.modules.navigator.menu.html ] [no icon for menu-item found -->
334
334
  {% if menu.target == null %}
335
335
  <li> <a class="nav-link" href="{{ menu.href }}{{ext}}"><i class="{{nav_menu_icon_style}} {{nav_menu_icon_family}}-{{menu.icon}} {{nav_menu_icon_size}}" style="color:{{nav_menu_icon_color}}"></i> {{ menu.item }}</a> </li>
336
336
  {% else %}
337
- <li> <a class="nav-link" href="{{ menu.href }}{{ext}}" target="{{ menu.target }}"><i class="{{nav_menu_icon_style}} {{nav_menu_icon_family}}-{{menu.icon}} {{nav_menu_icon_size}}" style="color:{{nav_menu_icon_color}}"></i> {{ menu.item }}</a> </li>
337
+ <li> <a class="nav-link" href="{{ menu.href }}{{ext}}" target="{{ menu.target }}" rel="noopener"><i class="{{nav_menu_icon_style}} {{nav_menu_icon_family}}-{{menu.icon}} {{nav_menu_icon_size}}" style="color:{{nav_menu_icon_color}}"></i> {{ menu.item }}</a> </li>
338
338
  {% endif %}
339
339
  {% else %}
340
340
  <!-- [FATAL ] [nav_menu.menu-top-level-only ] [processing menu item failed] -->
@@ -465,38 +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
- /* firefox: scrollbar-color, scrollbar-width */
473
- .scrollable-menu {
474
- height: auto;
475
- max-height: 300px;
476
- overflow-x: hidden;
477
- scrollbar-color: #424242 #f5f5f5;
478
- scrollbar-width: thin;
479
- }
480
-
481
- .scrollable-menu::-webkit-scrollbar {
482
- -webkit-appearance: none;
483
- width: 12px;
484
- background-color: #f5f5f5;
485
- }
486
-
487
- .scrollable-menu::-webkit-scrollbar-thumb {
488
- border-radius: 10px;
489
- -webkit-box-shadow: inset 0 0 6px rgba(255, 255, 255, 0.3);
490
- background-color: #424242;
491
- }
492
-
493
- .scrollable-menu::-webkit-scrollbar-track {
494
- -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
495
- border-radius: 0px;
496
- background-color: #f5f5f5;
497
- }
498
- </style>
499
-
500
468
  <!-- [INFO ] [j1.modules.navigator.menu.html ] [nav_menu_settings: end navbar] -->
501
469
  <!-- [INFO ] [j1.modules.navigator.menu.html ] [nav_menu_settings: end processing] -->
502
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;
@@ -311,10 +311,15 @@ j1.adapter['mmenu'] = (function (j1, window) {
311
311
 
312
312
  // jadams, 2020-09-30: loading the menues (themes) if enabled
313
313
  if (themerEnabled) {
314
- // from Bootswatch API (set localFeed EMPTY)
315
- $('#remote_themes_mmenu').bootstrapThemeSwitcher({localFeed: ''});
316
- // load (local) J1 themes (default settings) from JSON data
317
- $('#local_themes_mmenu').bootstrapThemeSwitcher();
314
+ // load REMOTE themes from Bootswatch API (localFeed EMPTY!)
315
+ $('#remote_themes_mmenu').bootstrapThemeSwitcher({
316
+ localFeed: '',
317
+ bootswatchApiVersion: themerOptions.bootswatchApiVersion
318
+ });
319
+ // load LOCAL themes from JSON data
320
+ $('#local_themes_mmenu').bootstrapThemeSwitcher({
321
+ localFeed: themerOptions.localThemes
322
+ });
318
323
  }
319
324
 
320
325
  $('#{{item.menu.content.id}}').show();
@@ -347,14 +347,21 @@ j1.adapter['navigator'] = (function (j1, window) {
347
347
  logText = 'theme switcher detect: enabled';
348
348
  logger.info(logText);
349
349
 
350
- // load remote themes (Bootswatch API)
351
- logText = 'load remote themes (Bootswatch API)';
350
+ logText = 'load themes';
352
351
  logger.info(logText);
353
- $('#remote_themes').bootstrapThemeSwitcher({localFeed: ''});
354
- // load local themes (json file)
352
+
353
+ // load REMOTE themes from Bootswatch API (localFeed EMPTY!)
354
+ $('#remote_themes').bootstrapThemeSwitcher({
355
+ localFeed: '',
356
+ bootswatchApiVersion: themerOptions.bootswatchApiVersion
357
+ });
358
+
359
+ // load LOCAL themes from JSON data
355
360
  logText = 'load local themes (json file)';
356
361
  logger.info(logText);
357
- $('#local_themes').bootstrapThemeSwitcher({localFeed: themerOptions.localThemes});
362
+ $('#local_themes').bootstrapThemeSwitcher({
363
+ localFeed: themerOptions.localThemes
364
+ });
358
365
  clearInterval(dependencies_met_page_finished);
359
366
  }
360
367
  _this.setState('initialized');
@@ -197,10 +197,19 @@ j1.adapter['themer'] = (function (j1, window) {
197
197
  if (j1.getState() == 'finished') {
198
198
  if (themerOptions.enabled) {
199
199
  // enable BS ThemeSwitcher
200
+ //
200
201
  logger.info('themes detected as: enabled');
201
202
  logger.info('theme is being initialized: ' + user_state.theme_name);
202
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
+ //
203
209
  if ( $('#remote_themes').length ) {
210
+ var interval_count = 0;
211
+ var max_count = themerOptions.retries;
212
+
204
213
  /* eslint-disable */
205
214
  // initialize Bootswatch Theme Switcher
206
215
  $('#remote_themes').bootstrapThemeSwitcher.defaults = {
@@ -224,6 +233,46 @@ j1.adapter['themer'] = (function (j1, window) {
224
233
  }
225
234
  /* eslint-enable */
226
235
 
236
+ // jadams, 2021-02-16: load checking disabled. Seem does NOT
237
+ // solve the problem
238
+
239
+ // var dependencies_met_remote_themes_loaded = setInterval(function() {
240
+ // interval_count += 1;
241
+ // if ( document.getElementById("remote_themes").getElementsByTagName("li").length == 0 ) {
242
+ // /* eslint-disable */
243
+ // // initialize Bootswatch Theme Switcher
244
+ // $('#remote_themes').bootstrapThemeSwitcher.defaults = {
245
+ // debug: themerOptions.debug,
246
+ // saveToCookie: themerOptions.saveToCookie,
247
+ // cssThemeLink: themerOptions.cssThemeLink,
248
+ // cookieThemeName: themerOptions.cookieThemeName,
249
+ // cookieDefaultThemeName: themerOptions.cookieDefaultThemeName,
250
+ // cookieThemeCss: themerOptions.cookieThemeCss,
251
+ // cookieThemeExtensionCss: themerOptions.cookieThemeExtensionCss,
252
+ // cookieExpiration: themerOptions.cookieExpiration,
253
+ // cookiePath: themerOptions.cookiePath,
254
+ // defaultCssFile: themerOptions.defaultCssFile,
255
+ // bootswatchApiUrl: themerOptions.bootswatchApiUrl,
256
+ // bootswatchApiVersion: themerOptions.bootswatchApiVersion,
257
+ // loadFromBootswatch: themerOptions.loadFromBootswatch,
258
+ // localFeed: themerOptions.localThemes,
259
+ // excludeBootswatch: themerOptions.excludeBootswatch,
260
+ // includeBootswatch: themerOptions.includeBootswatch,
261
+ // skipIncludeBootswatch: themerOptions.skipIncludeBootswatch
262
+ // }
263
+ // /* eslint-enable */
264
+ // } else {
265
+ // logger.info('remote themes loaded: successfully');
266
+ // logger.debug('remote themes loaded: successfully after: ' + interval_count * 25 + ' ms');
267
+ // clearInterval(dependencies_met_remote_themes_loaded);
268
+ // }
269
+ // if (interval_count > max_count) {
270
+ // logger.warn('remote themes loading: failed');
271
+ // logger.warn('continue processing');
272
+ // clearInterval(dependencies_met_remote_themes_loaded);
273
+ // }
274
+ // }, 25);
275
+
227
276
  logger.info('theme loaded: ' + user_state.theme_name);
228
277
  logger.info('theme css file: ' + user_state.theme_css);
229
278
  _this.setState('finished');