Content Management
This template is fully Git-based: all content lives as Markdown/JSON files in
src/content. Edit the files in your editor (or directly on GitHub) and open a
pull request — Cloudflare Pages rebuilds on merge.
Content Collections
Section titled “Content Collections”| Collection | Description | Files |
|---|---|---|
| Pages | Marketing pages (about, contact, pricing…) | src/content/pages/*.md |
| Services | Service offerings with pricing | src/content/services/*.md |
| Blog | Articles and news posts | src/content/blog/*.md |
| Docs | Documentation pages | src/content/docs/** (Starlight) |
Collection schemas are defined in src/content.config.ts (or src/content/config.ts),
so frontmatter is type-checked at build time.
Locale Convention
Section titled “Locale Convention”The starter is English-only by default, so each entry uses a plain <slug>.md
file (e.g. about.md) with locale: "en" in its frontmatter.
The locale frontmatter field determines which language the content belongs to.
When you add another language, create a locale-suffixed copy (e.g. about.id.md
with locale: "id"). See the Internationalization guide.
Editing Workflow
Section titled “Editing Workflow”- Create or edit a Markdown file under
src/content. - Run
pnpm devto preview locally. - Commit and open a pull request.
- Merging to
maintriggers a Cloudflare Pages production deploy.
Images can live in src/assets (optimized by Astro) or in the Cloudflare R2
bucket for larger files. Reference R2 assets via their public URL.