json_schema: {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "definitions": {
          "ConfigSite": {
              "properties": {
                  "branch": {
                      "description": "The branch to use for the site. e.g. \"master\"",
                      "type": "string"
                  },
                  "build": {
                      "description": "The generator system to use. \"jekyll\" or \"hugo\" or \"copy\"",
                      "enum": [
                          "copy",
                          "hugo",
                          "jekyll"
                      ],
                      "type": "string"
                  },
                  "build_path": {
                      "description": "The path where the project is build locally e.g. \"./data/myawesomesite.org/build\"",
                      "type": "string"
                  },
                  "env": {
                      "additionalProperties": {
                          "type": "string"
                      },
                      "description": "Environment settings applied while building the site e.g. {\"JEKYLL_ENV\": \"production\"}",
                      "type": "object"
                  },
                  "hugo": {
                      "description": "If building with hugo you must define a version",
                      "properties": {
                          "extended": {
                              "description": "Download extended version of hugo e.g. true",
                              "type": "boolean"
                          },
                          "version": {
                              "description": "Version of hugo e.g. \"0.51\"",
                              "type": "string"
                          }
                      },
                      "required": [
                          "extended",
                          "version"
                      ],
                      "type": "object"
                  },
                  "name": {
                      "description": "The name and url path to use for the site. e.g. \"myawesomesite.org/master\"",
                      "type": "string"
                  },
                  "publish_path": {
                      "description": "The path where the project is published locally e.g. \"/var/www/myawesomesite.org/site\"",
                      "type": "string"
                  },
                  "repository": {
                      "description": "The git repository for the site e.g. \"https://github.com/ffalt/myawesomesite.git\"",
                      "type": "string"
                  }
              },
              "required": [
                  "branch",
                  "build",
                  "build_path",
                  "name",
                  "publish_path",
                  "repository"
              ],
              "type": "object"
          }
      },
      "description": "Hookay Configuration",
      "properties": {
          "$schema": {
              "description": "The schema file for the config.json e.g. \"config-schema.json\"",
              "type": "string"
          },
          "secret": {
              "description": "The secret token to validate a hook call (https://developer.github.com/webhooks/securing/)",
              "type": "string"
          },
          "server": {
              "description": "Server settings",
              "properties": {
                  "host": {
                      "description": "The address to listen on. e.g. \"127.0.0.1\" or \"0.0.0.0\"",
                      "type": "string"
                  },
                  "path": {
                      "description": "The url path to listen for hooks on. e.g. \"/hooks/*\"",
                      "type": "string"
                  },
                  "port": {
                      "description": "The port to listen on. e.g. 8181",
                      "type": "integer"
                  }
              },
              "required": [
                  "host",
                  "path",
                  "port"
              ],
              "type": "object"
          },
          "sites": {
              "description": "List of Hookay Sites",
              "items": {
                  "$ref": "#/definitions/ConfigSite"
              },
              "type": "array"
          },
          "version": {
              "description": "The version of the config file format, must be 2 at the moment",
              "enum": [
                  2
              ],
              "type": "number"
          }
      },
      "required": [
          "secret",
          "server",
          "sites",
          "version"
      ],
      "type": "object"
  }