Answers
Frequently asked questions
The questions that come up most often. If yours isn't here, send it through — the list grows from what people actually ask.
What is this template built with?
Astro for the site itself, Tailwind CSS v4 for styling, and Cloudflare Pages for hosting. Content lives in Markdown and MDX files validated against a schema, and the contact form is backed by a Pages Function writing to a D1 database.
Do I need to know Astro to use it?
To change the look, no — colours, fonts, corner rounding, motion and navigation all come from four files in src/config/, and everything else reads from them. To add a new kind of page you will need to write some Astro, which is close enough to HTML that a first page is usually a copy of an existing one with the content swapped.
How do I change the colours and fonts?
Edit src/config/theme.ts for colours, rounding, motion and layout widths, and src/config/fonts.ts for the typefaces. Both are plain data: change a value and it propagates to every component and Tailwind utility. The /style-guide page renders the live tokens, so you can check a change across the whole system in one place.
Does the contact form work locally?
Partly. Under npm run dev there is no Pages Function running, so the /api/contact route returns a 404 and the form reports that the message could not be stored — that is expected. Use npm run pages:dev to serve the built site through Wrangler with the D1 binding attached and exercise the real path.
Is a CMS included?
Not in the base template. A Decap CMS kit with a GitHub OAuth worker and R2 media uploads ships in optional/decap/ and is installed only when a site needs it, so nothing in the base build depends on it. The walkthrough is in docs/09-decap-cms.md.
Can I delete the pages I do not need?
Yes. Every page in src/pages/ is an example, including this one. Delete the file and remove its entry from src/config/nav.ts. The style guide is the one worth keeping while you are still making design decisions — it is set to noindex, so it will not appear in search results.
Still stuck?
Email hello@example.com or use the contact form — a question asked twice usually belongs on this page.