Skip to content

Commit 61932e8

Browse files
committed
update Home
1 parent 6c13cd6 commit 61932e8

File tree

4 files changed

+225
-70
lines changed

4 files changed

+225
-70
lines changed

vix-site/src/components/Hero.vue

Lines changed: 89 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,21 @@
2828
</template>
2929
</div>
3030

31+
<div v-if="props.support" class="hero-support">
32+
<div class="hero-support-title">{{ props.support.title }}</div>
33+
34+
<div class="hero-support-text">{{ props.support.text }}</div>
35+
36+
<div v-if="props.support.meta?.length" class="hero-support-meta">
37+
<span class="meta-dot"></span>
38+
39+
<template v-for="(m, i) in props.support.meta" :key="i">
40+
<span>{{ m }}</span>
41+
<span v-if="i < props.support.meta.length - 1" class="sep">•</span>
42+
</template>
43+
</div>
44+
</div>
45+
3146
<div v-if="badges?.length" class="hero-badges">
3247
<span v-for="b in badges" :key="b" class="pill">{{ b }}</span>
3348
</div>
@@ -114,7 +129,10 @@ const props = defineProps({
114129
115130
ctas: { type: Array, default: () => [] },
116131
badges: { type: Array, default: () => [] },
117-
132+
support: {
133+
type: Object,
134+
default: null,
135+
},
118136
// [{ key, label, lang: "cpp"|"shell", file?, code }]
119137
examples: { type: Array, default: () => [] },
120138
@@ -479,6 +497,54 @@ async function copy(text) {
479497
gap: .45rem;
480498
}
481499
500+
.hero-support{
501+
margin-top: 0.95rem;
502+
padding: 0.85rem 0.95rem;
503+
border-radius: 14px;
504+
505+
border: 1px solid rgba(148,163,184,.18);
506+
background: linear-gradient(180deg, rgba(2,6,23,.28), rgba(2,6,23,.14));
507+
box-shadow: 0 12px 26px rgba(0,0,0,.22);
508+
max-width: 54ch;
509+
}
510+
511+
.hero-support-title{
512+
font-size: .86rem;
513+
font-weight: 800;
514+
letter-spacing: .01em;
515+
color: rgba(255,255,255,.92);
516+
margin: 0 0 .35rem;
517+
}
518+
519+
.hero-support-text{
520+
font-size: .92rem;
521+
line-height: 1.55;
522+
color: rgba(226,232,240,.82);
523+
margin: 0 0 .55rem;
524+
}
525+
526+
.hero-support-meta{
527+
display: flex;
528+
flex-wrap: wrap;
529+
align-items: center;
530+
gap: .45rem;
531+
font-size: .82rem;
532+
color: rgba(226,232,240,.72);
533+
}
534+
535+
.meta-dot{
536+
width: 8px;
537+
height: 8px;
538+
border-radius: 999px;
539+
background: rgba(34,197,154,.85);
540+
box-shadow: 0 0 0 3px rgba(34,197,154,.18);
541+
}
542+
543+
.sep{
544+
opacity: .5;
545+
}
546+
547+
482548
.dot-sep{
483549
opacity: .45;
484550
font-weight: 700;
@@ -731,6 +797,24 @@ async function copy(text) {
731797
flex-wrap: nowrap;
732798
}
733799
800+
.code-head{
801+
display: flex;
802+
align-items: center;
803+
justify-content: space-between;
804+
gap: 10px;
805+
min-width: 0; /* IMPORTANT */
806+
}
807+
808+
.head-scroll{
809+
min-width: 0; /* IMPORTANT */
810+
flex: 1 1 auto;
811+
}
812+
813+
.tabs{
814+
flex: 0 0 auto;
815+
max-width: 100%;
816+
}
817+
734818
.head-left,
735819
.head-right{
736820
flex-shrink: 0;
@@ -817,6 +901,10 @@ async function copy(text) {
817901
display: inline-block;
818902
min-width: 100%;
819903
}
904+
.code-body{
905+
height: 340px;
906+
overflow: auto;
907+
}
820908
821909
/* Scrollbars */
822910
.code-body::-webkit-scrollbar{ height: 8px; width: 10px; }

vix-site/src/data/home.js

Lines changed: 9 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ export const HOME = {
1313
},
1414
],
1515
badges: [],
16+
support: {
17+
title: "Production ready",
18+
meta: ["Native C++ binaries", "MIT licensed"],
19+
},
1620
examples: [
1721
{
1822
key: "http",
@@ -104,74 +108,15 @@ i Hint: Ctrl+C to stop`,
104108
],
105109
},
106110

107-
why: {
108-
title: "Why Vix exists",
109-
subtitle: "Most runtimes assume stable internet. That is not reality.",
110-
items: [
111-
{
112-
title: "Built for real conditions",
113-
text: "Designed for unstable networks, offline-first environments, edge deployments, and peer-to-peer systems.",
114-
},
115-
{
116-
title: "Predictable performance",
117-
text: "Native performance with control and consistency. No garbage collector pauses. No surprise overhead.",
118-
},
119-
{
120-
title: "Developer experience",
121-
text: "Clear errors, code frames, structured logs, and a CLI that behaves like a real tool.",
122-
},
123-
],
124-
},
125-
126-
proof: {
127-
title: "Trust, not hype",
128-
subtitle:
129-
"Built to be verifiable in behavior, performance, and distribution.",
130-
items: [
131-
{
132-
title: "Open-source",
133-
text: "Developed in the open with a source-first workflow.",
134-
},
135-
{
136-
title: "Reproducible",
137-
text: "Benchmarks and behavior are tied to commits and can be reproduced.",
138-
},
139-
{
140-
title: "Safe distribution",
141-
text: "Packaging and verification make delivery deterministic and secure.",
142-
},
143-
],
144-
},
145-
146111
batteries: {
147-
title: "What you get",
148-
subtitle:
149-
"Everything needed to build, run, and ship backend services in one system.",
112+
title: "What ships with Vix",
150113
items: [
114+
{ title: "Native runtime", text: "Compiled C++ binaries. No VM. No GC." },
151115
{
152-
title: "Unified CLI",
153-
text: "One workflow covering new, build, run, dev, check, tests, pack, verify, and registry.",
154-
},
155-
{
156-
title: "Script mode",
157-
text: "Run a single C++ file like a script using vix run file.cpp.",
158-
},
159-
{
160-
title: "HTTP and WebSocket runtime",
161-
text: "Build APIs and realtime systems with a shared execution model.",
162-
},
163-
{
164-
title: "Middleware pipeline",
165-
text: "Composable request handling with deterministic control flow.",
166-
},
167-
{
168-
title: "Packaging and verification",
169-
text: "Create distributable artifacts and verify them before installation.",
170-
},
171-
{
172-
title: "Registry workflow",
173-
text: "Discover, add, and publish reusable C++ libraries with an offline-friendly flow.",
116+
title: "HTTP + WebSocket",
117+
text: "One execution model for APIs and realtime.",
174118
},
119+
{ title: "CLI workflow", text: "build, run, dev, pack, verify." },
175120
],
176121
},
177122

vix-site/src/pages/Home.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ const _debugHomeKeys = HOME && typeof HOME === "object" ? Object.keys(HOME) : []
4141
:ctas="HOME.hero.ctas"
4242
:badges="HOME.hero.badges"
4343
:examples="HOME.hero.examples"
44+
:support="HOME.hero.support"
4445
/>
4546
4647
<!-- WORKFLOW -->

0 commit comments

Comments
 (0)