{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "type": "object",
    "required": [
        "name",
        "author",
        "description",
        "web",
        "pages"
    ],
    "properties": {
        "name": {
            "type": "string",
            "title": "The template's name for display",
            "examples": [
                "My awesome multicolor template"
            ]
        },
        "author": {
            "type": "string",
            "title": "The author's name"
        },
        "description": {
            "type": "string",
            "title": "A brief description of the template to display"
        },
        "web": {
            "type": "string",
            "title": "The web or repository URL of this template"
        },
        "copy": {
            "type": "array",
            "items": {
                "type": "string"
            },
            "title": "An array of globs string used to determine which files to copy from the template folder.",
            "description": "template.json, package.json, package-lock.json, and other type of files will never be copied",
            "default": [
                "**/*"
            ]
        },
        "pages": {
            "type": "object",
            "title": "The pages ",
            "required": [
                "script",
                "folder"
            ],
            "properties": {
                "script": {
                    "type": "string",
                    "title": "The relative path to the njk file used to render script pages",
                    "examples": [
                        "src/my-script-page.njk"
                    ]
                },
                "folder": {
                    "type": "string",
                    "title": "The relative path to the njk file used to render folder pages",
                    "examples": [
                        "src/my-folder-page.njk"
                    ]
                }
            }
        }
    }
}