vivid-icons
Version:
a JavaScript library which is built to easily customize and use the SVG Icons with a blaze.
23 lines (21 loc) • 1.45 kB
JavaScript
const fs = require('fs');
const jsdom = require("jsdom");
const {JSDOM } = jsdom;
const chalk = require('chalk');
let iconNodes = "<title>Vivid.js Preview</title><script src=\"vivid-icons.min.js\" async=\"true\"></script><style>body{font-family:sans-serif;width:1116px;text-align:center;margin:0 auto;}.cheatsheet-brick{text-align: left;width:300px;padding:5px;margin:15px;border-radius:5px;max-width:100%;background:#F2F2F2;overflow:auto;display:inline-block}.cheatsheet-brick label,.cheatsheet-brick svg{display:inline-block;vertical-align:middle}.cheatsheet-brick label{font-size:16px;color:#220A41;font-weight:500;margin-left:10px;margin-top:2px}</style>";
let objectData = JSON.parse(fs.readFileSync("./dist/icons.json").toString());
let staticNodePre = "<div class=\"cheatsheet-brick\">";
let staticNodeSuf = "</div>";
for (var itemName in objectData) {
let objectProperty = itemName.replace(/([A-Z])/g, "-$1").toLowerCase();
let labelNode = "<label><i data-vi=\""+ objectProperty + "\"></i></label>";
iconNodes += staticNodePre + "<i data-vi=\"" + objectProperty + "\"></i>" + labelNode + staticNodeSuf;
}
let dom = new JSDOM(iconNodes);
if (!fs.existsSync("./dist")) {
fs.mkdirSync("./dist");
}
fs.writeFile('./dist/preview.html', dom.window.document.querySelector("html").innerHTML, (err) => {
if (err) throw err;
console.log(chalk.whiteBright.bgBlack.bold(" Created [HTML] Preview File !! "));
});