{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://json.schemastore.org/hugo-theme.json",
  "$comment": "https://github.com/gohugoio/hugoThemes#themetoml",
  "additionalProperties": false,
  "definitions": {
    "author-data": {
      "additionalProperties": false,
      "default": {
        "name": ""
      },
      "properties": {
        "homepage": {
          "format": "uri",
          "title": "author website",
          "type": "string"
        },
        "name": {
          "title": "author name",
          "type": "string"
        }
      },
      "required": ["name"],
      "type": "object"
    }
  },
  "description": "This file contains metadata about the theme and its creator or creators. Hugo only recognizes theme.toml file, any other files are not accepted. Learn more at https://github.com/gohugoio/hugoThemes#themetoml",
  "properties": {
    "$schema": {
      "$comment": "Because the theme config file (`theme.toml`) only works with TOML format, so we don't need to support this property.",
      "description": "Hugo will not recognize the theme config file if it is JSON or YAML format. Please use theme.toml file.",
      "type": "null"
    },
    "authors": {
      "description": "For themes that have multiple authors",
      "items": {
        "$ref": "#/definitions/author-data"
      },
      "minItems": 2,
      "type": "array",
      "title": "theme authors"
    },
    "author": {
      "$ref": "#/definitions/author-data",
      "description": "For themes that have single author",
      "title": "theme author"
    },
    "description": {
      "description": "This info is used by Hugo theme store: https://themes.gohugo.io",
      "title": "theme description",
      "type": "string"
    },
    "features": {
      "items": {
        "type": "string"
      },
      "title": "theme features",
      "type": "array"
    },
    "homepage": {
      "default": "https://",
      "description": "This info is used by Hugo theme store: https://themes.gohugo.io",
      "format": "uri",
      "title": "website of the theme",
      "type": "string"
    },
    "license": {
      "description": "Reference: https://choosealicense.com",
      "title": "Theme License",
      "type": "string"
    },
    "licenselink": {
      "default": "https://",
      "format": "uri",
      "title": "Link to theme's license",
      "type": "string"
    },
    "min_version": {
      "description": "Since the version **0.54.0**, Hugo started using full semver. Therefore, it is required to be `X.Y.Z` format. For instance: `0.54` is incorrect, `0.54.0` is correct.",
      "minLength": 5,
      "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$",
      "title": "Minimum Hugo Version",
      "type": "string"
    },
    "name": {
      "description": "This info is used by Hugo theme store: https://themes.gohugo.io",
      "title": "Theme Name",
      "type": "string"
    },
    "original": {
      "additionalProperties": false,
      "default": {
        "author": "",
        "repo": "https://"
      },
      "description": "For themes that port an existing theme",
      "properties": {
        "author": {
          "title": "name of original author",
          "type": "string"
        },
        "homepage": {
          "format": "uri",
          "title": "his/her website",
          "type": "string"
        },
        "repo": {
          "description": "Link to source code of original theme",
          "format": "uri",
          "title": "author website",
          "type": "string"
        }
      },
      "required": ["author", "repo"],
      "title": "original theme",
      "type": "object"
    },
    "tags": {
      "description": "This info is used by Hugo theme store: https://themes.gohugo.io",
      "items": {
        "type": "string"
      },
      "title": "theme tags",
      "type": "array"
    }
  },
  "required": ["name", "min_version"],
  "title": "Hugo theme config file schema",
  "type": "object",
  "x-taplo-info": {
    "authors": ["ngdangtu (https://gitlab.com/ngdangtu)"],
    "patterns": ["^(theme.toml)$"]
  }
}
