classic-jekyll-theme 1.9.4 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +18 -359
- data/_data/setup.yml +62 -10
- data/_data/text-for.yml +3 -0
- data/_includes/banner-area.html +57 -0
- data/_includes/banner-icon.html +23 -0
- data/_includes/banner-title-area.html +30 -0
- data/_includes/cblock-row.html +15 -3
- data/_includes/cblock.html +16 -1
- data/_includes/disqus-comments.html +39 -0
- data/_includes/footer.html +11 -0
- data/_includes/google-analytics.html +18 -8
- data/_includes/head.html +71 -30
- data/_includes/menubar-icon.html +23 -0
- data/_includes/menubar.html +428 -0
- data/_includes/secondary-column.html +30 -9
- data/_includes/tertiary-column.html +7 -3
- data/_includes/vertical-menu.html +284 -0
- data/_includes/widgets/browser-info.html +5 -2
- data/_includes/widgets/categories.html +21 -0
- data/_includes/widgets/cookie-consent.html +10 -10
- data/_includes/widgets/older-posts.html +63 -42
- data/_includes/widgets/recent-posts.html +14 -8
- data/_includes/widgets/social-media-res/icon-github.html +7 -1
- data/_includes/widgets/social-media-res/icon-github.svg +1 -1
- data/_includes/widgets/social-media-res/icon-twitter.html +7 -1
- data/_includes/widgets/social-media-res/icon-twitter.svg +1 -1
- data/_includes/widgets/social-media.html +19 -10
- data/_includes/widgets/subscribe.html +9 -4
- data/_includes/widgets/youtube-player.html +8 -8
- data/_layouts/banner-layout.html +1 -0
- data/_layouts/category-page.html +33 -33
- data/_layouts/content-blocks.html +1 -3
- data/_layouts/default.html +129 -55
- data/_layouts/home.html +4 -4
- data/_layouts/page.html +13 -12
- data/_layouts/post.html +13 -12
- data/_sass/classic-jekyll-theme.scss +1143 -155
- data/_sass/classic/_banner-area.scss +548 -0
- data/_sass/classic/_body.scss +15 -0
- data/_sass/classic/_columns.scss +122 -0
- data/_sass/classic/{_support.scss → _custom.scss} +12 -4
- data/_sass/classic/_footer.scss +31 -0
- data/_sass/classic/_menubar.scss +509 -0
- data/_sass/classic/_normalize-override.scss +9 -9
- data/_sass/classic/_normalize.scss +13 -27
- data/_sass/classic/_page.scss +1 -1
- data/_sass/classic/_post.scss +1 -1
- data/_sass/classic/_theme-internal.scss +37 -0
- data/_sass/classic/_theme-library.scss +85 -0
- data/_sass/classic/_vertical-menu.scss +237 -0
- data/_sass/classic/_widgets.scss +88 -0
- data/assets/img/banner-area-layout.png +0 -0
- data/assets/img/cog-wheels-120x68.png +0 -0
- data/assets/img/cog-wheels-240x135.png +0 -0
- data/assets/img/cog-wheels-30x17.png +0 -0
- data/assets/img/cog-wheels-60x43.png +0 -0
- data/assets/img/column-panel-layout.png +0 -0
- data/assets/img/test-pattern-110x83.png +0 -0
- data/assets/img/test-pattern-1280x800.png +0 -0
- data/assets/img/test-pattern-220x165.png +0 -0
- data/assets/img/test-pattern-55x42.png +0 -0
- data/assets/img/test-pattern-640x400.png +0 -0
- data/assets/img/top-level-layout.png +0 -0
- data/icons/android-chrome-192x192.png +0 -0
- data/icons/apple-touch-icon.png +0 -0
- data/icons/browserconfig.xml +9 -0
- data/icons/favicon-16x16.png +0 -0
- data/icons/favicon-32x32.png +0 -0
- data/icons/favicon.ico +0 -0
- data/icons/manifest.json +13 -0
- data/icons/mstile-150x150.png +0 -0
- data/icons/safari-pinned-tab.svg +14 -0
- data/pages/about/about.md +4 -1
- data/pages/classic/01-features.md +36 -0
- data/pages/classic/02-setup.md +113 -0
- data/pages/classic/03-pages-and-posts.md +21 -0
- data/pages/classic/04-posts.md +18 -0
- data/pages/classic/05-menus.md +122 -0
- data/pages/classic/06-categories.md +38 -0
- data/pages/classic/07-terminology.md +35 -0
- data/pages/classic/08-versioning.md +23 -0
- data/pages/contact/contact.md +7 -2
- data/pages/jekyll/01-jekyll.md +42 -0
- data/pages/jekyll/02-speed.md +88 -0
- data/pages/jekyll/03-ruby.md +19 -0
- data/pages/layouts/banner-main.md +36 -0
- data/pages/{other → layouts}/blocks.md +4 -3
- data/pages/layouts/landing-page.md +21 -0
- data/pages/layouts/no-sec-no-ter.md +28 -0
- data/pages/layouts/sec-left-no-ter.md +28 -0
- data/pages/layouts/sec-left-ter-right.md +28 -0
- data/pages/layouts/sec-right-no-ter.md +28 -0
- data/pages/layouts/sec-right-ter-left.md +28 -0
- data/pages/{more/more.md → menus/landing-page.md} +2 -5
- data/pages/menus/submenu-subsections.md +72 -0
- data/pages/menus/submenu1.md +22 -0
- data/pages/menus/submenu2.md +21 -0
- data/pages/menus/submenu3.md +30 -0
- metadata +72 -24
- data/_includes/disqus_comments.html +0 -25
- data/_includes/navbanner.html +0 -232
- data/_layouts/navbanner-layout.html +0 -1
- data/_sass/classic/_formatting.scss +0 -336
- data/_sass/classic/_layout.scss +0 -331
- data/_sass/classic/_widget-support.scss +0 -42
- data/navbanner.md +0 -5
- data/pages/classic/categories.md +0 -13
- data/pages/classic/classic.md +0 -12
- data/pages/classic/known-problems.md +0 -14
- data/pages/classic/pages.md +0 -23
- data/pages/classic/posts.md +0 -19
- data/pages/other/example-page.md +0 -12
- data/pages/other/other.md +0 -10
@@ -1 +0,0 @@
|
|
1
|
-
{% include navbanner.html %}
|
@@ -1,336 +0,0 @@
|
|
1
|
-
// The distinction between "layout" and "formatting" is as follows: If the resulting CCS affects the placement of and/or visibility of multiple items, it is placed in "layout". If the CSS affects only the appearance of an item, then it appears here. Of course the appearance may affect the layout, so there is no hard distinction.
|
2
|
-
|
3
|
-
// Setting a background image on the entire site
|
4
|
-
body {
|
5
|
-
@include wide-layout { background: $wide-body-background; }
|
6
|
-
@include medium-layout { background: $medium-body-background; }
|
7
|
-
@include narrow-layout { background: $narrow-body-background; }
|
8
|
-
}
|
9
|
-
|
10
|
-
// Formatting for the navbanner panel elements.
|
11
|
-
.navbanner-panel {
|
12
|
-
|
13
|
-
// Title formatting
|
14
|
-
.navbanner-title {
|
15
|
-
position: relative;
|
16
|
-
.site-title-text {
|
17
|
-
color: $site-title-color;
|
18
|
-
margin-bottom: 0;
|
19
|
-
@include wide-layout {
|
20
|
-
font-size: $wide-site-title-font-size;
|
21
|
-
margin-left: $wide-horizontal-title-shift;
|
22
|
-
margin-top: $wide-vertical-title-shift;
|
23
|
-
}
|
24
|
-
@include medium-layout {
|
25
|
-
font-size: $medium-site-title-font-size;
|
26
|
-
margin-left: $medium-horizontal-title-shift;
|
27
|
-
margin-top: $medium-vertical-title-shift;
|
28
|
-
}
|
29
|
-
@include narrow-layout {
|
30
|
-
font-size: $narrow-site-title-font-size;
|
31
|
-
margin-left: $narrow-horizontal-title-shift;
|
32
|
-
margin-top: $narrow-vertical-title-shift;
|
33
|
-
}
|
34
|
-
}
|
35
|
-
.banner-icon-container {
|
36
|
-
position: absolute;
|
37
|
-
top: 0px;
|
38
|
-
left: 0px;
|
39
|
-
width: 100%;
|
40
|
-
height: 100%;
|
41
|
-
display: flex;
|
42
|
-
overflow: hidden;
|
43
|
-
}
|
44
|
-
@include wide-layout {
|
45
|
-
height: $wide-banner-height;
|
46
|
-
background-color: $wide-banner-background;
|
47
|
-
@if $wide-icon-url != none {
|
48
|
-
.banner-icon {
|
49
|
-
margin-top: $wide-icon-voffset;
|
50
|
-
margin-left: $wide-icon-hoffset;
|
51
|
-
content: $wide-icon-url;
|
52
|
-
}
|
53
|
-
.banner-icon-container {
|
54
|
-
@if $wide-icon-vposition == top {
|
55
|
-
align-items: flex-start;
|
56
|
-
} @else if $wide-icon-vposition == bottom {
|
57
|
-
align-items: flex-end;
|
58
|
-
} @else {
|
59
|
-
align-items: $wide-icon-vposition;
|
60
|
-
}
|
61
|
-
@if $wide-icon-hposition == left {
|
62
|
-
justify-content: flex-start;
|
63
|
-
} @else if $wide-icon-hposition == right {
|
64
|
-
justify-content: flex-end;
|
65
|
-
} @else {
|
66
|
-
justify-content: $wide-icon-hposition;
|
67
|
-
}
|
68
|
-
}
|
69
|
-
}
|
70
|
-
}
|
71
|
-
@include medium-layout {
|
72
|
-
height: $medium-banner-height;
|
73
|
-
background: $medium-banner-background;
|
74
|
-
@if $medium-icon-url != none {
|
75
|
-
.banner-icon {
|
76
|
-
margin-top: $medium-icon-voffset;
|
77
|
-
margin-left: $medium-icon-hoffset;
|
78
|
-
content: $medium-icon-url;
|
79
|
-
}
|
80
|
-
.banner-icon-container {
|
81
|
-
@if $medium-icon-vposition == top {
|
82
|
-
align-items: flex-start;
|
83
|
-
} @else if $medium-icon-vposition == bottom {
|
84
|
-
align-items: flex-end;
|
85
|
-
} @else {
|
86
|
-
align-items: $medium-icon-vposition;
|
87
|
-
}
|
88
|
-
@if $medium-icon-hposition == left {
|
89
|
-
justify-content: flex-start;
|
90
|
-
} @else if $medium-icon-hposition == right {
|
91
|
-
justify-content: flex-end;
|
92
|
-
} @else {
|
93
|
-
justify-content: $medium-icon-hposition;
|
94
|
-
}
|
95
|
-
}
|
96
|
-
}
|
97
|
-
}
|
98
|
-
@include narrow-layout {
|
99
|
-
height: $narrow-banner-height;
|
100
|
-
background: $narrow-banner-background;
|
101
|
-
@if $narrow-icon-url != none {
|
102
|
-
.banner-icon {
|
103
|
-
margin-top: $narrow-icon-voffset;
|
104
|
-
margin-left: $narrow-icon-hoffset;
|
105
|
-
content: $narrow-icon-url;
|
106
|
-
}
|
107
|
-
.banner-icon-container {
|
108
|
-
@if $narrow-icon-vposition == top {
|
109
|
-
align-items: flex-start;
|
110
|
-
} @else if $narrow-icon-vposition == bottom {
|
111
|
-
align-items: flex-end;
|
112
|
-
} @else {
|
113
|
-
align-items: $narrow-icon-vposition;
|
114
|
-
}
|
115
|
-
@if $narrow-icon-hposition == left {
|
116
|
-
justify-content: flex-start;
|
117
|
-
} @else if $narrow-icon-hposition == right {
|
118
|
-
justify-content: flex-end;
|
119
|
-
} @else {
|
120
|
-
justify-content: $narrow-icon-hposition;
|
121
|
-
}
|
122
|
-
}
|
123
|
-
}
|
124
|
-
}
|
125
|
-
}
|
126
|
-
|
127
|
-
// Label formatting
|
128
|
-
.navbanner-label {
|
129
|
-
|
130
|
-
// Introduction of an icon had an impact on the label behaviour (don't know why) this fixes it.
|
131
|
-
// I found this solution by second-guessing, would love to know why... (please mail me if you do)
|
132
|
-
position: relative;
|
133
|
-
|
134
|
-
// Color for the menu symbol (only visible on narrow and medium sized layouts)
|
135
|
-
label {
|
136
|
-
padding: 0 $hspacing-unit; // Give the menu label more area to make it easier to tap.
|
137
|
-
p {
|
138
|
-
color: $menu-symbol-color;
|
139
|
-
margin: 0;
|
140
|
-
@include wide-layout {
|
141
|
-
// Note: the label is not visible, but we set the correct values anyhow...
|
142
|
-
font-size: $narrow-site-title-font-size;
|
143
|
-
}
|
144
|
-
@include medium-layout {
|
145
|
-
font-size: $medium-site-title-font-size;
|
146
|
-
}
|
147
|
-
@include narrow-layout {
|
148
|
-
font-size: $narrow-site-title-font-size;
|
149
|
-
}
|
150
|
-
}
|
151
|
-
}
|
152
|
-
|
153
|
-
// Size of the title and menu symbol depends on the layout in effect.
|
154
|
-
@include narrow-layout {
|
155
|
-
height: $narrow-banner-height;
|
156
|
-
background: $narrow-banner-background;
|
157
|
-
}
|
158
|
-
@include medium-layout {
|
159
|
-
height: $medium-banner-height;
|
160
|
-
background: $medium-banner-background;
|
161
|
-
}
|
162
|
-
@include wide-layout {
|
163
|
-
height: $narrow-banner-height;
|
164
|
-
background: $narrow-banner-background;
|
165
|
-
}
|
166
|
-
}
|
167
|
-
|
168
|
-
// Formating for the divider between the banner and menu.
|
169
|
-
.nav-top-divider {
|
170
|
-
border-top: $navbanner-menu-dividers-thickness solid $navbanner-menu-dividers-color;
|
171
|
-
@if ($navbanner-menu-top-divider-disable == true) {
|
172
|
-
display: none;
|
173
|
-
} @else {
|
174
|
-
display: $navbanner-menu-dividers-display;
|
175
|
-
}
|
176
|
-
}
|
177
|
-
|
178
|
-
// Formatting for the menu (navigation) area
|
179
|
-
.navbanner-menu {
|
180
|
-
|
181
|
-
// Background settings
|
182
|
-
background: $menubar-background;
|
183
|
-
|
184
|
-
// Lists are used for the menu's. No spacing for the top level list and no item markers. There will be an item marker for the narrow layout but that marker is state-dependent and set via a content property.
|
185
|
-
ul {
|
186
|
-
list-style-type: none;
|
187
|
-
margin: 0;
|
188
|
-
padding: 0;
|
189
|
-
}
|
190
|
-
|
191
|
-
// Set the color for the menu items
|
192
|
-
.menu-item-separator, .menu-item-symbol, .menu-item-title {
|
193
|
-
color: $menu-item-font-color;
|
194
|
-
a { color: $menu-item-font-color; }
|
195
|
-
a:hover { color: $menu-item-hover-color; }
|
196
|
-
}
|
197
|
-
|
198
|
-
// Set the color for the submenu items
|
199
|
-
.menu-subitem-symbol, .menu-subitem-title {
|
200
|
-
color: $menu-subitem-font-color;
|
201
|
-
a { color: $menu-subitem-font-color; }
|
202
|
-
a:hover { color: $menu-subitem-hover-color; }
|
203
|
-
}
|
204
|
-
|
205
|
-
// Set the font size for the menu items
|
206
|
-
.menu-item-title { font-size: $menu-item-font-size; }
|
207
|
-
.menu-subitem-title { font-size: $menu-subitem-font-size; }
|
208
|
-
|
209
|
-
// The sub menu items are displayed in a box, make sure the text does not start at the box edge.
|
210
|
-
.menu-subitem {
|
211
|
-
padding: 0 $hspacing-unit / 2;
|
212
|
-
}
|
213
|
-
|
214
|
-
// Specifics for the narrow sized layout
|
215
|
-
@include narrow-layout {
|
216
|
-
|
217
|
-
// Fix the height of the items and subitems to make tapping easier
|
218
|
-
// Use a background color to set off the menu from the content
|
219
|
-
.menu-item, .menu-subitem {
|
220
|
-
border-top: 1px solid $background-color;
|
221
|
-
border-bottom: 1px solid $background-color;
|
222
|
-
}
|
223
|
-
.menu-item {
|
224
|
-
p { line-height: $narrow-menu-item-height; margin-bottom: 0; }
|
225
|
-
background-color: $narrow-menu-item-background-color;
|
226
|
-
}
|
227
|
-
.menu-subitem {
|
228
|
-
p { line-height: $narrow-menu-subitem-height; margin-bottom: 0; }
|
229
|
-
background-color: $narrow-menu-subitem-background-color;
|
230
|
-
}
|
231
|
-
|
232
|
-
// Move the disclosure symbol a little bit from the edge of the item
|
233
|
-
.menu-item-symbol p { margin-left: $hspacing-unit; }
|
234
|
-
|
235
|
-
// Add some left-margin for the title of the subitems
|
236
|
-
.menu-subitem-title { margin-left: $hspacing-unit; }
|
237
|
-
}
|
238
|
-
|
239
|
-
// Specifics for the medium sized layout
|
240
|
-
@include medium-layout {
|
241
|
-
|
242
|
-
// Keep the submenu tight
|
243
|
-
.menu-subitem p { margin: 0; }
|
244
|
-
|
245
|
-
// Formatting of the sub-menu items
|
246
|
-
ul li ul {
|
247
|
-
margin-left: 2 * $hspacing-unit; // The sub-menu should appear slightly to the right
|
248
|
-
background-color: $medium-menu-subitem-background-color; // Set-of a little bit from the background
|
249
|
-
box-shadow: 0 0.5em 1em 0 rgba(0,0,0,0.2); // Create a shadow box
|
250
|
-
}
|
251
|
-
}
|
252
|
-
|
253
|
-
// Specifics for the wide sized layout
|
254
|
-
@include wide-layout {
|
255
|
-
|
256
|
-
// Keep the submenu tight
|
257
|
-
.menu-subitem p { margin: 0; }
|
258
|
-
|
259
|
-
// Formatting of the sub-menu items
|
260
|
-
ul li ul {
|
261
|
-
margin-left: 2 * $hspacing-unit; // The sub-menu should appear slightly to the right
|
262
|
-
background-color: $wide-menu-subitem-background-color; // Set-of a little bit from the background
|
263
|
-
box-shadow: 0 0.5em 1em 0 rgba(0,0,0,0.2); // Create a shadow box
|
264
|
-
}
|
265
|
-
}
|
266
|
-
}
|
267
|
-
|
268
|
-
// Formatting for the divder between menu and column panel.
|
269
|
-
.nav-bottom-divider {
|
270
|
-
border-top: $navbanner-menu-dividers-thickness solid $navbanner-menu-dividers-color;
|
271
|
-
display: $navbanner-menu-dividers-display;
|
272
|
-
}
|
273
|
-
}
|
274
|
-
|
275
|
-
|
276
|
-
// Defines the insets used in the columns and footer-panel. I.e the empty spaces between text and separators lines.
|
277
|
-
.insets {
|
278
|
-
padding-top: $vspacing-unit;
|
279
|
-
padding-right: $hspacing-unit;
|
280
|
-
padding-bottom: $vspacing-unit;
|
281
|
-
padding-left: $hspacing-unit;
|
282
|
-
}
|
283
|
-
|
284
|
-
.column-panel { background: $column-panel-background; }
|
285
|
-
.secondary-column { @extend .insets; background: $secondary-column-background; }
|
286
|
-
main { @extend .insets; background: $primary-column-background; }
|
287
|
-
.tertiary-column { @extend .insets; background: $tertiary-column-background; }
|
288
|
-
|
289
|
-
|
290
|
-
// This is the element between the column panel and the footer.
|
291
|
-
.footer-divider {
|
292
|
-
display: $footer-divider-display;
|
293
|
-
width: 100%;
|
294
|
-
margin: 0;
|
295
|
-
border-bottom: 1px solid $footer-divider-color;
|
296
|
-
}
|
297
|
-
|
298
|
-
.footer-panel {
|
299
|
-
@extend .insets;
|
300
|
-
font-size: $small-font-size;
|
301
|
-
text-align: center;
|
302
|
-
@include wide-layout { background: $wide-footer-background; }
|
303
|
-
@include medium-layout { background: $medium-footer-background; }
|
304
|
-
@include narrow-layout { background: $narrow-footer-background; }
|
305
|
-
}
|
306
|
-
|
307
|
-
// Formatting for the widgets. Note that widgets are small.
|
308
|
-
.widget {
|
309
|
-
font-size: $small-small-font-size;
|
310
|
-
h1 { font-size: $small-font-size; font-weight: bold; }
|
311
|
-
h1, h2, h3, h4, h5, h6, p, blockquote, pre, ul, ol, dl, figure { margin-bottom: 0; }
|
312
|
-
}
|
313
|
-
|
314
|
-
// The divider between widgets, a thin horizontal line.
|
315
|
-
.widget-divider {
|
316
|
-
margin-top: $vspacing-unit / 2;
|
317
|
-
margin-left: 0;
|
318
|
-
margin-bottom: $vspacing-unit / 2;
|
319
|
-
margin-right: 0;
|
320
|
-
border-bottom: 1px solid $widget-divider-color;
|
321
|
-
display: $widget-divider-display;
|
322
|
-
}
|
323
|
-
|
324
|
-
// Divider between primary, secondary and tertiary
|
325
|
-
.secondary-widget-divider { @extend .widget-divider; }
|
326
|
-
.tertiary-widget-divider { @extend .widget-divider; }
|
327
|
-
|
328
|
-
// The column dividers
|
329
|
-
.secondary-divider, .tertiary-divider {
|
330
|
-
margin-top: $column-divider-top-spacing;
|
331
|
-
margin-left: 0;
|
332
|
-
margin-bottom: $column-divider-bottom-spacing;
|
333
|
-
margin-right: 0;
|
334
|
-
border-right: 1px solid $column-divider-color;
|
335
|
-
display: $column-divider-display;
|
336
|
-
}
|
data/_sass/classic/_layout.scss
DELETED
@@ -1,331 +0,0 @@
|
|
1
|
-
// The distinction between "layout" and "formatting" is as follows: If the resulting CCS affects the placement of and/or visibility of multiple items, it is done here. If the CSS affects only the appearance of an item, then it appears in "formatting". Of course the appearance may affect the layout, so there is no hard distinction.
|
2
|
-
|
3
|
-
|
4
|
-
@mixin narrow-layout {
|
5
|
-
@media screen and (min-width: 0px) and (max-width: $narrow-max-width) {
|
6
|
-
@content
|
7
|
-
}
|
8
|
-
}
|
9
|
-
|
10
|
-
@mixin medium-layout {
|
11
|
-
@media screen and (min-width: $medium-min-width) and (max-width: $medium-max-width) {
|
12
|
-
@content
|
13
|
-
}
|
14
|
-
}
|
15
|
-
|
16
|
-
@mixin wide-layout {
|
17
|
-
@media screen and (min-width: $wide-min-width) {
|
18
|
-
@content
|
19
|
-
}
|
20
|
-
}
|
21
|
-
|
22
|
-
// Layout top-to-bottom for the top level
|
23
|
-
// This arranges the navbanner-panel, column-panel, footer-separator and footer-panel (from "default.html")
|
24
|
-
.body-panel {
|
25
|
-
display: flex;
|
26
|
-
flex-direction: column;
|
27
|
-
justify-content: flex-start;
|
28
|
-
}
|
29
|
-
|
30
|
-
// The navigation & banner
|
31
|
-
// Note: these two have to be together to enable a RDW design with an input/label in the banner area.
|
32
|
-
.navbanner-panel {
|
33
|
-
|
34
|
-
// Use the flex layout rules.
|
35
|
-
display: flex;
|
36
|
-
flex-direction: row;
|
37
|
-
flex-wrap: wrap;
|
38
|
-
justify-content: flex-start;
|
39
|
-
|
40
|
-
// The size of the title depends on the width of the window.
|
41
|
-
.navbanner-title {
|
42
|
-
|
43
|
-
// The title area should take up all space not used by the menu label.
|
44
|
-
flex-grow: 1;
|
45
|
-
|
46
|
-
// Center the title if visible
|
47
|
-
@if ($navbanner-include-banner == true) { display: flex; } @else { display: none }
|
48
|
-
justify-content: center;
|
49
|
-
align-items: center;
|
50
|
-
}
|
51
|
-
|
52
|
-
// The menu label is only visible in narrow and medium layout.
|
53
|
-
.navbanner-label {
|
54
|
-
|
55
|
-
// Never grow the menu label (symbol)
|
56
|
-
flex-grow: 0;
|
57
|
-
|
58
|
-
// The menu label (symbol) should be centered if visible
|
59
|
-
@if ($navbanner-include-banner == true) { display: flex; } @else { display: none }
|
60
|
-
justify-content: center;
|
61
|
-
align-items: center;
|
62
|
-
|
63
|
-
// The label is used as checkbox-label, it should show a pointer when the mouse is above it.
|
64
|
-
label {
|
65
|
-
p:after { content: $menu-symbol-code; } // Set the menu symbol
|
66
|
-
cursor: pointer;
|
67
|
-
}
|
68
|
-
}
|
69
|
-
|
70
|
-
// The dividers should run accross the entire window. Note that they are not always visible, that depends on the active layout.
|
71
|
-
.nav-top-divider { width: 100%; }
|
72
|
-
.nav-bottom-divider { width: 100%; }
|
73
|
-
|
74
|
-
// The menu is always the entire width.
|
75
|
-
.navbanner-menu { width: 100%; }
|
76
|
-
|
77
|
-
@include narrow-layout {
|
78
|
-
|
79
|
-
// Override visibility of the label
|
80
|
-
@if ($navbanner-include-banner == false) { .navbanner-label, .navbanner-title { display: flex; } }
|
81
|
-
|
82
|
-
// Disabled items.
|
83
|
-
.navbanner-menu, .nav-bottom-divider, input, .menu-item-separator { display: none; }
|
84
|
-
|
85
|
-
// Conditionally visible/invisible items (conditionally on the invisible checkbox, i.e. menu symbol)
|
86
|
-
input:checked ~ {
|
87
|
-
|
88
|
-
// Display the menu only when the menu-checkbox (invisible) is checked.
|
89
|
-
.navbanner-menu { display: block; }
|
90
|
-
|
91
|
-
// Do not display the top divider when the menu is visible.
|
92
|
-
.nav-top-divider { display: none; }
|
93
|
-
}
|
94
|
-
|
95
|
-
// Only visible when the menu symbol invisible checkbox is selected
|
96
|
-
.navbanner-menu {
|
97
|
-
|
98
|
-
// For the top level list (menu) items
|
99
|
-
li {
|
100
|
-
|
101
|
-
// Disable submenu by default
|
102
|
-
ul { display: none; }
|
103
|
-
|
104
|
-
// When the submenu is closed, show the appropriate symbol
|
105
|
-
label .menu-item .menu-item-symbol p:after { content: $menu-closed-submenu-code; }
|
106
|
-
|
107
|
-
// If the checkbox is checked
|
108
|
-
input:checked ~ {
|
109
|
-
|
110
|
-
// Show submenu
|
111
|
-
ul { display: block; }
|
112
|
-
|
113
|
-
// When the submenu is open, show the appropriate symbol
|
114
|
-
label .menu-item .menu-item-symbol p:after { content: $menu-open-submenu-code; }
|
115
|
-
}
|
116
|
-
|
117
|
-
// Ensure that the whole width and height of a link is clickable
|
118
|
-
a { display: block; }
|
119
|
-
}
|
120
|
-
|
121
|
-
// Use the flex layout for the menu items
|
122
|
-
.menu-item, .menu-subitem {
|
123
|
-
|
124
|
-
display: flex;
|
125
|
-
flex-direction: row;
|
126
|
-
|
127
|
-
// Align all items in the center
|
128
|
-
align-items: center;
|
129
|
-
|
130
|
-
// Fix the display property for the menu item symbol and title area's when a <p> is included
|
131
|
-
.menu-item-symbol { p { display: inline; } }
|
132
|
-
|
133
|
-
// The symbol area does not grow
|
134
|
-
.menu-item-symbol, .menu-subitem-symbol { flex-grow: 0; width: 3 * $hspacing-unit; }
|
135
|
-
|
136
|
-
// The title area must grow
|
137
|
-
.menu-item-title, .menu-subitem-title { flex-grow: 1; }
|
138
|
-
}
|
139
|
-
}
|
140
|
-
}
|
141
|
-
|
142
|
-
@include medium-layout {
|
143
|
-
|
144
|
-
// Disabled items
|
145
|
-
.navbanner-menu, input, .menu-item-symbol, .menu-subitem-symbol, .nav-bottom-divider { display: none; }
|
146
|
-
|
147
|
-
|
148
|
-
// Conditional visibility of the menu bar
|
149
|
-
@if ($navbanner-include-banner == false) {
|
150
|
-
|
151
|
-
// Display the menu because the input checkbox (label) in the banner is never visible.
|
152
|
-
.navbanner-menu {
|
153
|
-
|
154
|
-
// Use flex to enable alignment of the top level menu items
|
155
|
-
display: flex;
|
156
|
-
flex-direction: row;
|
157
|
-
flex-wrap: wrap;
|
158
|
-
justify-content: $menu-alignment;
|
159
|
-
}
|
160
|
-
|
161
|
-
// Also display the bottom divider when the menu is visible.
|
162
|
-
.nav-bottom-divider { display: inline; }
|
163
|
-
}
|
164
|
-
@else {
|
165
|
-
|
166
|
-
// Conditionally visible/invisible items (conditionally on the invisible checkbox, i.e. menu symbol)
|
167
|
-
input:checked ~ {
|
168
|
-
|
169
|
-
// Display the menu only when the menu-checkbox (invisible) is checked.
|
170
|
-
.navbanner-menu {
|
171
|
-
|
172
|
-
// Use flex to enable alignment of the top level menu items
|
173
|
-
display: flex;
|
174
|
-
flex-direction: row;
|
175
|
-
flex-wrap: wrap;
|
176
|
-
justify-content: $menu-alignment;
|
177
|
-
}
|
178
|
-
|
179
|
-
// Also display the bottom divider when the menu is visible.
|
180
|
-
.nav-bottom-divider { display: inline; }
|
181
|
-
}
|
182
|
-
}
|
183
|
-
|
184
|
-
.navbanner-menu {
|
185
|
-
|
186
|
-
// Create a left and right spacing
|
187
|
-
border-left: ($navbar-side-margin - ($navbar-menu-item-spacing / 2)) solid transparent;
|
188
|
-
border-right: $navbar-side-margin solid transparent;
|
189
|
-
|
190
|
-
// Menu item spacing
|
191
|
-
.menu-item {
|
192
|
-
border-left: ($navbar-menu-item-spacing / 2) solid transparent;
|
193
|
-
border-right: ($navbar-menu-item-spacing / 2) solid transparent;
|
194
|
-
}
|
195
|
-
.menu-item-separator p:after { content: $menu-item-separator; }
|
196
|
-
|
197
|
-
// This menu is horizontal
|
198
|
-
.menu-item, .menu-item-separator, .menu-item-title, menu-subitem-title {
|
199
|
-
display: inline;
|
200
|
-
p { display: inline; } // Keeps the labels in-line with the links
|
201
|
-
}
|
202
|
-
|
203
|
-
ul {
|
204
|
-
li {
|
205
|
-
// This menu is horizontal
|
206
|
-
display: inline-block;
|
207
|
-
|
208
|
-
// The submenu display
|
209
|
-
ul {
|
210
|
-
display: none; // Initially disabled
|
211
|
-
position: absolute; // Display the submenu below the corresponding menu item
|
212
|
-
li { display: block; } // Makes the submenu vertical
|
213
|
-
}
|
214
|
-
|
215
|
-
// Display the submenu if the user hovers the mouse over it
|
216
|
-
&:hover ul { display: block; }
|
217
|
-
|
218
|
-
// Display the submenu if the user taps the corresponding menu item
|
219
|
-
input:checked ~ ul { display: block; }
|
220
|
-
}
|
221
|
-
}
|
222
|
-
}
|
223
|
-
}
|
224
|
-
|
225
|
-
@include wide-layout {
|
226
|
-
|
227
|
-
// Do not show the checkbox label, the input(s) and the menu symbols
|
228
|
-
.navbanner-label, input, .menu-item-symbol { display: none; }
|
229
|
-
|
230
|
-
.navbanner-menu {
|
231
|
-
|
232
|
-
// Use flex to enable alignment of the top level menu items
|
233
|
-
display: flex;
|
234
|
-
flex-direction: row;
|
235
|
-
flex-wrap: wrap;
|
236
|
-
justify-content: $menu-alignment;
|
237
|
-
|
238
|
-
// Create a left and right spacing
|
239
|
-
border-left: ($navbar-side-margin - ($navbar-menu-item-spacing / 2)) solid transparent;
|
240
|
-
border-right: $navbar-side-margin solid transparent;
|
241
|
-
|
242
|
-
// Menu item spacing
|
243
|
-
.menu-item {
|
244
|
-
border-left: ($navbar-menu-item-spacing / 2) solid transparent;
|
245
|
-
border-right: ($navbar-menu-item-spacing / 2) solid transparent;
|
246
|
-
}
|
247
|
-
.menu-item-separator p:after { content: $menu-item-separator; }
|
248
|
-
|
249
|
-
// This menu is horizontal
|
250
|
-
.menu-item, .menu-item-separator, .menu-item-title, menu-subitem-title {
|
251
|
-
display: inline;
|
252
|
-
p { display: inline; }
|
253
|
-
}
|
254
|
-
|
255
|
-
ul {
|
256
|
-
li {
|
257
|
-
|
258
|
-
// This menu is horizontal
|
259
|
-
display: inline-block;
|
260
|
-
|
261
|
-
// The submenu display
|
262
|
-
ul {
|
263
|
-
display: none; // Initially disabled
|
264
|
-
position: absolute; // Display the submenu below the corresponding menu item
|
265
|
-
li { display: block; } // Makes the submenu vertical
|
266
|
-
}
|
267
|
-
|
268
|
-
// Display the submenu if the user hovers the mouse over it
|
269
|
-
&:hover ul { display: block; }
|
270
|
-
|
271
|
-
// Display the submenu if the user taps the corresponding menu item
|
272
|
-
input:checked ~ ul { display: block; }
|
273
|
-
}
|
274
|
-
}
|
275
|
-
}
|
276
|
-
}
|
277
|
-
}
|
278
|
-
|
279
|
-
|
280
|
-
// The layout for the column panel uses flex, but lays out the columns either column or row based depending on the size of the window (screen).
|
281
|
-
.column-panel {
|
282
|
-
|
283
|
-
// Use flex, layout as a row or column, based on the screenwidth
|
284
|
-
display: flex;
|
285
|
-
|
286
|
-
@include narrow-layout {
|
287
|
-
|
288
|
-
// This layout is column based, i.e. the content is displayed over one another.
|
289
|
-
flex-direction: column;
|
290
|
-
|
291
|
-
// The primary column must be displayed on top, use the 'order' property to enforce this.
|
292
|
-
.primary-column { order: 1; }
|
293
|
-
|
294
|
-
// The secondary column is put below the primary the second place
|
295
|
-
.secondary-column { order: 2; }
|
296
|
-
|
297
|
-
// Unused
|
298
|
-
.tertiary-column, .secondary-divider, .tertiary-divider { display: none; }
|
299
|
-
}
|
300
|
-
|
301
|
-
@include medium-layout {
|
302
|
-
|
303
|
-
// This layout is row based
|
304
|
-
flex-direction: row;
|
305
|
-
|
306
|
-
// The secondary column uses a fixed witdh and hosts both the secondary and tertiary column content
|
307
|
-
.secondary-column { width: $secondary-column-width; }
|
308
|
-
|
309
|
-
// The primary column can grow
|
310
|
-
.primary-column { flex: 1 1 auto; width: 1px; } // A width must be specified
|
311
|
-
|
312
|
-
// Unused
|
313
|
-
.tertiary-divider, .secondary-widget-divider, .tertiary-column { display: none; }
|
314
|
-
}
|
315
|
-
|
316
|
-
@include wide-layout {
|
317
|
-
|
318
|
-
// This layout is row based
|
319
|
-
flex-direction: row;
|
320
|
-
|
321
|
-
// The secondary and tertiary columns uses a fixed witdh
|
322
|
-
.secondary-column { width: $secondary-column-width; }
|
323
|
-
.tertiary-column { width: $tertiary-column-width; }
|
324
|
-
|
325
|
-
// The primary column can grow
|
326
|
-
.primary-column { flex: 1 1 auto; width: 1px; } // A width must be specified
|
327
|
-
|
328
|
-
// Unused
|
329
|
-
.secondary-column .tertiary-column-content, .tertiary-widget-divider, .secondary-widget-divider { display: none }
|
330
|
-
}
|
331
|
-
}
|