Add schema file for options
This commit is contained in:
parent
ca2aca19c5
commit
277e13f22f
533
ext/bg/data/options-schema.json
Normal file
533
ext/bg/data/options-schema.json
Normal 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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user