-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
32 lines (27 loc) · 851 Bytes
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
var fs = require("fs");
let ws = fs.createWriteStream("css.snippets", { flags: "a" });
require.extensions[".css"] = function(module, filename) {
module.exports = fs.readFileSync(filename, "utf8");
};
let filename = process.argv[2];
var file = require(`./${filename}`);
const css = require("css");
var obj = css.parse(file);
obj.stylesheet.rules.forEach(item => {
if (item.type == "rule") {
let selector = item.selectors[0];
let cls = selector.substring(1).split(" ");
if (cls[0].length > 0) {
ws.write(`snippet ${cls[0]} \n`);
item.declarations.forEach(d => {
ws.write(`${d.property}: ${d.value};\n`);
});
ws.write("endsnippet\n");
}
}
});
console.log("CONVERSION COMPLETE.");
console.log(
"Please don't forget to copy the css.snippets file to your snippets folder. Thanks."
);
ws.close();