{
    "title": "MdDocs Configuration file schema",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "$ref": "#/definitions/rootObject",
    "definitions": {
        "rootObject": {
            "type": "object",
            "properties": {
                "mddocs": {
                    "$ref": "#/definitions/mddocsConfiguration",
                    "description": "The 'mddocs' property encapsulates all settings for MdDocs"
                }
            },
            "additionalProperties": true
        },
        "mddocsConfiguration": {
            "type": "object",
            "properties": {
                "apireference": {
                    "$ref": "#/definitions/apireferenceConfiguration",
                    "title": "API Reference Settings"
                },
                "commandlinehelp": {
                    "$ref": "#/definitions/commandlinehelpConfiguration",
                    "title": "Command Line Help Settings"
                }
            },
            "additionalProperties": false
        },
        "commandlinehelpConfiguration": {
            "type": "object",
            "properties": {
                "assemblyPath": {
                    "type": [
                        "null",
                        "string"
                    ],
                    "default": null,
                    "title": "Command Line Help: Assembly Path",
                    "description": "The path to the assembly to generate documentation from."
                },
                "outputPath": {
                    "type": [
                        "null",
                        "string"
                    ],
                    "default": null,
                    "title": "Command Line Help: Output Path",
                    "description": "The directory path to save the generated documentation to."
                },
                "template": {
                    "$ref": "#/definitions/commandlinehelpTemplateConfiguration",
                    "description": "Specifies settings for templates."
                }
            },
            "additionalProperties": false
        },
        "commandlinehelpTemplateConfiguration": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "enum": [
                        "Default"
                    ],
                    "default": "Default"
                },
                "default": {
                    "$ref": "#/definitions/commandlinehelpDefaultTemplateConfiguration",
                    "title": "Command Line Help: Default Template Settings",
                    "description": "Defines settings for the default template"
                }
            },
            "additionalProperties": false
        },
        "commandlinehelpDefaultTemplateConfiguration": {
            "type": "object",
            "properties": {
                "markdownPreset": {
                    "type": "string",
                    "enum": [
                        "Default",
                        "MkDocs"
                    ],
                    "title": "Command Line Help (Default Template): Markdown Preset",
                    "description": "Customizes serialization of Markdown."
                },
                "includeVersion": {
                    "type": "boolean",
                    "default": true,
                    "title": "Command Line Help (Default Template): Include Version",
                    "description": "Controls whether the version of the application is included in the generated documentation."
                },
                "includeAutoGeneratedNotice": {
                    "type": "boolean",
                    "default": true,
                    "title": "Command Line Help (Default Template): Include AutoGenerated Notice",
                    "description": "Controls whether the generated documentation includes a comment that indicates the files were auto-generated."
                }
            },
            "additionalProperties": false
        },
        "apireferenceConfiguration": {
            "type": "object",
            "properties": {
                "assemblyPath": {
                    "type": [
                        "null",
                        "string"
                    ],
                    "default": null,
                    "title": "API Reference: Assembly Path",
                    "description": "The path to the assembly to generate documentation from."
                },
                "outputPath": {
                    "type": [
                        "null",
                        "string"
                    ],
                    "default": null,
                    "title": "API Reference: Output Path",
                    "description": "The directory path to save the generated documentation to."
                },
                "template": {
                    "$ref": "#/definitions/apireferenceTemplateConfiguration",
                    "description": "Specifies settings for templates."
                }
            },
            "additionalProperties": false
        },
        "apireferenceTemplateConfiguration": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "enum": [
                        "Default"
                    ],
                    "default": "Default"
                },
                "default": {
                    "$ref": "#/definitions/apireferenceDefaultTemplateConfiguration",
                    "title": "API Reference: Default Template Settings",
                    "description": "Defines settings for the default template"
                }
            },
            "additionalProperties": false
        },
        "apireferenceDefaultTemplateConfiguration": {
            "type": "object",
            "properties": {
                "markdownPreset": {
                    "type": "string",
                    "enum": [
                        "Default",
                        "MkDocs"
                    ],
                    "title": "API Reference (Default Template): Markdown Preset",
                    "description": "Customizes serialization of Markdown."
                },
                "includeVersion": {
                    "type": "boolean",
                    "default": true,
                    "title": "API Reference (Default Template): Include Version",
                    "description": "Controls whether the version of the assembly is included in the generated documentation."
                },
                "includeAutoGeneratedNotice": {
                    "type": "boolean",
                    "default": true,
                    "title": "API Reference (Default Template): Include AutoGenerated Notice",
                    "description": "Controls whether the generated documentation includes a comment that indicates the files were auto-generated."
                }
            },
            "additionalProperties": false
        }
    }
}