jscom_ice 0.0.7 → 0.0.8

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4254caf3169c23ebbccbe115b7b8257ac7cfbdc96bf5d73866c867a452578a4e
4
- data.tar.gz: c9281776d2d1ad0e424605b157692594b2851d577801ac211ce04e560708e077
3
+ metadata.gz: 63550921535bf31bd3e23e7b372d28af6f21cdb3b6e1661dc54142fc4d92309b
4
+ data.tar.gz: b00543909cf338ffde1f89f3ebe9cb7a876147ef0dfd99ed94dc9dbf3135f769
5
5
  SHA512:
6
- metadata.gz: ccb996e3c4461090370d3a81f256cc8d9eb5ce61fc127418bdb7167205714b55dc48f03191cd1f45a6d3492c7b306dbbd5433d063aa90bcb106474cc017c06ef
7
- data.tar.gz: 542d4ddd11075786f3699d9ee7fdcef279e6085fad94587d7c83808e8baaea51f1e47165f4567aba05945e3cc84ea20b4e527ac1ce246898579361b2a8b57878
6
+ metadata.gz: 7abc2c41ae5910cc660d4b0feab2f2b9baab04f4909855a35b7ccd50e5ed91d9aebc57cca93d054bde17b8325b6cb92ac8e8a390550c123b9ca0a83874663a7b
7
+ data.tar.gz: caadf1f9bbe501c2fedda2d8e7c935497516603e711e7ca5a8e9172afe4f3c6b746ffc5fd587cff9443d184c7acc61c409018fc8410b1879128f7f26180f6201
@@ -12,5 +12,8 @@ Scripts that are loaded throughout the website
12
12
 
13
13
  <script src="/assets/js/bootstrap.js"></script>
14
14
 
15
+ <!-- Navbar scroll behavior -->
16
+ <script src="/assets/js/navbar.js"></script>
17
+
15
18
  <!-- TODO contact form page & move this to more local include? (it's only needed on 1 page)-->
16
19
  <!--<script src="/assets/js/contact.js"></script>-->
@@ -107,6 +107,9 @@ body {
107
107
  flex-direction: column;
108
108
  min-height: 100vh;
109
109
 
110
+ // Account for fixed navbar height
111
+ padding-top: 56px; // Standard Bootstrap navbar height
112
+
110
113
  img {
111
114
  width: 100%;
112
115
  height: auto;
@@ -154,6 +157,8 @@ body {
154
157
  a {
155
158
  // Link Colors
156
159
  color: $darker-text-link-blue;
160
+ transition: color 0.2s ease, opacity 0.2s ease;
161
+
157
162
  &:hover,
158
163
  &:active,
159
164
  &:focus {
@@ -1,17 +1,29 @@
1
1
  // Navbar
2
2
  .navbar {
3
3
  border-color: $dark-light;
4
- position: relative;
4
+ // position: relative; // Removed - let Bootstrap's fixed-top handle positioning
5
5
 
6
6
  margin-right: auto;
7
7
  margin-left: auto;
8
8
  border-bottom: 1px solid $dark-smoke;
9
9
 
10
+ // Smooth transitions for all state changes
11
+ transition: background-color 0.3s ease, box-shadow 0.3s ease, border-bottom 0.3s ease, padding 0.3s ease;
12
+
13
+ // Scrolled state - solid background with shadow
14
+ &.navbar-scrolled {
15
+ background-color: rgba(33, 37, 41, 0.98) !important; // Dark semi-transparent
16
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
17
+ border-bottom: 1px solid rgba(255, 255, 255, 0.08);
18
+ backdrop-filter: blur(10px);
19
+ -webkit-backdrop-filter: blur(10px);
20
+ }
10
21
 
11
22
  .nav-link:not(:last-child) {
12
23
  //font-size: 18px;
13
24
  color: whitesmoke;
14
25
  opacity: .7;
26
+ transition: opacity 0.2s ease, color 0.2s ease;
15
27
  }
16
28
  .nav-link {
17
29
  &:hover {
@@ -29,10 +29,11 @@
29
29
  .post-item-title a {
30
30
  color: $smoke;
31
31
  //font-weight: bold;
32
+ transition: color 0.2s ease;
32
33
  }
33
34
 
34
35
  .post-item-title a:hover {
35
- color: $darker-blue-grey
36
+ color: $darker-blue-grey;
36
37
  }
37
38
  }
38
39
 
@@ -7,6 +7,7 @@
7
7
  a.footer_item {
8
8
  color: $dark-white;
9
9
  text-decoration: none;
10
+ transition: color 0.2s ease;
10
11
  }
11
12
 
12
13
  a.footer_item:hover {
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Navbar scroll behavior
3
+ * Adds sticky styling to navbar when user scrolls down
4
+ */
5
+
6
+ (function() {
7
+ 'use strict';
8
+
9
+ // Configuration
10
+ const SCROLL_THRESHOLD = 50; // pixels before navbar changes
11
+ const NAVBAR_CLASS_SCROLLED = 'navbar-scrolled';
12
+
13
+ // Get navbar element
14
+ const navbar = document.querySelector('.navbar');
15
+
16
+ if (!navbar) {
17
+ return; // Exit if no navbar found
18
+ }
19
+
20
+ // Track scroll position
21
+ let lastScroll = 0;
22
+
23
+ /**
24
+ * Handle scroll events
25
+ */
26
+ function handleScroll() {
27
+ const currentScroll = window.pageYOffset || document.documentElement.scrollTop;
28
+
29
+ if (currentScroll > SCROLL_THRESHOLD) {
30
+ // User has scrolled down - add solid background
31
+ navbar.classList.add(NAVBAR_CLASS_SCROLLED);
32
+ } else {
33
+ // At top of page - use transparent background
34
+ navbar.classList.remove(NAVBAR_CLASS_SCROLLED);
35
+ }
36
+
37
+ lastScroll = currentScroll;
38
+ }
39
+
40
+ // Throttle scroll events for better performance
41
+ let ticking = false;
42
+
43
+ window.addEventListener('scroll', function() {
44
+ if (!ticking) {
45
+ window.requestAnimationFrame(function() {
46
+ handleScroll();
47
+ ticking = false;
48
+ });
49
+ ticking = true;
50
+ }
51
+ });
52
+
53
+ // Check scroll position on load
54
+ handleScroll();
55
+ })();
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jscom_ice
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Sosoka
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-18 00:00:00.000000000 Z
11
+ date: 2025-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -120,6 +120,7 @@ files:
120
120
  - assets/js/bootstrap.min.js
121
121
  - assets/js/bootstrap.min.js.map
122
122
  - assets/js/jquery-3.7.0.min.js
123
+ - assets/js/navbar.js
123
124
  - assets/js/popper.min.js
124
125
  homepage: https://github.com/johnsosoka/jscom-ice
125
126
  licenses:
@@ -140,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
140
141
  - !ruby/object:Gem::Version
141
142
  version: '0'
142
143
  requirements: []
143
- rubygems_version: 3.2.3
144
+ rubygems_version: 3.4.19
144
145
  signing_key:
145
146
  specification_version: 4
146
147
  summary: Simple Dark Jekyll Theme