Pages — Blog Index
A blog index page composed from blocks — navbar, post-list cards and footer.
A complete blog index: a minimal navbar, the post-list card stack and a minimal footer. Every block is theme-aware — try the theme switcher above the preview.
Preview
Blog
Notes on building products, one honest write-up at a time.
Shipping beats polishing
Why a released rough edge teaches you more than an unreleased perfect one.
Read post →A boring stack makes a fast team
We replaced four services with one database table and nobody noticed but us.
Read post →What rewriting our pricing page taught us
Three words changed conversion more than three months of feature work.
Read post →Support tickets are user research
Every reply we send doubles as an interview we didn't have to schedule.
Read post →Install
bun x bosia@latest add page blog/indexInstalls page.svelte plus every block it composes.
Usage
<script lang="ts">
import Blog from "$lib/pages/blog/index/page.svelte";
</script>
<Blog />Without props the page renders the sample posts baked into blog/post-list. To serve real
content, install the blog feature — its loader for /blog returns posts in
exactly the shape the page accepts:
<script lang="ts">
import Blog from "$lib/pages/blog/index/page.svelte";
let { data } = $props();
</script>
<Blog posts={data.posts} />Edit the individual blocks under src/lib/blocks/ to change copy, or swap the navbar and footer
for any other navbars/* / footers/* block.
Source
src/lib/pages/blog/index/page.svelte