feat(site): 🚀 add Astro marketing/content site

Standalone Astro 6 site in /site (decoupled from the /web app monorepo):
landing page, /blog with one post (Content Layer), and terms/privacy/cookie
legal pages. Pure Astro, server-rendered to static HTML.

- Static by default via @astrojs/vercel adapter; any route can opt into SSR
  with `export const prerender = false` (deploys as a Vercel Function).
- SPA-style navigation with <ClientRouter />, transition:persist on the header
  (no icon flash), and viewport prefetch — ~6 KB gzip JS, no React.
- Deploy on Vercel by setting Root Directory to 'site' (no vercel.json needed).

See site/README.md for dev and deploy instructions.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Viktor Vaczi 2026-06-07 08:57:37 +02:00
commit d55a8a0afa
20 changed files with 6154 additions and 0 deletions

View file

@ -0,0 +1,19 @@
---
title: "Hello World"
description: "First placeholder post for the KiCad WebAssembly blog."
pubDate: 2026-06-07
---
This is a placeholder blog post. Replace this body with real content.
## A heading
Markdown content is rendered to static HTML at build time, so this page ships
**zero JavaScript** to the browser.
- Bullet one
- Bullet two
- Bullet three
To add another post, drop a new `.md` file in `src/content/blog/` with the same
frontmatter fields (`title`, `description`, `pubDate`).