const fs = require('fs');
const sort = function (a, b) {
if (a.toLocaleLowerCase() < b.toLocaleLowerCase()) {
return -1;
}
if (a.toLocaleLowerCase() > b.toLocaleLowerCase()) {
return 1;
}
return 0;
};
const iconHTML = (name) => `
`;
const header = ``;
const start = async () => {
const html = fs.createWriteStream('icons.html', { flags: 'w' });
html.write(header);
try {
await new Promise((resolve) => {
fs.readdir('./icons', async (err, files) => {
files
.sort(sort)
.filter((file) => {
if (!/\.svg/.test(file)) {
console.log(`invalid extension ${file}`);
return false;
}
return true;
})
.forEach(async (file) => {
const name = file.replace('.svg', '').toLocaleLowerCase();
console.log(name);
html.write(iconHTML(name));
});
resolve();
});
});
} catch (error) {
console.error(error);
} finally {
html.write(fs.readFileSync('./icons.svg'));
html.write('
');
html.end();
}
};
try {
start();
} catch (error) {
console.error(error);
}