Initial commit: BlueCap Strategies Astro site
Static Astro 5 site for BlueCap Strategies with exact live-site content parity, deployed to k3s via GitOps (ArgoCD). - Page copy in Markdown content collections (services, focus-areas, pages, insights) with a Zod SEO schema enforced at build time - Homepage + About restored to exact live copy; real live-site imagery - Build-time SEO linter (scripts/seo-lint.mjs) and Playwright e2e suite - Multi-stage Dockerfile (nginx serves dist/) and Kustomize manifests (k8s/) - Per-agent robots.txt; config-driven PostHog + Umami analytics scaffold - ADRs and engineering docs under docs/ Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
commit
cd91c4b97c
92 files changed
+10246
No files matched your search
@@ -0,0 +1,30 @@
|
||||
# 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).
|
||||
Reference in new issue
Block a user