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.
- 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-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
|
+
}
|