Files
3031023-xyz-public/docs/content-model.md
T

32 lines
1.5 KiB
Markdown

# Static site content model
Each hosted site has a validated `sites/<key>/site.json`. It owns its brand
fallback/logo, SEO image, navigation, page content, contact information, and
whether a physical-address map is displayed. Shared Astro components render
that data without a per-site code fork.
Current reusable primitives include the base SEO layout, header/footer,
full-page hero, section heading, CTA band, review cards, Markdown-backed FAQ
accordions, and an optional location map. A real logo can be provided as
`/images/<safe-name>.svg` or image asset; until then the configured short mark
and shared favicon are used.
Phase 6 adds two validated Markdown collections:
- `sites/blog/content/posts/*.md` produces the journal listing and individual
`/posts/<slug>/` pages on `blog.3031023.xyz`.
- `sites/www/content/faq/*.md` produces the FAQ section on the primary-site
homepage.
Both collections require frontmatter and support `draft: true`. Draft entries
are excluded from the rendered pages and sitemap. This is a Git-backed pilot;
it does not add a CMS or client-editing access.
Images must live under `public/images/`, be referenced with descriptive alt
text where rendered, and remain at or below the 500 KiB pilot limit. The build
will reject malformed site JSON and oversize source images.
Each selected build also generates `sitemap.xml` and `robots.txt`. Preview
builds disallow indexing; a future approved production build must set
`DEPLOY_ENV=production` to publish crawlable robots rules and the sitemap URL.