The portfolio site keeps its content separate from its code. This note explains the flow (and is itself an example of it).
The flow
- Author content here in
portfolio-content(Markdown/MDX + images). - On build, the site runs a sync step that pulls this repo’s content in (a local sibling checkout in dev, a fetch in CI).
- Astro reads it as a typed content collection, with full MDX and a validated schema.
- A deploy hook fires on push here, so the live site rebuilds with the latest.
Why decouple
- Content changes don’t require touching (or redeploying by hand) the app.
- Non-code edits, like a new screenshot or a fixed typo, are a one-file change here.
- The same pattern powers
puxxle-content, so it’s a proven shape.