tessellate 0.1.14 → 0.1.15
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 +4 -4
- data/_includes/navigation.html +65 -0
- data/_layouts/page.html +1 -0
- data/_layouts/section_four.html +1 -4
- data/_layouts/section_one.html +1 -4
- data/_layouts/section_three.html +1 -4
- data/_layouts/section_two.html +1 -4
- data/_sass/navigation.scss +224 -0
- data/_sass/tessellate.scss +13 -9
- data/assets/js/navigation.js +45 -0
- metadata +4 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 55baa0d6e8b2f757481fd5b1a8023076403cda420f32c5a2997c280e11adc13d
|
|
4
|
+
data.tar.gz: 7fdafaf930830ca9504f19a9793d2a7e6999953bfc59d0dcc81c826c79546fe7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 447e6afaf3ee64e5f7868713782f595a91020c5137f103278298df8f492be240e2fdda55f08562065b53b425c67ba38ad2308ab2acbae70bfdd9e0f7eae3e927
|
|
7
|
+
data.tar.gz: 81ce6ab43be3f274995092ca83b554e7ae05c171b2185628f4143a166db767c10697cff4733b7839820b805e76fdffd90ba61a5815dcc869a1465ceb693514df
|
data/_includes/navigation.html
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
{% comment %}
|
|
1
2
|
<div class="row navbar">
|
|
2
3
|
{% assign navigation_left = site.data.navigation | where: "side", "left" %}
|
|
3
4
|
{% assign navigation_right = site.data.navigation | where: "side", "right" %}
|
|
@@ -40,4 +41,68 @@
|
|
|
40
41
|
</div>
|
|
41
42
|
{% endfor %}
|
|
42
43
|
</div>
|
|
44
|
+
{% endcomment %}
|
|
45
|
+
|
|
46
|
+
<!-- Jekyll Navigation Implementation -->
|
|
47
|
+
<nav class="navbar">
|
|
48
|
+
<!--
|
|
49
|
+
<a href="#" class="logo"><i class="fas fa-cube"></i> JekyllSite</a>
|
|
50
|
+
-->
|
|
51
|
+
|
|
52
|
+
<button class="mobile-toggle" id="mobileToggle">
|
|
53
|
+
<i class="fas fa-bars"></i>
|
|
54
|
+
</button>
|
|
55
|
+
|
|
56
|
+
<div class="nav-items" id="navItems">
|
|
57
|
+
<!-- Left navigation items -->
|
|
58
|
+
<div class="nav-left">
|
|
59
|
+
{% assign navigation_left = site.data.navigation | where: "side", "left" %}
|
|
60
|
+
{% for item in navigation_left %}
|
|
61
|
+
<div class="nav-item">
|
|
62
|
+
<a href="{{ item.url }}" class="btn btn-primary btn-block">
|
|
63
|
+
<i class="{{ item.icon }}"></i> {{ item.title }}
|
|
64
|
+
</a>
|
|
65
|
+
{% if item.dropdown %}
|
|
66
|
+
<div class="dropdown">
|
|
67
|
+
{% for dropdown_item in item.dropdown %}
|
|
68
|
+
<a href="{{ dropdown_item.url }}" class="btn btn-primary btn-block">
|
|
69
|
+
{% if dropdown_item.icon %}
|
|
70
|
+
<i class="{{ dropdown_item.icon }}"></i>
|
|
71
|
+
|
|
72
|
+
{% endif %}
|
|
73
|
+
{{ dropdown_item.title }}
|
|
74
|
+
</a>
|
|
75
|
+
{% endfor %}
|
|
76
|
+
</div>
|
|
77
|
+
{% endif %}
|
|
78
|
+
</div>
|
|
79
|
+
{% endfor %}
|
|
80
|
+
</div>
|
|
81
|
+
|
|
82
|
+
<!-- Right navigation items -->
|
|
83
|
+
<div class="nav-right">
|
|
84
|
+
{% assign navigation_right = site.data.navigation | where: "side", "right" %}
|
|
85
|
+
{% for item in navigation_right %}
|
|
86
|
+
<div class="nav-item {% if forloop.first %}first-right{% endif %}">
|
|
87
|
+
<a href="{{ item.url }}" class="btn btn-primary btn-block">
|
|
88
|
+
<i class="{{ item.icon }}"></i> {{ item.title }}
|
|
89
|
+
</a>
|
|
90
|
+
{% if item.dropdown %}
|
|
91
|
+
<div class="dropdown">
|
|
92
|
+
{% for dropdown_item in item.dropdown %}
|
|
93
|
+
<a href="{{ dropdown_item.url }}" class="btn btn-primary btn-block">
|
|
94
|
+
{% if dropdown_item.icon %}
|
|
95
|
+
<i class="{{ dropdown_item.icon }}"></i>
|
|
96
|
+
|
|
97
|
+
{% endif %}
|
|
98
|
+
{{ dropdown_item.title }}
|
|
99
|
+
</a>
|
|
100
|
+
{% endfor %}
|
|
101
|
+
</div>
|
|
102
|
+
{% endif %}
|
|
103
|
+
</div>
|
|
104
|
+
{% endfor %}
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
</nav>
|
|
43
108
|
|
data/_layouts/page.html
CHANGED
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
<script src="/assets/js/breakpoints.min.js"></script>
|
|
44
44
|
<script src="/assets/js/util.js"></script>
|
|
45
45
|
<script src="/assets/js/main.js"></script>
|
|
46
|
+
<script src="/assets/js/navigation.js"></script>
|
|
46
47
|
{% if page.extra-scripts %}
|
|
47
48
|
<!-- Extra (per-page) Scripts -->
|
|
48
49
|
{% endif %}
|
data/_layouts/section_four.html
CHANGED
|
@@ -12,10 +12,7 @@
|
|
|
12
12
|
</div>
|
|
13
13
|
</header>
|
|
14
14
|
{% endif %}
|
|
15
|
-
{% assign style =
|
|
16
|
-
{% if page.style %}
|
|
17
|
-
{% assign style = page.style %}
|
|
18
|
-
{% endif %}
|
|
15
|
+
{% assign style = page.style | default: 'style1' %}
|
|
19
16
|
<div class="content dark {{ style }}">
|
|
20
17
|
<div class="container">
|
|
21
18
|
{% if page.image %}
|
data/_layouts/section_one.html
CHANGED
|
@@ -12,10 +12,7 @@
|
|
|
12
12
|
</div>
|
|
13
13
|
</header>
|
|
14
14
|
{% endif %}
|
|
15
|
-
{% assign style = style1 %}
|
|
16
|
-
{% if page.style %}
|
|
17
|
-
{% assign style = page.style %}
|
|
18
|
-
{% endif %}
|
|
15
|
+
{% assign style = page.style | default: 'style1' %}
|
|
19
16
|
<div class="content dark {{ style }} featured">
|
|
20
17
|
{% assign content_split = page.content | markdown_split %}
|
|
21
18
|
<div class="container">
|
data/_layouts/section_three.html
CHANGED
|
@@ -12,10 +12,7 @@
|
|
|
12
12
|
</div>
|
|
13
13
|
</header>
|
|
14
14
|
{% endif %}
|
|
15
|
-
{% assign style = style3 %}
|
|
16
|
-
{% if page.style %}
|
|
17
|
-
{% assign style = page.style %}
|
|
18
|
-
{% endif %}
|
|
15
|
+
{% assign style = page.style | default: 'style3' %}
|
|
19
16
|
<div class="content dark {{ style }}">
|
|
20
17
|
<div class="container">
|
|
21
18
|
{% if page.image %}
|
data/_layouts/section_two.html
CHANGED
|
@@ -12,10 +12,7 @@
|
|
|
12
12
|
</div>
|
|
13
13
|
</header>
|
|
14
14
|
{% endif %}
|
|
15
|
-
{% assign style = style2 %}
|
|
16
|
-
{% if page.style %}
|
|
17
|
-
{% assign style = page.style %}
|
|
18
|
-
{% endif %}
|
|
15
|
+
{% assign style = page.style | default: 'style2' %}
|
|
19
16
|
<div class="content dark {{ style }}">
|
|
20
17
|
<div class="container">
|
|
21
18
|
<div class="row">
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
@use 'sass:color';
|
|
2
|
+
|
|
3
|
+
/* Color functions for setting text color based on background */
|
|
4
|
+
@function set-text-color($color) {
|
|
5
|
+
@if (color.channel($color, "lightness", $space: hsl) > 40) {
|
|
6
|
+
@return #000;
|
|
7
|
+
}
|
|
8
|
+
@else {
|
|
9
|
+
@return #fff;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/* Define overwritable variables */
|
|
14
|
+
$primary-color: #3498db;
|
|
15
|
+
$secondary-color: #ffee4f;
|
|
16
|
+
$primary-background: #ffffff;
|
|
17
|
+
$font-family: 'Arial', sans-serif;
|
|
18
|
+
|
|
19
|
+
/* Define text color in terms of the primary background */
|
|
20
|
+
$text-color: set-text-color($primary-background);
|
|
21
|
+
$primary-text-color: set-text-color($primary-color);
|
|
22
|
+
$secondary-text-color: set-text-color($secondary-color);
|
|
23
|
+
|
|
24
|
+
/* Navigation Styles */
|
|
25
|
+
.navbar {
|
|
26
|
+
display: flex;
|
|
27
|
+
justify-content: space-between;
|
|
28
|
+
align-items: center;
|
|
29
|
+
padding: 0 20px;
|
|
30
|
+
background-color: $primary-background;
|
|
31
|
+
position: relative;
|
|
32
|
+
z-index: 100;
|
|
33
|
+
height: 4em;
|
|
34
|
+
position: fixed;
|
|
35
|
+
top: 0;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.logo {
|
|
39
|
+
color: $primary-color;
|
|
40
|
+
font-size: 1.8rem;
|
|
41
|
+
font-weight: bold;
|
|
42
|
+
text-decoration: none;
|
|
43
|
+
padding: 15px 0;
|
|
44
|
+
display: flex;
|
|
45
|
+
align-items: center;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.logo i {
|
|
49
|
+
margin-right: 10px;
|
|
50
|
+
color: $primary-color;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.nav-items {
|
|
54
|
+
display: flex;
|
|
55
|
+
list-style: none;
|
|
56
|
+
width: 100%;
|
|
57
|
+
height: 100%;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.nav-item {
|
|
61
|
+
position: relative;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.nav-item > a {
|
|
65
|
+
display: block;
|
|
66
|
+
color: $text-color;
|
|
67
|
+
text-decoration: none;
|
|
68
|
+
padding: 10px 25px;
|
|
69
|
+
font-weight: 500;
|
|
70
|
+
transition: all 0.3s ease;
|
|
71
|
+
position: relative;
|
|
72
|
+
height: 100%;
|
|
73
|
+
vertical-align: middle;
|
|
74
|
+
line-height: 2.75em;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.nav-item > a:hover {
|
|
78
|
+
background-color: $primary-color;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.nav-item > a:hover::after {
|
|
82
|
+
content: '';
|
|
83
|
+
position: absolute;
|
|
84
|
+
bottom: 0;
|
|
85
|
+
left: 50%;
|
|
86
|
+
transform: translateX(-50%);
|
|
87
|
+
width: 70%;
|
|
88
|
+
height: 3px;
|
|
89
|
+
background-color: $secondary-color;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.dropdown {
|
|
93
|
+
position: absolute;
|
|
94
|
+
top: 100%;
|
|
95
|
+
left: 0;
|
|
96
|
+
background-color: $primary-background;
|
|
97
|
+
min-width: 220px;
|
|
98
|
+
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
|
|
99
|
+
border-radius: 0 0 8px 8px;
|
|
100
|
+
overflow: hidden;
|
|
101
|
+
display: none;
|
|
102
|
+
z-index: 1000;
|
|
103
|
+
transform: translateY(10px);
|
|
104
|
+
opacity: 0;
|
|
105
|
+
transition: all 0.4s ease;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.nav-item:hover .dropdown {
|
|
109
|
+
display: block;
|
|
110
|
+
transform: translateY(0);
|
|
111
|
+
opacity: 1;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.dropdown a {
|
|
115
|
+
display: block;
|
|
116
|
+
padding: 12px 20px;
|
|
117
|
+
color: $text-color;
|
|
118
|
+
text-decoration: none;
|
|
119
|
+
font-weight: 500;
|
|
120
|
+
border-bottom: 1px solid #f0f0f0;
|
|
121
|
+
transition: all 0.3s ease;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.dropdown a:hover {
|
|
125
|
+
background-color: $primary-color;
|
|
126
|
+
color: $primary-text-color;
|
|
127
|
+
padding-left: 25px;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.dropdown a i {
|
|
131
|
+
margin-right: 10px;
|
|
132
|
+
width: 20px;
|
|
133
|
+
text-align: center;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.nav-left, .nav-right {
|
|
137
|
+
display: flex;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.nav-right {
|
|
141
|
+
margin-left: auto;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.mobile-toggle {
|
|
145
|
+
display: none;
|
|
146
|
+
background: none;
|
|
147
|
+
border: none;
|
|
148
|
+
color: $text-color;
|
|
149
|
+
font-size: 1.8rem;
|
|
150
|
+
cursor: pointer;
|
|
151
|
+
padding: 15px;
|
|
152
|
+
&:hover {
|
|
153
|
+
background: none;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/* Mobile Navigation */
|
|
158
|
+
@media (max-width: 992px) {
|
|
159
|
+
.nav-items {
|
|
160
|
+
position: fixed;
|
|
161
|
+
top: 4em;
|
|
162
|
+
left: 0;
|
|
163
|
+
width: 100%;
|
|
164
|
+
background-color: $primary-background;
|
|
165
|
+
flex-direction: column;
|
|
166
|
+
align-items: stretch;
|
|
167
|
+
max-height: 0;
|
|
168
|
+
overflow: hidden;
|
|
169
|
+
transition: max-height 0.5s ease;
|
|
170
|
+
box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
|
|
171
|
+
height: auto;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.nav-items.active {
|
|
175
|
+
max-height: 1000px;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.nav-item {
|
|
179
|
+
width: 100%;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.nav-item > a {
|
|
183
|
+
padding: 18px 10px;
|
|
184
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.dropdown {
|
|
188
|
+
position: static;
|
|
189
|
+
width: 100%;
|
|
190
|
+
box-shadow: none;
|
|
191
|
+
border-radius: 0;
|
|
192
|
+
display: none;
|
|
193
|
+
transform: none;
|
|
194
|
+
opacity: 1;
|
|
195
|
+
max-height: 0;
|
|
196
|
+
transition: max-height 0.4s ease;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.dropdown.active {
|
|
200
|
+
display: block;
|
|
201
|
+
max-height: 1000px;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
.dropdown a {
|
|
205
|
+
padding: 25px 30px;
|
|
206
|
+
background-color: $primary-color;
|
|
207
|
+
color: $primary-text-color;
|
|
208
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.05);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.mobile-toggle {
|
|
212
|
+
display: block;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.nav-left, .nav-right {
|
|
216
|
+
flex-direction: column;
|
|
217
|
+
width: 100%;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
.nav-right {
|
|
221
|
+
margin-left: 0;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
data/_sass/tessellate.scss
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
@use 'libs/breakpoints' as *;
|
|
5
5
|
@use 'libs/html-grid' as *;
|
|
6
6
|
|
|
7
|
+
@use 'navigation';
|
|
8
|
+
|
|
7
9
|
@import url("fontawesome-all.min.css");
|
|
8
10
|
@import url("https://fonts.googleapis.com/css?family=Roboto:100,100italic,300,300italic,400,400italic");
|
|
9
11
|
|
|
@@ -95,6 +97,7 @@
|
|
|
95
97
|
}
|
|
96
98
|
|
|
97
99
|
/* Navigation Menu */
|
|
100
|
+
/*
|
|
98
101
|
.row.navbar {
|
|
99
102
|
margin: 0;
|
|
100
103
|
}
|
|
@@ -152,6 +155,7 @@
|
|
|
152
155
|
margin-right: 1em;
|
|
153
156
|
}
|
|
154
157
|
}
|
|
158
|
+
*/
|
|
155
159
|
|
|
156
160
|
/* Basic */
|
|
157
161
|
|
|
@@ -998,7 +1002,7 @@
|
|
|
998
1002
|
|
|
999
1003
|
#header {
|
|
1000
1004
|
position: relative;
|
|
1001
|
-
|
|
1005
|
+
margin: 4em 0 0 0;
|
|
1002
1006
|
background-image: url('images/overlay.png'), url('../../images/header.jpg');
|
|
1003
1007
|
background-size: auto, cover;
|
|
1004
1008
|
background-position: top left, center center;
|
|
@@ -1181,12 +1185,12 @@
|
|
|
1181
1185
|
/* Sections/Article */
|
|
1182
1186
|
|
|
1183
1187
|
section, article {
|
|
1184
|
-
margin: 0 0 2.5em 0
|
|
1188
|
+
margin: 0 0 2.5em 0;
|
|
1185
1189
|
}
|
|
1186
1190
|
|
|
1187
1191
|
.row > {
|
|
1188
1192
|
section, article {
|
|
1189
|
-
margin: 0 0 2.5em 0
|
|
1193
|
+
margin: 0 0 2.5em 0;
|
|
1190
1194
|
}
|
|
1191
1195
|
}
|
|
1192
1196
|
|
|
@@ -1202,7 +1206,7 @@
|
|
|
1202
1206
|
/* Header */
|
|
1203
1207
|
|
|
1204
1208
|
#header {
|
|
1205
|
-
margin: 0
|
|
1209
|
+
margin: 4em 0 0 0;
|
|
1206
1210
|
padding: 8em 2em 8em 2em;
|
|
1207
1211
|
|
|
1208
1212
|
header p {
|
|
@@ -1217,7 +1221,7 @@
|
|
|
1217
1221
|
/* Main Sections */
|
|
1218
1222
|
|
|
1219
1223
|
.main {
|
|
1220
|
-
margin: 0
|
|
1224
|
+
margin: 0;
|
|
1221
1225
|
|
|
1222
1226
|
> header {
|
|
1223
1227
|
padding: 3.5em 2em 3.5em 2em;
|
|
@@ -1239,7 +1243,7 @@
|
|
|
1239
1243
|
padding: 3.5em 20px 3.5em 20px;
|
|
1240
1244
|
|
|
1241
1245
|
> .container > :last-child {
|
|
1242
|
-
margin-bottom: 0
|
|
1246
|
+
margin-bottom: 0;
|
|
1243
1247
|
}
|
|
1244
1248
|
}
|
|
1245
1249
|
}
|
|
@@ -1247,7 +1251,7 @@
|
|
|
1247
1251
|
/* Footer */
|
|
1248
1252
|
|
|
1249
1253
|
#footer {
|
|
1250
|
-
margin: 0
|
|
1254
|
+
margin: 0;
|
|
1251
1255
|
padding: 3em 0 3em 0;
|
|
1252
1256
|
|
|
1253
1257
|
.copyright {
|
|
@@ -1270,12 +1274,12 @@
|
|
|
1270
1274
|
/* Sections/Article */
|
|
1271
1275
|
|
|
1272
1276
|
section, article {
|
|
1273
|
-
margin: 0 0 1.5em 0
|
|
1277
|
+
margin: 0 0 1.5em 0;
|
|
1274
1278
|
}
|
|
1275
1279
|
|
|
1276
1280
|
.row > {
|
|
1277
1281
|
section, article {
|
|
1278
|
-
margin: 0 0 1.5em 0
|
|
1282
|
+
margin: 0 0 1.5em 0;
|
|
1279
1283
|
}
|
|
1280
1284
|
}
|
|
1281
1285
|
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// script.js
|
|
2
|
+
document.addEventListener('DOMContentLoaded', function() {
|
|
3
|
+
const mobileToggle = document.getElementById('mobileToggle');
|
|
4
|
+
const navItems = document.getElementById('navItems');
|
|
5
|
+
const navItemsList = document.querySelectorAll('.nav-item');
|
|
6
|
+
|
|
7
|
+
// Toggle mobile menu
|
|
8
|
+
mobileToggle.addEventListener('click', function() {
|
|
9
|
+
navItems.classList.toggle('active');
|
|
10
|
+
this.querySelector('i').classList.toggle('fa-bars');
|
|
11
|
+
this.querySelector('i').classList.toggle('fa-times');
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
// Handle dropdowns on mobile
|
|
15
|
+
navItemsList.forEach(item => {
|
|
16
|
+
const dropdown = item.querySelector('.dropdown');
|
|
17
|
+
const link = item.querySelector('a');
|
|
18
|
+
|
|
19
|
+
if (dropdown) {
|
|
20
|
+
link.addEventListener('click', function(e) {
|
|
21
|
+
// On mobile, prevent default and toggle dropdown
|
|
22
|
+
if (window.innerWidth <= 992) {
|
|
23
|
+
e.preventDefault();
|
|
24
|
+
dropdown.classList.toggle('active');
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// Close mobile menu when clicking outside
|
|
31
|
+
document.addEventListener('click', function(e) {
|
|
32
|
+
if (window.innerWidth <= 992 && navItems.classList.contains('active') &&
|
|
33
|
+
!e.target.closest('.navbar') && !e.target.closest('#navItems')) {
|
|
34
|
+
navItems.classList.remove('active');
|
|
35
|
+
mobileToggle.querySelector('i').classList.add('fa-bars');
|
|
36
|
+
mobileToggle.querySelector('i').classList.remove('fa-times');
|
|
37
|
+
|
|
38
|
+
// Also close any open dropdowns
|
|
39
|
+
document.querySelectorAll('.dropdown').forEach(dd => {
|
|
40
|
+
dd.classList.remove('active');
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tessellate
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.15
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Preston Hager
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-06
|
|
11
|
+
date: 2025-07-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: jekyll
|
|
@@ -52,6 +52,7 @@ files:
|
|
|
52
52
|
- _sass/libs/_mixins.scss
|
|
53
53
|
- _sass/libs/_vars.scss
|
|
54
54
|
- _sass/libs/_vendor.scss
|
|
55
|
+
- _sass/navigation.scss
|
|
55
56
|
- _sass/tessellate.scss
|
|
56
57
|
- assets/css/fontawesome-all.min.css
|
|
57
58
|
- assets/css/images/arrow.svg
|
|
@@ -94,6 +95,7 @@ files:
|
|
|
94
95
|
- assets/js/jquery.min.js
|
|
95
96
|
- assets/js/jquery.scrolly.min.js
|
|
96
97
|
- assets/js/main.js
|
|
98
|
+
- assets/js/navigation.js
|
|
97
99
|
- assets/js/util.js
|
|
98
100
|
- assets/webfonts/fa-brands-400.eot
|
|
99
101
|
- assets/webfonts/fa-brands-400.svg
|