Overview
Project Structure
Folder layout: vitepress-template, sites, and scripts
Overview
coretech-sites/
├── vitepress-template/ # Main VitePress app
├── sites/ # Site definitions (TypeScript)
└── src/ # Payload CMS backend (optional)
vitepress-template/
.vitepress/— Config, theme, layouts, components, generated data.vitepress/theme/components/blocks/— Block components (HeroBlock, RichTextBlock, etc.).vitepress/theme/layouts/— main, docs, taxonomy layoutspages/— VitePress pages (index.md,[slug].md)scripts/— generate-content, payload-api, eventSplit, etc..env— SITE_NAME or SITE_SLUG, PAYLOAD_*, R2_*
sites/
Each site is a folder with:
index.ts— Exports{ settings, pages }settings.ts— SiteSettingsData (topNav, footer, logo, etc.)pages/— Page files. Usepages/docs/andpages/blocks/for organization.
Example: sites/showcase/ is the default docs + block showcase site.
scripts/
Inside vitepress-template/scripts/:
generate-content.ts— processBlocks, writeSiteSettings, typespayload-api.ts— getPages() from Payload CMSsite-settings-api.ts— getSiteSettings() from PayloadeventSplit.ts— Split upcomingEvents into upcoming/pastconfigure-site.ts/configure-local-site.ts— Wrangler config for deploy
Next: Environment