{ "$schema": "http://json-schema.org/draft-07/schema", "$id": "https://gitea.jbrumond.me/minimal/docs/raw/branch/master/json-schema/color-theme/v1.json", "type": "object", "properties": { "name": { "type": "string", "description": "The name of the color theme as it is displayed in web UI. Must match the file name of the theme file, e.g. a theme called \"example-theme\" should be located in a file called \"example-theme.theme.json\"\n" }, "colors": { "type": "object", "description": "Contains the values that will be used to populate the CSS variables controlling the UI theme", "properties": { "sun": { "$ref": "#/definitions/css_color", "description": "The color of the sun icon used to indicate that the light color theme is active. Must have good contrast against bg_main\n" }, "moon": { "$ref": "#/definitions/css_color", "description": "The color of the moon icon used to indicate that the dark color theme is active. Must have good contrast against bg_main\n" }, "bg_main": { "$ref": "#/definitions/css_color", "description": "The primary background color applied to the page as a whole. Must have good contrast against the main copy text colors text_heading, text_body, text_light, text_link, text_link_active, and text_link_visited\n" }, "bg_light": { "$ref": "#/definitions/css_color", "description": "A lighter background color applied to content panels; Should have a relatively low contrast against the bg_main color, providing only a light accent. Must have good contrast against the main copy text colors text_heading, text_body, text_light, text_link, text_link_active, and text_link_visited\n" }, "bg_heavy": { "$ref": "#/definitions/css_color", "description": "A heavier background color applied to content panels; Should have a relatively higher contrast against the bg_main color, directing attention to what is \"important\" or \"primary\" content inside of it. Must have good contrast against the main copy text colors text_heading, text_body, text_light, text_link, text_link_active, and text_link_visited\n" }, "bg_popup_mask": { "$ref": "#/definitions/css_color" }, "line": { "$ref": "#/definitions/css_color" }, "line_safe": { "$ref": "#/definitions/css_color" }, "line_warn": { "$ref": "#/definitions/css_color" }, "line_danger": { "$ref": "#/definitions/css_color" }, "text_heading": { "$ref": "#/definitions/css_color", "description": "The color of heading text" }, "text_body": { "$ref": "#/definitions/css_color", "description": "The color of main / normal body copy text" }, "text_light": { "$ref": "#/definitions/css_color" }, "text_safe": { "$ref": "#/definitions/css_color" }, "text_warn": { "$ref": "#/definitions/css_color" }, "text_danger": { "$ref": "#/definitions/css_color" }, "text_link": { "$ref": "#/definitions/css_color", "description": "The default color of hyperlinks" }, "text_link_active": { "$ref": "#/definitions/css_color", "description": "The color of hyperlinks that are currently active / selected" }, "text_link_visited": { "$ref": "#/definitions/css_color", "description": "The color of hyperlinks that have been previously visited" }, "bg_qrcode": { "$ref": "#/definitions/css_color", "description": "The background color (i.e. typically white) of rendered QR codes\n" }, "stroke_qrcode": { "$ref": "#/definitions/css_color", "description": "The stroke color (i.e. typically black) of rendered QR codes\n" }, "text_highlight": { "$ref": "#/definitions/css_color", "description": "The color of text highlighted using the text tag (or by using ==text== in markdown)\n" }, "bg_text_highlight": { "$ref": "#/definitions/css_color", "description": "The background color of text highlighted using the text tag (or by using ==text== in markdown)\n" }, "text_selection": { "$ref": "#/definitions/css_color", "description": "The color of text that has been selected by the user" }, "bg_text_selection": { "$ref": "#/definitions/css_color", "description": "The background color of text that has been selected by the user" }, "bg_button_primary": { "$ref": "#/definitions/css_color", "description": "The background color of \"primary\" buttons (typically major, positive actions, like \"save\" or \"publish\")\n" }, "bg_button_primary_hover": { "$ref": "#/definitions/css_color", "description": "The background color of \"primary\" buttons (typically major, positive actions, like \"save\" or \"publish\") while the user is hovering over them\n" }, "text_button_primary": { "$ref": "#/definitions/css_color", "description": "The text color of \"primary\" buttons (typically major, positive actions, like \"save\" or \"publish\")\n" }, "bg_button_secondary": { "$ref": "#/definitions/css_color", "description": "The background color of \"secondary\" buttons (typically safe, unimpactful, or backward moving actions, like \"cancel\" or \"preview\")\n" }, "bg_button_secondary_hover": { "$ref": "#/definitions/css_color", "description": "The background color of \"secondary\" buttons (typically safe, unimpactful, or backward moving actions, like \"cancel\" or \"preview\") while the user is hovering over them\n" }, "text_button_secondary": { "$ref": "#/definitions/css_color", "description": "The text color of \"secondary\" buttons (typically safe, unimpactful, or backward moving actions, like \"cancel\" or \"preview\")\n" }, "bg_error_box": { "$ref": "#/definitions/css_color" }, "border_error_box": { "$ref": "#/definitions/css_color" }, "text_error_box": { "$ref": "#/definitions/css_color" }, "bg_input": { "$ref": "#/definitions/css_color" }, "border_input": { "$ref": "#/definitions/css_color" }, "border_input_invalid": { "$ref": "#/definitions/css_color" }, "icon_active_indicator": { "$ref": "#/definitions/css_color" }, "icon_success_indicator": { "$ref": "#/definitions/css_color" }, "icon_failure_indicator": { "$ref": "#/definitions/css_color" }, "icon_warning_indicator": { "$ref": "#/definitions/css_color" }, "accent_info": { "$ref": "#/definitions/css_color" }, "accent_highlight": { "$ref": "#/definitions/css_color" }, "accent_warning": { "$ref": "#/definitions/css_color" }, "accent_problem": { "$ref": "#/definitions/css_color" }, "chart_axis": { "$ref": "#/definitions/css_color" }, "chart_text": { "$ref": "#/definitions/css_color" }, "chart_guideline": { "$ref": "#/definitions/css_color" }, "chart_data_0": { "$ref": "#/definitions/css_color" }, "chart_data_1": { "$ref": "#/definitions/css_color" }, "chart_data_2": { "$ref": "#/definitions/css_color" }, "chart_data_3": { "$ref": "#/definitions/css_color" }, "chart_data_4": { "$ref": "#/definitions/css_color" }, "chart_data_5": { "$ref": "#/definitions/css_color" }, "chart_data_6": { "$ref": "#/definitions/css_color" }, "chart_data_7": { "$ref": "#/definitions/css_color" }, "chart_data_8": { "$ref": "#/definitions/css_color" }, "chart_data_9": { "$ref": "#/definitions/css_color" }, "code_normal": { "$ref": "#/definitions/css_color" }, "code_shadow": { "$ref": "#/definitions/css_color" }, "code_background": { "$ref": "#/definitions/css_color" }, "code_selection": { "$ref": "#/definitions/css_color" }, "code_comment": { "$ref": "#/definitions/css_color" }, "code_punc": { "$ref": "#/definitions/css_color" }, "code_operator": { "$ref": "#/definitions/css_color" }, "code_const_literal": { "$ref": "#/definitions/css_color" }, "code_number_literal": { "$ref": "#/definitions/css_color" }, "code_boolean_literal": { "$ref": "#/definitions/css_color" }, "code_tag": { "$ref": "#/definitions/css_color" }, "code_string": { "$ref": "#/definitions/css_color" }, "code_keyword": { "$ref": "#/definitions/css_color" }, "code_func_name": { "$ref": "#/definitions/css_color" }, "code_class_name": { "$ref": "#/definitions/css_color" }, "code_regex_important": { "$ref": "#/definitions/css_color" }, "code_variable": { "$ref": "#/definitions/css_color" }, "code_builtin": { "$ref": "#/definitions/css_color" }, "code_attr_name": { "$ref": "#/definitions/css_color" }, "code_gutter_divider": { "$ref": "#/definitions/css_color" }, "code_line_number": { "$ref": "#/definitions/css_color" }, "code_line_highlight": { "$ref": "#/definitions/css_color" } } } }, "definitions": { "css_color": { "oneOf": [ { "type": "string", "format": "regex", "pattern": "^(#[0-9a-fA-F]{3}(?:[0-9a-fA-F]{3}(?:[0-9a-fA-F]{2})?)?)$", "examples": [ "#000", "#ff0000", "#ffccaa88" ] }, { "type": "string", "format": "regex", "pattern": "^(rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\))$", "examples": [ "rgb(10, 70, 130)" ] }, { "type": "string", "format": "regex", "pattern": "^(rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([01]|[01]?\\.[0-9]{1,3})\\s*\\))$", "examples": [ "rgba(10, 70, 130, 0.5)" ] }, { "type": "string", "const": "transparent" }, { "type": "string", "const": "currentcolor" }, { "type": "string", "enum": [ "black", "silver", "gray", "white", "maroon", "red", "purple", "fuchsia", "green", "lime", "olive", "yellow", "navy", "blue", "teal", "aqua" ] }, { "type": "string", "enum": [ "orange" ] }, { "type": "string", "enum": [ "aliceblue", "antiquewhite" ] }, { "type": "string", "enum": [ "rebeccapurple" ] } ] } } }