2022-10-24 20:01:20 -07:00

346 lines
11 KiB
YAML

$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"
colors:
type: object
description: Contains the values that will be used to populate the CSS variables
controlling the UI theme
properties:
# Theme Picker Icon Colors
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
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
# Content Background Colors
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
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
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
bg_popup_mask:
$ref: "#/definitions/css_color"
# todo: description
#
line:
$ref: "#/definitions/css_color"
# todo: description
# Main Content Text Colors
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"
# todo: description
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
# QR Codes
bg_qrcode:
$ref: "#/definitions/css_color"
description: >
The background color (i.e. typically white) of rendered QR codes
stroke_qrcode:
$ref: "#/definitions/css_color"
description: >
The stroke color (i.e. typically black) of rendered QR codes
# Text Highlighted with <mark>
text_highlight:
$ref: "#/definitions/css_color"
description: >
The color of text highlighted using the <mark>text</mark> tag (or by using ==text==
in markdown)
bg_text_highlight:
$ref: "#/definitions/css_color"
description: >
The background color of text highlighted using the <mark>text</mark> tag (or by using
==text== in markdown)
# User-Selected Text
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
# Buttons
bg_button_primary:
$ref: "#/definitions/css_color"
description: >
The background color of "primary" buttons (typically major, positive actions, like "save"
or "publish")
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
text_button_primary:
$ref: "#/definitions/css_color"
description: >
The text color of "primary" buttons (typically major, positive actions, like "save" or "publish")
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")
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
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")
# Error Boxes / Alerts
bg_error_box:
$ref: "#/definitions/css_color"
# todo: description
border_error_box:
$ref: "#/definitions/css_color"
# todo: description
text_error_box:
$ref: "#/definitions/css_color"
# todo: description
# Inputs / Forms
bg_input:
$ref: "#/definitions/css_color"
# todo: description
border_input:
$ref: "#/definitions/css_color"
# todo: description
border_input_invalid:
$ref: "#/definitions/css_color"
# todo: description
# Activity / Result Indicators
icon_active_indicator:
$ref: "#/definitions/css_color"
# todo: description
icon_success_indicator:
$ref: "#/definitions/css_color"
# todo: description
icon_failure_indicator:
$ref: "#/definitions/css_color"
# todo: description
icon_warning_indicator:
$ref: "#/definitions/css_color"
# todo: description
# Charts
chart_axis:
$ref: "#/definitions/css_color"
# todo: description
chart_text:
$ref: "#/definitions/css_color"
# todo: description
chart_guideline:
$ref: "#/definitions/css_color"
# todo: description
chart_data_0:
$ref: "#/definitions/css_color"
# todo: description
chart_data_1:
$ref: "#/definitions/css_color"
# todo: description
chart_data_2:
$ref: "#/definitions/css_color"
# todo: description
chart_data_3:
$ref: "#/definitions/css_color"
# todo: description
chart_data_4:
$ref: "#/definitions/css_color"
# todo: description
chart_data_5:
$ref: "#/definitions/css_color"
# todo: description
chart_data_6:
$ref: "#/definitions/css_color"
# todo: description
chart_data_7:
$ref: "#/definitions/css_color"
# todo: description
chart_data_8:
$ref: "#/definitions/css_color"
# todo: description
chart_data_9:
$ref: "#/definitions/css_color"
# todo: description
# Pre-Formatted / Syntax Highlighted Code Blocks
code_normal:
$ref: "#/definitions/css_color"
# todo: description
code_shadow:
$ref: "#/definitions/css_color"
# todo: description
code_background:
$ref: "#/definitions/css_color"
# todo: description
code_selection:
$ref: "#/definitions/css_color"
# todo: description
code_comment:
$ref: "#/definitions/css_color"
# todo: description
code_punc:
$ref: "#/definitions/css_color"
# todo: description
code_operator:
$ref: "#/definitions/css_color"
# todo: description
code_const_literal:
$ref: "#/definitions/css_color"
# todo: description
code_number_literal:
$ref: "#/definitions/css_color"
# todo: description
code_boolean_literal:
$ref: "#/definitions/css_color"
# todo: description
code_tag:
$ref: "#/definitions/css_color"
# todo: description
code_string:
$ref: "#/definitions/css_color"
# todo: description
code_keyword:
$ref: "#/definitions/css_color"
# todo: description
code_func_name:
$ref: "#/definitions/css_color"
# todo: description
code_class_name:
$ref: "#/definitions/css_color"
# todo: description
code_regex_important:
$ref: "#/definitions/css_color"
# todo: description
code_variable:
$ref: "#/definitions/css_color"
# todo: description
code_builtin:
$ref: "#/definitions/css_color"
# todo: description
code_attr_name:
$ref: "#/definitions/css_color"
# todo: description
code_gutter_divider:
$ref: "#/definitions/css_color"
# todo: description
code_line_number:
$ref: "#/definitions/css_color"
# todo: description
code_line_highlight:
$ref: "#/definitions/css_color"
# todo: description
definitions:
css_color:
oneOf:
# Hex Colors
- type: string
format: regex
pattern: ^(#[0-9a-fA-F]{3}(?:[0-9a-fA-F]{3}(?:[0-9a-fA-F]{2})?)?)$
examples:
- "#000"
- "#ff0000"
- "#ffccaa88"
# RGB Colors
- 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)
# RGBA Colors
- 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)
# todo: other color function formats, like hsl
# transparent
- type: string
const: transparent
# currentcolor
- type: string
const: currentcolor
# Named Colors: CSS Level 1
- type: string
enum:
- black
- silver
- gray
- white
- maroon
- red
- purple
- fuchsia
- green
- lime
- olive
- yellow
- navy
- blue
- teal
- aqua
# Named Colors: CSS Level 2
- type: string
enum:
- orange
# Named Colors: CSS Level 3
- type: string
enum:
- aliceblue
- antiquewhite
# todo: fill in the rest of level3 colors...
# see: https://developer.mozilla.org/en-US/docs/Web/CSS/named-color
# Named Colors: CSS Level 4
- type: string
enum:
- rebeccapurple