postcss-gtk
Version:
Processes GTK+ CSS into browser CSS
35 lines (28 loc) • 925 B
JavaScript
// Generated by CoffeeScript 1.9.1
(function() {
var color_vars, postcss, valueHook;
postcss = require("postcss");
valueHook = require("./value-hook");
color_vars = {};
valueHook.add(function(str, node) {
return str.replace(/@([a-z_\-]+)/i, function(m, name) {
if (color_vars[name]) {
return valueHook.hook(color_vars[name], node);
} else {
throw node.error("Color variable " + name + " has not been defined");
}
});
});
module.exports = postcss.plugin("gtk-color-variables", function() {
return function(css, processor) {
return css.eachAtRule(function(node) {
var _, name, ref, value;
if (node.name === "define-color") {
ref = node.params.match(/(\S+)\s+(.*)/), _ = ref[0], name = ref[1], value = ref[2];
color_vars[name] = value;
return node.removeSelf();
}
});
};
});
}).call(this);