annotate mrjunejune/generate-icons.sh @ 216:e82b80b24012 default tip

[MrJuneJune] Make webp translate background job.
author June Park <parkjune1995@gmail.com>
date Sat, 28 Feb 2026 21:04:43 -0800
parents 3b47e82ac57e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
209
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
1 #!/bin/bash
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
2
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
3 # Generate PWA icons from SVG
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
4 # Requires ImageMagick: apt-get install imagemagick
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
5
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
6 cd "$(dirname "$0")/src/public"
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
7
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
8 if ! command -v convert &> /dev/null; then
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
9 echo "❌ ImageMagick not found. Please install it:"
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
10 echo " Ubuntu/Debian: sudo apt-get install imagemagick"
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
11 echo " macOS: brew install imagemagick"
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
12 echo ""
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
13 echo "Or use an online tool: https://realfavicongenerator.net/"
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
14 exit 1
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
15 fi
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
16
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
17 echo "🎨 Generating PWA icons from epi_all_colors.svg..."
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
18
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
19 # 192x192 icon
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
20 echo " → Creating icon-192.png..."
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
21 convert epi_all_colors.svg -resize 192x192 -background none icon-192.png
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
22
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
23 # 512x512 icon
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
24 echo " → Creating icon-512.png..."
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
25 convert epi_all_colors.svg -resize 512x512 -background none icon-512.png
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
26
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
27 # Maskable icon (512x512 with safe zone - 80% of size)
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
28 echo " → Creating icon-maskable-512.png..."
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
29 convert epi_all_colors.svg -resize 409x409 -background none -gravity center -extent 512x512 icon-maskable-512.png
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
30
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
31 echo ""
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
32 echo "✅ Icons generated successfully!"
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
33 echo ""
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
34 echo "Generated files:"
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
35 echo " - icon-192.png"
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
36 echo " - icon-512.png"
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
37 echo " - icon-maskable-512.png"
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
38 echo ""
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
39 echo "Next steps:"
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
40 echo " 1. Verify icons look good: ls -lh src/public/icon-*.png"
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
41 echo " 2. Test PWA: Open site in Chrome → DevTools → Application → Manifest"
3b47e82ac57e [MrJuneJune] PWA updates.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
42 echo " 3. Run Lighthouse audit to check PWA score"