@voidzero-dev/vitepress-theme 2.0.1 → 3.0.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/README.md +26 -33
- package/package.json +5 -26
- package/src/assets/clients/clickup.svg +5 -0
- package/src/assets/clients/stripe.svg +3 -0
- package/src/{vitepress/components → components}/oss/Footer.vue +4 -21
- package/src/{vitepress/components → components}/oss/Header.vue +82 -180
- package/src/{vitepress/components → components}/oss/Sponsors.vue +3 -3
- package/src/components/oss/TopBanner.vue +111 -0
- package/src/{vitepress/components → components}/oss/TrustedBy.vue +1 -1
- package/src/{vitepress/components → components}/vite/Community.vue +3 -3
- package/src/components/vite/FeatureGrid1.vue +63 -0
- package/src/{vitepress/components/vite/FeatureGrid.vue → components/vite/FeatureGrid2.vue} +12 -11
- package/src/{vitepress/components → components}/vite/Hero.vue +9 -18
- package/src/{vitepress/components → components}/vitepress-default/VPDocOutlineItem.vue +2 -2
- package/src/{vitepress/components → components}/vitepress-default/VPFlyout.vue +1 -1
- package/src/{vitepress/components → components}/vitepress-default/VPMenuLink.vue +1 -1
- package/src/{vitepress/components → components}/vitepress-default/VPNavBarMenuLink.vue +1 -1
- package/src/{vitepress/components → components}/vitepress-default/VPSidebarItem.vue +1 -1
- package/src/{vitepress/components → components}/vitepress-default/VPSocialLink.vue +1 -2
- package/src/fonts/APK-Protocol-Semi-Bold.woff2 +0 -0
- package/src/fonts/inter-italic-cyrillic-ext.woff2 +0 -0
- package/src/fonts/inter-italic-cyrillic.woff2 +0 -0
- package/src/fonts/inter-italic-greek-ext.woff2 +0 -0
- package/src/fonts/inter-italic-greek.woff2 +0 -0
- package/src/fonts/inter-italic-latin-ext.woff2 +0 -0
- package/src/fonts/inter-italic-latin.woff2 +0 -0
- package/src/fonts/inter-italic-vietnamese.woff2 +0 -0
- package/src/fonts/inter-roman-cyrillic-ext.woff2 +0 -0
- package/src/fonts/inter-roman-cyrillic.woff2 +0 -0
- package/src/fonts/inter-roman-greek-ext.woff2 +0 -0
- package/src/fonts/inter-roman-greek.woff2 +0 -0
- package/src/fonts/inter-roman-latin-ext.woff2 +0 -0
- package/src/fonts/inter-roman-latin.woff2 +0 -0
- package/src/fonts/inter-roman-vietnamese.woff2 +0 -0
- package/src/index.ts +103 -2
- package/src/{vitepress/layouts → layouts}/VPLayout.vue +2 -17
- package/src/styles/tokens.css +321 -0
- package/src/{vitepress/styles → styles}/vitepress-default/vars.css +1 -1
- package/src/{vitepress/types → types}/theme-config.ts +2 -0
- package/src/types/theme-context.ts +33 -0
- package/src/vitepress/assets/clients/beehiiv.svg +0 -30
- package/src/vitepress/assets/clients/excalidraw.svg +0 -82
- package/src/vitepress/assets/clients/get-your-guide.svg +0 -1
- package/src/vitepress/assets/clients/posthog.svg +0 -1
- package/src/vitepress/assets/clients/ramp.svg +0 -1
- package/src/vitepress/assets/clients/shopee.svg +0 -55
- package/src/vitepress/components/oss/TopBanner.vue +0 -150
- package/src/vitepress/components/vite/FeaturePanel1.vue +0 -41
- package/src/vitepress/components/vite/FeaturePanel2.vue +0 -37
- package/src/vitepress/components/vite/FeaturePanel3.vue +0 -43
- package/src/vitepress/components/vite/FeaturePanel4.vue +0 -46
- package/src/vitepress/components/voidzero/Footer.vue +0 -65
- package/src/vitepress/components/voidzero/Header.vue +0 -560
- package/src/vitepress/components/voidzero/Megamenu.vue +0 -190
- package/src/vitepress/components/voidzero/about/CareerCTA.vue +0 -56
- package/src/vitepress/components/voidzero/about/Hero.vue +0 -206
- package/src/vitepress/components/voidzero/about/Investors.vue +0 -112
- package/src/vitepress/components/voidzero/about/TeamGrid.vue +0 -161
- package/src/vitepress/components/voidzero/about/TeamSectionHeading.vue +0 -13
- package/src/vitepress/components/voidzero/blog/BlogArchive.vue +0 -223
- package/src/vitepress/components/voidzero/blog/BlogSingleContent.vue +0 -364
- package/src/vitepress/components/voidzero/blog/BlogSingleHero.vue +0 -113
- package/src/vitepress/components/voidzero/blog/BlogSingleRelated.vue +0 -92
- package/src/vitepress/components/voidzero/blog/FeaturedArticles.vue +0 -146
- package/src/vitepress/components/voidzero/blog/types.ts +0 -56
- package/src/vitepress/components/voidzero/home/CaseStudySlider.vue +0 -235
- package/src/vitepress/components/voidzero/home/CustomersSectionHeading.vue +0 -5
- package/src/vitepress/components/voidzero/home/GitHubStats.vue +0 -27
- package/src/vitepress/components/voidzero/home/Hero.vue +0 -69
- package/src/vitepress/components/voidzero/home/Investors.vue +0 -30
- package/src/vitepress/components/voidzero/home/NewsletterCTA.vue +0 -23
- package/src/vitepress/components/voidzero/home/OpenSourceSectionHeading.vue +0 -6
- package/src/vitepress/components/voidzero/home/OpenSourceSectionProjects.vue +0 -419
- package/src/vitepress/components/voidzero/home/Resources.vue +0 -144
- package/src/vitepress/components/voidzero/home/Statistics.vue +0 -507
- package/src/vitepress/components/voidzero/home/StatisticsSectionHeading.vue +0 -5
- package/src/vitepress/components/voidzero/home/TeamCTA.vue +0 -17
- package/src/vitepress/components/voidzero/home/TrustedBy.vue +0 -248
- package/src/vitepress/components/voidzero/home/VitePlusSectionFeatures.vue +0 -55
- package/src/vitepress/components/voidzero/home/VitePlusSectionHeading.vue +0 -17
- package/src/vitepress/fonts/KHTeka-Medium.woff2 +0 -0
- package/src/vitepress/fonts/KHTeka-Regular.woff2 +0 -0
- package/src/vitepress/index.ts +0 -269
- package/src/vitepress/layouts/OSSProjectLayout.vue +0 -28
- package/src/vitepress/styles/tokens.css +0 -137
- /package/src/{vitepress/assets → assets}/checkmark.svg +0 -0
- /package/src/{vitepress/assets → assets}/clients/airbnb.svg +0 -0
- /package/src/{vitepress/assets → assets}/clients/bolt.svg +0 -0
- /package/src/{vitepress/assets → assets}/clients/cloudflare.svg +0 -0
- /package/src/{vitepress/assets → assets}/clients/framer.svg +0 -0
- /package/src/{vitepress/assets → assets}/clients/hugging-face.svg +0 -0
- /package/src/{vitepress/assets → assets}/clients/linear.svg +0 -0
- /package/src/{vitepress/assets → assets}/clients/mercedes.svg +0 -0
- /package/src/{vitepress/assets → assets}/clients/openai.svg +0 -0
- /package/src/{vitepress/assets → assets}/clients/paramount.svg +0 -0
- /package/src/{vitepress/assets → assets}/clients/plaid.svg +0 -0
- /package/src/{vitepress/assets → assets}/clients/shopify.svg +0 -0
- /package/src/{vitepress/assets → assets}/cta-background.jpg +0 -0
- /package/src/{vitepress/assets → assets}/icons/oxc-dark.svg +0 -0
- /package/src/{vitepress/assets → assets}/icons/oxc-light.svg +0 -0
- /package/src/{vitepress/assets → assets}/icons/oxc-mono.svg +0 -0
- /package/src/{vitepress/assets → assets}/icons/rolldown-dark.svg +0 -0
- /package/src/{vitepress/assets → assets}/icons/rolldown-light.svg +0 -0
- /package/src/{vitepress/assets → assets}/icons/rolldown-mono.svg +0 -0
- /package/src/{vitepress/assets → assets}/icons/vite-dark.svg +0 -0
- /package/src/{vitepress/assets → assets}/icons/vite-light.svg +0 -0
- /package/src/{vitepress/assets → assets}/icons/vite-mono.svg +0 -0
- /package/src/{vitepress/assets → assets}/icons/viteplus-dark.svg +0 -0
- /package/src/{vitepress/assets → assets}/icons/viteplus-light.svg +0 -0
- /package/src/{vitepress/assets → assets}/icons/viteplus-mono.svg +0 -0
- /package/src/{vitepress/assets → assets}/icons/vitest-dark.svg +0 -0
- /package/src/{vitepress/assets → assets}/icons/vitest-light.svg +0 -0
- /package/src/{vitepress/assets → assets}/icons/vitest-mono.svg +0 -0
- /package/src/{vitepress/assets → assets}/logos/oxc-dark.svg +0 -0
- /package/src/{vitepress/assets → assets}/logos/oxc-light.svg +0 -0
- /package/src/{vitepress/assets → assets}/logos/rolldown-dark.svg +0 -0
- /package/src/{vitepress/assets → assets}/logos/rolldown-light.svg +0 -0
- /package/src/{vitepress/assets → assets}/logos/vite-dark.svg +0 -0
- /package/src/{vitepress/assets → assets}/logos/vite-light.svg +0 -0
- /package/src/{vitepress/assets → assets}/logos/viteplus-dark.svg +0 -0
- /package/src/{vitepress/assets → assets}/logos/viteplus-light.svg +0 -0
- /package/src/{vitepress/assets → assets}/logos/vitest-dark.svg +0 -0
- /package/src/{vitepress/assets → assets}/logos/vitest-light.svg +0 -0
- /package/src/{vitepress/assets → assets}/logos/voidzero-dark.svg +0 -0
- /package/src/{vitepress/assets → assets}/logos/voidzero-light.svg +0 -0
- /package/src/{vitepress/assets → assets}/oxc/animations/560_x_260_minifier.riv +0 -0
- /package/src/{vitepress/assets → assets}/oxc/animations/640_x_630_oxc masthead_.riv +0 -0
- /package/src/{vitepress/assets → assets}/oxc/footer-background.jpg +0 -0
- /package/src/{vitepress/assets → assets}/oxc/oxc-feature-background.jpg +0 -0
- /package/src/{vitepress/assets → assets}/oxc/oxc-formatter-terminal.png +0 -0
- /package/src/{vitepress/assets → assets}/oxc/oxc-linter-terminal.png +0 -0
- /package/src/{vitepress/assets → assets}/oxc/oxc-resolver-terminal.png +0 -0
- /package/src/{vitepress/assets → assets}/oxc/oxc-transformer-terminal.png +0 -0
- /package/src/{vitepress/assets → assets}/oxc/primary-button-background.jpg +0 -0
- /package/src/{vitepress/assets → assets}/primary-button-background.jpg +0 -0
- /package/src/{vitepress/assets → assets}/rolldown/animations/640_x_300_design_for_vite.riv +0 -0
- /package/src/{vitepress/assets → assets}/rolldown/animations/640_x_300_esbuild.riv +0 -0
- /package/src/{vitepress/assets → assets}/rolldown/animations/640_x_520_rolldown_masthead.riv +0 -0
- /package/src/{vitepress/assets → assets}/rolldown/footer-background.jpg +0 -0
- /package/src/{vitepress/assets → assets}/rolldown/hero-background.jpg +0 -0
- /package/src/{vitepress/assets → assets}/rolldown/hero-terminal.svg +0 -0
- /package/src/{vitepress/assets → assets}/rolldown/primary-button-background.jpg +0 -0
- /package/src/{vitepress/assets → assets}/rolldown/rolldown-esbuild-parity.png +0 -0
- /package/src/{vitepress/assets → assets}/rolldown/rolldown-rollup-background.jpg +0 -0
- /package/src/{vitepress/assets → assets}/rolldown/rolldown-rollup.png +0 -0
- /package/src/{vitepress/assets → assets}/rolldown/rolldown-thumbnail.png +0 -0
- /package/src/{vitepress/assets → assets}/social/bluesky-light.svg +0 -0
- /package/src/{vitepress/assets → assets}/social/bluesky.svg +0 -0
- /package/src/{vitepress/assets → assets}/social/discord-light.svg +0 -0
- /package/src/{vitepress/assets → assets}/social/discord.svg +0 -0
- /package/src/{vitepress/assets → assets}/social/github-light.svg +0 -0
- /package/src/{vitepress/assets → assets}/social/github.svg +0 -0
- /package/src/{vitepress/assets → assets}/social/twitter-light.svg +0 -0
- /package/src/{vitepress/assets → assets}/social/twitter.svg +0 -0
- /package/src/{vitepress/assets → assets}/terminal-background.jpg +0 -0
- /package/src/{vitepress/assets → assets}/vite/animations/563_x_420_rich_features.riv +0 -0
- /package/src/{vitepress/assets → assets}/vite/animations/640_x_300_flexible_plugin.riv +0 -0
- /package/src/{vitepress/assets → assets}/vite/animations/641_x_629_vite_masthead.riv +0 -0
- /package/src/{vitepress/assets → assets}/vite/footer-background.jpg +0 -0
- /package/src/{vitepress/assets → assets}/vite/primary-button-background.jpg +0 -0
- /package/src/{vitepress/assets → assets}/vite/vite-by-voidzero.png +0 -0
- /package/src/{vitepress/assets → assets}/vite/vite-ci.svg +0 -0
- /package/src/{vitepress/assets → assets}/vite/vite-featurepanel-1-background.jpg +0 -0
- /package/src/{vitepress/assets → assets}/vite/vite-featurepanel-1-terminal.svg +0 -0
- /package/src/{vitepress/assets → assets}/vite/vite-featurepanel-2-terminal.png +0 -0
- /package/src/{vitepress/assets → assets}/vite/vite-featurepanel-4-background.jpg +0 -0
- /package/src/{vitepress/assets → assets}/vite/vite-featurepanel-4-terminal.svg +0 -0
- /package/src/{vitepress/assets → assets}/vite/vite-frameworks-mobile.png +0 -0
- /package/src/{vitepress/assets → assets}/vite/vite-frameworks.png +0 -0
- /package/src/{vitepress/assets → assets}/vite/vite-ssr-support.png +0 -0
- /package/src/{vitepress/assets → assets}/vite/vite-typed-api.svg +0 -0
- /package/src/{vitepress/assets → assets}/viteplus/logo.svg +0 -0
- /package/src/{vitepress/assets → assets}/vitest/animations/640_x_300_esm.riv +0 -0
- /package/src/{vitepress/assets → assets}/vitest/animations/640_x_560_vitest_masthead.riv +0 -0
- /package/src/{vitepress/assets → assets}/vitest/animations/650_x_300_vite_powered.riv +0 -0
- /package/src/{vitepress/assets → assets}/vitest/footer-background.jpg +0 -0
- /package/src/{vitepress/assets → assets}/vitest/hero-background.jpg +0 -0
- /package/src/{vitepress/assets → assets}/vitest/hero-terminal.svg +0 -0
- /package/src/{vitepress/assets → assets}/vitest/primary-button-background.jpg +0 -0
- /package/src/{vitepress/assets → assets}/vitest/vitest-jest-compatible.png +0 -0
- /package/src/{vitepress/assets → assets}/vitest/vitest-watcher-background.jpg +0 -0
- /package/src/{vitepress/assets → assets}/vitest/vitest-watcher.png +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/animations/1280_x_552_homepage.riv +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/animations/343_x_148_homepage_mobile.riv +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/animations/480_x_480_build_tool_for_web.riv +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/animations/480_x_480_fastest_javascript_bundler.riv +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/animations/480_x_480_language_toolchain.riv +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/animations/480_x_480_next_generation_runner.riv +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/animations/about-mobile.riv +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/animations/about.riv +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/backgrounds/casestudies.jpg +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/backgrounds/oxc.jpg +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/backgrounds/rolldown.jpg +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/backgrounds/vite.jpg +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/backgrounds/vitest.jpg +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/career-illustration.jpg +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/footer-logo.svg +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/footer.jpg +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/investors/accel.svg +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/investors/amplify.svg +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/investors/peakxv.png +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/investors/resend.svg +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/investors/sentry.svg +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/investors/sunflower.png +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/logo-light.svg +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/logo.svg +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/signature.svg +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/terminals/rolldown.svg +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/terminals/vite.svg +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/terminals/vitest.svg +0 -0
- /package/src/{vitepress/assets → assets}/voidzero/vite-plus-chip.png +0 -0
- /package/src/{vitepress/components → components}/oss/CTAShaderBackground.vue +0 -0
- /package/src/{vitepress/components → components}/oss/HeadingSection.vue +0 -0
- /package/src/{vitepress/components → components}/oxc/FeatureLinter.vue +0 -0
- /package/src/{vitepress/components → components}/oxc/FeatureMinifierFormatter.vue +0 -0
- /package/src/{vitepress/components → components}/oxc/FeatureParser.vue +0 -0
- /package/src/{vitepress/components → components}/oxc/FeatureResolver.vue +0 -0
- /package/src/{vitepress/components → components}/oxc/FeatureToolbar.vue +0 -0
- /package/src/{vitepress/components → components}/oxc/FeatureTransformer.vue +0 -0
- /package/src/{vitepress/components → components}/oxc/Hero.vue +0 -0
- /package/src/{vitepress/components → components}/rolldown/FeatureGrid.vue +0 -0
- /package/src/{vitepress/components → components}/rolldown/Hero.vue +0 -0
- /package/src/{vitepress/components → components}/shared/CodeGroup.vue +0 -0
- /package/src/{vitepress/components → components}/shared/Eyebrow.vue +0 -0
- /package/src/{vitepress/components → components}/shared/LogoGrid.vue +0 -0
- /package/src/{vitepress/components → components}/shared/NewsletterForm.vue +0 -0
- /package/src/{vitepress/components → components}/shared/PerformanceBar.vue +0 -0
- /package/src/{vitepress/components → components}/shared/RiveAnimation.vue +0 -0
- /package/src/{vitepress/components → components}/shared/ShaderBackground.vue +0 -0
- /package/src/{vitepress/components → components}/shared/Spacer.vue +0 -0
- /package/src/{vitepress/components → components}/shared/Terminal.vue +0 -0
- /package/src/{vitepress/components → components}/shared/icons/VZIconBluesky.vue +0 -0
- /package/src/{vitepress/components → components}/shared/icons/VZIconGitHub.vue +0 -0
- /package/src/{vitepress/components → components}/shared/icons/VZIconLogo.vue +0 -0
- /package/src/{vitepress/components → components}/shared/icons/VZIconTwitter.vue +0 -0
- /package/src/{vitepress/components → components}/shared/terminal-animations/TerminalAnimation1.vue +0 -0
- /package/src/{vitepress/components → components}/shared/terminal-animations/TerminalAnimation2.vue +0 -0
- /package/src/{vitepress/components → components}/shared/terminal-animations/TerminalAnimation3.vue +0 -0
- /package/src/{vitepress/components → components}/shared/terminal-animations/TerminalAnimation4.vue +0 -0
- /package/src/{vitepress/components → components}/shared/terminal-animations/TerminalAnimation5.vue +0 -0
- /package/src/{vitepress/components → components}/shared/terminal-animations/TerminalAnimation6.vue +0 -0
- /package/src/{vitepress/components → components}/vite/Frameworks.vue +0 -0
- /package/src/{vitepress/components → components}/viteplus/Header.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/Layout.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/NotFound.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPAlgoliaSearchBox.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPBackdrop.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPBadge.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPButton.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPCarbonAds.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPContent.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPDoc.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPDocAside.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPDocAsideCarbonAds.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPDocAsideOutline.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPDocAsideSponsors.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPDocFooter.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPDocFooterLastUpdated.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPFeature.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPFeatures.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPFooter.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPHero.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPHome.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPHomeContent.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPHomeFeatures.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPHomeHero.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPHomeSponsors.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPImage.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPLink.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPLocalNav.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPLocalNavOutlineDropdown.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPLocalSearchBox.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPMenu.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPMenuGroup.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPNav.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPNavBar.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPNavBarAppearance.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPNavBarExtra.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPNavBarHamburger.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPNavBarMenu.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPNavBarMenuGroup.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPNavBarSearch.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPNavBarSearchButton.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPNavBarSocialLinks.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPNavBarTitle.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPNavBarTranslations.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPNavScreen.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPNavScreenAppearance.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPNavScreenMenu.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPNavScreenMenuGroup.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPNavScreenMenuGroupLink.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPNavScreenMenuGroupSection.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPNavScreenMenuLink.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPNavScreenSocialLinks.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPNavScreenTranslations.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPPage.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPSearchError.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPSidebar.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPSidebarGroup.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPSkipLink.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPSocialLinks.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPSponsors.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPSponsorsGrid.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPSwitch.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPSwitchAppearance.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPTeamMembers.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPTeamMembersItem.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPTeamPage.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPTeamPageSection.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/VPTeamPageTitle.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconAlignJustify.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconAlignLeft.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconAlignRight.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconArrowLeft.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconArrowRight.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconChevronDown.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconChevronLeft.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconChevronRight.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconChevronUp.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconEdit.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconHeart.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconLanguages.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconMinus.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconMinusSquare.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconMoon.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconMoreHorizontal.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconPlus.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconPlusSquare.vue +0 -0
- /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconSun.vue +0 -0
- /package/src/{vitepress/components → components}/vitest/FeatureGrid.vue +0 -0
- /package/src/{vitepress/components → components}/vitest/Hero.vue +0 -0
- /package/src/{vitepress/components → components}/vitest/Intro.vue +0 -0
- /package/src/{vitepress/composables → composables}/vitepress-default/aside.ts +0 -0
- /package/src/{vitepress/composables → composables}/vitepress-default/data.ts +0 -0
- /package/src/{vitepress/composables → composables}/vitepress-default/edit-link.ts +0 -0
- /package/src/{vitepress/composables → composables}/vitepress-default/flyout.ts +0 -0
- /package/src/{vitepress/composables → composables}/vitepress-default/langs.ts +0 -0
- /package/src/{vitepress/composables → composables}/vitepress-default/layout.ts +0 -0
- /package/src/{vitepress/composables → composables}/vitepress-default/nav.ts +0 -0
- /package/src/{vitepress/composables → composables}/vitepress-default/outline.ts +0 -0
- /package/src/{vitepress/composables → composables}/vitepress-default/prev-next.ts +0 -0
- /package/src/{vitepress/composables → composables}/vitepress-default/sidebar.ts +0 -0
- /package/src/{vitepress/composables → composables}/vitepress-default/sponsor-grid.ts +0 -0
- /package/src/{vitepress/env.d.ts → env.d.ts} +0 -0
- /package/src/{vitepress/fonts → fonts}/APK-Protocol-Medium.woff2 +0 -0
- /package/src/{vitepress/fonts → fonts}/KHTekaMono-Medium.woff2 +0 -0
- /package/src/{vitepress/fonts → fonts}/KHTekaMono-Regular.woff2 +0 -0
- /package/src/{vitepress/styles → styles}/base.css +0 -0
- /package/src/{vitepress/styles → styles}/docs.css +0 -0
- /package/src/{vitepress/styles → styles}/index.css +0 -0
- /package/src/{vitepress/styles → styles}/marketing.css +0 -0
- /package/src/{vitepress/styles → styles}/vitepress-default/base-scoped.css +0 -0
- /package/src/{vitepress/styles → styles}/vitepress-default/base.css +0 -0
- /package/src/{vitepress/styles → styles}/vitepress-default/components/custom-block.css +0 -0
- /package/src/{vitepress/styles → styles}/vitepress-default/components/vp-code-group.css +0 -0
- /package/src/{vitepress/styles → styles}/vitepress-default/components/vp-code.css +0 -0
- /package/src/{vitepress/styles → styles}/vitepress-default/components/vp-doc.css +0 -0
- /package/src/{vitepress/styles → styles}/vitepress-default/components/vp-sponsor.css +0 -0
- /package/src/{vitepress/styles → styles}/vitepress-default/fonts.css +0 -0
- /package/src/{vitepress/styles → styles}/vitepress-default/icons.css +0 -0
- /package/src/{vitepress/styles → styles}/vitepress-default/index-scoped.css +0 -0
- /package/src/{vitepress/styles → styles}/vitepress-default/index.css +0 -0
- /package/src/{vitepress/styles → styles}/vitepress-default/utils.css +0 -0
- /package/src/{vitepress/support → support}/vitepress-default/app-utils.ts +0 -0
- /package/src/{vitepress/support → support}/vitepress-default/docsearch-loader.ts +0 -0
- /package/src/{vitepress/support → support}/vitepress-default/lru.ts +0 -0
- /package/src/{vitepress/support → support}/vitepress-default/search-config.ts +0 -0
- /package/src/{vitepress/support → support}/vitepress-default/shared-utils.ts +0 -0
- /package/src/{vitepress/support → support}/vitepress-default/sidebar.ts +0 -0
- /package/src/{vitepress/support → support}/vitepress-default/translation.ts +0 -0
- /package/src/{vitepress/support → support}/vitepress-default/utils.ts +0 -0
- /package/src/{vitepress/types → types}/docsearch.d.ts +0 -0
- /package/src/{vitepress/types → types}/local-search.d.ts +0 -0
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
2
|
-
viewBox="0 174 512 164" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
|
3
|
-
<style type="text/css">
|
|
4
|
-
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#000000;}
|
|
5
|
-
</style>
|
|
6
|
-
<g>
|
|
7
|
-
<path class="st0" d="M93.43,289.68c-0.9,7.41-5.39,13.35-12.35,16.32c-3.87,1.66-9.08,2.55-13.2,2.27
|
|
8
|
-
c-6.42-0.25-12.46-1.81-18.02-4.66c-1.99-1.02-4.95-3.06-7.23-4.97c-0.58-0.48-0.64-0.79-0.26-1.33c0.21-0.31,0.59-0.87,1.42-2.1
|
|
9
|
-
c1.22-1.78,1.37-2.01,1.51-2.22c0.39-0.6,1.02-0.65,1.65-0.16c0.07,0.05,0.07,0.05,0.12,0.09c0.1,0.08,0.1,0.08,0.34,0.27
|
|
10
|
-
c0.24,0.19,0.39,0.3,0.45,0.35c6,4.7,12.99,7.41,20.04,7.68c9.82-0.13,16.87-4.55,18.14-11.32c1.39-7.46-4.46-13.9-15.92-17.49
|
|
11
|
-
c-3.58-1.12-12.64-4.75-14.31-5.73c-7.84-4.6-11.51-10.63-10.98-18.07c0.8-10.32,10.38-18.01,22.48-18.06
|
|
12
|
-
c5.41-0.01,10.81,1.11,16,3.3c1.84,0.77,5.12,2.56,6.25,3.4c0.65,0.48,0.78,1.04,0.41,1.64c-0.21,0.35-0.55,0.9-1.28,2.06
|
|
13
|
-
l-0.01,0.01c-0.96,1.52-0.99,1.57-1.21,1.92c-0.38,0.58-0.83,0.63-1.51,0.2c-5.55-3.73-11.71-5.61-18.47-5.74
|
|
14
|
-
c-8.43,0.17-14.74,5.18-15.16,12.01c-0.11,6.17,4.52,10.67,14.51,14.11C87.13,269.99,94.89,277.63,93.43,289.68 M68.37,183.17
|
|
15
|
-
c13.21,0,23.98,12.54,24.48,28.23H43.89C44.39,195.71,55.16,183.17,68.37,183.17 M136.74,214.35c0-1.63-1.31-2.95-2.93-2.95h-31.74
|
|
16
|
-
c-0.78-20.72-15.57-37.24-33.7-37.24c-18.13,0-32.92,16.52-33.7,37.24l-31.78,0c-1.59,0.03-2.88,1.34-2.88,2.95
|
|
17
|
-
c0,0.08,0,0.15,0.01,0.23H0l4.53,99.87c0,0.28,0.01,0.56,0.03,0.84c0,0.06,0.01,0.13,0.01,0.19l0.01,0.21l0.01,0.01
|
|
18
|
-
c0.69,6.95,5.73,12.55,12.59,12.81l0.02,0.02h100.82c0.05,0,0.1,0,0.14,0s0.1,0,0.14,0h0.21l0,0c6.98-0.19,12.63-5.87,13.23-12.9
|
|
19
|
-
l0,0l0-0.09c0.01-0.07,0.01-0.15,0.02-0.22c0.01-0.18,0.02-0.35,0.02-0.53l4.94-100.26h0C136.74,214.45,136.74,214.4,136.74,214.35
|
|
20
|
-
M472.83,279.44c1.94-6.34,7.82-10.56,14.67-10.56c6.54,0,12.77,4.44,14.92,10.55l0.15,0.42h-29.86L472.83,279.44z M509.22,288.62
|
|
21
|
-
c0.04,0,0.04,0,0.1,0c0.06,0,0.06,0,0.12,0c1.43-0.07,2.56-1.28,2.56-2.77c0-0.07,0-0.13-0.01-0.23c0-0.02,0-0.05,0-0.17
|
|
22
|
-
c0-13.99-10.97-25.33-24.5-25.33c-13.53,0-24.5,11.34-24.5,25.33c0,1.04,0.06,2.08,0.18,3.12l0.01,0.06l0.04,0.27
|
|
23
|
-
c0.67,5.03,2.82,9.66,6.21,13.39l0.02,0.02c3.76,4.14,8.87,6.96,14.53,8.02l0.07,0.01v-0.01l0.37,0.06
|
|
24
|
-
c0.19,0.03,0.39,0.06,0.66,0.11c7.46,0.9,14.07-0.18,19.67-3c1.38-0.69,2.62-1.46,3.69-2.27c0.35-0.26,0.66-0.51,0.93-0.75
|
|
25
|
-
c0.14-0.12,0.25-0.22,0.31-0.28c1.26-1.3,1.34-1.76,0.58-2.95c-0.84-1.34-1.58-2.47-2.21-3.42c-0.22-0.33-0.42-0.61-0.58-0.84
|
|
26
|
-
c-0.09-0.13-0.09-0.13-0.15-0.21l-0.04-0.05l-0.01-0.01c-0.69-0.86-1.16-0.94-1.93-0.26c-0.08,0.07-0.35,0.28-0.4,0.34
|
|
27
|
-
c-5.39,4.78-12.74,6.32-20.09,4.79c-1.37-0.37-2.65-0.83-3.83-1.4c-4.6-2.31-7.86-6.42-8.81-11.18l-0.07-0.38L509.22,288.62z
|
|
28
|
-
M414.54,279.44c1.94-6.34,7.82-10.56,14.67-10.56c6.54,0,12.77,4.44,14.92,10.55l0.15,0.42h-29.86L414.54,279.44z M450.92,288.62
|
|
29
|
-
c0.04,0,0.04,0,0.1,0c0.06,0,0.06,0,0.12,0c1.43-0.07,2.56-1.28,2.56-2.77c0-0.07,0-0.13-0.01-0.23c0-0.02,0-0.05,0-0.17
|
|
30
|
-
c0-13.99-10.97-25.33-24.5-25.33c-13.53,0-24.5,11.34-24.5,25.33c0,1.04,0.06,2.08,0.18,3.12l0.01,0.06l0.04,0.27
|
|
31
|
-
c0.67,5.03,2.82,9.66,6.21,13.39l0.02,0.02c3.76,4.14,8.87,6.96,14.53,8.02l0.07,0.01v-0.01l0.37,0.06
|
|
32
|
-
c0.19,0.03,0.39,0.06,0.66,0.11c7.46,0.9,14.07-0.18,19.67-3c1.38-0.69,2.62-1.46,3.69-2.27c0.35-0.26,0.66-0.51,0.93-0.75
|
|
33
|
-
c0.14-0.12,0.25-0.22,0.31-0.28c1.26-1.3,1.34-1.76,0.58-2.95c-0.84-1.34-1.58-2.47-2.21-3.42c-0.22-0.33-0.42-0.61-0.58-0.84
|
|
34
|
-
c-0.09-0.13-0.09-0.13-0.15-0.21l-0.04-0.05l-0.01-0.01c-0.69-0.86-1.16-0.94-1.93-0.26c-0.08,0.07-0.35,0.28-0.4,0.34
|
|
35
|
-
c-5.39,4.78-12.74,6.32-20.09,4.79c-1.37-0.37-2.65-0.83-3.83-1.4c-4.6-2.31-7.86-6.42-8.8-11.18l-0.07-0.38L450.92,288.62z
|
|
36
|
-
M370.05,302.57c-9.11,0-16.56-7.22-16.79-16.28v-0.85c0.23-9.04,7.68-16.26,16.79-16.26c9.28,0,16.8,7.48,16.8,16.7
|
|
37
|
-
S379.32,302.57,370.05,302.57 M370.05,260.32c-5.98,0-11.69,2.04-16.28,5.77l-0.52,0.42v-4.67c0-1.25-0.27-1.52-1.53-1.52h-5.87
|
|
38
|
-
c-1.28,0-1.53,0.25-1.53,1.52v74.48c0,1.22,0.29,1.52,1.53,1.52h5.87c1.25,0,1.53-0.29,1.53-1.52v-31.06l0.52,0.42
|
|
39
|
-
c4.59,3.73,10.3,5.77,16.28,5.77c14.21,0,25.72-11.45,25.72-25.57C395.77,271.77,384.26,260.32,370.05,260.32 M309.65,302
|
|
40
|
-
c-9.3,0-16.83-7.41-16.83-16.55s7.54-16.55,16.83-16.55c9.29,0,16.83,7.41,16.83,16.55C326.48,294.59,318.94,302,309.65,302
|
|
41
|
-
M309.65,260.11c-14.23,0-25.77,11.35-25.77,25.35c0,14,11.54,25.35,25.77,25.35c14.23,0,25.77-11.35,25.77-25.35
|
|
42
|
-
C335.42,271.46,323.89,260.11,309.65,260.11 M252.21,260.68c-5.2,0-10.22,1.67-14.39,4.76l-0.51,0.38v-34.59
|
|
43
|
-
c0-1.15-0.38-1.52-1.52-1.52h-6.14c-1.24,0-1.52,0.3-1.52,1.52v78.91c0,1.19,0.31,1.52,1.52,1.52h6.14c1.14,0,1.52-0.39,1.52-1.52
|
|
44
|
-
v-25.77c0.06-8.11,6.72-14.66,14.9-14.66c8.2,0,14.87,6.58,14.9,14.72v25.72c0,1.31,0.22,1.52,1.52,1.52h6.12
|
|
45
|
-
c1.3,0,1.52-0.22,1.52-1.52v-25.79C276.23,271.33,265.38,260.68,252.21,260.68 M166.66,297.34l-0.01,0.02
|
|
46
|
-
c-0.88,1.33-1.24,1.88-1.45,2.2c-0.69,1.03-0.6,1.49,0.45,2.38c2.46,1.98,5.62,4.07,7.75,5.11c5.93,2.9,12.34,4.44,19.14,4.57
|
|
47
|
-
c4.39,0.22,9.9-0.82,14-2.65c7.43-3.31,12.16-9.77,12.99-17.73c1.34-12.89-7.04-20.95-28.65-27.45l-0.01,0
|
|
48
|
-
c-10.07-3.25-14.8-7.56-14.8-13.59c0.3-6.66,6.47-11.64,14.8-11.95c6.71,0.02,12.64,1.8,18.47,5.55c1.23,0.75,1.8,0.61,2.62-0.46
|
|
49
|
-
c0.09-0.16,0.36-0.54,1.46-2.13l0-0.01c1.03-1.48,1.37-1.98,1.46-2.12c0.7-1.31,0.6-1.82-0.66-2.71c-1.24-0.89-4.73-2.7-6.72-3.5
|
|
50
|
-
c-5.55-2.21-11.28-3.29-16.99-3.18c-12.99,0.28-23.12,8.73-23.79,19.81c-0.42,8,3.64,14.44,12.13,19.2
|
|
51
|
-
c2.38,1.26,11.08,4.54,15.14,5.73c11.55,3.38,17.57,9.6,16.32,16.94c-1.13,6.67-8.12,11.1-17.92,11.41
|
|
52
|
-
c-7.11-0.15-14.27-2.75-20.49-7.43c-0.03-0.02-0.19-0.14-0.48-0.36c-0.41-0.3-0.41-0.3-0.47-0.35c-1.27-0.88-2.01-0.8-2.79,0.35
|
|
53
|
-
C168.1,295.15,167.13,296.62,166.66,297.34"/>
|
|
54
|
-
</g>
|
|
55
|
-
</svg>
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { computed } from 'vue'
|
|
3
|
-
import { useData } from 'vitepress'
|
|
4
|
-
import type { BannerConfig } from '../../types/theme-config'
|
|
5
|
-
|
|
6
|
-
// Import footer background images (reused for banner)
|
|
7
|
-
import viteBannerBg from '@assets/vite/footer-background.jpg'
|
|
8
|
-
import vitestBannerBg from '@assets/vitest/footer-background.jpg'
|
|
9
|
-
import rolldownBannerBg from '@assets/rolldown/footer-background.jpg'
|
|
10
|
-
import oxcBannerBg from '@assets/oxc/footer-background.jpg'
|
|
11
|
-
|
|
12
|
-
// Import variant icons (mono versions for banner)
|
|
13
|
-
import viteIcon from '@assets/icons/vite-mono.svg'
|
|
14
|
-
import vitestIcon from '@assets/icons/vitest-mono.svg'
|
|
15
|
-
import rolldownIcon from '@assets/icons/rolldown-mono.svg'
|
|
16
|
-
import oxcIcon from '@assets/icons/oxc-mono.svg'
|
|
17
|
-
|
|
18
|
-
const { theme, frontmatter } = useData()
|
|
19
|
-
|
|
20
|
-
// Check if we're on a marketing page (non-doc layout) - matches Header.vue logic
|
|
21
|
-
const isMarketingPage = computed(() => {
|
|
22
|
-
const layout = frontmatter.value.layout
|
|
23
|
-
return layout === 'home' || (layout && layout !== 'doc' && layout !== 'page')
|
|
24
|
-
})
|
|
25
|
-
|
|
26
|
-
// Background image mapping based on variant
|
|
27
|
-
const backgroundMap = {
|
|
28
|
-
vite: viteBannerBg,
|
|
29
|
-
vitest: vitestBannerBg,
|
|
30
|
-
rolldown: rolldownBannerBg,
|
|
31
|
-
oxc: oxcBannerBg,
|
|
32
|
-
} as const
|
|
33
|
-
|
|
34
|
-
// Icon mapping based on variant
|
|
35
|
-
const iconMap = {
|
|
36
|
-
vite: viteIcon,
|
|
37
|
-
vitest: vitestIcon,
|
|
38
|
-
rolldown: rolldownIcon,
|
|
39
|
-
oxc: oxcIcon,
|
|
40
|
-
} as const
|
|
41
|
-
|
|
42
|
-
type BannerVariant = keyof typeof backgroundMap
|
|
43
|
-
|
|
44
|
-
// Get banner configuration
|
|
45
|
-
const bannerConfig = computed<BannerConfig | undefined>(() => theme.value.banner)
|
|
46
|
-
|
|
47
|
-
// Get variant - use banner.variant if specified, otherwise fall back to theme variant
|
|
48
|
-
const bannerVariant = computed<BannerVariant>(() => {
|
|
49
|
-
if (bannerConfig.value?.variant) {
|
|
50
|
-
return bannerConfig.value.variant as BannerVariant
|
|
51
|
-
}
|
|
52
|
-
const themeVariant = theme.value.variant as string
|
|
53
|
-
if (themeVariant in backgroundMap) {
|
|
54
|
-
return themeVariant as BannerVariant
|
|
55
|
-
}
|
|
56
|
-
return 'vite'
|
|
57
|
-
})
|
|
58
|
-
|
|
59
|
-
// Only show if banner is configured
|
|
60
|
-
const showBanner = computed(() => {
|
|
61
|
-
return bannerConfig.value?.text && bannerConfig.value?.url
|
|
62
|
-
})
|
|
63
|
-
|
|
64
|
-
// Computed values for rendering
|
|
65
|
-
const backgroundImage = computed(() => backgroundMap[bannerVariant.value] || viteBannerBg)
|
|
66
|
-
const variantIcon = computed(() => iconMap[bannerVariant.value] || viteIcon)
|
|
67
|
-
const bannerText = computed(() => bannerConfig.value?.text || '')
|
|
68
|
-
const bannerUrl = computed(() => bannerConfig.value?.url || '#')
|
|
69
|
-
|
|
70
|
-
// Determine link target
|
|
71
|
-
const linkTarget = computed(() => {
|
|
72
|
-
if (bannerConfig.value?.target) {
|
|
73
|
-
return bannerConfig.value.target
|
|
74
|
-
}
|
|
75
|
-
// Default: external URLs open in new tab
|
|
76
|
-
const url = bannerConfig.value?.url || ''
|
|
77
|
-
return url.startsWith('http') ? '_blank' : '_self'
|
|
78
|
-
})
|
|
79
|
-
|
|
80
|
-
// Rel attribute for security
|
|
81
|
-
const linkRel = computed(() => {
|
|
82
|
-
return linkTarget.value === '_blank' ? 'noopener noreferrer' : undefined
|
|
83
|
-
})
|
|
84
|
-
</script>
|
|
85
|
-
|
|
86
|
-
<template>
|
|
87
|
-
<div v-if="showBanner" :class="isMarketingPage ? 'top-banner hidden md:block relative w-full overflow-hidden border-b border-white/10' : 'top-banner hidden md:block relative w-full overflow-hidden border-b border-white/10 lg:fixed lg:top-0 lg:left-0 lg:right-0 lg:z-60'" data-theme="dark">
|
|
88
|
-
<a
|
|
89
|
-
:href="bannerUrl"
|
|
90
|
-
:target="linkTarget"
|
|
91
|
-
:rel="linkRel"
|
|
92
|
-
class="group block relative w-full no-underline text-white"
|
|
93
|
-
>
|
|
94
|
-
<!-- Background image -->
|
|
95
|
-
<img
|
|
96
|
-
:src="backgroundImage"
|
|
97
|
-
alt=""
|
|
98
|
-
aria-hidden="true"
|
|
99
|
-
class="absolute inset-0 w-full h-full object-cover object-bottom z-0"
|
|
100
|
-
loading="eager"
|
|
101
|
-
/>
|
|
102
|
-
|
|
103
|
-
<!-- Content overlay -->
|
|
104
|
-
<div class="relative z-10 w-full h-10 flex px-4">
|
|
105
|
-
<div class="flex items-center gap-2 w-full max-w-360 mx-auto px-4">
|
|
106
|
-
<!-- Left: Variant icon -->
|
|
107
|
-
<img
|
|
108
|
-
:src="variantIcon"
|
|
109
|
-
:alt="`${bannerVariant} icon`"
|
|
110
|
-
class="w-5 h-5 shrink-0 hidden sm:block"
|
|
111
|
-
/>
|
|
112
|
-
|
|
113
|
-
<!-- Text -->
|
|
114
|
-
<span class="text-xs font-medium font-mono leading-snug tracking-wide uppercase whitespace-nowrap overflow-hidden text-ellipsis">
|
|
115
|
-
{{ bannerText }}
|
|
116
|
-
</span>
|
|
117
|
-
|
|
118
|
-
<!-- Arrow icon -->
|
|
119
|
-
<svg
|
|
120
|
-
class="shrink-0 transition-transform duration-200 group-hover:translate-x-1"
|
|
121
|
-
width="20"
|
|
122
|
-
height="20"
|
|
123
|
-
viewBox="0 0 20 20"
|
|
124
|
-
fill="none"
|
|
125
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
126
|
-
aria-hidden="true"
|
|
127
|
-
>
|
|
128
|
-
<rect width="20" height="20" rx="4" fill="#08060D"/>
|
|
129
|
-
<rect x="0.5" y="0.5" width="19" height="19" rx="3.5" stroke="white" stroke-opacity="0.15"/>
|
|
130
|
-
<path d="M10 6L14 10L10 14" stroke="white" stroke-width="1.2" stroke-linejoin="round"/>
|
|
131
|
-
<path d="M14 10L6 10" stroke="white" stroke-width="1.2" stroke-linejoin="round"/>
|
|
132
|
-
</svg>
|
|
133
|
-
</div>
|
|
134
|
-
</div>
|
|
135
|
-
</a>
|
|
136
|
-
</div>
|
|
137
|
-
</template>
|
|
138
|
-
|
|
139
|
-
<style>
|
|
140
|
-
/* Set CSS variable for banner height - only on md+ where banner is visible */
|
|
141
|
-
@media (min-width: 768px) {
|
|
142
|
-
.top-banner {
|
|
143
|
-
--vp-banner-height: 40px;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
:root:has(.top-banner) {
|
|
147
|
-
--vp-banner-height: 40px;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
</style>
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<template>
|
|
6
|
-
<div class="wrapper wrapper--ticks border-nickel border-t">
|
|
7
|
-
<div
|
|
8
|
-
class="flex flex-col-reverse md:grid lg:grid-cols-2 mx-0 md:mx-20 border-nickel md:border-l md:border-r">
|
|
9
|
-
|
|
10
|
-
<div class="flex flex-col">
|
|
11
|
-
<div class="relative aspect-[5/4] flex flex-col justify-center overflow-clip bg-feature-panel-1 p-10">
|
|
12
|
-
<img src="@assets/vite/vite-featurepanel-1-terminal.svg" alt="Terminal" class="w-full h-full object-contain" />
|
|
13
|
-
</div>
|
|
14
|
-
</div>
|
|
15
|
-
|
|
16
|
-
<div class="flex flex-col p-10 justify-between gap-5 md:gap-18">
|
|
17
|
-
<svg class="size-7" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
18
|
-
<path
|
|
19
|
-
d="M8.62814 12.6736H8.16918C6.68545 12.6736 5.94358 12.6736 5.62736 12.1844C5.31114 11.6953 5.61244 11.0138 6.21504 9.65083L8.02668 5.55323C8.57457 4.314 8.84852 3.69438 9.37997 3.34719C9.91142 3 10.5859 3 11.935 3H14.0244C15.6632 3 16.4826 3 16.7916 3.53535C17.1007 4.0707 16.6942 4.78588 15.8811 6.21623L14.8092 8.10188C14.405 8.81295 14.2029 9.16849 14.2057 9.45952C14.2094 9.83775 14.4105 10.1862 14.7354 10.377C14.9854 10.5239 15.3927 10.5239 16.2074 10.5239C17.2373 10.5239 17.7523 10.5239 18.0205 10.7022C18.3689 10.9338 18.5513 11.3482 18.4874 11.7632C18.4382 12.0826 18.0918 12.4656 17.399 13.2317L11.8639 19.3523C10.7767 20.5545 10.2331 21.1556 9.86807 20.9654C9.50303 20.7751 9.67833 19.9822 10.0289 18.3962L10.7157 15.2896C10.9826 14.082 11.1161 13.4782 10.7951 13.0759C10.4741 12.6736 9.85877 12.6736 8.62814 12.6736Z"
|
|
20
|
-
stroke="#AA3BFF" stroke-width="1.5" stroke-linejoin="round"/>
|
|
21
|
-
</svg>
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
<div class="flex flex-col max-w-[25rem] gap-3">
|
|
25
|
-
<h4 class="text-white text-pretty">Instant server start</h4>
|
|
26
|
-
<p class="text-white/70 text-lg max-w-[25rem] text-balance">On demand file serving over native ESM, no
|
|
27
|
-
bundling required!</p>
|
|
28
|
-
</div>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
</div>
|
|
32
|
-
</div>
|
|
33
|
-
</template>
|
|
34
|
-
|
|
35
|
-
<style scoped>
|
|
36
|
-
.bg-feature-panel-1 {
|
|
37
|
-
background-image: url('@assets/vite/vite-featurepanel-1-background.jpg');
|
|
38
|
-
background-size: cover;
|
|
39
|
-
background-position: center;
|
|
40
|
-
}
|
|
41
|
-
</style>
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<template>
|
|
6
|
-
<div class="wrapper wrapper--ticks border-nickel border-t">
|
|
7
|
-
<div
|
|
8
|
-
class="flex flex-col md:grid lg:grid-cols-2 mx-0 md:mx-20 border-nickel md:border-l md:border-r">
|
|
9
|
-
|
|
10
|
-
<div class="flex flex-col p-10 justify-between gap-5 md:gap-18">
|
|
11
|
-
<svg class="size-7" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
12
|
-
<path d="M17.25 3V10.5M21 6.75H13.5" stroke="#AA3BFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
13
|
-
<path d="M13.6903 19.4567C13.5 18.9973 13.5 18.4149 13.5 17.25C13.5 16.0851 13.5 15.5027 13.6903 15.0433C13.944 14.4307 14.4307 13.944 15.0433 13.6903C15.5027 13.5 16.0851 13.5 17.25 13.5C18.4149 13.5 18.9973 13.5 19.4567 13.6903C20.0693 13.944 20.556 14.4307 20.8097 15.0433C21 15.5027 21 16.0851 21 17.25C21 18.4149 21 18.9973 20.8097 19.4567C20.556 20.0693 20.0693 20.556 19.4567 20.8097C18.9973 21 18.4149 21 17.25 21C16.0851 21 15.5027 21 15.0433 20.8097C14.4307 20.556 13.944 20.0693 13.6903 19.4567Z" stroke="#AA3BFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
14
|
-
<path d="M3.1903 19.4567C3 18.9973 3 18.4149 3 17.25C3 16.0851 3 15.5027 3.1903 15.0433C3.44404 14.4307 3.93072 13.944 4.54329 13.6903C5.00272 13.5 5.58515 13.5 6.75 13.5C7.91485 13.5 8.49728 13.5 8.95671 13.6903C9.56928 13.944 10.056 14.4307 10.3097 15.0433C10.5 15.5027 10.5 16.0851 10.5 17.25C10.5 18.4149 10.5 18.9973 10.3097 19.4567C10.056 20.0693 9.56928 20.556 8.95671 20.8097C8.49728 21 7.91485 21 6.75 21C5.58515 21 5.00272 21 4.54329 20.8097C3.93072 20.556 3.44404 20.0693 3.1903 19.4567Z" stroke="#AA3BFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
15
|
-
<path d="M3.1903 8.95671C3 8.49728 3 7.91485 3 6.75C3 5.58515 3 5.00272 3.1903 4.54329C3.44404 3.93072 3.93072 3.44404 4.54329 3.1903C5.00272 3 5.58515 3 6.75 3C7.91485 3 8.49728 3 8.95671 3.1903C9.56928 3.44404 10.056 3.93072 10.3097 4.54329C10.5 5.00272 10.5 5.58515 10.5 6.75C10.5 7.91485 10.5 8.49728 10.3097 8.95671C10.056 9.56928 9.56928 10.056 8.95671 10.3097C8.49728 10.5 7.91485 10.5 6.75 10.5C5.58515 10.5 5.00272 10.5 4.54329 10.3097C3.93072 10.056 3.44404 9.56928 3.1903 8.95671Z" stroke="#AA3BFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
16
|
-
</svg>
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
<div class="flex flex-col max-w-[25rem] gap-3">
|
|
21
|
-
<h4 class="text-white text-pretty">Lightning fast HMR</h4>
|
|
22
|
-
<p class="text-white/70 text-lg max-w-[25rem] text-balance">Hot Module Replacement (HMR) that stays fast regardless of app size.</p>
|
|
23
|
-
</div>
|
|
24
|
-
</div>
|
|
25
|
-
|
|
26
|
-
<div class="flex flex-col">
|
|
27
|
-
<div class="relative flex flex-col justify-center overflow-clip">
|
|
28
|
-
<img src="@assets/vite/vite-featurepanel-2-terminal.png" alt="Terminal" class="w-full h-full" />
|
|
29
|
-
</div>
|
|
30
|
-
</div>
|
|
31
|
-
|
|
32
|
-
</div>
|
|
33
|
-
</div>
|
|
34
|
-
</template>
|
|
35
|
-
|
|
36
|
-
<style scoped>
|
|
37
|
-
</style>
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import RiveAnimation from "@components/shared/RiveAnimation.vue";
|
|
3
|
-
import viteAnimation from '@assets/vite/animations/563_x_420_rich_features.riv'
|
|
4
|
-
</script>
|
|
5
|
-
|
|
6
|
-
<template>
|
|
7
|
-
<div class="wrapper wrapper--ticks border-nickel border-t">
|
|
8
|
-
<div class="flex flex-col-reverse md:grid lg:grid-cols-2 mx-0 md:mx-20 border-nickel md:border-l md:border-r">
|
|
9
|
-
|
|
10
|
-
<div class="flex flex-col">
|
|
11
|
-
<div class="relative h-full flex flex-col justify-center overflow-clip">
|
|
12
|
-
<RiveAnimation
|
|
13
|
-
:desktop-src="viteAnimation"
|
|
14
|
-
:mobile-src="viteAnimation"
|
|
15
|
-
:desktop-width="563"
|
|
16
|
-
:desktop-height="420"
|
|
17
|
-
:mobile-width="563"
|
|
18
|
-
:mobile-height="420"
|
|
19
|
-
canvas-class="w-full"
|
|
20
|
-
/>
|
|
21
|
-
</div>
|
|
22
|
-
</div>
|
|
23
|
-
|
|
24
|
-
<div class="flex flex-col p-10 justify-between gap-5 md:gap-18">
|
|
25
|
-
<svg class="size-7" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
26
|
-
<path d="M8.64298 3.14559L6.93816 3.93362C4.31272 5.14719 3 5.75397 3 6.75C3 7.74603 4.31272 8.35281 6.93817 9.56638L8.64298 10.3544C10.2952 11.1181 11.1214 11.5 12 11.5C12.8786 11.5 13.7048 11.1181 15.357 10.3544L17.0618 9.56638C19.6873 8.35281 21 7.74603 21 6.75C21 5.75397 19.6873 5.14719 17.0618 3.93362L15.357 3.14559C13.7048 2.38186 12.8786 2 12 2C11.1214 2 10.2952 2.38186 8.64298 3.14559Z" stroke="#AA3BFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
27
|
-
<path d="M20.788 11.0972C20.9293 11.2959 21 11.5031 21 11.7309C21 12.7127 19.6873 13.3109 17.0618 14.5072L15.357 15.284C13.7048 16.0368 12.8786 16.4133 12 16.4133C11.1214 16.4133 10.2952 16.0368 8.64298 15.284L6.93817 14.5072C4.31272 13.3109 3 12.7127 3 11.7309C3 11.5031 3.07067 11.2959 3.212 11.0972" stroke="#AA3BFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
28
|
-
<path d="M20.3767 16.2661C20.7922 16.5971 21 16.927 21 17.3176C21 18.2995 19.6873 18.8976 17.0618 20.0939L15.357 20.8707C13.7048 21.6236 12.8786 22 12 22C11.1214 22 10.2952 21.6236 8.64298 20.8707L6.93817 20.0939C4.31272 18.8976 3 18.2995 3 17.3176C3 16.927 3.20778 16.5971 3.62334 16.2661" stroke="#AA3BFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
29
|
-
</svg>
|
|
30
|
-
|
|
31
|
-
<div class="flex flex-col max-w-[25rem] gap-3">
|
|
32
|
-
<h4 class="text-white text-pretty">Rich features</h4>
|
|
33
|
-
<p class="text-white/70 text-lg max-w-[25rem] text-balance">On demand file serving over native ESM, no bundling required!</p>
|
|
34
|
-
</div>
|
|
35
|
-
</div>
|
|
36
|
-
|
|
37
|
-
</div>
|
|
38
|
-
</div>
|
|
39
|
-
</template>
|
|
40
|
-
|
|
41
|
-
<style scoped>
|
|
42
|
-
|
|
43
|
-
</style>
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<template>
|
|
6
|
-
<div class="wrapper wrapper--ticks border-nickel border-t">
|
|
7
|
-
<div
|
|
8
|
-
class="flex flex-col md:grid lg:grid-cols-2 mx-0 md:mx-20 border-nickel md:border-l md:border-r">
|
|
9
|
-
|
|
10
|
-
<div class="flex flex-col p-10 justify-between gap-5 md:gap-18">
|
|
11
|
-
<svg class="size-7" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
12
|
-
<path
|
|
13
|
-
d="M16.2627 10.5H7.73725C5.15571 10.5 3.86494 10.5 3.27143 11.3526C2.67793 12.2052 3.11904 13.4258 4.00126 15.867L5.08545 18.867C5.54545 20.1398 5.77545 20.7763 6.2889 21.1381C6.80235 21.5 7.47538 21.5 8.82143 21.5H15.1786C16.5246 21.5 17.1976 21.5 17.7111 21.1381C18.2245 20.7763 18.4545 20.1398 18.9146 18.867L19.9987 15.867C20.881 13.4258 21.3221 12.2052 20.7286 11.3526C20.1351 10.5 18.8443 10.5 16.2627 10.5Z"
|
|
14
|
-
stroke="#AA3BFF" stroke-width="1.5" stroke-linecap="square"/>
|
|
15
|
-
<path
|
|
16
|
-
d="M19 8C19 7.53406 19 7.30109 18.9239 7.11732C18.8224 6.87229 18.6277 6.67761 18.3827 6.57612C18.1989 6.5 17.9659 6.5 17.5 6.5H6.5C6.03406 6.5 5.80109 6.5 5.61732 6.57612C5.37229 6.67761 5.17761 6.87229 5.07612 7.11732C5 7.30109 5 7.53406 5 8"
|
|
17
|
-
stroke="#AA3BFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
18
|
-
<path
|
|
19
|
-
d="M16.5 4C16.5 3.53406 16.5 3.30109 16.4239 3.11732C16.3224 2.87229 16.1277 2.67761 15.8827 2.57612C15.6989 2.5 15.4659 2.5 15 2.5H9C8.53406 2.5 8.30109 2.5 8.11732 2.57612C7.87229 2.67761 7.67761 2.87229 7.57612 3.11732C7.5 3.30109 7.5 3.53406 7.5 4"
|
|
20
|
-
stroke="#AA3BFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
21
|
-
</svg>
|
|
22
|
-
|
|
23
|
-
<div class="flex flex-col max-w-[25rem] gap-3">
|
|
24
|
-
<h4 class="text-white text-pretty">Optimized Build</h4>
|
|
25
|
-
<p class="text-white/70 text-lg max-w-[25rem] text-balance">Pre-configured Rollup build with multi-page and library mode support.</p>
|
|
26
|
-
</div>
|
|
27
|
-
</div>
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
<div class="flex flex-col">
|
|
31
|
-
<div class="relative aspect-[5/4] flex flex-col justify-center overflow-clip bg-feature-panel-1 p-10">
|
|
32
|
-
<img src="@assets/vite/vite-featurepanel-4-terminal.svg" alt="Terminal" class="w-full h-full object-contain"/>
|
|
33
|
-
</div>
|
|
34
|
-
</div>
|
|
35
|
-
|
|
36
|
-
</div>
|
|
37
|
-
</div>
|
|
38
|
-
</template>
|
|
39
|
-
|
|
40
|
-
<style scoped>
|
|
41
|
-
.bg-feature-panel-1 {
|
|
42
|
-
background-image: url('@assets/vite/vite-featurepanel-4-background.jpg');
|
|
43
|
-
background-size: cover;
|
|
44
|
-
background-position: center;
|
|
45
|
-
}
|
|
46
|
-
</style>
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<footer class="bg-primary" data-theme="dark">
|
|
3
|
-
<section class="wrapper">
|
|
4
|
-
<div class="w-full sm:w-2xl flex flex-col justify-start items-center gap-10 px-5 sm:px-0 py-10 md:py-30 mx-auto">
|
|
5
|
-
<h2 class="text-center text-white text-balance">Interested in the future of Javascript tooling?</h2>
|
|
6
|
-
<a href="https://viteplus.dev" target="_blank" rel="noopener noreferrer"
|
|
7
|
-
class="button button--primary button--white">
|
|
8
|
-
<img src="@assets/icons/viteplus-dark.svg" class="size-7" alt="Vite+ Logo">
|
|
9
|
-
<span>Explore Vite+</span>
|
|
10
|
-
</a>
|
|
11
|
-
</div>
|
|
12
|
-
<div class="w-full aspect-[4] md:aspect-[6.4] flex items-center justify-center relative">
|
|
13
|
-
<img src="@assets/voidzero/footer.jpg" alt="VoidZero" class="absolute inset-0 -z-0 w-full h-full object-cover">
|
|
14
|
-
<img src="@assets/voidzero/footer-logo.svg" alt="VoidZeroLogo" class="relative size-12 md:size-20">
|
|
15
|
-
</div>
|
|
16
|
-
<div class="px-5 md:px-24 pt-10 md:pt-16 pb-16 md:pb-40 flex flex-col md:flex-row gap-10 md:gap-0 md:justify-between">
|
|
17
|
-
<div class="flex flex-col md:flex-row gap-10 md:gap-20">
|
|
18
|
-
<div>
|
|
19
|
-
<p class="text-grey text-xs font-mono uppercase tracking-wide mb-8">Product</p>
|
|
20
|
-
<ul class="flex flex-col gap-3">
|
|
21
|
-
<li><a href="https://viteplus.dev/" target="_blank" rel="noopener noreferrer"
|
|
22
|
-
class="text-white text-base">Vite+</a></li>
|
|
23
|
-
</ul>
|
|
24
|
-
</div>
|
|
25
|
-
<div>
|
|
26
|
-
<p class="text-grey text-xs font-mono uppercase tracking-wide mb-8">OSS</p>
|
|
27
|
-
<ul class="flex flex-col gap-3">
|
|
28
|
-
<li><a href="https://vite.dev/" target="_blank" rel="noopener noreferrer" class="text-white text-base">Vite</a>
|
|
29
|
-
</li>
|
|
30
|
-
<li><a href="https://rolldown.rs/" target="_blank" rel="noopener noreferrer" class="text-white text-base">Rolldown</a>
|
|
31
|
-
</li>
|
|
32
|
-
<li><a href="https://vitest.dev/" target="_blank" rel="noopener noreferrer" class="text-white text-base">Vitest</a>
|
|
33
|
-
</li>
|
|
34
|
-
<li><a href="https://oxc.rs/" target="_blank" rel="noopener noreferrer"
|
|
35
|
-
class="text-white text-base">Oxc</a></li>
|
|
36
|
-
</ul>
|
|
37
|
-
</div>
|
|
38
|
-
<div>
|
|
39
|
-
<p class="text-grey text-xs font-mono uppercase tracking-wide mb-8">Company</p>
|
|
40
|
-
<ul class="flex flex-col gap-3">
|
|
41
|
-
<li><a href="https://voidzero.dev/resources" target="_blank" rel="noopener noreferrer"
|
|
42
|
-
class="text-white text-base">Blog</a></li>
|
|
43
|
-
<li><a href="https://voidzero.dev/about" target="_blank" rel="noopener noreferrer"
|
|
44
|
-
class="text-white text-base">About</a></li>
|
|
45
|
-
</ul>
|
|
46
|
-
</div>
|
|
47
|
-
</div>
|
|
48
|
-
<div>
|
|
49
|
-
<p class="text-grey text-xs font-mono uppercase tracking-wide mb-8">Social</p>
|
|
50
|
-
<ul class="flex flex-col gap-3">
|
|
51
|
-
<li><a href="https://github.com/voidzero-dev" target="_blank" rel="noopener noreferrer" class="text-white text-base flex gap-3 items-center">
|
|
52
|
-
<img src="@assets/social/github-light.svg" alt="GitHub" class="size-5"> GitHub</a></li>
|
|
53
|
-
<li><a href="https://bsky.app/profile/voidzero.dev" target="_blank" rel="noopener noreferrer" class="text-white text-base flex gap-3 items-center">
|
|
54
|
-
<img src="@assets/social/bluesky-light.svg" alt="Bluesky" class="size-5">Bluesky</a></li>
|
|
55
|
-
<li><a href="https://x.com/voidzerodev" target="_blank" rel="noopener noreferrer" class="text-white text-base flex gap-3 items-center">
|
|
56
|
-
<img src="@assets/social/twitter-light.svg" alt="Twitter" class="size-5">X.com</a></li>
|
|
57
|
-
</ul>
|
|
58
|
-
</div>
|
|
59
|
-
</div>
|
|
60
|
-
</section>
|
|
61
|
-
<section class="wrapper wrapper--ticks border-t py-5 px-5 md:px-24 flex flex-col md:flex-row gap-3 md:gap-0 justify-between items-start md:items-center">
|
|
62
|
-
<p class="text-sm">© {{ new Date().getFullYear() }} VoidZero Inc. <span class="hidden sm:inline ">All Rights Reserved.</span></p>
|
|
63
|
-
</section>
|
|
64
|
-
</footer>
|
|
65
|
-
</template>
|