swiftfire-jekyll-theme 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +23 -0
  3. data/README.md +107 -0
  4. data/_data/cblocks.yml +31 -0
  5. data/_data/setup.yml +135 -0
  6. data/_data/text-for.yml +53 -0
  7. data/_includes/account-menus.html +82 -0
  8. data/_includes/banner-area.html +57 -0
  9. data/_includes/banner-icon.html +23 -0
  10. data/_includes/banner-title-area.html +30 -0
  11. data/_includes/cblock-row.html +18 -0
  12. data/_includes/cblock.html +20 -0
  13. data/_includes/disqus-comments.html +39 -0
  14. data/_includes/footer.html +16 -0
  15. data/_includes/google-analytics.html +21 -0
  16. data/_includes/head.html +74 -0
  17. data/_includes/menubar-icon.html +23 -0
  18. data/_includes/menubar.html +487 -0
  19. data/_includes/secondary-column.html +37 -0
  20. data/_includes/tertiary-column.html +8 -0
  21. data/_includes/vertical-menu.html +378 -0
  22. data/_includes/widgets/browser-info.html +16 -0
  23. data/_includes/widgets/categories.html +32 -0
  24. data/_includes/widgets/cookie-consent.html +21 -0
  25. data/_includes/widgets/older-posts.html +71 -0
  26. data/_includes/widgets/recent-posts.html +24 -0
  27. data/_includes/widgets/social-media-res/icon-github.html +7 -0
  28. data/_includes/widgets/social-media-res/icon-github.svg +1 -0
  29. data/_includes/widgets/social-media-res/icon-twitter.html +7 -0
  30. data/_includes/widgets/social-media-res/icon-twitter.svg +1 -0
  31. data/_includes/widgets/social-media.html +29 -0
  32. data/_includes/widgets/subscribe.html +18 -0
  33. data/_includes/widgets/youtube-player.html +38 -0
  34. data/_layouts/banner-layout.html +1 -0
  35. data/_layouts/category-page.html +51 -0
  36. data/_layouts/content-blocks.html +6 -0
  37. data/_layouts/default.html +152 -0
  38. data/_layouts/home.html +22 -0
  39. data/_layouts/page.html +30 -0
  40. data/_layouts/post.html +20 -0
  41. data/_sass/classic-jekyll-theme.scss +1178 -0
  42. data/_sass/classic/_banner-area.scss +552 -0
  43. data/_sass/classic/_body.scss +15 -0
  44. data/_sass/classic/_columns.scss +122 -0
  45. data/_sass/classic/_custom.scss +138 -0
  46. data/_sass/classic/_footer.scss +31 -0
  47. data/_sass/classic/_menubar.scss +530 -0
  48. data/_sass/classic/_normalize-override.scss +22 -0
  49. data/_sass/classic/_normalize.scss +447 -0
  50. data/_sass/classic/_page.scss +12 -0
  51. data/_sass/classic/_post.scss +10 -0
  52. data/_sass/classic/_swiftfire.scss +54 -0
  53. data/_sass/classic/_syntax-highlighting.scss +71 -0
  54. data/_sass/classic/_theme-internal.scss +37 -0
  55. data/_sass/classic/_theme-library.scss +85 -0
  56. data/_sass/classic/_vertical-menu.scss +252 -0
  57. data/_sass/classic/_widgets.scss +88 -0
  58. data/assets/img/banner-area-layout.png +0 -0
  59. data/assets/img/cog-wheels-120x68.png +0 -0
  60. data/assets/img/cog-wheels-240x135.png +0 -0
  61. data/assets/img/cog-wheels-30x17.png +0 -0
  62. data/assets/img/cog-wheels-60x43.png +0 -0
  63. data/assets/img/column-panel-layout.png +0 -0
  64. data/assets/img/test-pattern-110x83.png +0 -0
  65. data/assets/img/test-pattern-1280x800.png +0 -0
  66. data/assets/img/test-pattern-220x165.png +0 -0
  67. data/assets/img/test-pattern-55x42.png +0 -0
  68. data/assets/img/test-pattern-640x400.png +0 -0
  69. data/assets/img/top-level-layout.png +0 -0
  70. data/assets/js/cookieconsent.min.js +1 -0
  71. data/assets/main.scss +9 -0
  72. data/assets/templates/comment-section.sf.html +137 -0
  73. data/assets/templates/email-verification-text.sf.html +6 -0
  74. data/assets/templates/request-new-password-text.sf.txt +7 -0
  75. data/icons/android-chrome-192x192.png +0 -0
  76. data/icons/apple-touch-icon.png +0 -0
  77. data/icons/browserconfig.xml +9 -0
  78. data/icons/favicon-16x16.png +0 -0
  79. data/icons/favicon-32x32.png +0 -0
  80. data/icons/favicon.ico +0 -0
  81. data/icons/manifest.json +13 -0
  82. data/icons/mstile-150x150.png +0 -0
  83. data/icons/safari-pinned-tab.svg +14 -0
  84. data/pages/about/about.md +15 -0
  85. data/pages/account/comment-edit.sf.md +60 -0
  86. data/pages/account/comment-review.sf.md +80 -0
  87. data/pages/account/email-verification-failed.sf.md +11 -0
  88. data/pages/account/email-verification-success.sf.md +7 -0
  89. data/pages/account/error.sf.md +13 -0
  90. data/pages/account/forgot-password-continue.sf.md +9 -0
  91. data/pages/account/forgot-password.sf.md +25 -0
  92. data/pages/account/login.sf.md +19 -0
  93. data/pages/account/not-allowed.sf.md +7 -0
  94. data/pages/account/register-continue.sf.md +11 -0
  95. data/pages/account/register.sf.md +30 -0
  96. data/pages/account/request-new-password-failed.sf.md +13 -0
  97. data/pages/account/set-new-password-success.sf.md +7 -0
  98. data/pages/account/set-new-password.sf.md +25 -0
  99. data/pages/categories/classic.md +10 -0
  100. data/pages/categories/example.md +10 -0
  101. data/pages/categories/jekyll.md +10 -0
  102. data/pages/categories/update.md +10 -0
  103. data/pages/classic/01-features.md +36 -0
  104. data/pages/classic/02-setup.md +113 -0
  105. data/pages/classic/03-pages-and-posts.md +25 -0
  106. data/pages/classic/04-posts.md +18 -0
  107. data/pages/classic/05-menus.md +118 -0
  108. data/pages/classic/06-categories.md +38 -0
  109. data/pages/classic/07-terminology.md +35 -0
  110. data/pages/classic/08-versioning.md +23 -0
  111. data/pages/classic/09-problems.md +25 -0
  112. data/pages/contact/contact.md +18 -0
  113. data/pages/cookie-consent/cookie-consent.md +7 -0
  114. data/pages/download/download.md +10 -0
  115. data/pages/jekyll/01-jekyll.md +42 -0
  116. data/pages/jekyll/02-speed.md +88 -0
  117. data/pages/jekyll/03-ruby.md +19 -0
  118. data/pages/jekyll/04-cron-job.md +163 -0
  119. data/pages/layouts/banner-main.md +36 -0
  120. data/pages/layouts/blocks.md +11 -0
  121. data/pages/layouts/landing-page.md +21 -0
  122. data/pages/layouts/no-sec-no-ter.md +28 -0
  123. data/pages/layouts/sec-left-no-ter.md +28 -0
  124. data/pages/layouts/sec-left-ter-right.md +28 -0
  125. data/pages/layouts/sec-right-no-ter.md +28 -0
  126. data/pages/layouts/sec-right-ter-left.md +28 -0
  127. data/pages/menus/external-url.md +28 -0
  128. data/pages/menus/landing-page.md +8 -0
  129. data/pages/menus/submenu-subsections.md +72 -0
  130. data/pages/menus/submenu1.md +22 -0
  131. data/pages/menus/submenu2.md +21 -0
  132. data/pages/menus/submenu3.md +47 -0
  133. data/pages/menus/submenu4.md +36 -0
  134. data/pages/menus/subsubmenu3-1.md +21 -0
  135. data/pages/menus/subsubmenu3-2.md +21 -0
  136. data/pages/menus/subsubmenu4-1.md +31 -0
  137. data/pages/menus/subsubmenu4-2.md +31 -0
  138. metadata +269 -0
@@ -0,0 +1,15 @@
1
+ // Settings for the body panel in the layout "defaults.html"
2
+ //
3
+ .body-panel {
4
+
5
+ // Layout top-to-bottom for the top level
6
+ // This arranges the banner-area, column-panel, footer-separator and footer-panel (from "default.html")
7
+ display: flex;
8
+ flex-direction: column;
9
+ justify-content: flex-start;
10
+
11
+ // Setting a background on the entire site
12
+ @include widest-layout { background: $background-widest; }
13
+ @include medium-layout { background: $background-medium; }
14
+ @include narrow-layout { background: $background-narrow; }
15
+ }
@@ -0,0 +1,122 @@
1
+ // *********************************************************************************************************************
2
+ // Column panel settings
3
+ // ---------------------------------------------------------------------------------------------------------------------
4
+ //
5
+
6
+ .secondary-column {
7
+
8
+ // Use the theme insets to keep the content of the column away from the edges.
9
+ @extend .theme-insets;
10
+
11
+ // Set the background
12
+ @include narrow-layout { background: $secondary-column-background-narrow; }
13
+ @include medium-layout { background: $secondary-column-background-medium; }
14
+ @include widest-layout { background: $secondary-column-background-widest; }
15
+ }
16
+
17
+ main {
18
+
19
+ // Use the theme insets to keep the content of the column away from the edges.
20
+ @extend .theme-insets;
21
+
22
+ // Set the background
23
+ @include narrow-layout { background: $primary-column-background-narrow; }
24
+ @include medium-layout { background: $primary-column-background-medium; }
25
+ @include widest-layout { background: $primary-column-background-widest; }
26
+ }
27
+
28
+ .tertiary-column {
29
+
30
+ // Use the theme insets to keep the content of the column away from the edges.
31
+ @extend .theme-insets;
32
+
33
+ // Set the background
34
+ @include narrow-layout { background: $tertiary-column-background-narrow; }
35
+ @include medium-layout { background: $tertiary-column-background-medium; }
36
+ @include widest-layout { background: $tertiary-column-background-widest; }
37
+ }
38
+
39
+ // The layout for the column panel is the main driver for the RWD aspects of this theme.
40
+ //
41
+ .column-panel {
42
+
43
+ // Layout
44
+ display: flex;
45
+
46
+ @include narrow-layout {
47
+
48
+ // Background for the entire panel
49
+ background: $column-panel-background-narrow;
50
+
51
+ // This layout is column based, i.e. the content is displayed over one another.
52
+ flex-direction: column;
53
+
54
+ // The primary column must be displayed on top, use the 'order' property to enforce this.
55
+ .primary-column { order: 1; }
56
+
57
+ // The secondary column is put below the primary the second place
58
+ .secondary-column { order: 2; }
59
+
60
+ // Unused
61
+ .tertiary-column,
62
+ .secondary-separator,
63
+ .tertiary-separator,
64
+ .secondary-column .vmenu-container { display: none; }
65
+ }
66
+
67
+ @include medium-layout {
68
+
69
+ // Background for the entire panel
70
+ background: $column-panel-background-medium;
71
+
72
+ // This layout is row based
73
+ flex-direction: row;
74
+
75
+ // The secondary column uses a fixed witdh and hosts both the secondary and tertiary column content
76
+ .secondary-column { width: $secondary-column-width; }
77
+
78
+ // The primary column can grow
79
+ .primary-column { flex: 1 1 auto; width: 1px; } // A width must be specified
80
+
81
+ // Unused
82
+ .tertiary-separator,
83
+ .secondary-widget-separator,
84
+ .tertiary-column,
85
+ .primary-column .vmenu-container { display: none; }
86
+ }
87
+
88
+ @include widest-layout {
89
+
90
+ // Background for the entire panel
91
+ background: $column-panel-background-widest;
92
+
93
+ // This layout is row based
94
+ flex-direction: row;
95
+
96
+ // The secondary and tertiary columns uses a fixed witdh
97
+ .secondary-column { width: $secondary-column-width; }
98
+ .tertiary-column { width: $tertiary-column-width; }
99
+
100
+ // The primary column can grow
101
+ .primary-column { flex: 1 1 auto; width: 1px; } // A width must be specified
102
+
103
+ // Unused
104
+ .secondary-column .tertiary-column-content,
105
+ .tertiary-widget-separator,
106
+ .secondary-widget-separator,
107
+ .primary-column .vmenu-container { display: none }
108
+ }
109
+ }
110
+
111
+
112
+ // The column separator
113
+ .secondary-separator, .tertiary-separator {
114
+ margin-top: $column-separator-top-spacing;
115
+ margin-left: 0;
116
+ margin-bottom: $column-separator-bottom-spacing;
117
+ margin-right: 0;
118
+ @include medium-layout { border-right: 1px solid $column-separator-color-medium; }
119
+ @include widest-layout { border-right: 1px solid $column-separator-color-widest; }
120
+ @if $column-separator-display { display: block; } @else { display: none; }
121
+ }
122
+
@@ -0,0 +1,138 @@
1
+ // This file contains class definitions for support of page and post layout.
2
+ //
3
+ // ===============================================================
4
+ // Text styles, use as follows in *.md files:
5
+ //
6
+ // {:.text-boxed-float-left}
7
+ // This is the text that will be in the box on the left hand side.
8
+ //
9
+ // ===============================================================
10
+
11
+ // text centered in a column
12
+ .text-centered {
13
+ text-align: center;
14
+ }
15
+
16
+ // text centered in a column and bold
17
+ .text-centered-bold {
18
+ text-align: center;
19
+ font-weight: bold;
20
+ }
21
+
22
+ // A floating text box on the right hand side.
23
+ .text-boxed-float-right {
24
+ float: right;
25
+ font-size: $small-1-font-size;
26
+ font-style: italic;
27
+ border: 1px solid lightgray;
28
+ margin: $vspacing-unit/2 0 $vspacing-unit/2 $hspacing-unit;
29
+ padding: 0 $hspacing-unit/2;
30
+ width: 25%
31
+ }
32
+
33
+ // A floating text box on the left hand side
34
+ .text-boxed-float-left {
35
+ float: left;
36
+ font-size: $small-1-font-size;
37
+ font-style: italic;
38
+ border: 1px solid lightgray;
39
+ margin: $vspacing-unit/2 $hspacing-unit $vspacing-unit/2 0;
40
+ padding: 0 $hspacing-unit/2;
41
+ width: 25%
42
+ }
43
+
44
+
45
+ // ===============================================================
46
+ // Image styles, use as follows in *.md files:
47
+ //
48
+ // ![image-name](image-source){:.image-centered}
49
+ //
50
+ // ===============================================================
51
+
52
+ // An image centered in a column with nothing on either side
53
+ .image-centered {
54
+ display: block;
55
+ max-width: 80%;
56
+ margin-left: auto;
57
+ margin-right: auto;
58
+ }
59
+
60
+ // An image floating centered with text on both sides
61
+ .image-float-center {
62
+ display: block;
63
+ max-width: 40%;
64
+ float: center;
65
+ margin: $vspacing-unit $hspacing-unit
66
+ }
67
+
68
+ // An image float right (with text flowing on the left side)
69
+ .image-float-right {
70
+ display: block;
71
+ max-width: 50%;
72
+ float: right;
73
+ margin: $vspacing-unit 0 $vspacing-unit $hspacing-unit
74
+ }
75
+
76
+ // An image float left (with text flowing on the right side)
77
+ .image-float-left {
78
+ display: block;
79
+ max-width: 50%;
80
+ float: left;
81
+ margin: $vspacing-unit $hspacing-unit $vspacing-unit 0
82
+ }
83
+
84
+
85
+ // ===============================================================
86
+ // Content blocks support.
87
+ // ===============================================================
88
+
89
+ .cblock-row-title {
90
+ text-align: center;
91
+ }
92
+
93
+ .cblock-row {
94
+ display: flex;
95
+ flex-direction: row;
96
+ flex-wrap: wrap;
97
+ justify-content: center;
98
+ }
99
+
100
+ .cblock {
101
+ display: block;
102
+ width: 200px;
103
+ margin: $vspacing-unit $hspacing-unit;
104
+ }
105
+
106
+ .cblock-name {
107
+ text-align: center;
108
+ }
109
+
110
+ .cblock-image {
111
+ display: block;
112
+ width: 150px;
113
+ height: 150px;
114
+ margin-left: auto;
115
+ margin-right: auto;
116
+ }
117
+
118
+ .cblock-description {
119
+ text-align: center;
120
+ font-size: $small-1-font-size;
121
+ }
122
+
123
+ .cblock-store {
124
+ text-align: center;
125
+ font-size: $small-1-font-size;
126
+ }
127
+
128
+ // ===============================================================
129
+ // General
130
+ // ===============================================================
131
+
132
+ .highlighter-rouge {
133
+ background: #eee;
134
+ }
135
+
136
+ .highlight {
137
+ overflow-x: auto;
138
+ }
@@ -0,0 +1,31 @@
1
+ // Footer related SCCS
2
+
3
+ // This is the element between the column panel and the footer.
4
+ .footer-separator {
5
+ @if $footer-separator-display { display: block; } @else { display: none; }
6
+ width: 100%;
7
+ margin: 0;
8
+ @include narrow-layout { border-bottom: 1px solid $footer-separator-color-narrow; }
9
+ @include medium-layout { border-bottom: 1px solid $footer-separator-color-medium; }
10
+ @include widest-layout { border-bottom: 1px solid $footer-separator-color-widest; }
11
+ }
12
+
13
+ .footer-panel {
14
+ @extend .theme-insets;
15
+ text-align: center;
16
+ @include narrow-layout {
17
+ font: $footer-font-narrow;
18
+ color: $footer-color-narrow;
19
+ background: $footer-background-narrow;
20
+ }
21
+ @include medium-layout {
22
+ font: $footer-font-medium;
23
+ color: $footer-color-medium;
24
+ background: $footer-background-medium;
25
+ }
26
+ @include widest-layout {
27
+ font: $footer-font-widest;
28
+ color: $footer-color-widest;
29
+ background: $footer-background-widest;
30
+ }
31
+ }
@@ -0,0 +1,530 @@
1
+ .menubar {
2
+
3
+ // Positioning & size
4
+ @include narrow-layout { height: auto; }
5
+ @include medium-layout { height: $menubar-height-medium; }
6
+ @include widest-layout { height: $menubar-height-widest; }
7
+
8
+ // Never display input elements
9
+ input { display: none; }
10
+
11
+ @include narrow-layout {
12
+
13
+ // Only displayed when the menu symbol is checked
14
+ display: none;
15
+
16
+ // Display the menu items vertically.
17
+ flex-direction: column;
18
+
19
+ // Appearances
20
+ background: $menubar-background-narrow;
21
+
22
+ // Make sure the separator is empty
23
+ .item-separator:after { content: none; }
24
+
25
+ // Show it as a line across the whle screen
26
+ .item-separator {
27
+ width: 100%;
28
+ height: $menubar-item-separator-line-width-narrow;
29
+ background-color: $menubar-item-separator-line-color-narrow;
30
+ }
31
+
32
+ .item,
33
+ .item-narrow-only {
34
+
35
+ // Layout
36
+ display: flex;
37
+ flex-direction: column;
38
+
39
+ // Format the link (area)
40
+ a {
41
+ // Make the link area as big as possible
42
+ width: 100%;
43
+ height: 100%;
44
+
45
+ // Remove link underlining
46
+ text-decoration: none;
47
+ }
48
+
49
+ // Implement selection changes
50
+ input:checked ~ {
51
+
52
+ // Show submenu when selected
53
+ .dropdown, .dropdown-narrow { display: flex; }
54
+
55
+ // When the submenu is open, show the appropriate symbol
56
+ .title .symbol .code:after { content: $menubar-item-title-symbol-code-open-narrow; }
57
+ }
58
+
59
+ .title {
60
+
61
+ // Layout
62
+ display: flex; // Default = row layout
63
+
64
+ // Set the height
65
+ height: $menubar-item-height-narrow;
66
+
67
+ // Use the item color for all elements
68
+ background: $menubar-item-background-narrow;
69
+ &:hover { background: $menubar-item-background-hover-narrow; }
70
+
71
+ // Create the hover effect
72
+ &:hover { background: $menubar-item-background-hover-narrow; }
73
+
74
+ .symbol {
75
+
76
+ // Layout: Center the disclosure symbol
77
+ display: flex;
78
+ justify-content: center;
79
+ align-items: center;
80
+
81
+ // The width of the tap area with the disclosure symbol in it
82
+ width: $menubar-item-disclosure-symbol-width-narrow;
83
+
84
+ // Load the disclosure symbol for the closed state
85
+ .code:after { content: $menubar-item-title-symbol-code-closed-narrow; }
86
+
87
+ // Show a clickable symbol over the disclosure symbol
88
+ .code { cursor: pointer; }
89
+ }
90
+
91
+ .text {
92
+
93
+ // Layout: Center vertically and justify-left
94
+ display: flex;
95
+ justify-content: start;
96
+ align-items: center;
97
+
98
+ // Takes up remainder of .title width
99
+ .text { width: 100%; }
100
+
101
+ // Use the item color for all elements
102
+ p { color: $menubar-item-color-narrow; }
103
+
104
+ // Hover effect
105
+ &:hover { p { color: $menubar-item-color-hover-narrow; } }
106
+ }
107
+ }
108
+
109
+ .dropdown,
110
+ .dropdown-narrow {
111
+
112
+ // Disable submenu by default
113
+ display: none;
114
+
115
+ // Subitems are stacked vertically
116
+ flex-direction: column;
117
+
118
+ .subitem-separator {
119
+ display: block;
120
+ width: 100%;
121
+ height: $menubar-subitem-separator-line-width-narrow;
122
+ background-color: $menubar-subitem-separator-line-color-narrow;
123
+ }
124
+
125
+ .subitem {
126
+
127
+ // If the checkbox is checked
128
+ input:checked ~ {
129
+
130
+ // Show submenu
131
+ .sub-dropdown, .sub-dropdown-narrow { display: flex; }
132
+
133
+ // When the submenu is open, show the appropriate symbol
134
+ .title .symbol .code:after { content: $menubar-subitem-title-symbol-code-open-narrow; }
135
+ }
136
+
137
+ .title {
138
+
139
+ // Layout (row oriented)
140
+ display: flex;
141
+
142
+ // Appearance
143
+ background: $menubar-subitem-background-narrow;
144
+ &:hover { background: $menubar-subitem-background-hover-narrow; }
145
+
146
+ // Height
147
+ height: $menubar-subitem-height-narrow;
148
+
149
+ // The disclosure symbol
150
+ .symbol { width: $menubar-item-disclosure-symbol-width-narrow; }
151
+
152
+ .text a {
153
+ display: flex;
154
+ justify-content: start;
155
+ align-items: center;
156
+ }
157
+
158
+ p { padding-left: $menubar-subitem-indent-narrow; }
159
+ }
160
+
161
+ .sub-dropdown,
162
+ .sub-dropdown-narrow {
163
+
164
+ // Disable by default
165
+ display: none;
166
+
167
+ // Subitems are stacked vertically
168
+ flex-direction: column;
169
+
170
+ .subsubitem-separator {
171
+ display: block;
172
+ width: 100%;
173
+ height: $menubar-subsubitem-separator-line-width-narrow;
174
+ background-color: $menubar-subsubitem-separator-line-color-narrow;
175
+ }
176
+
177
+ .subsubitem .title {
178
+
179
+ // Layout (row oriented)
180
+ display: flex;
181
+
182
+ // Appearance
183
+ background: $menubar-subsubitem-background-narrow;
184
+ &:hover { background: $menubar-subsubitem-background-hover-narrow; }
185
+
186
+ // Height
187
+ height: $menubar-subsubitem-height-narrow;
188
+
189
+ .text a {
190
+ display: flex;
191
+ justify-content: start;
192
+ align-items: center;
193
+ }
194
+
195
+ p { padding-left: $menubar-subsubitem-indent-narrow; }
196
+ }
197
+ }
198
+ }
199
+ }
200
+ }
201
+
202
+ .isActiveSelection {
203
+ background: $menubar-item-background-selected-narrow;
204
+ .title .text p { color: $menubar-item-color-selected-narrow }
205
+ }
206
+ }
207
+
208
+ @include medium-and-widest-layout {
209
+
210
+ // Check if it must be displayed
211
+ @include medium-layout { @if $menubar-enabled-medium { display: flex; } @else { display: none; } }
212
+ @include widest-layout { @if $menubar-enabled-widest { display: flex; } @else { display: none; } }
213
+
214
+ // Appearances
215
+ @include medium-layout {
216
+ background: $menubar-background-medium;
217
+ border: $menubar-border-medium;
218
+ box-shadow: $menubar-box-shadow-medium;
219
+ }
220
+ @include widest-layout {
221
+ background: $menubar-background-widest;
222
+ border: $menubar-border-widest;
223
+ box-shadow: $menubar-box-shadow-widest;
224
+ }
225
+
226
+ // Positioning of items and item-separators.
227
+ flex-direction: row;
228
+ @include medium-layout {
229
+ justify-content: $menubar-justify-content-medium;
230
+ align-items: $menubar-align-items-medium;
231
+ }
232
+ @include widest-layout {
233
+ justify-content: $menubar-justify-content-widest;
234
+ align-items: $menubar-align-items-widest;
235
+ }
236
+
237
+ .menubar-icon {
238
+
239
+ @include medium-layout {
240
+ width: $menubar-icon-width-medium;
241
+ height: $menubar-icon-height-medium;
242
+ padding: $menubar-icon-padding-medium;
243
+ }
244
+ @include widest-layout {
245
+ width: $menubar-icon-width-widest;
246
+ height: $menubar-icon-height-widest;
247
+ padding: $menubar-icon-padding-widest;
248
+ }
249
+ }
250
+
251
+ // Content (icon image)
252
+ // Note: Firefox needs the 'after' attribute to display the icon. Other browsers seem fine without it.
253
+ // Issue no 19.
254
+ .menubar-icon:after {
255
+ @include medium-layout { content: $menubar-icon-url-medium; }
256
+ @include widest-layout { content: $menubar-icon-url-widest; }
257
+ }
258
+
259
+ .item-separator {
260
+
261
+ @include medium-layout {
262
+
263
+ // Appearance
264
+ color: $menubar-item-separator-symbol-color-medium;
265
+ background: $menubar-item-separator-symbol-background-medium;
266
+
267
+ // Set padding
268
+ padding: $menubar-item-separator-symbol-padding-medium;
269
+
270
+ // Set the separator symbol
271
+ p:after { content: $menubar-item-separator-symbol-medium; }
272
+
273
+ // The font for the separator
274
+ p { font: $menubar-item-separator-symbol-font-medium; }
275
+ }
276
+
277
+ @include widest-layout {
278
+
279
+ // Appearance
280
+ color: $menubar-item-separator-symbol-color-widest;
281
+ background: $menubar-item-separator-symbol-background-widest;
282
+
283
+ // Set padding
284
+ padding: $menubar-item-separator-symbol-padding-widest;
285
+
286
+ // Set the separator symbol
287
+ p:after { content: $menubar-item-separator-symbol-widest; }
288
+
289
+ // The font for the separator
290
+ p { font: $menubar-item-separator-symbol-font-widest; }
291
+ }
292
+ }
293
+
294
+ // Make all p's as small as possible
295
+ p { margin: 0; padding: 0; }
296
+
297
+
298
+ .item-narrow-only { display: none; }
299
+
300
+ .item {
301
+
302
+ // Vertical layout
303
+ display: flex;
304
+ flex-direction: column;
305
+
306
+ // Make this the baseline reverence for the dropdown box
307
+ position: relative;
308
+
309
+ // Appearances
310
+ p {
311
+ // Prevent wrapping of the (sub) menu items
312
+ white-space: nowrap;
313
+
314
+ // Font color
315
+ @include medium-layout { color: $menubar-item-color-medium; }
316
+ @include widest-layout { color: $menubar-item-color-widest; }
317
+
318
+ // Font
319
+ @include medium-layout { font: $menubar-item-font-medium; }
320
+ @include widest-layout { font: $menubar-item-font-widest; }
321
+ }
322
+
323
+ // Set background
324
+ @include medium-layout { background: $menubar-item-background-medium; }
325
+ @include widest-layout { background: $menubar-item-background-widest; }
326
+
327
+ // Hover effect
328
+ &:hover {
329
+
330
+ // Display the submenu if the user hovers the mouse over it
331
+ .dropdown { display: block; }
332
+
333
+ p {
334
+ // Change font color
335
+ @include medium-layout { color: $menubar-item-color-hover-medium; }
336
+ @include widest-layout { color: $menubar-item-color-hover-widest; }
337
+ }
338
+
339
+ // Change item background
340
+ @include medium-layout { background: $menubar-item-background-hover-medium; }
341
+ @include widest-layout { background: $menubar-item-background-hover-widest; }
342
+ }
343
+
344
+ a {
345
+ // Make the entire hightlight block clickable
346
+ display: block;
347
+
348
+ // Remove the link underlining
349
+ text-decoration: none;
350
+ }
351
+
352
+ // Sizing of the items
353
+ a, .paddingAsLink {
354
+ @include medium-layout { padding: $menubar-item-padding-medium; }
355
+ @include widest-layout { padding: $menubar-item-padding-widest; }
356
+ }
357
+
358
+ .title {
359
+ @include medium-layout { height: $menubar-item-height-medium; }
360
+ @include widest-layout { height: $menubar-item-height-widest; }
361
+ }
362
+
363
+ .dropdown,
364
+ .dropdown-narrow {
365
+
366
+ // Visibility depends on hovering over the item
367
+ display: none;
368
+
369
+ // Don't show the separators
370
+ .subitem-separator { display: none; }
371
+
372
+ // Position the dropdown box below the item.
373
+ position: absolute;
374
+ top: 100%;
375
+
376
+ // Make it at least as wide as the parent
377
+ min-width: 100%;
378
+
379
+ // Appearances
380
+ @include medium-layout { margin: $menubar-dropdown-margin-medium; }
381
+ @include widest-layout { margin: $menubar-dropdown-margin-widest; }
382
+
383
+ @include medium-layout { padding: $menubar-dropdown-padding-medium; }
384
+ @include widest-layout { padding: $menubar-dropdown-padding-widest; }
385
+
386
+ @include medium-layout { background: $menubar-dropdown-background-medium; }
387
+ @include widest-layout { background: $menubar-dropdown-background-widest; }
388
+
389
+ @include medium-layout { border: $menubar-dropdown-border-medium; }
390
+ @include widest-layout { border: $menubar-dropdown-border-widest; }
391
+
392
+ @include medium-layout { box-shadow: $menubar-dropdown-box-shadow-medium; }
393
+ @include widest-layout { box-shadow: $menubar-dropdown-box-shadow-widest; }
394
+
395
+ .subitem {
396
+
397
+ // To anchor the sub-dropdown
398
+ position: relative;
399
+
400
+ // Appearances
401
+ p {
402
+ @include medium-layout { font: $menubar-subitem-font-medium; }
403
+ @include widest-layout { font: $menubar-subitem-font-widest; }
404
+
405
+ @include medium-layout { color: $menubar-subitem-color-medium; }
406
+ @include widest-layout { color: $menubar-subitem-color-widest; }
407
+ }
408
+
409
+ @include medium-layout { background: $menubar-subitem-background-medium; }
410
+ @include widest-layout { background: $menubar-subitem-background-widest; }
411
+
412
+ // Hover effect
413
+ &:hover {
414
+
415
+ // Show the sub-dropdown only on hover
416
+ .sub-dropdown { display: flex; }
417
+
418
+ p {
419
+ @include medium-layout { color: $menubar-subitem-color-hover-medium; }
420
+ @include widest-layout { color: $menubar-subitem-color-hover-widest; }
421
+ }
422
+
423
+ @include medium-layout { background: $menubar-subitem-background-hover-medium; }
424
+ @include widest-layout { background: $menubar-subitem-background-hover-widest; }
425
+ }
426
+
427
+ // Sizing of the subitems
428
+ a, .paddingAsLink {
429
+ @include medium-layout { padding: $menubar-subitem-padding-medium; }
430
+ @include widest-layout { padding: $menubar-subitem-padding-widest; }
431
+ }
432
+
433
+ .sub-dropdown {
434
+
435
+ // Do not display (until hover over the subitem)
436
+ display: none;
437
+
438
+ // Position it relative to the subitem
439
+ position: absolute;
440
+
441
+ // Position it adjacent to the subitem
442
+ top: 0;
443
+ left: 100%;
444
+
445
+ // Make it at least as wide as the parent
446
+ min-width: 100%;
447
+
448
+ // Stack the sub-sub item vertically
449
+ flex-direction: column;
450
+
451
+ // Formatting the appearance
452
+ @include medium-layout { background: $menubar-sub-dropdown-background-medium; }
453
+ @include widest-layout { background: $menubar-sub-dropdown-background-widest; }
454
+
455
+ @include medium-layout { border: $menubar-sub-dropdown-border-medium; }
456
+ @include widest-layout { border: $menubar-sub-dropdown-border-widest; }
457
+
458
+ @include medium-layout { box-shadow: $menubar-sub-dropdown-box-shadow-medium; }
459
+ @include widest-layout { box-shadow: $menubar-sub-dropdown-box-shadow-widest; }
460
+
461
+ .subsubitem {
462
+
463
+ // Appearance
464
+ p {
465
+ @include medium-layout { font: $menubar-subsubitem-font-medium; }
466
+ @include widest-layout { font: $menubar-subsubitem-font-widest; }
467
+
468
+ @include medium-layout { color: $menubar-subsubitem-color-medium; }
469
+ @include widest-layout { color: $menubar-subsubitem-color-widest; }
470
+ }
471
+
472
+ @include medium-layout { background: $menubar-subsubitem-background-medium; }
473
+ @include widest-layout { background: $menubar-subsubitem-background-widest; }
474
+
475
+ // Hover effect
476
+ &:hover {
477
+ p {
478
+ @include medium-layout { color: $menubar-subsubitem-color-hover-medium; }
479
+ @include widest-layout { color: $menubar-subsubitem-color-hover-widest; }
480
+ }
481
+
482
+ @include medium-layout { background: $menubar-subsubitem-background-hover-medium; }
483
+ @include widest-layout { background: $menubar-subsubitem-background-hover-widest; }
484
+ }
485
+
486
+ // Sizing of the subitems
487
+ a, .paddingAsLink {
488
+ @include medium-layout { padding: $menubar-subsubitem-padding-medium; }
489
+ @include widest-layout { padding: $menubar-subsubitem-padding-widest; }
490
+ }
491
+ }
492
+
493
+ // Show selection for pages that match a menu entry
494
+ // Note that this setting overrides the setting in .subsubitem and hence be placed after it.
495
+ .isActiveSelection {
496
+ @include medium-layout { background: $menubar-subsubitem-background-selected-medium; }
497
+ @include widest-layout { background: $menubar-subsubitem-background-selected-widest; }
498
+ p {
499
+ @include medium-layout { color: $menubar-subsubitem-color-selected-medium; }
500
+ @include widest-layout { color: $menubar-subsubitem-color-selected-widest; }
501
+ }
502
+ }
503
+ }
504
+ }
505
+
506
+ // Show selection for pages that match a menu entry
507
+ // Note that this setting overrides the setting in .subitem and hence be placed after it.
508
+ .isActiveSelection {
509
+ @include medium-layout { background: $menubar-subitem-background-selected-medium; }
510
+ @include widest-layout { background: $menubar-subitem-background-selected-widest; }
511
+ p {
512
+ @include medium-layout { color: $menubar-subitem-color-selected-medium; }
513
+ @include widest-layout { color: $menubar-subitem-color-selected-widest; }
514
+ }
515
+ }
516
+ }
517
+ }
518
+
519
+ // Show selection for pages that match a menu entry
520
+ // Note that this setting overrides the setting in .item and hence be placed after it.
521
+ .isActiveSelection {
522
+ @include medium-layout { background: $menubar-item-background-selected-medium; }
523
+ @include widest-layout { background: $menubar-item-background-selected-widest; }
524
+ p {
525
+ @include medium-layout { color: $menubar-item-color-selected-medium; }
526
+ @include widest-layout { color: $menubar-item-color-selected-widest; }
527
+ }
528
+ }
529
+ }
530
+ }