{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "site",
  "type": "object",
  "required": ["baseUrl", "title"],
  "properties": {
    "baseUrl": { "type": "string", "pattern": "^https?://" },
    "title": { "type": "string" },
    "description": { "type": "string" },
    "theme": { "type": "string" },
    "logo": { "type": "string" },
    "ogImage": { "type": "string" },
    "twitterHandle": { "type": "string" },
    "icon": { "type": "string" },
    "themeColor": { "type": "string" },
    "author": { "type": "string" },
    "homeContent": { "type": "string", "pattern": "^[a-z]+/[a-z0-9-]+$" },
    "homeAppearance": { "type": "object" },
    "indexAppearance": { "type": "object" },
    "typeAppearance": { "type": "object" },
    "footer": { "type": "object", "properties": { "tagline": { "type": "string" }, "copyright": { "type": "string" }, "columns": { "type": "array", "items": { "type": "object", "required": ["heading", "links"], "properties": { "heading": { "type": "string" }, "links": { "type": "array", "items": { "type": "object", "required": ["label", "href"], "properties": { "label": { "type": "string" }, "href": { "type": "string" }, "external": { "type": "boolean" } } } } } } } } },
    "nav": { "type": "array", "items": { "type": "object", "required": ["label", "href"], "properties": { "label": { "type": "string" }, "href": { "type": "string" } } } },
    "appearance": {
      "type": "object",
      "properties": {
        "background": { "$ref": "enums#/$defs/background" },
        "surface": { "$ref": "enums#/$defs/surface" },
        "layout": { "$ref": "enums#/$defs/layout" },
        "fx": { "type": "array", "items": { "$ref": "enums#/$defs/fxEffect" } },
        "bgImage": { "type": "string" }
      }
    }
  }
}
