# ADR-0002: Page copy in Astro Content Collections (Markdown) **Status:** Accepted — 2026-07-15 ## Context Body copy currently lives inside `.ts` files (`src/data/services.ts`, `src/data/focusAreas.ts`) as quoted string properties — painful to edit, no spellcheck/preview, and prose is trapped in code. Separately, the rebuild paraphrased much of the live-site copy, and Phase 2 requires restoring exact copy (see `docs/parity-checklist.md`). Doing both at once avoids a double migration. ## Decision Move prose-heavy page copy **out of `.ts` and into Astro Content Collections as Markdown**, with typed frontmatter for structured/SEO fields. Split of responsibility: - **Prose** (service/focus/about body, insights) → Markdown body rendered through a shared layout. - **Structured/visual data** (metrics grid, nav, service icon+blurb cards, CTAs) → typed frontmatter or kept in `.ts` where it drives layout/components. Exact-copy restoration (Phase 2) lands directly in this format, not into the old `.ts` shape. ## Consequences - Editing copy no longer means editing code; enables an eventual owner-editing workflow. - Consistent rendering/flow via one styled layout (reduces, not increases, formatting risk). - Requires content collections for `services`, `focusAreas`, and standalone `pages`, plus refactoring the `[slug]` routes to read from collections. - Pairs with ADR-0003 (the collection schema encodes SEO rules).