Add schema file for options

This commit is contained in:
toasted-nutbread 2019-11-27 12:11:45 -05:00
parent ca2aca19c5
commit 277e13f22f

View File

@ -0,0 +1,533 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"required": [
"version",
"profiles",
"profileCurrent",
"global"
],
"properties": {
"version": {
"type": "integer",
"minimum": 0,
"default": 0
},
"profiles": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"conditionGroups",
"options"
],
"properties": {
"name": {
"type": "string",
"default": "Default"
},
"conditionGroups": {
"type": "array",
"items": {
"type": "object",
"required": [
"conditions"
],
"properties": {
"conditions": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"operator",
"value"
],
"properties": {
"type": {
"type": "string"
},
"operator": {
"type": "string"
},
"value": {}
}
}
}
}
}
},
"options": {
"type": "object",
"required": [
"version",
"general",
"audio",
"scanning",
"dictionaries",
"parsing",
"anki"
],
"properties": {
"version": {
"type": "integer",
"minimum": 0
},
"general": {
"type": "object",
"required": [
"enable",
"resultOutputMode",
"debugInfo",
"maxResults",
"showAdvanced",
"popupDisplayMode",
"popupWidth",
"popupHeight",
"popupHorizontalOffset",
"popupVerticalOffset",
"popupHorizontalOffset2",
"popupVerticalOffset2",
"popupHorizontalTextPosition",
"popupVerticalTextPosition",
"showGuide",
"compactTags",
"compactGlossaries",
"mainDictionary",
"popupTheme",
"popupOuterTheme",
"customPopupCss",
"customPopupOuterCss",
"enableWanakana",
"enableClipboardMonitor"
],
"properties": {
"enable": {
"type": "boolean",
"default": true
},
"resultOutputMode": {
"type": "string",
"enum": ["group", "merge", "split"],
"default": "group"
},
"debugInfo": {
"type": "boolean",
"default": false
},
"maxResults": {
"type": "integer",
"minimum": 1,
"default": 32
},
"showAdvanced": {
"type": "boolean",
"default": false
},
"popupDisplayMode": {
"type": "string",
"enum": ["default", "full-width"],
"default": "default"
},
"popupWidth": {
"type": "number",
"minimum": 0,
"default": 400
},
"popupHeight": {
"type": "number",
"minimum": 0,
"default": 250
},
"popupHorizontalOffset": {
"type": "number",
"default": 0
},
"popupVerticalOffset": {
"type": "number",
"default": 10
},
"popupHorizontalOffset2": {
"type": "number",
"default": 10
},
"popupVerticalOffset2": {
"type": "number",
"default": 0
},
"popupHorizontalTextPosition": {
"type": "string",
"enum": ["below", "above"],
"default": "below"
},
"popupVerticalTextPosition": {
"type": "string",
"enum": ["default", "before", "after", "left", "right"],
"default": "before"
},
"showGuide": {
"type": "boolean",
"default": true
},
"compactTags": {
"type": "boolean",
"default": false
},
"compactGlossaries": {
"type": "boolean",
"default": false
},
"mainDictionary": {
"type": "string"
},
"popupTheme": {
"type": "string",
"enum": ["default", "dark"],
"default": "default"
},
"popupOuterTheme": {
"type": "string",
"enum": ["default", "dark", "auto"],
"default": "default"
},
"customPopupCss": {
"type": "string",
"default": ""
},
"customPopupOuterCss": {
"type": "string",
"default": ""
},
"enableWanakana": {
"type": "boolean",
"default": true
},
"enableClipboardMonitor": {
"type": "boolean",
"default": false
}
}
},
"audio": {
"type": "object",
"required": [
"enabled",
"sources",
"volume",
"autoPlay",
"customSourceUrl",
"textToSpeechVoice"
],
"properties": {
"enabled": {
"type": "boolean",
"default": true
},
"sources": {
"type": "array",
"items": {
"type": "string",
"enum": [
"jpod101",
"jpod101-alternate",
"jisho",
"text-to-speech",
"text-to-speech-reading",
"custom"
],
"default": "jpod101"
}
},
"volume": {
"type": "number",
"minimum": 0,
"maximum": 100,
"default": 100
},
"autoPlay": {
"type": "boolean",
"default": false
},
"customSourceUrl": {
"type": "string",
"default": ""
},
"textToSpeechVoice": {
"type": "string",
"default": ""
}
}
},
"scanning": {
"type": "object",
"required": [
"middleMouse",
"touchInputEnabled",
"selectText",
"alphanumeric",
"autoHideResults",
"delay",
"length",
"modifier",
"deepDomScan",
"popupNestingMaxDepth",
"enablePopupSearch",
"enableOnPopupExpressions",
"enableOnSearchPage"
],
"properties": {
"middleMouse": {
"type": "boolean",
"default": true
},
"touchInputEnabled": {
"type": "boolean",
"default": true
},
"selectText": {
"type": "boolean",
"default": true
},
"alphanumeric": {
"type": "boolean",
"default": true
},
"autoHideResults": {
"type": "boolean",
"default": false
},
"delay": {
"type": "number",
"minimum": 0,
"default": 20
},
"length": {
"type": "integer",
"minimum": 1,
"default": 10
},
"modifier": {
"type": "string",
"enum": ["none", "alt", "ctrl", "shift"],
"default": "shift"
},
"deepDomScan": {
"type": "boolean",
"default": false
},
"popupNestingMaxDepth": {
"type": "integer",
"minimum": 0,
"default": 0
},
"enablePopupSearch": {
"type": "boolean",
"default": false
},
"enableOnPopupExpressions": {
"type": "boolean",
"default": false
},
"enableOnSearchPage": {
"type": "boolean",
"default": true
}
}
},
"dictionaries": {
"type": "object",
"additionalProperties": {
"type": "object",
"required": [
"priority",
"enabled",
"allowSecondarySearches"
],
"properties": {
"priority": {
"type": "number",
"default": 0
},
"enabled": {
"type": "boolean",
"default": true
},
"allowSecondarySearches": {
"type": "boolean",
"default": false
}
}
}
},
"parsing": {
"type": "object",
"required": [
"enableScanningParser",
"enableMecabParser",
"selectedParser",
"readingMode"
],
"properties": {
"enableScanningParser": {
"type": "boolean",
"default": true
},
"enableMecabParser": {
"type": "boolean",
"default": false
},
"selectedParser": {
"type": ["string", "null"],
"default": null
},
"readingMode": {
"type": "string",
"enum": ["hiragana", "katakana", "romaji"],
"default": "hiragana"
}
}
},
"anki": {
"type": "object",
"required": [
"enable",
"server",
"tags",
"sentenceExt",
"screenshot",
"terms",
"kanji",
"fieldTemplates"
],
"properties": {
"enable": {
"type": "boolean",
"default": false
},
"server": {
"type": "string",
"default": "http://127.0.0.1:8765"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"yomichan"
]
},
"sentenceExt": {
"type": "integer",
"minimum": 0,
"default": 200
},
"screenshot": {
"type": "object",
"required": [
"format",
"quality"
],
"properties": {
"format": {
"type": "string",
"enum": ["png", "jpeg"],
"default": "png"
},
"quality": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"default": 92
}
}
},
"terms": {
"type": "object",
"required": [
"deck",
"model",
"fields"
],
"properties": {
"deck": {
"type": "string",
"default": ""
},
"model": {
"type": "string",
"default": ""
},
"fields": {
"type": "object",
"additionalProperties": {
"type": "string",
"default": ""
}
}
}
},
"kanji": {
"type": "object",
"required": [
"deck",
"model",
"fields"
],
"properties": {
"deck": {
"type": "string",
"default": ""
},
"model": {
"type": "string",
"default": ""
},
"fields": {
"type": "object",
"additionalProperties": {
"type": "string",
"default": ""
}
}
}
},
"fieldTemplates": {
"type": ["string", "null"],
"default": null
}
}
}
}
}
}
}
},
"profileCurrent": {
"type": "integer",
"minimum": 0,
"default": 0
},
"global": {
"type": "object",
"required": [
"database"
],
"properties": {
"database": {
"type": "object",
"required": [
"prefixWildcardsSupported"
],
"properties": {
"prefixWildcardsSupported": {
"type": "boolean",
"default": false
}
}
}
}
}
}
}