Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A versatile Astro 7 theme for blogs, portfolios, and landing pages — navy × orange, one design system.

A dark portfolio & blog theme for Astro with a live 5,000-particle Three.js background, blog system, and glassmorphism UI.
Kepler is an Astro 7 starter theme for blogs, portfolios, and landing pages, built by kpab around a navy × orange design system with hard offset shadows and an orbit motif.
Kepler is an open-source (MIT) Astro 7 template that unifies landing page, blog, and portfolio presets under one design system. It takes Markdown/MDX content files and TypeScript configuration as input and outputs a fully static site complete with RSS, sitemap, Open Graph tags, and a Pagefind-powered search index. The theme is created by kpab and demonstrated at https://astro-kepler.pages.dev.
Click the "Use this template" button on GitHub to generate a repo, then run pnpm install and pnpm dev for local development. Content lives in src/content/blog and src/content/work; running pnpm build produces a dist/ folder along with the Pagefind search index, and pnpm preview serves the production build (search works only in preview and production, not in dev).
Yes, Kepler is released under the MIT license and is free to use, fork, and adapt, with a template generator button on GitHub.
No — search depends on a Pagefind index generated at build time, so it works in pnpm preview and in the production build but not in pnpm dev.
A blog post needs title, description, and pubDate; tags and author are optional, and the draft flag excludes it from the production build. Invalid frontmatter fails the build because content is validated against the schema in content.config.ts.
Yes, the design tokens are defined in the @theme block of src/styles/global.css. Changing the two hues --color-navy and --color-orange rebrands the entire theme.
