@voidzero-dev/vitepress-theme 3.2.0 → 3.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 +3 -11
- package/src/assets/oxc/footer-background.jpg +0 -0
- package/src/assets/oxc/oxc-feature-background.jpg +0 -0
- package/src/assets/oxc/oxc-formatter-terminal.png +0 -0
- package/src/assets/rolldown/footer-background.jpg +0 -0
- package/src/assets/rolldown/hero-background.jpg +0 -0
- package/src/assets/rolldown/rolldown-esbuild-parity.png +0 -0
- package/src/assets/rolldown/rolldown-rollup-background.jpg +0 -0
- package/src/assets/vite/footer-background.jpg +0 -0
- package/src/assets/vite/vite-featurepanel-1-background.jpg +0 -0
- package/src/assets/vite/vite-featurepanel-4-background.jpg +0 -0
- package/src/assets/vite/vite-frameworks-mobile.png +0 -0
- package/src/assets/vite/vite-frameworks.png +0 -0
- package/src/assets/vite/vite-ssr-support.png +0 -0
- package/src/assets/vitest/footer-background.jpg +0 -0
- package/src/assets/vitest/hero-background.jpg +0 -0
- package/src/assets/vitest/hero-terminal.png +0 -0
- package/src/assets/vitest/vitest-jest-compatible.png +0 -0
- package/src/assets/vitest/vitest-watcher-background.jpg +0 -0
- package/src/components/vitepress-default/Layout.vue +93 -45
- package/src/styles/base.css +9 -0
- package/src/assets/vitest/hero-terminal.svg +0 -44
- package/src/assets/voidzero/animations/1280_x_552_homepage.riv +0 -0
- package/src/assets/voidzero/animations/343_x_148_homepage_mobile.riv +0 -0
- package/src/assets/voidzero/animations/480_x_480_build_tool_for_web.riv +0 -0
- package/src/assets/voidzero/animations/480_x_480_fastest_javascript_bundler.riv +0 -0
- package/src/assets/voidzero/animations/480_x_480_language_toolchain.riv +0 -0
- package/src/assets/voidzero/animations/480_x_480_next_generation_runner.riv +0 -0
- package/src/assets/voidzero/animations/about-mobile.riv +0 -0
- package/src/assets/voidzero/animations/about.riv +0 -0
- package/src/assets/voidzero/backgrounds/casestudies.jpg +0 -0
- package/src/assets/voidzero/backgrounds/oxc.jpg +0 -0
- package/src/assets/voidzero/backgrounds/rolldown.jpg +0 -0
- package/src/assets/voidzero/backgrounds/vite.jpg +0 -0
- package/src/assets/voidzero/backgrounds/vitest.jpg +0 -0
- package/src/assets/voidzero/career-illustration.jpg +0 -0
- package/src/assets/voidzero/footer-logo.svg +0 -5
- package/src/assets/voidzero/footer.jpg +0 -0
- package/src/assets/voidzero/investors/accel.svg +0 -9
- package/src/assets/voidzero/investors/amplify.svg +0 -3
- package/src/assets/voidzero/investors/peakxv.png +0 -0
- package/src/assets/voidzero/investors/resend.svg +0 -3
- package/src/assets/voidzero/investors/sentry.svg +0 -10
- package/src/assets/voidzero/investors/sunflower.png +0 -0
- package/src/assets/voidzero/logo-light.svg +0 -3
- package/src/assets/voidzero/logo.svg +0 -3
- package/src/assets/voidzero/signature.svg +0 -11
- package/src/assets/voidzero/terminals/rolldown.svg +0 -7
- package/src/assets/voidzero/terminals/vite.svg +0 -9
- package/src/assets/voidzero/terminals/vitest.svg +0 -49
- package/src/assets/voidzero/vite-plus-chip.png +0 -0
- package/src/components/oxc/FeatureFormatter.vue +0 -30
- package/src/components/oxc/FeatureLinter.vue +0 -31
- package/src/components/oxc/FeatureMinifier.vue +0 -26
- package/src/components/oxc/FeatureParser.vue +0 -57
- package/src/components/oxc/FeatureResolver.vue +0 -29
- package/src/components/oxc/FeatureToolbar.vue +0 -195
- package/src/components/oxc/FeatureTransformer.vue +0 -36
- package/src/components/oxc/Hero.vue +0 -37
- package/src/components/rolldown/FeatureGrid.vue +0 -94
- package/src/components/rolldown/Hero.vue +0 -57
- package/src/components/vite/Community.vue +0 -192
- package/src/components/vite/FeatureGrid1.vue +0 -66
- package/src/components/vite/FeatureGrid2.vue +0 -55
- package/src/components/vite/Frameworks.vue +0 -14
- package/src/components/vite/Hero.vue +0 -48
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import githubIcon from '@assets/social/github-light.svg'
|
|
3
|
-
|
|
4
|
-
interface Testimonial {
|
|
5
|
-
name: string
|
|
6
|
-
handle: string
|
|
7
|
-
avatar: string
|
|
8
|
-
comment: string[]
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
const testimonials: Testimonial[] = [
|
|
12
|
-
{
|
|
13
|
-
name: 'Ryan Carniato',
|
|
14
|
-
handle: '@RyanCarniato',
|
|
15
|
-
avatar: 'https://pbs.twimg.com/profile_images/1810837163447308292/8Piov0f6_400x400.jpg',
|
|
16
|
-
comment: [
|
|
17
|
-
`I'm loving what Vite enables. We've found building SolidStart that it is less a metaframework but a system of symbiotic Vite plugins. While built with SolidJS in mind, they should scale from our simplest template to opinionated starter. We're building an ecosystem on Vite.`,
|
|
18
|
-
],
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
name: 'Rich Harris',
|
|
22
|
-
handle: '@Rich_Harris',
|
|
23
|
-
avatar: 'https://pbs.twimg.com/profile_images/557940120184041473/bFyXy8Pu_400x400.jpeg',
|
|
24
|
-
comment: [
|
|
25
|
-
`Vite is basically the united nations of JavaScript at this point. I'll be there as a representative of Sveltelandia`,
|
|
26
|
-
],
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
name: 'David East',
|
|
30
|
-
handle: '@_davideast',
|
|
31
|
-
avatar: 'https://pbs.twimg.com/profile_images/1691627325794725888/voQFcYjY_400x400.jpg',
|
|
32
|
-
comment: [
|
|
33
|
-
'Each and every time I use Vite, I feel a true sense of pure and unbridled joy.',
|
|
34
|
-
],
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
name: 'Mark Dalgleish',
|
|
38
|
-
handle: '@markdalgleish',
|
|
39
|
-
avatar: 'https://pbs.twimg.com/profile_images/754886061872979968/BzaOWhs1_400x400.jpg',
|
|
40
|
-
comment: [
|
|
41
|
-
`It's also a great platform to build a framework on since it provides a pluggable dev environment.`,
|
|
42
|
-
`Community is amazing too.`,
|
|
43
|
-
],
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
name: 'Jason Miller',
|
|
47
|
-
handle: '@_developit',
|
|
48
|
-
avatar: 'https://pbs.twimg.com/profile_images/1374778373239681025/Sc9ehtAr_400x400.jpg',
|
|
49
|
-
comment: [
|
|
50
|
-
`Every time I suspect I've hit the bounds of what Vite can do, I end up being wrong.`,
|
|
51
|
-
],
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
name: 'David Cramer',
|
|
55
|
-
handle: '@zeeg',
|
|
56
|
-
avatar: 'https://pbs.twimg.com/profile_images/1911613315765133312/HVkULegC_400x400.jpg',
|
|
57
|
-
comment: ['Vite has been a game changer for the industry.'],
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'Dion Almaer',
|
|
61
|
-
handle: '@dalmaer',
|
|
62
|
-
avatar: 'https://pbs.twimg.com/profile_images/3380865881/f73b3687ff39b795db05fcaf35972270_400x400.jpeg',
|
|
63
|
-
comment: [
|
|
64
|
-
'I am so excited to see so many great frameworks teaming up on top of vite. So many will benefit. ❤️ to the vite team.',
|
|
65
|
-
],
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
name: 'Christoph Nakazawa',
|
|
69
|
-
handle: '@cpojer',
|
|
70
|
-
avatar: 'https://pbs.twimg.com/profile_images/1910252462126313472/gXgT-jxL_400x400.jpg',
|
|
71
|
-
comment: ['Vite is gonna eat the (JavaScript) world.'],
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
name: 'Nikolaj',
|
|
75
|
-
handle: '@lopugit',
|
|
76
|
-
avatar: 'https://avatars.githubusercontent.com/u/13629190?v=4',
|
|
77
|
-
comment: [
|
|
78
|
-
'Wow, wow, wow, wow, wow, wow, Vite is..... Vite is.... Wow 🤤🤯🙏',
|
|
79
|
-
],
|
|
80
|
-
},
|
|
81
|
-
]
|
|
82
|
-
</script>
|
|
83
|
-
|
|
84
|
-
<template>
|
|
85
|
-
<div class="wrapper wrapper--ticks border-t pt-14 sm:pt-30 px-5 sm:px-10">
|
|
86
|
-
<div class="flex flex-col sm:flex-row justify-between items-center gap-8 sm:gap-20 text-center sm:text-left">
|
|
87
|
-
<div class="flex flex-col gap-3">
|
|
88
|
-
<h3 class="text-white max-w-xl text-balance">Loved by the community</h3>
|
|
89
|
-
<p class="max-w-md text-white/70 text-balance">Don't take our word for it - listen to what Vite
|
|
90
|
-
community members have to say.</p>
|
|
91
|
-
</div>
|
|
92
|
-
<div class="flex gap-8 sm:gap-12 items-start justify-center sm:justify-start sm:pr-20">
|
|
93
|
-
<!-- GitHub Stars -->
|
|
94
|
-
<div class="flex flex-col gap-3">
|
|
95
|
-
<h2 class="text-white">75k+</h2>
|
|
96
|
-
<p class="text-grey flex items-center gap-2">
|
|
97
|
-
<img :src="githubIcon" alt="" class="size-6" />
|
|
98
|
-
Github Stars
|
|
99
|
-
</p>
|
|
100
|
-
</div>
|
|
101
|
-
|
|
102
|
-
<!-- NPM Downloads -->
|
|
103
|
-
<div class="flex flex-col gap-3">
|
|
104
|
-
<h2 class="text-white">40m+</h2>
|
|
105
|
-
<p class="text-grey">Weekly NPM downloads</p>
|
|
106
|
-
</div>
|
|
107
|
-
</div>
|
|
108
|
-
</div>
|
|
109
|
-
<div class="pt-14 sm:pt-30 h-[50rem] overflow-clip [mask-image:linear-gradient(to_bottom,black_70%,transparent_100%)]">
|
|
110
|
-
<!-- Masonry Grid -->
|
|
111
|
-
<div class="columns-1 sm:columns-2 lg:columns-3 gap-5">
|
|
112
|
-
<div
|
|
113
|
-
v-for="(testimonial, index) in testimonials"
|
|
114
|
-
:key="index"
|
|
115
|
-
class="break-inside-avoid mb-5"
|
|
116
|
-
>
|
|
117
|
-
<div
|
|
118
|
-
class="testimonial-card relative overflow-clip isolate rounded-lg p-6 sm:px-8 sm:py-10 flex flex-col gap-6
|
|
119
|
-
before:content-[''] before:absolute before:inset-0 before:opacity-0 before:z-0 before:pointer-events-none before:transition-opacity before:duration-100 before:ease-in-out
|
|
120
|
-
after:content-[''] after:absolute after:inset-px after:z-[1] after:rounded-lg after:bg-slate after:border after:border-nickel after:transition-[border-color,background] after:duration-100 after:ease-in-out
|
|
121
|
-
hover:before:opacity-100 hover:after:border-transparent"
|
|
122
|
-
>
|
|
123
|
-
<!-- Comment -->
|
|
124
|
-
<div class="relative z-[2] flex flex-col gap-4">
|
|
125
|
-
<p v-for="(paragraph, pIndex) in testimonial.comment" :key="pIndex" class="text-white/70 leading-relaxed text-sm sm:text-base">
|
|
126
|
-
{{ paragraph }}
|
|
127
|
-
</p>
|
|
128
|
-
</div>
|
|
129
|
-
|
|
130
|
-
<!-- Author -->
|
|
131
|
-
<div class="relative z-[2] flex items-center gap-5 mt-auto">
|
|
132
|
-
<!-- Avatar -->
|
|
133
|
-
<img :src="testimonial.avatar" :alt="testimonial.name" class="w-12 h-12 rounded-sm object-cover flex-shrink-0" />
|
|
134
|
-
|
|
135
|
-
<!-- Author info -->
|
|
136
|
-
<div class="flex flex-col">
|
|
137
|
-
<span class="text-grey text-sm font-mono">{{ testimonial.name }}</span>
|
|
138
|
-
<span class="text-biege text-sm font-mono">{{ testimonial.handle }}</span>
|
|
139
|
-
</div>
|
|
140
|
-
</div>
|
|
141
|
-
</div>
|
|
142
|
-
</div>
|
|
143
|
-
</div>
|
|
144
|
-
</div>
|
|
145
|
-
</div>
|
|
146
|
-
</template>
|
|
147
|
-
|
|
148
|
-
<style scoped>
|
|
149
|
-
/* Background image and animation for ::before pseudo-element */
|
|
150
|
-
.testimonial-card::before {
|
|
151
|
-
background-image: url('@assets/vite/vite-featurepanel-4-background.jpg');
|
|
152
|
-
background-size: 150% 150%;
|
|
153
|
-
background-position: center;
|
|
154
|
-
animation: move-background 16s ease-in-out infinite;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
/* Randomize animation timing for organic feel */
|
|
158
|
-
.testimonial-card:nth-child(2)::before {
|
|
159
|
-
animation-duration: 18s;
|
|
160
|
-
animation-delay: -3s;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
.testimonial-card:nth-child(3)::before {
|
|
164
|
-
animation-duration: 14s;
|
|
165
|
-
animation-delay: -7s;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
.testimonial-card:nth-child(4)::before {
|
|
169
|
-
animation-duration: 20s;
|
|
170
|
-
animation-delay: -5s;
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
.testimonial-card:nth-child(5)::before {
|
|
174
|
-
animation-duration: 15s;
|
|
175
|
-
animation-delay: -9s;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
.testimonial-card:nth-child(6)::before {
|
|
179
|
-
animation-duration: 19s;
|
|
180
|
-
animation-delay: -2s;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
.testimonial-card:nth-child(7)::before {
|
|
184
|
-
animation-duration: 17s;
|
|
185
|
-
animation-delay: -11s;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
.testimonial-card:nth-child(8)::before {
|
|
189
|
-
animation-duration: 16s;
|
|
190
|
-
animation-delay: -6s;
|
|
191
|
-
}
|
|
192
|
-
</style>
|
|
@@ -1,66 +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
|
-
<section class="wrapper wrapper--ticks border-t grid lg:grid-cols-2 divide-x divide-y divide-nickel">
|
|
8
|
-
<div class="flex flex-col gap-3 justify-between">
|
|
9
|
-
<div class="p-5 sm:p-10 flex flex-col gap-3">
|
|
10
|
-
<h5 class="text-balance sm:text-pretty text-white">Instant Server Start</h5>
|
|
11
|
-
<p class="sm:max-w-[28rem] text-pretty">On demand source file serving over
|
|
12
|
-
native ESM, with blazing fast
|
|
13
|
-
dependency pre-bundling.</p>
|
|
14
|
-
</div>
|
|
15
|
-
<div class="card-bg1 p-10 sm:p-15 flex justify-center">
|
|
16
|
-
<img src="@assets/vite/vite-featurepanel-1-terminal.svg" alt="Terminal" inert loading="lazy" />
|
|
17
|
-
</div>
|
|
18
|
-
</div>
|
|
19
|
-
|
|
20
|
-
<div class="flex flex-col gap-3 justify-between border-r-0">
|
|
21
|
-
<div class="p-5 sm:p-10 flex flex-col gap-3">
|
|
22
|
-
<h5 class="text-white">Lightning Fast HMR</h5>
|
|
23
|
-
<p class="max-w-[26rem] text-pretty">Instantly reflect changes as you save, no matter how
|
|
24
|
-
big your app is.</p>
|
|
25
|
-
</div>
|
|
26
|
-
<div class="flex justify-end">
|
|
27
|
-
<img src="@assets/vite/vite-featurepanel-2-terminal.png" class="md:max-w-[80%]" inert loading="lazy"
|
|
28
|
-
alt="lightning fast hot module replacement">
|
|
29
|
-
</div>
|
|
30
|
-
</div>
|
|
31
|
-
|
|
32
|
-
<div class="p-5 sm:p-10 pb-0 sm:pb-0 flex flex-col gap-3 lg:border-b-0">
|
|
33
|
-
<h5 class="text-white">Rich Features Out of the Box</h5>
|
|
34
|
-
<p class="sm:max-w-[28rem] text-pretty">TypeScript, JSX, CSS, Workers, Web
|
|
35
|
-
Assembly... and more with just a plugin away.</p>
|
|
36
|
-
<RiveAnimation :desktop-src="viteAnimation" :mobile-src="viteAnimation" :desktop-width="563" :desktop-height="300"
|
|
37
|
-
:mobile-width="563" :mobile-height="420" canvas-class="w-full" />
|
|
38
|
-
</div>
|
|
39
|
-
|
|
40
|
-
<div class="flex flex-col gap-3 justify-between border-r-0 border-b-0">
|
|
41
|
-
<div class="p-5 sm:p-10 flex flex-col gap-3">
|
|
42
|
-
<h5 class="text-white">Optimized Build</h5>
|
|
43
|
-
<p class="max-w-[25rem] text-pretty">Advanced tree-shaking, built-in
|
|
44
|
-
minification, fine-grained chunking control
|
|
45
|
-
powered by Rolldown.</p>
|
|
46
|
-
</div>
|
|
47
|
-
<div class="card-bg p-10 sm:p-15 flex justify-center">
|
|
48
|
-
<img src="@assets/vite/vite-featurepanel-4-terminal.svg" inert loading="lazy" alt="optimized build">
|
|
49
|
-
</div>
|
|
50
|
-
</div>
|
|
51
|
-
</section>
|
|
52
|
-
</template>
|
|
53
|
-
|
|
54
|
-
<style scoped>
|
|
55
|
-
.card-bg1 {
|
|
56
|
-
background-image: url('@assets/vite/vite-featurepanel-1-background.jpg');
|
|
57
|
-
background-size: cover;
|
|
58
|
-
background-position: center;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
.card-bg {
|
|
62
|
-
background-image: url('@assets/vite/vite-featurepanel-4-background.jpg');
|
|
63
|
-
background-size: cover;
|
|
64
|
-
background-position: center;
|
|
65
|
-
}
|
|
66
|
-
</style>
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import RiveAnimation from "@components/shared/RiveAnimation.vue";
|
|
3
|
-
import flexiblePluginAnimation from '@assets/vite/animations/640_x_300_flexible_plugin.riv'
|
|
4
|
-
</script>
|
|
5
|
-
|
|
6
|
-
<template>
|
|
7
|
-
<section class="wrapper wrapper--ticks border-t grid lg:grid-cols-2 divide-x divide-y divide-nickel">
|
|
8
|
-
<div class="p-5 sm:p-10 flex flex-col gap-3">
|
|
9
|
-
<h5 class="text-balance sm:text-pretty text-white">Flexible Plugin System</h5>
|
|
10
|
-
<p class="sm:max-w-[28rem] text-pretty">Vite plugins extends Rollup's
|
|
11
|
-
well-designed plugin interface with a few
|
|
12
|
-
extra Vite-specific options.</p>
|
|
13
|
-
<RiveAnimation :desktop-src="flexiblePluginAnimation" :desktop-width="640" :desktop-height="300"
|
|
14
|
-
canvas-class="w-[calc(100%_+_2.5rem)] mt-5 -mx-5" />
|
|
15
|
-
</div>
|
|
16
|
-
|
|
17
|
-
<div class="flex flex-col gap-3 border-r-0 justify-between">
|
|
18
|
-
<div class="p-5 sm:p-10 flex flex-col gap-3">
|
|
19
|
-
<h5 class="text-white">Fully Typed API</h5>
|
|
20
|
-
<p class="max-w-[26rem] text-pretty">Designed to be built on top of.</p>
|
|
21
|
-
</div>
|
|
22
|
-
<div class="card-bg p-5 sm:p-10 flex justify-center">
|
|
23
|
-
<img src="@assets/vite/vite-typed-api.svg" inert loading="lazy" alt="typed api">
|
|
24
|
-
</div>
|
|
25
|
-
</div>
|
|
26
|
-
|
|
27
|
-
<div class="p-5 sm:p-10 flex flex-col gap-3 lg:border-b-0">
|
|
28
|
-
<h5 class="text-white">First class SSR Support</h5>
|
|
29
|
-
<p class="sm:max-w-[28rem] text-pretty mb-12 sm:mb-16">It's never been easier to
|
|
30
|
-
setup custom SSR (Server-Side
|
|
31
|
-
Rendering), or build your own SSR framework.</p>
|
|
32
|
-
<img src="@assets/vite/vite-ssr-support.png" alt="SSR Support" loading="lazy" class="w-full px-5">
|
|
33
|
-
</div>
|
|
34
|
-
|
|
35
|
-
<div class="flex flex-col gap-3 justify-between">
|
|
36
|
-
<div class="p-5 sm:p-10 flex flex-col gap-3">
|
|
37
|
-
<h5 class="text-white">Continuous ecosystem integration</h5>
|
|
38
|
-
<p class="max-w-[25rem] text-pretty">Our CI continuously tests Vite changes
|
|
39
|
-
against downstream projects,
|
|
40
|
-
allowing us to improve Vite with stability and confidence.</p>
|
|
41
|
-
</div>
|
|
42
|
-
<div class="px-5 sm:px-10 flex justify-center">
|
|
43
|
-
<img src="@assets/vite/vite-ci.svg" inert loading="lazy" alt="continuous ecosystem integration">
|
|
44
|
-
</div>
|
|
45
|
-
</div>
|
|
46
|
-
</section>
|
|
47
|
-
</template>
|
|
48
|
-
|
|
49
|
-
<style scoped>
|
|
50
|
-
.card-bg {
|
|
51
|
-
background-image: url('@assets/vite/vite-featurepanel-4-background.jpg');
|
|
52
|
-
background-size: cover;
|
|
53
|
-
background-position: center;
|
|
54
|
-
}
|
|
55
|
-
</style>
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<template>
|
|
6
|
-
<section class="wrapper wrapper--ticks border-t py-8 sm:py-16 px-5 sm:px-10">
|
|
7
|
-
<img src="@assets/vite/vite-frameworks-mobile.png" alt="Frameworks powered by Vite" loading="lazy" class="w-full block sm:hidden">
|
|
8
|
-
<img src="@assets/vite/vite-frameworks.png" alt="Frameworks powered by Vite" loading="lazy" class="w-full hidden sm:block">
|
|
9
|
-
</section>
|
|
10
|
-
</template>
|
|
11
|
-
|
|
12
|
-
<style scoped>
|
|
13
|
-
|
|
14
|
-
</style>
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import RiveAnimation from "@components/shared/RiveAnimation.vue";
|
|
3
|
-
import CodeGroup from "@components/shared/CodeGroup.vue";
|
|
4
|
-
|
|
5
|
-
import viteAnimation from '@assets/vite/animations/641_x_629_vite_masthead.riv'
|
|
6
|
-
|
|
7
|
-
const installTabs = [
|
|
8
|
-
{ label: 'npm', code: '$ npm create vite@latest' },
|
|
9
|
-
{ label: 'Yarn', code: '$ yarn create vite' },
|
|
10
|
-
{ label: 'pnpm', code: '$ pnpm create vite' },
|
|
11
|
-
{ label: 'Bun', code: '$ bun create vite' },
|
|
12
|
-
{ label: 'Deno', code: '$ deno init --npm vite' }
|
|
13
|
-
]
|
|
14
|
-
</script>
|
|
15
|
-
|
|
16
|
-
<template>
|
|
17
|
-
<div class="wrapper wrapper--ticks grid md:grid-cols-2 w-full border-nickel md:divide-x">
|
|
18
|
-
<div class="flex flex-col p-10 justify-between gap-20 items-center md:items-start">
|
|
19
|
-
<div class="flex flex-col gap-5 items-center md:items-start text-center md:text-left">
|
|
20
|
-
<a class="flex items-center gap-2" href="https://voidzero.dev" target="_blank">
|
|
21
|
-
<span class="text-grey text-xs font-mono uppercase tracking-wide">By</span>
|
|
22
|
-
<img src="@assets/logos/voidzero-light.svg" alt="VoidZero" class="h-2.5">
|
|
23
|
-
</a>
|
|
24
|
-
<h1 class="text-white text-pretty max-w-[25rem]">The Build Tool for the Web</h1>
|
|
25
|
-
<p class="text-white/70 md:text-lg max-w-[27rem] text-pretty">Vite is a blazing fast frontend build tool
|
|
26
|
-
powering
|
|
27
|
-
the next generation of web applications.</p>
|
|
28
|
-
<div class="flex items-center gap-5 mt-8">
|
|
29
|
-
<a href="/guide/" class="button button--primary inline-block w-fit">
|
|
30
|
-
Get Started
|
|
31
|
-
</a>
|
|
32
|
-
<a href="https://github.com/vitejs/vite" target="_blank" rel="noopener noreferrer"
|
|
33
|
-
class="button inline-block w-fit">
|
|
34
|
-
View on GitHub
|
|
35
|
-
</a>
|
|
36
|
-
</div>
|
|
37
|
-
</div>
|
|
38
|
-
<CodeGroup :tabs="installTabs" class="hidden md:block w-full"
|
|
39
|
-
style="--vp-code-tab-bg:var(--color-slate);--vp-code-block-bg:var(--color-slate);--vp-code-tab-divider:#000" />
|
|
40
|
-
</div>
|
|
41
|
-
<div class="flex flex-col min-h-[22rem] sm:min-h-[30rem]">
|
|
42
|
-
<div class="relative px-10 h-full flex flex-col justify-center overflow-clip py-10 sm:py-0">
|
|
43
|
-
<RiveAnimation :desktop-src="viteAnimation" :mobile-src="viteAnimation" :desktop-width="641"
|
|
44
|
-
:desktop-height="629" :mobile-width="641" :mobile-height="629" canvas-class="w-full" />
|
|
45
|
-
</div>
|
|
46
|
-
</div>
|
|
47
|
-
</div>
|
|
48
|
-
</template>
|