blob: 6c8d0b268fe4ceb249b511b012c6dede859e5871 [file] [log] [blame] [view]
# style_variable_generator
This is a python tool that generates cross-platform style variables in order to
centralize UI constants.
This script uses third_party/pyjson5 to read input json5 files and then
generates various output formats as needed by clients (e.g CSS Variables,
preview HTML page).
For input format examples, see the \*_test.json5 files which contain up to date
illustrations of each feature, as well as expected outputs in the corresponding
\*_test_expected.\* files.
Run `python style_variable_generator.py -h` for usage details.
## Generator Options
### CSS
**Dark mode selector**
`--generator-option 'dark_mode_selector=html[dark]'`
Replaces the default media query (`@media (prefers-color-scheme: dark)`) which
triggers colors to switch to dark mode with a custom css selector. The example
above would produce
```
html[dark] {
...dark mode colors
}
```
instead of the default
```
@media (prefers-color-scheme: dark) {
html:not(body) {
... colors
}
}
```
This should only be used if you want to generate a stylesheet for testing where
you can control the switch to dark/light mode, in production always prefer to
use the default behavior which will respect operating system level dark mode
switches.