jekyll-vitepress-theme 0.9.0 → 0.9.1

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: b16443ae3825807e971321a1c4492381c0f87e0e45e990c71189ab42dfed67ec
4
- data.tar.gz: 87acf037fa7f85bbfda93cee166d5788f0c4a1e82c4183acbbfc4bd8c65c90ab
3
+ metadata.gz: fa9391084d58e782e53928675a222528a6e2bb36c206182f2e461d0bd87e7056
4
+ data.tar.gz: 535dd94bd744cbebe9767d9a6513a4ceb6164c391402f9108125ee0920554006
5
5
  SHA512:
6
- metadata.gz: a745075f8f8ce30ab015f96eb5acf3fa2f82a5860f311e6775fadf9078b170698592687c52913753192b0be4bcc9ad5ad1d795b09e895bad2b513a7654b53b10
7
- data.tar.gz: b5288a28f63ca4725bdbb0e1f3334db18bdb96f8588f6504436daca4bcb596ab45ec53e66656853ab112c0b0dbb08830c53da0868212a8081107644bc90d514d
6
+ metadata.gz: ca5243e5c90205f0e37363c90bab9e02bc7e3235a2d7b873c843e00c40c5a78af014b6f80df88482935642c682cf639963febfb9df3a840ec2e53515b46a1802
7
+ data.tar.gz: 870b669c9cbe0096eb82fba8b878eba38de4c59f5e7a9fc00ee1f5a389304c33fdb34ab69047abc322f65eeaf9498a519e87a3d01b0f1a10e1bd7de8d2f29433
data/README.md CHANGED
@@ -67,11 +67,11 @@ bundle exec overcommit --sign pre-push
67
67
  bundle exec overcommit --run
68
68
  ```
69
69
 
70
- ## Docs versioning (this repo)
70
+ ## Docs deployment (this repo)
71
71
 
72
- - `main` deploys unreleased docs to `/next/`
73
- - `main` runs a release gate; when the gem version is unpublished, release docs deploy to `/v/x.y.z/` and refresh `/latest/`
74
- - `gh-pages/versions.yml` is the single source of truth for the version selector
72
+ - `main` deploys a single docs site at `/`
73
+ - No secondary version paths are published in default mode (`/latest/`, `/v/*`, `/next/`)
74
+ - Optional multi-version deployment is documented in [_advanced/deployment.md](_advanced/deployment.md)
75
75
 
76
76
  ## Theme configuration
77
77
 
@@ -1 +1 @@
1
- <!-- Optional head slot override. Add custom tags in your site copy of this file. -->
1
+ <!-- Optional head hook. Override in your site at _includes/vp_slots/head.html. -->
@@ -15,10 +15,16 @@ body {
15
15
  pointer-events: auto;
16
16
  }
17
17
 
18
- body.vp-nav-screen-open {
18
+ body.vp-nav-screen-open,
19
+ body.vp-sidebar-open {
19
20
  overflow: hidden;
20
21
  }
21
22
 
23
+ body.vp-nav-screen-open .VPNav {
24
+ z-index: calc(var(--vp-z-index-backdrop) + 1);
25
+ pointer-events: auto;
26
+ }
27
+
22
28
  .VPNavBar > .wrapper > .container > .title,
23
29
  .VPNavBar > .wrapper > .container > .content > .content-body,
24
30
  .vp-doc div[class*='language-'],
@@ -124,7 +124,8 @@
124
124
  var versionButton = document.getElementById('vp-version-button');
125
125
  var versionMenu = document.getElementById('vp-version-menu');
126
126
 
127
- var menuOpen = false;
127
+ var navScreenOpen = false;
128
+ var sidebarOpen = false;
128
129
  var versionOpen = false;
129
130
 
130
131
  function setVersionOpen(open) {
@@ -159,70 +160,104 @@
159
160
  });
160
161
  }
161
162
 
162
- function setMenuOpen(open) {
163
- menuOpen = open;
164
-
165
- if (open && versionOpen) {
166
- setVersionOpen(false);
167
- }
163
+ function syncMobileMenus() {
164
+ var anyOpen = navScreenOpen || sidebarOpen;
168
165
 
169
166
  if (sidebar) {
170
- sidebar.classList.toggle('open', open);
167
+ sidebar.classList.toggle('open', sidebarOpen);
171
168
  }
172
169
 
173
170
  if (navBar) {
174
- navBar.classList.toggle('screen-open', open);
171
+ navBar.classList.toggle('screen-open', navScreenOpen);
175
172
  }
176
173
 
177
174
  if (backdrop) {
178
- backdrop.classList.toggle('is-active', open);
175
+ backdrop.classList.toggle('is-active', anyOpen);
179
176
  }
180
177
 
181
178
  if (hamburger) {
182
- hamburger.classList.toggle('active', open);
183
- hamburger.setAttribute('aria-expanded', String(open));
179
+ hamburger.classList.toggle('active', navScreenOpen);
180
+ hamburger.setAttribute('aria-expanded', String(navScreenOpen));
184
181
  }
185
182
 
186
183
  if (localMenuButton) {
187
- localMenuButton.setAttribute('aria-expanded', String(open));
184
+ localMenuButton.setAttribute('aria-expanded', String(sidebarOpen));
188
185
  }
189
186
 
190
187
  if (navScreen) {
191
- navScreen.hidden = !open;
188
+ navScreen.hidden = !navScreenOpen;
192
189
  }
193
190
 
194
- document.body.classList.toggle('vp-nav-screen-open', open);
191
+ document.body.classList.toggle('vp-nav-screen-open', navScreenOpen);
192
+ document.body.classList.toggle('vp-sidebar-open', sidebarOpen);
193
+ }
194
+
195
+ function closeMobileMenus() {
196
+ navScreenOpen = false;
197
+ sidebarOpen = false;
198
+ syncMobileMenus();
195
199
  }
196
200
 
197
- function toggleMenu() {
198
- setMenuOpen(!menuOpen);
201
+ function setNavScreenOpen(open) {
202
+ navScreenOpen = !!open;
203
+ if (navScreenOpen) {
204
+ sidebarOpen = false;
205
+ }
206
+ if (navScreenOpen && versionOpen) {
207
+ setVersionOpen(false);
208
+ }
209
+ syncMobileMenus();
210
+ }
211
+
212
+ function setSidebarOpen(open) {
213
+ sidebarOpen = !!open;
214
+ if (sidebarOpen) {
215
+ navScreenOpen = false;
216
+ }
217
+ if (sidebarOpen && versionOpen) {
218
+ setVersionOpen(false);
219
+ }
220
+ syncMobileMenus();
221
+ }
222
+
223
+ function toggleNavScreen() {
224
+ setNavScreenOpen(!navScreenOpen);
225
+ }
226
+
227
+ function toggleSidebar() {
228
+ setSidebarOpen(!sidebarOpen);
199
229
  }
200
230
 
201
231
  if (hamburger) {
202
- hamburger.addEventListener('click', toggleMenu);
232
+ hamburger.addEventListener('click', toggleNavScreen);
203
233
  }
204
234
 
205
235
  if (localMenuButton) {
206
- localMenuButton.addEventListener('click', toggleMenu);
236
+ localMenuButton.addEventListener('click', toggleSidebar);
207
237
  }
208
238
 
209
239
  if (backdrop) {
210
240
  backdrop.addEventListener('click', function () {
211
- setMenuOpen(false);
241
+ closeMobileMenus();
212
242
  });
213
243
  }
214
244
 
215
245
  if (navScreen) {
216
246
  navScreen.addEventListener('click', function (event) {
217
247
  if (event.target === navScreen || event.target.closest('a')) {
218
- setMenuOpen(false);
248
+ setNavScreenOpen(false);
219
249
  }
220
250
  });
221
251
  }
222
252
 
253
+ syncMobileMenus();
254
+
223
255
  window.addEventListener('resize', function () {
224
- if (window.innerWidth >= 768 && menuOpen) {
225
- setMenuOpen(false);
256
+ if (window.innerWidth >= 768 && navScreenOpen) {
257
+ setNavScreenOpen(false);
258
+ }
259
+ if (window.innerWidth >= 960 && sidebarOpen) {
260
+ setSidebarOpen(false);
226
261
  }
227
262
  if (window.innerWidth < 768 && versionOpen) {
228
263
  setVersionOpen(false);
@@ -505,8 +540,8 @@
505
540
  setVersionOpen(false);
506
541
  }
507
542
 
508
- if (menuOpen) {
509
- setMenuOpen(false);
543
+ if (navScreenOpen || sidebarOpen) {
544
+ closeMobileMenus();
510
545
  }
511
546
 
512
547
  searchOpen = true;
@@ -612,7 +647,7 @@
612
647
  return;
613
648
  }
614
649
 
615
- setMenuOpen(false);
650
+ closeMobileMenus();
616
651
  return;
617
652
  }
618
653
 
@@ -1,5 +1,5 @@
1
1
  module Jekyll
2
2
  module VitePressTheme
3
- VERSION = "0.9.0".freeze
3
+ VERSION = "0.9.1".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-vitepress-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carmine Paolino
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-03-10 00:00:00.000000000 Z
11
+ date: 2026-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -116,11 +116,17 @@ files:
116
116
  - lib/jekyll-vitepress-theme.rb
117
117
  - lib/jekyll/vitepress_theme/hooks.rb
118
118
  - lib/jekyll/vitepress_theme/version.rb
119
- homepage: https://github.com/crmne/jekyll-vitepress-theme
119
+ homepage: https://jekyll-vitepress.dev
120
120
  licenses:
121
121
  - MIT
122
122
  metadata:
123
123
  rubygems_mfa_required: 'true'
124
+ homepage_uri: https://jekyll-vitepress.dev
125
+ source_code_uri: https://github.com/crmne/jekyll-vitepress-theme
126
+ changelog_uri: https://github.com/crmne/jekyll-vitepress-theme/commits/master
127
+ documentation_uri: https://jekyll-vitepress.dev
128
+ bug_tracker_uri: https://github.com/crmne/jekyll-vitepress-theme/issues
129
+ funding_uri: https://github.com/sponsors/crmne
124
130
  post_install_message:
125
131
  rdoc_options: []
126
132
  require_paths: