swiftfire-jekyll-theme 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +23 -0
- data/README.md +107 -0
- data/_data/cblocks.yml +31 -0
- data/_data/setup.yml +135 -0
- data/_data/text-for.yml +53 -0
- data/_includes/account-menus.html +82 -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 +18 -0
- data/_includes/cblock.html +20 -0
- data/_includes/disqus-comments.html +39 -0
- data/_includes/footer.html +16 -0
- data/_includes/google-analytics.html +21 -0
- data/_includes/head.html +74 -0
- data/_includes/menubar-icon.html +23 -0
- data/_includes/menubar.html +487 -0
- data/_includes/secondary-column.html +37 -0
- data/_includes/tertiary-column.html +8 -0
- data/_includes/vertical-menu.html +378 -0
- data/_includes/widgets/browser-info.html +16 -0
- data/_includes/widgets/categories.html +32 -0
- data/_includes/widgets/cookie-consent.html +21 -0
- data/_includes/widgets/older-posts.html +71 -0
- data/_includes/widgets/recent-posts.html +24 -0
- data/_includes/widgets/social-media-res/icon-github.html +7 -0
- data/_includes/widgets/social-media-res/icon-github.svg +1 -0
- data/_includes/widgets/social-media-res/icon-twitter.html +7 -0
- data/_includes/widgets/social-media-res/icon-twitter.svg +1 -0
- data/_includes/widgets/social-media.html +29 -0
- data/_includes/widgets/subscribe.html +18 -0
- data/_includes/widgets/youtube-player.html +38 -0
- data/_layouts/banner-layout.html +1 -0
- data/_layouts/category-page.html +51 -0
- data/_layouts/content-blocks.html +6 -0
- data/_layouts/default.html +152 -0
- data/_layouts/home.html +22 -0
- data/_layouts/page.html +30 -0
- data/_layouts/post.html +20 -0
- data/_sass/classic-jekyll-theme.scss +1178 -0
- data/_sass/classic/_banner-area.scss +552 -0
- data/_sass/classic/_body.scss +15 -0
- data/_sass/classic/_columns.scss +122 -0
- data/_sass/classic/_custom.scss +138 -0
- data/_sass/classic/_footer.scss +31 -0
- data/_sass/classic/_menubar.scss +530 -0
- data/_sass/classic/_normalize-override.scss +22 -0
- data/_sass/classic/_normalize.scss +447 -0
- data/_sass/classic/_page.scss +12 -0
- data/_sass/classic/_post.scss +10 -0
- data/_sass/classic/_swiftfire.scss +54 -0
- data/_sass/classic/_syntax-highlighting.scss +71 -0
- data/_sass/classic/_theme-internal.scss +37 -0
- data/_sass/classic/_theme-library.scss +85 -0
- data/_sass/classic/_vertical-menu.scss +252 -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/assets/js/cookieconsent.min.js +1 -0
- data/assets/main.scss +9 -0
- data/assets/templates/comment-section.sf.html +137 -0
- data/assets/templates/email-verification-text.sf.html +6 -0
- data/assets/templates/request-new-password-text.sf.txt +7 -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 +15 -0
- data/pages/account/comment-edit.sf.md +60 -0
- data/pages/account/comment-review.sf.md +80 -0
- data/pages/account/email-verification-failed.sf.md +11 -0
- data/pages/account/email-verification-success.sf.md +7 -0
- data/pages/account/error.sf.md +13 -0
- data/pages/account/forgot-password-continue.sf.md +9 -0
- data/pages/account/forgot-password.sf.md +25 -0
- data/pages/account/login.sf.md +19 -0
- data/pages/account/not-allowed.sf.md +7 -0
- data/pages/account/register-continue.sf.md +11 -0
- data/pages/account/register.sf.md +30 -0
- data/pages/account/request-new-password-failed.sf.md +13 -0
- data/pages/account/set-new-password-success.sf.md +7 -0
- data/pages/account/set-new-password.sf.md +25 -0
- data/pages/categories/classic.md +10 -0
- data/pages/categories/example.md +10 -0
- data/pages/categories/jekyll.md +10 -0
- data/pages/categories/update.md +10 -0
- data/pages/classic/01-features.md +36 -0
- data/pages/classic/02-setup.md +113 -0
- data/pages/classic/03-pages-and-posts.md +25 -0
- data/pages/classic/04-posts.md +18 -0
- data/pages/classic/05-menus.md +118 -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/classic/09-problems.md +25 -0
- data/pages/contact/contact.md +18 -0
- data/pages/cookie-consent/cookie-consent.md +7 -0
- data/pages/download/download.md +10 -0
- 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/jekyll/04-cron-job.md +163 -0
- data/pages/layouts/banner-main.md +36 -0
- data/pages/layouts/blocks.md +11 -0
- 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/menus/external-url.md +28 -0
- data/pages/menus/landing-page.md +8 -0
- 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 +47 -0
- data/pages/menus/submenu4.md +36 -0
- data/pages/menus/subsubmenu3-1.md +21 -0
- data/pages/menus/subsubmenu3-2.md +21 -0
- data/pages/menus/subsubmenu4-1.md +31 -0
- data/pages/menus/subsubmenu4-2.md +31 -0
- 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
|
+
}
|