Skip to content

Commit 8a8f0f1

Browse files
btraversclaude
andcommitted
feat(website): move AI + Inspirations after the packages, drop 'betterave'
Lead with the packages (the core of btravstack) — the 'In the age of AI' and 'Inspirations' sections now follow them rather than preceding them. Nav reordered to match (Philosophy · Projects · Why now). Remove the 'betterave 🇫🇷' tag from the footer (landing + config copyright). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent b8ed7a1 commit 8a8f0f1

2 files changed

Lines changed: 30 additions & 30 deletions

File tree

apps/website/.vitepress/config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ export default defineConfig({
153153
socialLinks: [{ icon: "github", link: "https://github.com/btravstack" }],
154154
footer: {
155155
message: "Type-safe building blocks for the TypeScript backend. Released under the MIT License.",
156-
copyright: "© 2026 Benoit Travers · betterave 🇫🇷",
156+
copyright: "© 2026 Benoit Travers",
157157
},
158158
search: { provider: "local" },
159159
},

apps/website/.vitepress/theme/Landing.vue

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@ onMounted(() => {
114114
</a>
115115
<nav class="btv-nav">
116116
<a class="navlink nav-hide" href="#philosophy">Philosophy</a>
117-
<a class="navlink nav-hide" href="#ai">Why now</a>
118-
<a class="navlink nav-hide" href="#projects" style="margin-right:6px">Projects</a>
117+
<a class="navlink nav-hide" href="#projects">Projects</a>
118+
<a class="navlink nav-hide" href="#ai" style="margin-right:6px">Why now</a>
119119
<ClientOnly>
120120
<button type="button" class="btv-toggle" :title="isDark ? 'Switch to light' : 'Switch to dark'" :aria-label="isDark ? 'Switch to light theme' : 'Switch to dark theme'" :aria-pressed="isDark" @click="toggleAppearance">
121121
<svg v-if="isDark" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="4.2"/><path d="M12 2.5v2M12 19.5v2M4.8 4.8l1.4 1.4M17.8 17.8l1.4 1.4M2.5 12h2M19.5 12h2M4.8 19.2 6.2 17.8M17.8 6.2 19.2 4.8"/></svg>
@@ -165,32 +165,6 @@ onMounted(() => {
165165
</div>
166166
</section>
167167

168-
<section id="ai" class="btv-section btv-ai">
169-
<div class="btv-ai-panel">
170-
<p class="btv-eyebrow">In the age of AI</p>
171-
<h2 class="btv-h2 btv-ai-h2">Written with AI. Judged by the compiler.</h2>
172-
<p class="btv-section-lead">None of this was invented for AI — AI just raised the stakes. When an agent writes the code, expressiveness and fail-fast stop being a matter of taste and become infrastructure.</p>
173-
<div class="btv-ai-grid">
174-
<div v-for="c in aiCards" :key="c.title" class="btv-ai-card">
175-
<h3>{{ c.title }}</h3>
176-
<p>{{ c.body }}</p>
177-
</div>
178-
</div>
179-
</div>
180-
</section>
181-
182-
<section class="btv-section btv-insp">
183-
<p class="btv-eyebrow">Inspirations</p>
184-
<h2 class="btv-h2 btv-insp-h2">Standing on good shoulders.</h2>
185-
<p class="btv-section-lead">btravstack borrows its instincts from the libraries that made TypeScript feel this way in the first place.</p>
186-
<div class="btv-insp-grid">
187-
<a v-for="i in inspirations" :key="i.name" :href="i.href" target="_blank" rel="noopener" class="pcard btv-insp-card">
188-
<span class="btv-insp-name">{{ i.name }}</span>
189-
<p class="btv-insp-body">{{ i.body }}</p>
190-
</a>
191-
</div>
192-
</section>
193-
194168
<section id="projects" class="btv-section">
195169
<p class="btv-eyebrow">The packages</p>
196170
<h2 class="btv-h2" style="margin-bottom:30px">Four libraries, one stack.</h2>
@@ -230,6 +204,32 @@ onMounted(() => {
230204
</div>
231205
</section>
232206

207+
<section id="ai" class="btv-section btv-ai">
208+
<div class="btv-ai-panel">
209+
<p class="btv-eyebrow">In the age of AI</p>
210+
<h2 class="btv-h2 btv-ai-h2">Written with AI. Judged by the compiler.</h2>
211+
<p class="btv-section-lead">None of this was invented for AI — AI just raised the stakes. When an agent writes the code, expressiveness and fail-fast stop being a matter of taste and become infrastructure.</p>
212+
<div class="btv-ai-grid">
213+
<div v-for="c in aiCards" :key="c.title" class="btv-ai-card">
214+
<h3>{{ c.title }}</h3>
215+
<p>{{ c.body }}</p>
216+
</div>
217+
</div>
218+
</div>
219+
</section>
220+
221+
<section class="btv-section btv-insp">
222+
<p class="btv-eyebrow">Inspirations</p>
223+
<h2 class="btv-h2 btv-insp-h2">Standing on good shoulders.</h2>
224+
<p class="btv-section-lead">btravstack borrows its instincts from the libraries that made TypeScript feel this way in the first place.</p>
225+
<div class="btv-insp-grid">
226+
<a v-for="i in inspirations" :key="i.name" :href="i.href" target="_blank" rel="noopener" class="pcard btv-insp-card">
227+
<span class="btv-insp-name">{{ i.name }}</span>
228+
<p class="btv-insp-body">{{ i.body }}</p>
229+
</a>
230+
</div>
231+
</section>
232+
233233
<section class="btv-section btv-cta-wrap">
234234
<div class="btv-cta-banner">
235235
<h2 class="btv-cta-h2">Build backends you can trust the types of.</h2>
@@ -268,7 +268,7 @@ onMounted(() => {
268268
</div>
269269
<div class="btv-foot-bottom">
270270
<span>MIT © 2026 <a class="foot-link btv-foot-muted2" href="https://github.com/btravers" target="_blank" rel="noopener">Benoit Travers</a></span>
271-
<a class="foot-link btv-foot-mono" href="https://github.com/btravers" target="_blank" rel="noopener">@btravers · betterave 🇫🇷</a>
271+
<a class="foot-link btv-foot-mono" href="https://github.com/btravers" target="_blank" rel="noopener">@btravers</a>
272272
</div>
273273
</footer>
274274

0 commit comments

Comments
 (0)