40 lines
2.0 KiB
Markdown
40 lines
2.0 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. The internal Decap CMS now
|
|
edits these collections through the protected `cms` staging branch; client and
|
|
public editing remain disabled.
|
|
|
|
Journal `pubDate` and optional `updatedDate` fields use Decap's supported
|
|
`datetime` control in date-only UTC mode. New posts default `pubDate` to the
|
|
current UTC date. Repository verification rejects the unsupported `date`
|
|
widget so the missing-control failure cannot silently return.
|
|
|
|
CMS images must live in the flat `public/images/uploads/` directory and be
|
|
referenced with descriptive alt text where rendered. Approved source rasters
|
|
may be at most 25 MiB; each build produces a metadata-free public copy no
|
|
larger than 1920 pixels or 500 KiB. The build rejects malformed site JSON,
|
|
disallowed image signatures, nested upload paths, and oversized sources.
|
|
|
|
Each selected build also generates `sitemap.xml` and `robots.txt`. Preview
|
|
builds disallow indexing; production workflows set `DEPLOY_ENV=production` to
|
|
publish crawlable robots rules and the sitemap URL.
|