diff options
Diffstat (limited to 'css.lua')
| -rw-r--r-- | css.lua | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -0,0 +1,30 @@ +local utils = require "lib.utils" +local oklab = require "lib.oklab" + +local palette = utils.get_palette() + +local output = {} + +local function generate(supports) + table.insert(output, ":root{") + for name, value in utils.opairs(palette) do + for variant, v_value in utils.opairs(value) do + local color + if supports then + color = "oklch(" .. v_value.l .. "%," .. v_value.c .. "," .. v_value.h .. ")" + else + color = oklab.rgb2hex(oklab.oklab2rgb(oklab.oklch2oklab(v_value))) + end + table.insert(output, "--prismite-" .. name .. (variant == "normal" and "" or "-" .. variant) .. ":" .. color .. ";") + end + end + table.insert(output, "}") +end + +generate(false) +table.insert(output, "") +generate(true) + +for _, line in ipairs(output) do + io.write(line) +end |
