aboutsummaryrefslogtreecommitdiff
path: root/css.lua
diff options
context:
space:
mode:
Diffstat (limited to 'css.lua')
-rw-r--r--css.lua30
1 files changed, 30 insertions, 0 deletions
diff --git a/css.lua b/css.lua
new file mode 100644
index 0000000..9201f62
--- /dev/null
+++ b/css.lua
@@ -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