mirror of
https://github.com/amitwh/markdown-converter.git
synced 2026-08-02 18:10:18 +05:30
43 lines
1.4 KiB
JavaScript
43 lines
1.4 KiB
JavaScript
const sharp = require('sharp');
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
const sizes = {
|
|
'icon.png': 512,
|
|
'icon@2x.png': 1024,
|
|
'icon.ico': 256,
|
|
'icon.icns': 512
|
|
};
|
|
|
|
const svgPath = path.join(__dirname, '..', 'assets', 'icon.svg');
|
|
const svgBuffer = fs.readFileSync(svgPath);
|
|
|
|
async function generateIcons() {
|
|
for (const [filename, size] of Object.entries(sizes)) {
|
|
const outputPath = path.join(__dirname, '..', 'assets', filename);
|
|
|
|
if (filename.endsWith('.png')) {
|
|
await sharp(svgBuffer)
|
|
.resize(size, size)
|
|
.png()
|
|
.toFile(outputPath);
|
|
console.log(`Generated ${filename}`);
|
|
} else if (filename.endsWith('.ico')) {
|
|
// For ICO, we'll just use the PNG version
|
|
await sharp(svgBuffer)
|
|
.resize(size, size)
|
|
.png()
|
|
.toFile(outputPath.replace('.ico', '.png'));
|
|
console.log(`Generated ${filename.replace('.ico', '.png')} (use png2ico to convert)`);
|
|
} else if (filename.endsWith('.icns')) {
|
|
// For ICNS, we'll just use the PNG version
|
|
await sharp(svgBuffer)
|
|
.resize(size, size)
|
|
.png()
|
|
.toFile(outputPath.replace('.icns', '.png'));
|
|
console.log(`Generated ${filename.replace('.icns', '.png')} (use png2icns to convert)`);
|
|
}
|
|
}
|
|
}
|
|
|
|
generateIcons().catch(console.error); |