From 667b210708b34d75be9b77304a1b05e0bb8e1728 Mon Sep 17 00:00:00 2001 From: Geoff Doty Date: Sat, 16 Oct 2021 01:15:32 -0400 Subject: [PATCH] ability to download custom minified grayscaled --- example/js/example.js | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/example/js/example.js b/example/js/example.js index e8463ce..2d43d42 100644 --- a/example/js/example.js +++ b/example/js/example.js @@ -85,13 +85,33 @@ function update() { return theme; } - $('head').appendChild(style); +function download(css) { + const filename = `grayscaled.css`; + + let el = document.createElement('a'); + el.setAttribute('href', 'data:application/json;charset=utf-8,' + encodeURIComponent(css)); + el.setAttribute('download', filename); + el.style.display = 'none'; + el.click(); } $('input[type="submit"]').addEventListener('click', (e) => { e.preventDefault(); - alert('Nothing Here Yet!'); + const theme = update(); + + function css_text(x) { + if(x.selectorText !== ':root') { + return x.cssText; + } + } + + var css = document.getElementById('grayscale'); + var content = Array.prototype.map.call(css.sheet.cssRules, css_text).join('\n'); + + const grayscaled = `${theme}${content}`.replace(/\s/g, ''); + + download(grayscaled); }); $('#mode').addEventListener('click', () => {