……などの話題がアイコン界隈にはあります。
SVGを使ってどちらも解決してみよう! のコーナーです。
必要なアイコンを生成する
icon-genというnpmパッケージを使うとSVGからicoやらpngが生成できます。便利。
こういうかんじ:
const results = await icongen(variant.src, destPath, { favicon: { sizes: [180, 192], }, })
開発環境ごとにfaviconを変える
↑でSVGからico/pngを生成するグッズを手に入れたので、ソースのSVGを環境ごとに変えればよさそう。
こういうかんじ:
const generateVariantSource = (variant) => { const { fillColor, src: dest } = variant; if (fillColor === undefined) { throw new Error('fillColor is empty'); } const buf = Buffer.from(readFileSync(variants.live.src)); // assumed buffer const content = buf.toString().replace(/fill="#000000"/, `fill="${fillColor}"`); writeFileSync(dest, content); };
replace(/fill="#000000"/, `fill="${fillColor}"`)
は色を変えるハイテクなコードです。