diff options
Diffstat (limited to 'ext')
| -rw-r--r-- | ext/bg/data/options-schema.json | 533 | 
1 files changed, 533 insertions, 0 deletions
| diff --git a/ext/bg/data/options-schema.json b/ext/bg/data/options-schema.json new file mode 100644 index 00000000..c086052b --- /dev/null +++ b/ext/bg/data/options-schema.json @@ -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 +                        } +                    } +                } +            } +        } +    } +} |