j1-template 2021.0.14 → 2021.0.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/modules/navigator/generator.html +6 -6
  3. data/assets/data/authclient.html +1 -1
  4. data/assets/data/carousel.json +1 -1
  5. data/assets/data/fam.html +1 -1
  6. data/assets/data/menu.1.html +505 -0
  7. data/assets/data/menu.html +5 -7
  8. data/assets/themes/j1/adapter/js/carousel.js +6 -1
  9. data/assets/themes/j1/adapter/js/navigator.js +2 -1
  10. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +17 -1
  11. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
  12. data/assets/themes/j1/core/js/template.js +2 -8
  13. data/assets/themes/j1/core/js/template.js.map +1 -1
  14. data/assets/themes/j1/core/js/template.min.js +2 -8
  15. data/assets/themes/j1/core/js/template.min.js.map +1 -0
  16. data/assets/themes/j1/modules/lightbox/js/lightbox.js +1 -1
  17. data/assets/themes/j1/modules/lightbox/js/lightbox.min.js +1 -1
  18. data/lib/j1/version.rb +1 -1
  19. data/lib/starter_web/Gemfile +1 -1
  20. data/lib/starter_web/_config.yml +1 -1
  21. data/lib/starter_web/_data/blocks/banner.yml +1 -1
  22. data/lib/starter_web/_data/modules/fam.yml +13 -2
  23. data/lib/starter_web/_data/private.yml@localhost +199 -0
  24. data/lib/starter_web/_includes/attributes.asciidoc +3 -3
  25. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  26. data/lib/starter_web/assets/images/modules/icons/d1/scalable/d1.svg +1 -1
  27. data/lib/starter_web/package.json +1 -1
  28. data/lib/starter_web/pages/public/blog/navigator/archive.html +3 -3
  29. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +3 -3
  30. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +10 -7
  31. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +3 -3
  32. data/lib/starter_web/pages/public/blog/navigator/index.html +3 -1
  33. data/lib/starter_web/pages/public/previewer/_includes/tables/rouge/300_supported_languages.asciidoc +1 -1
  34. data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +104 -120
  35. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  36. data/lib/starter_web/utilsrv/package.json +1 -1
  37. metadata +5 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9ad880eb93e91e36cb456660c77e863b64dae610a81569a968524a627136b285
4
- data.tar.gz: 844c32e109bba242ceb8035697248b04982a20b8565f07e8c8ca28bcb1a3d027
3
+ metadata.gz: 69a105626faac6f4104455dd13ed5ebc494b1b3b26488e7f96a964dc7062f8fe
4
+ data.tar.gz: f12c4f08f016ed4d7b163b4777692aff74263fc14d328de72ac1aa0758edff4e
5
5
  SHA512:
6
- metadata.gz: 30e32c19d2c52bb5a89262edb032187ea1860d10b2da61378247f36c94c87878462855196365ec63b6f252529991d252cb34d6e6a7e0acf641f382070a01ab3e
7
- data.tar.gz: 6f6418b39121165283f0bcd7d743eeb76910774985515e7c4c7095257e7223fecd7de44a60ffe5b5745684ddde7900a879fca81cb1cc5fd1824b1c7480a0be99
6
+ metadata.gz: 9805b0d9400996e4157a1c40bbad47a363e6cc08c06d4afb1406056610de6486b0d4e21812974d4e97b8c03cec2a44504555dc4547adb20ce468e2c6e7a0b792
7
+ data.tar.gz: ec7da44135b8a8f59acda7326444e12030c73bafdfa8c159adf65651370458284c105bc7bc5b9f514606042e786e41d9be2095ead1662a70f4e9170d5f35adfd
@@ -173,9 +173,9 @@
173
173
  {% if brand_position == "left" %}
174
174
  <!-- [INFO ] [j1.modules.navigator.generator.html ] [ place brand image to the: left ] -->
175
175
  {% if site.brand.image %}
176
- <a id="navbar-brand" class="navbar-brand"> <img src="{{ site.data.j1_config.image_path }}/{{ site.brand.image }}" height="{{ site.brand.image_height }}" alt="{{ site.brand.text }}"></a>
176
+ <a href="#" id="navbar-brand" class="navbar-brand"> <img src="{{ site.data.j1_config.image_path }}/{{ site.brand.image }}" height="{{ site.brand.image_height }}" alt="{{ site.brand.text }}"></a>
177
177
  {% else %}
178
- <a id="navbar-brand" class="navbar-brand"> <b><font color="{{site.brand.text_color}}">{{ site.brand.text }}</font></b></a>
178
+ <a href="#" id="navbar-brand" class="navbar-brand"> <b><font color="{{site.brand.text_color}}">{{ site.brand.text }}</font></b></a>
179
179
  {% endif %}
180
180
  <button id="navbar-toggler" type="button" class="navigator navbar-toggler animated fadeIn" data-toggle="collapse" data-target="#{{nav_menu_id}}" aria-controls="{{nav_menu_id}}" aria-expanded="false" aria-label="Toggle navigation">
181
181
  <i class="mdi mdi-menu mdi-48px"></i>
@@ -183,9 +183,9 @@
183
183
  {% elsif brand_position == "right" %}
184
184
  <!-- [INFO ] [j1.modules.navigator.generator.html ] [ place brand to the: right ] -->
185
185
  {% if site.brand.image %}
186
- <a id="navbar-brand" class="navbar-brand"> <img src="{{ site.data.j1_config.image_path }}/{{ site.brand.image }}" height="{{ site.brand.image_height }}" alt="{{ site.brand.text }}"></a>
186
+ <a href="#" id="navbar-brand" class="navbar-brand"> <img src="{{ site.data.j1_config.image_path }}/{{ site.brand.image }}" height="{{ site.brand.image_height }}" alt="{{ site.brand.text }}"></a>
187
187
  {% else %}
188
- <a id="navbar-brand" class="navbar-brand"> <b><font color="{{site.brand.text_color}}">{{ site.brand.text }}</font></b></a>
188
+ <a href="#" id="navbar-brand" class="navbar-brand"> <b><font color="{{site.brand.text_color}}">{{ site.brand.text }}</font></b></a>
189
189
  {% endif %}
190
190
  <!-- [INFO ] [j1.modules.navigator.generator.html ] [ place mobile menu button to the: left ] -->
191
191
  <button id="mmenu-button" type="button" class="navigator navbar-toggler animated fadeIn" data-toggle="collapse" data-target="#{{nav_menu_id}}" aria-controls="{{nav_menu_id}}" aria-expanded="false" aria-label="Toggle navigation">
@@ -194,9 +194,9 @@
194
194
  {% else %}
195
195
  <!-- [INFO ] [j1.modules.navigator.generator.html ] [ place brand to default position: left ] -->
196
196
  {% if site.brand.image %}
197
- <a id="navbar-brand" class="navbar-brand"> <img src="{{ site.data.j1_config.image_path }}/{{ site.brand.image }}" height="{{ site.brand.image_height }}" alt="{{ site.brand.text }}"></a>
197
+ <a href="#" id="navbar-brand" class="navbar-brand"> <img src="{{ site.data.j1_config.image_path }}/{{ site.brand.image }}" height="{{ site.brand.image_height }}" alt="{{ site.brand.text }}"></a>
198
198
  {% else %}
199
- <a id="navbar-brand" class="navbar-brand"> <b><font color="{{site.brand.text_color}}">{{ site.brand.text }}</font></b></a>
199
+ <a href="#" id="navbar-brand" class="navbar-brand"> <b><font color="{{site.brand.text_color}}">{{ site.brand.text }}</font></b></a>
200
200
  {% endif %}
201
201
  <!-- [INFO ] [j1.modules.navigator.generator.html ] [ place menu toggler to the: right ] -->
202
202
  <button id="navbar-toggler" type="button" class="navigator navbar-toggler animated fadeIn" data-toggle="collapse" data-target="#{{nav_menu_id}}" aria-controls="{{nav_menu_id}}" aria-expanded="false" aria-label="Toggle navigation">
@@ -187,7 +187,7 @@ regenerate: true
187
187
  {% if provider == 'github' and auth_github_enabled %}
188
188
  <li class="nav-item">
189
189
  <a class="nav-link{{active_flag}}" href="#h-tabs-{{ auth_github_id }}" role="tab" data-toggle="tab" aria-expanded="false" aria-selected="true">
190
- <i class="mdi mdi-github-circle mt-1 mb-2"></i> {{ auth_github_title }}
190
+ <i class="mdi mdi-github mt-1 mb-2"></i> {{ auth_github_title }}
191
191
  </a>
192
192
  </li>
193
193
  {% endif %}
@@ -71,7 +71,7 @@ regenerate: true
71
71
  {% endfor %}
72
72
  {% endif %}
73
73
  "img" : "{{ image_full_path }}",
74
- "alt" : "Owl Image {{ forloop.index }}"{% if item.show.links %},{% endif %}
74
+ "alt" : "Slider Image {{ forloop.index }}"{% if item.show.links %},{% endif %}
75
75
  {% if item.show.links %}
76
76
  {% for link in item.show.links %}
77
77
  {% if forloop.index == image_no %}
data/assets/data/fam.html CHANGED
@@ -100,7 +100,7 @@ regenerate: true
100
100
  <div id="{{menu.id}}">
101
101
  <div class="fam-btn" style="display: none">
102
102
  <!-- [DEBUG ] [j1.modules.fam.html ] [jadams, 2020-11-15: set href|link text (Google optimisation)] -->
103
- <a id="{{menu.id}}_button" href="javascript:void(0)" class="btn-fab-floating btn-large btn-{{menu.color}} raised-z{{fam_options.raised_level}}"><i id="fam-icon" class="mdi mdi-{{menu.icon}}"></i>FAM button</a>
103
+ <a id="{{menu.id}}_button" href="#" class="btn-fab-floating btn-large btn-{{menu.color}} raised-z{{fam_options.raised_level}}"><i id="fam-icon" class="mdi mdi-{{menu.icon}}"></i>FAM button</a>
104
104
  <ul id="{{menu.id}}_items">
105
105
  {% for item in menu.items %} {% if item.enabled %}
106
106
  <li><a id="{{item.id}}" href="#" class="btn-fab-floating btn-{{item.color}} raised-z{{fam_options.raised_level}}" style="display: none"><i id="fam-icon" class="mdi mdi-{{item.icon}} mdi-{{item.icon_properties}}"></i>{{item.id}}</a></li>
@@ -0,0 +1,505 @@
1
+ ---
2
+ regenerate: true
3
+ ---
4
+
5
+ {% capture cache %}
6
+
7
+ {% comment %}
8
+ # -----------------------------------------------------------------------------
9
+ # ~/assets/data/menu.html
10
+ # Liquid procedure to generate HTML portion of the main menu
11
+ # for the desktop version
12
+ # NOTE: Loaded dynamically by J1 NAV Manager module (AJAX)
13
+ #
14
+ # Product/Info:
15
+ # https://jekyll.one
16
+ #
17
+ # Copyright (C) 2021 Juergen Adams
18
+ #
19
+ # J1 Template is licensed under the MIT License.
20
+ # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
21
+ # -----------------------------------------------------------------------------
22
+ # Test data:
23
+ # {{ variable | debug }}
24
+ # -----------------------------------------------------------------------------
25
+ {% endcomment %}
26
+
27
+ {% comment %} Liquid procedures
28
+ -------------------------------------------------------------------------------- {% endcomment %}
29
+ {% capture select_color %}themes/{{site.template.name}}/procedures/global/select_color.proc{% endcapture %}
30
+ {% capture select_icon_size %}themes/{{site.template.name}}/procedures/global/select_icon_size.proc{% endcapture %}
31
+
32
+
33
+ {% comment %} Liquid var initialization
34
+ -------------------------------------------------------------------------------- {% endcomment %}
35
+
36
+ {% comment %} Set config files
37
+ -------------------------------------------------------------------------------- {% endcomment %}
38
+ {% assign template_config = site.data.j1_config %}
39
+ {% assign modules = site.data.modules %}
40
+
41
+ {% comment %} Set config data
42
+ -------------------------------------------------------------------------------- {% endcomment %}
43
+ {% assign environment = site.environment %}
44
+
45
+ {% assign navigator_settings = modules.navigator.settings %}
46
+ {% assign navigator_defaults = modules.defaults.navigator.defaults %}
47
+ {% assign navigator_menu_config = modules.navigator_menu %}
48
+
49
+ {% assign themer_defaults = modules.defaults.themer.defaults %}
50
+ {% assign themer_settings = modules.themer.settings %}
51
+
52
+ {% assign nav_bar_defaults = navigator_defaults.nav_bar %}
53
+ {% assign nav_bar_settings = navigator_settings.nav_bar %}
54
+ {% assign nav_menu_defaults = navigator_defaults.nav_menu %}
55
+ {% assign nav_menu_settings = navigator_settings.nav_menu %}
56
+
57
+ {% comment %} Set config options
58
+ -------------------------------------------------------------------------------- {% endcomment %}
59
+ {% assign themer_options = themer_defaults | merge: themer_settings %}
60
+ {% assign nav_bar_options = nav_bar_defaults | merge: nav_bar_settings %}
61
+ {% assign nav_menu_options = nav_menu_defaults | merge: nav_menu_settings %}
62
+ {% assign theme_preview = themer_options.preview_page %}
63
+ {% assign nav_menu_id = nav_menu_options.id %}
64
+
65
+ {% assign production = false %}
66
+ {% if environment == 'prod' or environment == 'production' %}
67
+ {% assign production = true %}
68
+ {% endif %}
69
+
70
+ {% assign ext = '' %}
71
+ {% if site.permalink == 'none' %}
72
+ {% assign ext = '.html' %}
73
+ {% endif %}
74
+
75
+ <!-- [DEBUG ] [j1.modules.navigator.menu.html ] [detect bs type] -->
76
+ {% assign bs_type = 'bmd4' %}
77
+ {% if navigator_settings.bs_type == 'bs4' %}
78
+ {% assign bs_type = 'bs4' %}
79
+ {% endif %}
80
+
81
+ {% if bs_type == 'bmd4' %}
82
+ {% assign dropdown_collapse = 'collapse' %}
83
+ {% elsif bs_type == 'bs4' %}
84
+ {% assign dropdown_collapse = 'fake-class collapse' %}
85
+ {% endif %}
86
+
87
+ <!-- [DEBUG ] [j1.modules.navigator.menu.html ] [bs type detected: {{bs_type}}] -->
88
+
89
+ {% comment %} Set navBarOptions
90
+ -------------------------------------------------------------------------------- {% endcomment %}
91
+ {% assign nav_bar_position = nav_bar_options.position %}
92
+
93
+ {% comment %} Set navMenuOptions
94
+ -------------------------------------------------------------------------------- {% endcomment %}
95
+ {% assign nav_menu_animation = nav_menu_options.dropdown_animate %}
96
+ {% if nav_menu_animation %}
97
+ {% assign animate_in = nav_menu_options.dropdown_animate_in %}
98
+ {% assign animate_out = nav_menu_options.dropdown_animate_out %}
99
+ {% endif %}
100
+
101
+ {% comment %} Set base nav features
102
+ -------------------------------------------------------------------------------- {% endcomment %}
103
+ {% capture nav_menu_position %}dropdown-menu-{{nav_bar_position}}{% endcapture %}
104
+ {% unless nav_menu_animation %} {% assign nav_menu_animation = false %} {% endunless %}
105
+
106
+ <!-- [DEBUG ] [j1.modules.navigator.menu.html ] [initialize default menu properties] -->
107
+ {% if nav_menu_options.raised_level %}
108
+ {% assign raised_level = nav_menu_options.raised_level %}
109
+ {% else %}
110
+ {% assign raised_level = 0 %}
111
+ {% endif %}
112
+
113
+ {% comment %} Set base icons and sizes
114
+ -------------------------------------------------------------------------------- {% endcomment %}
115
+ <!-- [DEBUG ] [j1.modules.navigator.menu.html ] [initialize default menu icon properties] -->
116
+ {% assign nav_menu_icon_family = nav_menu_options.icon_family %}
117
+ {% assign nav_menu_icon_style = nav_menu_options.icon_style %}
118
+ {% assign nav_menu_icon_color = nav_menu_options.icon_color %}
119
+ {% assign nav_menu_icon_size = nav_menu_options.icon_size %}
120
+
121
+ {% assign icon_family = nav_menu_icon_family | strip | downcase %}
122
+
123
+ {% if icon_family == 'fontawesome' or icon_family == 'fontawesome5' %}
124
+ {% assign nav_menu_icon_family = 'fa' %}
125
+ {% assign nav_menu_icon_style = nav_menu_icon_style %}
126
+ {% elsif icon_family == 'mdi' %}
127
+ {% assign nav_menu_icon_family = 'mdi' %}
128
+ {% assign nav_menu_icon_style = nav_menu_icon_style %}
129
+ {% else %}
130
+ {% assign nav_menu_icon_family = 'mdi' %}
131
+ {% assign nav_menu_icon_style = nav_menu_icon_style %}
132
+ {% endif %}
133
+
134
+ {% include {{select_color}} color=nav_menu_icon_color fallback="#9E9E9E" %}
135
+ {% assign nav_menu_icon_color = color %}
136
+
137
+ {% include {{select_icon_size}} family=nav_menu_icon_family size=nav_menu_icon_size %}
138
+ {% assign nav_menu_icon_size = size %}
139
+
140
+ {% comment %} Main
141
+ -------------------------------------------------------------------------------- {% endcomment %}
142
+
143
+ <!-- [DEBUG ] [j1.modules.navigator.menu.html ] [collect all nav links for the navigation bar (navbar)] -->
144
+ <!-- div id="{{nav_menu_id}}" class="{{dropdown_collapse}}" -->
145
+ <!-- div class="{{dropdown_collapse}}" -->
146
+ {% if nav_menu_animation %}
147
+ <ul id="desktop_menu" class="nav navbar-nav navigator navbar-{{nav_bar_position}}" data-in="{{animate_in}}" data-out="{{animate_out}}">
148
+ {% else %}
149
+ <ul id="desktop_menu" class="nav navbar-nav navigator navbar-{{nav_bar_position}}" data-in="fadeIn" data-out="fadeOut">
150
+ {% endif %}
151
+
152
+ {% for menu in navigator_menu_config %}
153
+
154
+ {% comment %} Identify the menu (item) type
155
+ ---------------------------------------------------------------------------- {% endcomment %}
156
+
157
+ {% if menu.sublevel %}
158
+ {% assign menu_type = 'sublevel_menu' %}
159
+ {% elsif menu.megamenu %}
160
+ {% assign menu_type = 'mega_menu' %}
161
+ {% elsif menu.auth_client %}
162
+ {% assign menu_type = 'auth_client' %}
163
+ {% elsif menu.theme_select %}
164
+ {% assign menu_type = 'theme_select' %}
165
+ {% elsif menu.sublevel == null and menu.megamenu == null and menu.login_menu == null and menu.theme_select == null %}
166
+ {% assign menu_type = 'top_level_item' %}
167
+ {% endif %}
168
+
169
+
170
+ {% comment %} Process all menu sections
171
+ ---------------------------------------------------------------------------- {% endcomment %}
172
+
173
+ {% case menu_type %}
174
+
175
+ {% comment %} Collect items having a SUB menue
176
+ ---------------------------------------------------------------------------- {% endcomment %}
177
+ {% when 'sublevel_menu' %}
178
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [found menu-type: sub-menue] -->
179
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [submenu level 1 detected] -->
180
+ <li class="dropdown nav-item">
181
+ {% if menu.icon == null %}
182
+ <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" data-hover="dropdown">{{ menu.item }}</a>
183
+ {% else %}
184
+ <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" data-hover="dropdown"> <i class="{{nav_menu_icon_style}} {{nav_menu_icon_family}}-{{menu.icon}} {{nav_menu_icon_size}} mr-2" style="color:{{nav_menu_icon_color}}"></i>{{ menu.item }}</a>
185
+ {% endif %}
186
+
187
+ <!-- jadams, 2017-11-24: (3) ul class="dropdown-menu {{nav_menu_position}} raised-z{{raised_level}}" style="opacity: 1; display: none;" -->
188
+ <!-- ul class="dropdown-menu {{nav_menu_position}} raised-z{{raised_level}}" style="display: none;" -->
189
+
190
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [submenu detected, SKIP scrollable-menu ] -->
191
+ <ul class="dropdown-menu {{nav_menu_position}} raised-z{{raised_level}}">
192
+
193
+ {% comment %} ????
194
+ ------------------------------------------------------------------------
195
+ {% if level_1.dropdown %}
196
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [submenu level detected, SKIP scrollable-menu: {{level_2.dropdown}} ] -->
197
+ <ul class="dropdown-menu {{nav_menu_position}} raised-z{{raised_level}}" style="max-height: unset;">
198
+ {% else %}
199
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [ NO submenu level 3 found, SET scrollable-menu: {{level_2.dropdown}} ] -->
200
+ <ul class="dropdown-menu scrollable-menu {{nav_menu_position}} raised-z{{raised_level}}">
201
+ {% endif %}
202
+ ------------------------------------------------------------------------ {% endcomment %}
203
+
204
+ {% for level_1 in menu.sublevel %}
205
+ {% if level_1.dropdown == null %}
206
+ {% if level_1.icon == null %}
207
+ {% if level_1.target == null %}
208
+ <li class="dropdown-item"><a href="{{ level_1.href }}{{ext}}">{{ level_1.title }}</a></li>
209
+ {% else %}
210
+ <li class="dropdown-item"><a href="{{ level_1.href }}{{ext}}" target="{{ level_1.target }}" rel="noopener">{{ level_1.title }}</a></li>
211
+ {% endif %}
212
+ {% else %}
213
+ {% if level_1.target == null %}
214
+ <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>
215
+ {% else %}
216
+ <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>
217
+ {% endif %}
218
+ {% endif %}
219
+ {% endif %}
220
+ {% if level_1.divider %} <li class="divider"></li> {% endif %}
221
+ {% if level_1.dropdown %}
222
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [submenu level 2 (dropdown) detected ] -->
223
+ <li class="dropdown nav-item nav-sub-item">
224
+ {% if level_1.icon == null %}
225
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ level_1.title }}</a>
226
+ {% else %}
227
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown"><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>
228
+ {% endif %}
229
+ <!-- jadams, 2017-11-24: (4) ul class="dropdown-menu {{nav_menu_position}} raised-z{{raised_level}}" style="opacity: 1;" -->
230
+
231
+ {% comment %} ????
232
+ -------------------------------------------------------------------
233
+ {% if level_1.dropdown %}
234
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [submenu level 2 detected, SKIP scrollable-menu: {{level_2.dropdown}} ] -->
235
+ <ul class="dropdown-menu {{nav_menu_position}} raised-z{{raised_level}}" style="max-height: unset;">
236
+ {% else %}
237
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [ NO submenu level 3 found, SET scrollable-menu: {{level_2.dropdown}} ] -->
238
+ <ul class="dropdown-menu scrollable-menu {{nav_menu_position}} raised-z{{raised_level}}">
239
+ {% endif %}
240
+ ------------------------------------------------------------------ {% endcomment %}
241
+
242
+ <ul class="dropdown-menu {{nav_menu_position}} raised-z{{raised_level}}">
243
+ {% for level_2 in level_1.dropdown %}
244
+ {% if level_2.dropdown == null %}
245
+ {% if level_2.icon == null %}
246
+ {% if level_2.target == null %}
247
+ <li class="dropdown-item"><a href="{{ level_2.href }}{{ext}}">{{ level_2.title }}</a></li>
248
+ {% else %}
249
+ <li class="dropdown-item"><a href="{{ level_2.href }}{{ext}}" target="{{ level_2.target }}" rel="noopener">{{ level_2.title }}</a></li>
250
+ {% endif %}
251
+ {% else %}
252
+ {% if level_2.target == null %}
253
+ <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>
254
+ {% else %}
255
+ <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>
256
+ {% endif %}
257
+ {% endif %}
258
+ {% endif %}
259
+ {% if level_2.divider %} <li class="divider"></li> {% endif %}
260
+ {% if level_2.dropdown %}
261
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [submenu level 3 detected (last level supported)] -->
262
+ <li class="dropdown nav-item nav-sub-item">
263
+ {% if level_2.icon == null %}
264
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ level_2.title }}</a>
265
+ {% else %}
266
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown"><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>
267
+ {% endif %}
268
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [submenu level 3, SET scrollable-menu: {{level_2.dropdown}} ] -->
269
+ <!-- ul class="dropdown-menu scrollable-menu {{nav_menu_position}} raised-z{{raised_level}}" -->
270
+ <ul class="dropdown-menu {{nav_menu_position}} raised-z{{raised_level}}">
271
+ {% for level_3 in level_2.dropdown %}
272
+ {% if level_2.icon == null %}
273
+ {% if level_3.target == null %}
274
+ <li class="dropdown-item"><a href="{{ level_3.href }}{{ext}}">{{ level_3.title }}</a></li>
275
+ {% else %}
276
+ <li class="dropdown-item"><a href="{{ level_3.href }}{{ext}}" target="{{ level_3.target }}" rel="noopener">{{ level_3.title }}</a></li>
277
+ {% endif %}
278
+ {% else %}
279
+ {% if level_3.target == null %}
280
+ <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>
281
+ {% else %}
282
+ <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>
283
+ {% endif %}
284
+ {% endif %}
285
+ {% if level_3.divider %} <li class="divider"></li> {% endif %}
286
+ {% endfor %} <!-- [INFO ] [j1.modules.navigator.menu.html ] [end processing: level 3] -->
287
+ </ul>
288
+ </li>
289
+ {% endif %}
290
+ {% endfor %} <!-- [INFO ] [j1.modules.navigator.menu.html ] [end processing: level 2] -->
291
+ </ul>
292
+ </li>
293
+ {% endif %}
294
+ {% endfor %} <!-- [INFO ] [j1.modules.navigator.menu.html ] [end processing: level 1] -->
295
+ </ul>
296
+ </li>
297
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [reset menu_type for next loop] -->
298
+ {% assign menu_type = '' %}
299
+
300
+
301
+ {% comment %} Collect items having a MEGA menu
302
+ ---------------------------------------------------------------------------- {% endcomment %}
303
+ {% when 'mega_menu' %}
304
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [found menu-type: megamenu-menue] -->
305
+ <!-- calculate size of mm_columns -->
306
+ {% assign columns = menu.megamenu | size %}
307
+ {% assign columns_width_md = 12 | divided_by:columns %}
308
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [Calculated size of mm_columns: {{ columns_width_md }}] -->
309
+
310
+ <li class="dropdown nav-item megamenu-fw">
311
+ <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">{{menu.item}} </a>
312
+ <ul class="dropdown-menu megamenu-content raised-z{{raised_level}}" style="max-height: {{nav_menu_options.max_height}}px; overflow-x: hidden; overflow-y: auto;" role="menu">
313
+ <li>
314
+ <div class="row">
315
+ {% for megabox in menu.megamenu %}
316
+ <div class="col-menu col-md-{{columns_width_md}} col-sm-6">
317
+ {% if megabox.icon == null %}
318
+ <div class="post-headline mt-2 mb-3">
319
+ <h2 class="title" style="font-size:1.25em !important">{{megabox.title}}</h2>
320
+ </div>
321
+ {% else %}
322
+ <div class="post-headline mt-2 mb-3">
323
+ <h2 class="title" style="font-size:1.25em !important"><i class="{{nav_menu_icon_style}} {{nav_menu_icon_family}}-{{megabox.icon}} mr-2" style="color:{{nav_menu_icon_color}}"></i> {{megabox.title}}</h2>
324
+ </div>
325
+ {% endif %}
326
+ <div class="content">
327
+ <ul class="menu-col">
328
+ {% for links in megabox.column %}
329
+ {% if links.icon == null %}
330
+ <li class="dropdown-megamenu-item"><a href="{{links.href}}{{ext}}" target="{{ links.target }}" rel="noopener">{{links.title}}</a></li>
331
+ {% else %}
332
+ <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>
333
+ {% endif %}
334
+ {% endfor %}
335
+ </ul>
336
+ </div>
337
+ </div>
338
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [megamenu-menue: end megabox] -->
339
+ {% endfor %}
340
+ </div>
341
+ </li>
342
+ </ul>
343
+ </li>
344
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [megamenu-menue: end mega-menu] -->
345
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [reset menu_type for next loop] -->
346
+ {% assign menu_type = '' %}
347
+
348
+
349
+ {% comment %} Collect TOP-LEVEL items (NO sub-menu)
350
+ -------------------------------------------------------------------------- {% endcomment %}
351
+ {% when 'top_level_item' %}
352
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [found menu-type: menu-top-level-only] -->
353
+ {% if menu.icon == null %}
354
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [no icon for menu-item found -->
355
+ {% if menu.target == null %}
356
+ <li class="nav-item"> <a class="nav-link" href="{{ menu.href }}{{ext}}">{{ menu.item }}</a> </li>
357
+ {% else %}
358
+ <li class="nav-item"> <a class="nav-link" href="{{ menu.href }}{{ext}}" target="{{ menu.target }}" rel="noopener">{{ menu.item }}</a> </li>
359
+ {% endif %}
360
+ {% elsif menu.icon %}
361
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [no icon for menu-item found -->
362
+ {% if menu.target == null %}
363
+ <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>
364
+ {% else %}
365
+ <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>
366
+ {% endif %}
367
+ {% else %}
368
+ <!-- [FATAL ] [nav_menu.menu-top-level-only ] [processing menu item failed] -->
369
+ {% endif %}
370
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [menu-top-level-only: end menu] -->
371
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [reset menu_type for next loop] -->
372
+ {% assign menu_type = '' %}
373
+
374
+
375
+ {% comment %} Collect items having a LOGIN menu
376
+ ------------------------------------------------------------------------ {% endcomment %}
377
+ {% when 'auth_client' %}
378
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [found menu-type: auth_client] -->
379
+ <li id="menuBarSignInOut" class="dropdown nav-item">
380
+ <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" data-hover="dropdown">{{menu.item}} </a>
381
+
382
+ {% if nav_menu_animation %}
383
+ <!-- jadams, 2017-11-24: (1) ul class="dropdown-menu {{nav_menu_position}} raised-z{{raised_level}}" style="opacity: 1; display: none;" -->
384
+ <ul class="dropdown-menu {{nav_menu_position}} raised-z{{raised_level}}" style="display: none;">
385
+ <!-- ul class="dropdown-menu data-in="{{nav_menu_animation}}" data-out="{{nav_menu_animation}}" -->
386
+ {% else %}
387
+ <!-- jadams, 2017-11-24: (2) ul class="dropdown-menu {{nav_menu_position}} raised-z{{raised_level}}" style="opacity: 1; display: none;" -->
388
+ <ul class="dropdown-menu {{nav_menu_position}} raised-z{{raised_level}}" style="display: none;">
389
+ {% endif %}
390
+
391
+ {% assign item_found = 'false' %}
392
+ {% for item in menu.auth_client %}
393
+
394
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [START: check signin] -->
395
+ {% if item.mode == 'signin' %}
396
+ <li class="dropdown-item">
397
+ <a href="#" data-toggle="modal" data-target="#modalOmniSignIn"><i class="{{nav_menu_icon_style}} {{nav_menu_icon_family}}-{{item.icon}} {{nav_menu_icon_size}}" style="color:{{nav_menu_icon_color}}"></i>{{item.title}}</a>
398
+ </li>
399
+ {% assign item_found = 'true' %}
400
+ {% endif %}
401
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [END: check signin] -->
402
+
403
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [START: check signout] -->
404
+ {% if item.mode == 'signout' %}
405
+ <li class="dropdown-item">
406
+ <a href="#" data-toggle="modal" data-target="#modalOmniSignOut"><i class="{{nav_menu_icon_style}} {{nav_menu_icon_family}}-{{item.icon}} {{nav_menu_icon_size}}" style="color:{{nav_menu_icon_color}}"></i>{{item.title}}</a>
407
+ </li>
408
+ {% assign item_found = 'true' %}
409
+ {% endif %}
410
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [END: check signout] -->
411
+
412
+ {% if item_found == 'false' %}
413
+ <!-- [FATAL ] [j1.modules.navigator.menu.html ] [no valid menu item config found] -->
414
+ <li class="dropdown-item">
415
+ {% if item.title %}
416
+ <a href="#" >Invalid: {{item.title}}</a>
417
+ {% else %}
418
+ <a href="#" >Item invalid</a>
419
+ {% endif %}
420
+ </li>
421
+ {% endif %}
422
+
423
+ {% endfor %}
424
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [login_menu: end menu] -->
425
+ </ul>
426
+ </li>
427
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [reset menu_type for next loop] -->
428
+ {% assign menu_type = '' %}
429
+
430
+ {% comment %} Collect items having a THEMES menu
431
+ ---------------------------------------------------------------------- {% endcomment %}
432
+ {% when 'theme_select' %}
433
+ {% if themer_options.enabled %}
434
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [found menu-type: theme_select] -->
435
+ <li class="dropdown nav-item">
436
+ <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" data-hover="dropdown">{{menu.item}} </a>
437
+ {% if nav_menu_animation %}
438
+ <ul class="dropdown-menu raised-z{{raised_level}}">
439
+ <!-- ul class="dropdown-menu data-in="{{nav_menu_animation}}" data-out="{{nav_menu_animation}}" -->
440
+ {% else %}
441
+ <ul class="dropdown-menu raised-z{{raised_level}}">
442
+ {% endif %}
443
+ {% assign item_found = 'false' %}
444
+ {% for item in menu.theme_select %}
445
+ <!-- check for locally loaded J1 Themes -->
446
+ {% if item.local_themes and item.local_themes == 'enabled' %}
447
+ <li class="dropdown nav-item nav-sub-item">
448
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown"><i class="dropdown {{nav_menu_icon_family}} {{nav_menu_icon_family}}-{{item.icon}} {{nav_menu_icon_size}} mr-2" style="color:{{nav_menu_icon_color}}"></i> {{item.title}}</a>
449
+ <ul id="local_themes" class="dropdown-menu raised-z{{raised_level}}"></ul>
450
+ </li>
451
+ {% assign item_found = 'true' %}
452
+ {% endif %} <!-- end J1 theme selector -->
453
+ <!-- check for remotely loaded (BootSwatch) Themes -->
454
+ {% if item.bootswatch_themes and item.bootswatch_themes == 'enabled' %}
455
+ <li class="dropdown nav-item nav-sub-item">
456
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown"><i class="dropdown {{nav_menu_icon_family}} {{nav_menu_icon_family}}-{{item.icon}} {{nav_menu_icon_size}} mr-2" style="color:{{nav_menu_icon_color}}"></i> {{item.title}}</a>
457
+ <ul id="remote_themes" class="dropdown-menu scrollable-menu raised-z{{raised_level}}"></ul>
458
+ </li>
459
+ {% assign item_found = 'true' %}
460
+ {% endif %} <!-- end BootSwatch theme selector -->
461
+ {% if item.preview and item.preview == 'enabled' %}
462
+ <li class="dropdown-item">
463
+ <a href="{{ theme_preview }}" ><i class="dropdown {{nav_menu_icon_family}} {{nav_menu_icon_family}}-{{item.icon}} {{nav_menu_icon_size}} mr-2" style="color:{{nav_menu_icon_color}}"></i> {{item.title}}</a>
464
+ </li>
465
+ {% assign item_found = 'true' %}
466
+ {% endif %} <!-- end theme preview -->
467
+ <!-- fallback if no valid config found -->
468
+ {% if item_found == 'false' %}
469
+ <li>
470
+ {% if item.title %}
471
+ <a href="#" >Invalid: {{item.title}}</a>
472
+ {% else %}
473
+ <a href="#" >Item invalid</a>
474
+ {% endif %}
475
+ </li>
476
+ {% endif %} <!-- end fallback -->
477
+ {% endfor %}
478
+ </ul>
479
+ </li>
480
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [reset menu_type for next loop] -->
481
+ {% endif %}
482
+ {% assign menu_type = '' %}
483
+
484
+
485
+ {% comment %} Collect items failed
486
+ ---------------------------------------------------------------------- {% endcomment %}
487
+ {% else %}
488
+ <!-- [FATAL ] [j1.modules.navigator.menu.html ] [detecting menu items|type failed] -->
489
+ {% assign menu_type = '' %}
490
+
491
+ {% endcase %}
492
+
493
+ {% endfor %}
494
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [nav_menu_settings: end menu] -->
495
+ </ul>
496
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [nav_menu_settings: end navbar] -->
497
+ <!-- [INFO ] [j1.modules.navigator.menu.html ] [nav_menu_settings: end processing] -->
498
+ {% endcapture %}
499
+
500
+ {% if production %}
501
+ {% capture _LINE_FEED %}{% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment %}{{ cache | strip_html_comments }}{% else %}{% capture _content %}{{ cache | strip_html_comments }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd p rt rp optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _end %}</{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _end %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "<!-- -->" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "<pre" %}{% assign _content = "" %}{% for _pre_before in _pre_befores %}{% assign _pres = _pre_before | split: "</pre>" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "</pre>" %}<pre{{ _pres.first }}</pre>{% endif %}{% unless _pre_before contains "</pre>" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " <e;<e; </e>;</e>;</e> ;</e>" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %} <table id="compress_html_profile_{{ site.time | date: "%Y%m%d" }}" class="compress_html_profile"> <thead> <tr> <td>Step <td>Bytes <tbody> <tr> <td>raw <td>{{ cache | strip_html_comments | size }}{% if _profile_endings %} <tr> <td>endings <td>{{ _profile_endings }}{% endif %}{% if _profile_startings %} <tr> <td>startings <td>{{ _profile_startings }}{% endif %}{% if _profile_comments %} <tr> <td>comments <td>{{ _profile_comments }}{% endif %}{% if _profile_collapse %} <tr> <td>collapse <td>{{ _profile_collapse }}{% endif %}{% if _profile_clippings %} <tr> <td>clippings <td>{{ _profile_clippings }}{% endif %} </table>{% endif %}{% endif %}
502
+ {% else %}
503
+ {{ cache | pretty_print | remove:'<html><body>' | remove:'</body></html>' | strip_empty_lines }}
504
+ {% endif %}
505
+ {% assign cache = nil %}