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.
Files changed (114) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +18 -359
  3. data/_data/setup.yml +62 -10
  4. data/_data/text-for.yml +3 -0
  5. data/_includes/banner-area.html +57 -0
  6. data/_includes/banner-icon.html +23 -0
  7. data/_includes/banner-title-area.html +30 -0
  8. data/_includes/cblock-row.html +15 -3
  9. data/_includes/cblock.html +16 -1
  10. data/_includes/disqus-comments.html +39 -0
  11. data/_includes/footer.html +11 -0
  12. data/_includes/google-analytics.html +18 -8
  13. data/_includes/head.html +71 -30
  14. data/_includes/menubar-icon.html +23 -0
  15. data/_includes/menubar.html +428 -0
  16. data/_includes/secondary-column.html +30 -9
  17. data/_includes/tertiary-column.html +7 -3
  18. data/_includes/vertical-menu.html +284 -0
  19. data/_includes/widgets/browser-info.html +5 -2
  20. data/_includes/widgets/categories.html +21 -0
  21. data/_includes/widgets/cookie-consent.html +10 -10
  22. data/_includes/widgets/older-posts.html +63 -42
  23. data/_includes/widgets/recent-posts.html +14 -8
  24. data/_includes/widgets/social-media-res/icon-github.html +7 -1
  25. data/_includes/widgets/social-media-res/icon-github.svg +1 -1
  26. data/_includes/widgets/social-media-res/icon-twitter.html +7 -1
  27. data/_includes/widgets/social-media-res/icon-twitter.svg +1 -1
  28. data/_includes/widgets/social-media.html +19 -10
  29. data/_includes/widgets/subscribe.html +9 -4
  30. data/_includes/widgets/youtube-player.html +8 -8
  31. data/_layouts/banner-layout.html +1 -0
  32. data/_layouts/category-page.html +33 -33
  33. data/_layouts/content-blocks.html +1 -3
  34. data/_layouts/default.html +129 -55
  35. data/_layouts/home.html +4 -4
  36. data/_layouts/page.html +13 -12
  37. data/_layouts/post.html +13 -12
  38. data/_sass/classic-jekyll-theme.scss +1143 -155
  39. data/_sass/classic/_banner-area.scss +548 -0
  40. data/_sass/classic/_body.scss +15 -0
  41. data/_sass/classic/_columns.scss +122 -0
  42. data/_sass/classic/{_support.scss → _custom.scss} +12 -4
  43. data/_sass/classic/_footer.scss +31 -0
  44. data/_sass/classic/_menubar.scss +509 -0
  45. data/_sass/classic/_normalize-override.scss +9 -9
  46. data/_sass/classic/_normalize.scss +13 -27
  47. data/_sass/classic/_page.scss +1 -1
  48. data/_sass/classic/_post.scss +1 -1
  49. data/_sass/classic/_theme-internal.scss +37 -0
  50. data/_sass/classic/_theme-library.scss +85 -0
  51. data/_sass/classic/_vertical-menu.scss +237 -0
  52. data/_sass/classic/_widgets.scss +88 -0
  53. data/assets/img/banner-area-layout.png +0 -0
  54. data/assets/img/cog-wheels-120x68.png +0 -0
  55. data/assets/img/cog-wheels-240x135.png +0 -0
  56. data/assets/img/cog-wheels-30x17.png +0 -0
  57. data/assets/img/cog-wheels-60x43.png +0 -0
  58. data/assets/img/column-panel-layout.png +0 -0
  59. data/assets/img/test-pattern-110x83.png +0 -0
  60. data/assets/img/test-pattern-1280x800.png +0 -0
  61. data/assets/img/test-pattern-220x165.png +0 -0
  62. data/assets/img/test-pattern-55x42.png +0 -0
  63. data/assets/img/test-pattern-640x400.png +0 -0
  64. data/assets/img/top-level-layout.png +0 -0
  65. data/icons/android-chrome-192x192.png +0 -0
  66. data/icons/apple-touch-icon.png +0 -0
  67. data/icons/browserconfig.xml +9 -0
  68. data/icons/favicon-16x16.png +0 -0
  69. data/icons/favicon-32x32.png +0 -0
  70. data/icons/favicon.ico +0 -0
  71. data/icons/manifest.json +13 -0
  72. data/icons/mstile-150x150.png +0 -0
  73. data/icons/safari-pinned-tab.svg +14 -0
  74. data/pages/about/about.md +4 -1
  75. data/pages/classic/01-features.md +36 -0
  76. data/pages/classic/02-setup.md +113 -0
  77. data/pages/classic/03-pages-and-posts.md +21 -0
  78. data/pages/classic/04-posts.md +18 -0
  79. data/pages/classic/05-menus.md +122 -0
  80. data/pages/classic/06-categories.md +38 -0
  81. data/pages/classic/07-terminology.md +35 -0
  82. data/pages/classic/08-versioning.md +23 -0
  83. data/pages/contact/contact.md +7 -2
  84. data/pages/jekyll/01-jekyll.md +42 -0
  85. data/pages/jekyll/02-speed.md +88 -0
  86. data/pages/jekyll/03-ruby.md +19 -0
  87. data/pages/layouts/banner-main.md +36 -0
  88. data/pages/{other → layouts}/blocks.md +4 -3
  89. data/pages/layouts/landing-page.md +21 -0
  90. data/pages/layouts/no-sec-no-ter.md +28 -0
  91. data/pages/layouts/sec-left-no-ter.md +28 -0
  92. data/pages/layouts/sec-left-ter-right.md +28 -0
  93. data/pages/layouts/sec-right-no-ter.md +28 -0
  94. data/pages/layouts/sec-right-ter-left.md +28 -0
  95. data/pages/{more/more.md → menus/landing-page.md} +2 -5
  96. data/pages/menus/submenu-subsections.md +72 -0
  97. data/pages/menus/submenu1.md +22 -0
  98. data/pages/menus/submenu2.md +21 -0
  99. data/pages/menus/submenu3.md +30 -0
  100. metadata +72 -24
  101. data/_includes/disqus_comments.html +0 -25
  102. data/_includes/navbanner.html +0 -232
  103. data/_layouts/navbanner-layout.html +0 -1
  104. data/_sass/classic/_formatting.scss +0 -336
  105. data/_sass/classic/_layout.scss +0 -331
  106. data/_sass/classic/_widget-support.scss +0 -42
  107. data/navbanner.md +0 -5
  108. data/pages/classic/categories.md +0 -13
  109. data/pages/classic/classic.md +0 -12
  110. data/pages/classic/known-problems.md +0 -14
  111. data/pages/classic/pages.md +0 -23
  112. data/pages/classic/posts.md +0 -19
  113. data/pages/other/example-page.md +0 -12
  114. 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
- }
@@ -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
- }