Skip to content
BaseLayer Themes

Docs

Site config

How site.ts and config slices work together.

Config slices

Themes split configuration into focused files merged in src/config/site.ts:

  • identity.tsname, tagline, url, navigation links, footer groups, font stacks
  • blocks.ts — default copy for <Hero01 />, <Services01 />, <CTA01 />, etc.
  • banner.ts — site-wide announcement bars (Banner01, Banner02)
  • integrations.ts — SEO metadata, contact form provider, analytics, AEO/FAQ data

Merged export

import { identity } from "./identity";
import { integrations } from "./integrations";
import { blocks } from "./blocks";
import { banner } from "./banner";

export const siteConfig = {
  ...identity,
  ...blocks,
  ...integrations,
  banner,
};

Each block is documented under Blocks with its config key and inline override examples. UI atoms live under Components.

Overriding on pages

Blocks accept props that override siteConfig defaults:

<Hero01 heading="Custom headline" primaryCta="Book a call" />

Production checklist

  • Set identity.url and astro.config.mjs site to your domain
  • Update integrations.seo title, description, ogImage
  • Configure integrations.contactForm.provider