@voidzero-dev/vitepress-theme 4.2.1 → 4.3.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voidzero-dev/vitepress-theme",
3
- "version": "4.2.1",
3
+ "version": "4.3.0",
4
4
  "description": "Shared VitePress theme for VoidZero projects",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
@@ -9,7 +9,7 @@ import {
9
9
  Ripples,
10
10
  } from 'shaders/vue'
11
11
 
12
- type Variant = 'vite' | 'vitest' | 'rolldown' | 'oxc'
12
+ type Variant = 'vite' | 'vitest' | 'rolldown' | 'oxc' | 'viteplus'
13
13
 
14
14
  interface ColorPalette {
15
15
  dark: string
@@ -14,6 +14,8 @@ import VPNavBarTranslations from '@vp-default/VPNavBarTranslations.vue'
14
14
  import VPNavBarSocialLinks from '@vp-default/VPNavBarSocialLinks.vue'
15
15
  import VPNavBarExtra from '@vp-default/VPNavBarExtra.vue'
16
16
  import VPSwitchAppearance from '@vp-default/VPSwitchAppearance.vue'
17
+ import VPSocialLinks from '@vp-default/VPSocialLinks.vue'
18
+
17
19
  import { useLangs } from '@vp-composables/langs'
18
20
 
19
21
  const { theme, frontmatter, isDark } = useData()
@@ -407,21 +409,11 @@ onUnmounted(() => {
407
409
 
408
410
  <!-- Social Icons -->
409
411
  <div class="flex items-center justify-center gap-4 pt-4">
410
- <a href="https://github.com/voidzero-dev" target="_blank" rel="noopener noreferrer"
411
- class="hover:opacity-70 transition-opacity" @click="closeMobileMenu">
412
- <img src="@assets/social/github.svg" alt="GitHub" class="size-6 block dark:hidden">
413
- <img src="@assets/social/github-light.svg" alt="GitHub" class="size-6 hidden dark:block">
414
- </a>
415
- <a href="https://bsky.app/profile/voidzero.dev" target="_blank" rel="noopener noreferrer"
416
- class="hover:opacity-70 transition-opacity" @click="closeMobileMenu">
417
- <img src="@assets/social/bluesky.svg" alt="Bluesky" class="size-6 block dark:hidden">
418
- <img src="@assets/social/bluesky-light.svg" alt="Bluesky" class="size-6 hidden dark:block">
419
- </a>
420
- <a href="https://x.com/voidzerodev" target="_blank" rel="noopener noreferrer"
421
- class="hover:opacity-70 transition-opacity" @click="closeMobileMenu">
422
- <img src="@assets/social/twitter.svg" alt="X" class="size-6 block dark:hidden">
423
- <img src="@assets/social/twitter-light.svg" alt="X" class="size-6 hidden dark:block">
424
- </a>
412
+ <VPSocialLinks
413
+ @click="closeMobileMenu"
414
+ v-if="theme.socialLinks"
415
+ :links="theme.socialLinks"
416
+ />
425
417
  </div>
426
418
  </div>
427
419
  </div>
@@ -175,6 +175,10 @@
175
175
  background-image: url('../assets/oxc/primary-button-background.jpg');
176
176
  }
177
177
 
178
+ :root[data-variant="viteplus"] .button--primary::before {
179
+ background-image: url('../assets/viteplus/primary-button-background.jpg');
180
+ }
181
+
178
182
  @keyframes move-background {
179
183
  0%, 100% {
180
184
  background-position: 40% 40%;
@@ -73,7 +73,7 @@ export interface BannerConfig {
73
73
  /** Optional: Link target (defaults to '_blank' for external URLs) */
74
74
  target?: '_self' | '_blank'
75
75
  /** Optional: Override the variant styling (defaults to theme variant) */
76
- variant?: 'vite' | 'vitest' | 'rolldown' | 'oxc'
76
+ variant?: 'vite' | 'vitest' | 'rolldown' | 'oxc' | 'viteplus'
77
77
  }
78
78
 
79
79
  /**
@@ -0,0 +1,22 @@
1
+ import { VoidZeroTheme, themeContextKey } from "./";
2
+ import type { Theme } from "vitepress";
3
+
4
+ // inject project variant assets
5
+ import logoDark from "@assets/logos/viteplus-dark.svg";
6
+ import logoLight from "@assets/logos/viteplus-light.svg";
7
+ import footerBg from "@assets/viteplus/footer-background.jpg";
8
+ import monoIcon from "@assets/icons/viteplus-mono.svg";
9
+
10
+ export default {
11
+ ...VoidZeroTheme,
12
+ enhanceApp(ctx) {
13
+ ctx.app.provide(themeContextKey, {
14
+ logoDark,
15
+ logoLight,
16
+ logoAlt: "Vite+",
17
+ footerBg,
18
+ monoIcon,
19
+ });
20
+ VoidZeroTheme.enhanceApp(ctx);
21
+ },
22
+ } satisfies Theme;