{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"description": "JigTime configuration",
	"type": "object",
	"properties": {
		"contextPath": {
			"description": "Path of web application context for the Servlet/JSP of Jakarta EE",
			"type": "string",
			"default": ""
		},
		"search": {
			"description": "A search string, also called a query string, for preventing cache.",
			"type": "string",
			"default": ""
		},
		"available": {
			"description": "Available settings for lang, engine, and theme",
			"type": "object",
			"properties": {
				"lang": {
					"description": "Available langs",
					"type": "array",
					"default": [
						"en",
						"ja",
						"ko"
					]
				},
				"engine": {
					"description": "Available HTML template engines",
					"type":"array",
					"default": [
						"pug",
						"hbs",
						"ejs"
					]
				},
				"theme": {
					"description": "Available themes",
					"type":"array",
					"default": [
						"default",
						"light",
						"dark",
						"eye-protect"
					]
				}
			}
		},
		"request": {
			"description": "Request settings",
			"type": "object",
			"properties": {
				"method": {
					"description": "Method to send form-data ",
					"type": "string",
					"enum": ["GET", "POST"]
				},
				"template": {
					"description": "Request template format",
					"type": "object",
					"properties": {
						"html": {
							"description": "Template format for HTML",
							"type": "string",
							"default": "html"
						},
						"css": {
							"description": "Template format for CSS",
							"type": "string",
							"enum": ["none", "css", "less", "scss"]
						},
						"js": {
							"description": "Template format for JavaScript",
							"type": "string",
							"enum": ["none", "js", "ts"]
						}
					}
				},
				"showLoading": {
					"description": "Display a loading mark from request to response",
					"type": "boolean",
					"default": false
				},
				"paramsInResponse": {
					"description": "How to include parameters in response",
					"type": "string",
					"enum": [
						"none",
						"mix",
						"separate"
					]
				},
				"fetchPath": {
					"description": "Prefix path that identifies fetch requests",
					"type": "string",
					"default": ""
				}
			}
		},
		"history": {
			"description": "Pseudo history settings for SPA",
			"type": "object",
			"properties": {
				"enabled": {
					"description": "Enable pseudo history",
					"type": "boolean",
					"default": true
				},
				"fragment": {
					"description": "Fragment identifier type of the pseudo history",
					"type": "string",
					"enum": [
						"none",
						"hash",
						"extension"
					]
				},
				"extension": {
					"description": "Extension of fragment url, when fragment identifier type is extension",
					"type": "string",
					"default": "jig"
				},
				"exclude": {
					"description": "Excluding spa domains for fragment identifier",
					"type": "array",
					"default": []
				}
			}
		}
	}
}
