SiteDocument
SiteDocument
The persisted root configuration for a Quail Pages site.
This document is saved as site.config.json at the root of a complete Quail Pages site source.
A complete site source is organized around site.config.json with supporting authored content in sibling directories:
- pages/ contains authored PageDocument JSON files.
- components/ contains reusable Component JSON files.
- assets/ contains static files copied into the generated site's public root.
- plugins/ contains site plugin resources and configuration owned by plugins.
Source directory names are not necessarily part of their public paths. For example, assets/favicon.svg is published as /favicon.svg. Every page manifest source is relative to pages/; its independent path explicitly maps that PageDocument to a public URL.
Authoring guidance
Use when
site.config.json or packaging a complete Quail Pages
site source.Avoid when
Properties
authors
Author profiles keyed by the page-authored display name.
branding
Browser, installed-app, and publisher-logo presentation.
description
Summary used by content or metadata.
footer
Site footer content.
generatedPages
Machine-generated page sources beneath pages/ and their independent public paths.
Uses the same manifest contract as pages; the distinction is ownership, not routing or rendering behavior. Generators may replace this collection. Sources remain relative to the site's pages/ directory.
Use when: A generator owns reusable or reference pages that coexist with authored pages.
header
Site header content.
identity
Structured organization and brand identity used by discovery metadata.
imageBaseUrl
Optional image-service base URL used to expand site-relative images.
imageDefaults
Site-wide defaults for authored images.
pages
Page sources beneath pages/ and their independent public paths.
plugins
Site-wide plugin configuration keyed by registered plugin ID.
socials
References site social definitions.
theme
Registered theme identifier.
title
Visible heading or display name.
url
Canonical public base URL.
variables
Values available to inline interpolation.
Example
Required
Full
examples are generated from the schema.