Overview
Local Sites
Define sites in TypeScript
Overview
When SITE_NAME is set (or default showcase), [slug].paths.ts loads sites/{name}/index.ts. The file is transpiled with esbuild and must export { settings, pages }.
index.ts
export const showcaseSite = {
settings,
pages: [homePage, aboutPage, ...]
}
Or export default { settings, pages }. settings is SiteSettingsData. pages is PageData[].
settings.ts
Export settings: SiteSettingsData. Import in index.ts.
Page files
Organize pages in pages/, pages/docs/, pages/blocks/. Each file exports a PageData object. Import all pages in index.ts and add to the pages array.
Import path to types: ../../../../vitepress-template/scripts/generate-content (from pages/docs/ or pages/blocks/).
Build flow
- VitePress runs
[slug].paths.tsto get page paths loadLocalSite(SITE_NAME)transpilessites/{name}/index.tswith esbuild- Imports the module, extracts
settingsandpages - Writes
settings.json,home.json,pages.json - Generates one path per non-home page
Next: Payload CMS