Files
ycode/scripts/gen-icon.mjs
T

33 lines
1.3 KiB
JavaScript

/**
* 从已确认的图标包同步 YCode 应用图标,不重新绘制或缩放原图。
* 输入:resources/branding/(原图、各尺寸 PNG、Windows ICO 和预览)
* 用法:node scripts/gen-icon.mjs
*/
import { copyFileSync, mkdirSync, readdirSync } from 'node:fs'
import { dirname, join } from 'node:path'
import { fileURLToPath } from 'node:url'
const root = join(dirname(fileURLToPath(import.meta.url)), '..')
const packDir = join(root, 'resources', 'branding')
function copy(source, destination) {
const target = join(root, destination)
mkdirSync(dirname(target), { recursive: true })
copyFileSync(join(packDir, source), target)
}
copy('windows/ycode.ico', 'build/icon.ico')
copy('png/ycode-1024.png', 'build/icon.png')
copy('png/ycode-512.png', 'resources/icon.png')
copy('png/ycode-32.png', 'resources/tray.png')
copy('Ycode-Icon-Preview.png', 'build/icon-preview.png')
copy('png/ycode-128.png', 'src/renderer/src/assets/ycode.png')
copy('web/favicon.ico', 'src/renderer/public/favicon.ico')
for (const filename of readdirSync(join(packDir, 'png'))) {
const match = /^ycode-(\d+)\.png$/.exec(filename)
if (match) copy(`png/${filename}`, `build/sizes/icon-${match[1]}.png`)
}
console.log('YCode 图标已同步:Windows ICO、窗口、托盘、界面、favicon 和各尺寸 PNG')