用途:从 emoji 生成完整的 favicon 图标集,包括 favicon.ico、多尺寸 PNG、Apple touch icon 与 OG 图片。触发场景包括 favicon、add favicon、update favicon、site icon、emojico、touch icon,以及任何添加或更改站点图标的请求。
主要能力:使用 emojico 一次性生成完整图标集,输出到目标应用的 public/ 目录。生成内容包括 public/favicon.ico、public/favicons/favicon-16x16.png、favicon-32x32.png、favicon-48x48.png、public/apple-touch-icon/apple-touch-icon-{57,60,72,76,114,120,144,152,180}x{...}.png 以及 public/og-image.png。
安装:npm install -g emojico,可用 emojico --help 验证。
用法:emojico 🧙 --out ./public --all。始终使用 --all 生成完整集合(ico + png + apple + og)。
框架接入:Next.js(App Router)中 public/ 下的 favicon.ico 会自动提供,并在 layout.tsx 添加 metadata,icons 指向 /favicon.ico 与 /apple-touch-icon/apple-touch-icon-180x180.png。TanStack Start 在 __root.tsx 的 head 配置中添加 links,rel 为 icon 与 apple-touch-icon。
规则与限制:绝不使用默认 emoji,应使用提供或项目既定的 emoji,仅在项目缺少明确选择且该选择对项目重要时才询问。emojico 只生成文件,不修改源码,生成后需自行接入 head 标签。对于多页面站点,优先使用动态 OG 图片,静态 og-image.png 仅作回退。
适用场景:为任意项目添加或更新 favicon、站点图标、touch icon 与 OG 图片。