返回 Skill 列表
extension
分类: 开发与工程无需 API Key

pwa-assets-generator

从单个1024x1024px的图像生成PWA所需的所有资源。此技能可以创建应用图标、favicon、Apple触控图标、可遮罩图标、徽章图标以及PWA的占位符屏幕截图。当开发人员需要准备PWA清单资源,从源图像生成多种尺寸的图标,或创建一套完整的符合PWA标准的图片时使用。

person作者: jakexiaohubgithub

PWA Assets Generator

Generate complete set of PWA assets from a single 1024x1024px source image.

Prerequisites

Ensure Node.js and npm are installed. The script will automatically install required dependencies.

Quick Start

  1. Place your 1024x1024px source image in the project directory
  2. Run the generation script:
    node scripts/generate-pwa-assets.js <source-image-path> <output-directory>
    

Generated Assets

The script creates the following PWA-compliant assets:

App Icons (Standard)

  • icon-144x144.png - Standard PWA icon
  • icon-192x192.png - Android Chrome icon
  • icon-512x512.png - High-resolution PWA icon

Maskable Icons

  • icon-192x192-safe.png - Maskable variant with safe area padding (20% padding)

iOS Support

  • apple-touch-icon.png - 180×180px for iOS devices

Favicon

  • favicon.ico - Multi-resolution icon (16×16, 32×32, 48×48)

Badge Icon

  • badge.png - 96×96px monochrome white badge

Screenshot Placeholders

  • screenshots/desktop-wide.png - 1280×720px desktop placeholder
  • screenshots/mobile-narrow.png - 375×812px mobile placeholder

Shortcut Icons

  • shortcuts/start.png - 96×96px with play overlay
  • shortcuts/settings.png - 96×96px with gear overlay

Script Features

  • Automatic dependency installation: Installs sharp and png-to-ico if not present
  • Smart resizing: Uses sharp for high-quality image processing
  • Maskable icon generation: Adds proper padding for maskable icons
  • Multi-resolution favicon: Creates proper .ico file with multiple sizes
  • Badge creation: Converts to monochrome white for notification badges
  • Placeholder screenshots: Generates branded placeholders with instructions
  • Overlay icons: Adds symbolic overlays for shortcut icons
  • Progress tracking: Shows real-time generation progress

Customization

Maskable Icons

The script adds 20% padding to maskable icons by default. Adjust the MASKABLE_PADDING constant in the script if needed.

Screenshot Placeholders

The generated screenshots include instructional text. Replace these with actual app screenshots before deployment.

Badge Color

The badge is converted to white monochrome. Edit the script's badge generation section for different color schemes.

Usage Example

# Generate all assets from logo.png into public/ directory
node scripts/generate-pwa-assets.js ./logo.png ./public

Output Structure

output-directory/
├── icon-144x144.png
├── icon-192x192.png
├── icon-512x512.png
├── icon-192x192-safe.png
├── apple-touch-icon.png
├── favicon.ico
├── badge.png
├── screenshots/
│   ├── desktop-wide.png
│   └── mobile-narrow.png
└── shortcuts/
    ├── start.png
    └── settings.png

Troubleshooting

  • Image too small: Source image must be at least 1024×1024px
  • Transparency issues: PNG with alpha channel recommended for best results
  • Favicon not showing: Clear browser cache after replacing favicon.ico