json_schema: {
      "$schema": "http://json-schema.org/draft-06/schema#",
      "definitions": {
          "layoutName": {
              "pattern": "^[a-z]+(?:-+[a-z]+)*-v\\d+$",
              "type": "string"
          },
          "page": {
              "properties": {
                  "children": {
                      "items": {
                          "$ref": "#/definitions/page"
                      },
                      "type": "array"
                  },
                  "layout": {
                      "$ref": "#/definitions/layoutName"
                  },
                  "slug": {
                      "$ref": "#/definitions/slug"
                  },
                  "title": {
                      "type": "string"
                  }
              },
              "required": [
                  "slug",
                  "title",
                  "layout"
              ],
              "type": "object"
          },
          "slug": {
              "pattern": "^[a-z0-9A-Z-]*$",
              "type": "string"
          }
      },
      "properties": {
          "availableLayouts": {
              "items": {
                  "$ref": "#/definitions/layoutName"
              },
              "type": "array"
          },
          "defaultPages": {
              "$ref": "#/definitions/page"
          },
          "label": {
              "type": "string"
          },
          "name": {
              "type": "string"
          },
          "version": {
              "default": 1,
              "type": "integer"
          }
      },
      "required": [
          "name",
          "label",
          "version",
          "defaultPages"
      ],
      "type": "object"
  }