@@ -7,9 +7,16 @@ if [[ "$(uname)" != "Darwin" ]]; then
77fi
88
99SCRIPT_DIR=" $( cd " $( dirname " ${BASH_SOURCE[0]} " ) " && pwd) "
10+
1011SOURCE=" $SCRIPT_DIR /logo.png"
11- SOURCE_SIMPLE=" $SCRIPT_DIR /logo-simple.png"
1212SOURCE_SOLID_BG=" $SCRIPT_DIR /logo-solid-bg.png"
13+ SOURCE_SIMPLE=" $SCRIPT_DIR /logo-simple.png"
14+ SOURCE_SIMPLE_SOLID_BG=" $SCRIPT_DIR /logo-simple-solid-bg.png"
15+ SOURCE_SIMPLE_TEXT=" $SCRIPT_DIR /logo-simple-text.png"
16+ SOURCE_SIMPLE_TEXT_SOLID_BG=" $SCRIPT_DIR /logo-simple-text-solid-bg.png"
17+
18+ # SIZES=(256 128 64)
19+ SIZES=(128)
1320
1421if [[ ! -f " $SOURCE " ]]; then
1522 echo " Error: Source file not found: $SOURCE " >&2
@@ -26,44 +33,74 @@ if [[ ! -f "$SOURCE_SOLID_BG" ]]; then
2633 exit 1
2734fi
2835
36+ if [[ ! -f " $SOURCE_SIMPLE_TEXT " ]]; then
37+ echo " Error: Source file not found: $SOURCE_SIMPLE_TEXT " >&2
38+ exit 1
39+ fi
40+
41+ if [[ ! -f " $SOURCE_SIMPLE_TEXT_SOLID_BG " ]]; then
42+ echo " Error: Source file not found: $SOURCE_SIMPLE_TEXT_SOLID_BG " >&2
43+ exit 1
44+ fi
45+
2946generate () {
30- local size=" $1 "
31- local output=" $SCRIPT_DIR /logo-${size} .png"
32- sips --resampleHeightWidth " $size " " $size " " $SOURCE " --out " $output " > /dev/null
33- echo " Generated: logo-${size} .png"
47+ local source=" $1 "
48+ local prefix=" $2 "
49+ local size=" $3 "
50+ local output=" $SCRIPT_DIR /${prefix} -${size} .png"
51+ sips --resampleHeightWidth " $size " " $size " " $source " --out " $output " > /dev/null
52+ echo " Generated: ${prefix} -${size} .png"
3453}
3554
36- generate 256
37- generate 128
38- generate 64
55+ for size in " ${SIZES[@]} " ; do
56+ generate " $SOURCE " " logo " " $size "
57+ done
3958
40- # Generate logo-solid-bg variants from logo-solid-bg.png
41- for size in 256 128 64; do
42- sips --resampleHeightWidth " $size " " $size " " $SOURCE_SOLID_BG " --out " $SCRIPT_DIR /logo-solid-bg-${size} .png" > /dev/null
43- echo " Generated: logo-solid-bg-${size} .png"
59+ for size in " ${SIZES[@]} " ; do
60+ generate " $SOURCE_SOLID_BG " " logo-solid-bg" " $size "
4461done
4562
46- # Generate favicon.png (64x64) from logo-simple.png
47- sips --resampleHeightWidth 64 64 " $SOURCE_SIMPLE " --out " $SCRIPT_DIR /favicon.png" > /dev/null
48- echo " Generated: favicon.png"
63+ for size in " ${SIZES[@]} " ; do
64+ generate " $SOURCE_SIMPLE " " logo-simple" " $size "
65+ done
66+
67+ for size in " ${SIZES[@]} " ; do
68+ generate " $SOURCE_SIMPLE_SOLID_BG " " logo-simple-solid-bg" " $size "
69+ done
4970
71+ for size in " ${SIZES[@]} " ; do
72+ generate " $SOURCE_SIMPLE_TEXT " " logo-simple-text" " $size "
73+ done
74+
75+ for size in " ${SIZES[@]} " ; do
76+ generate " $SOURCE_SIMPLE_TEXT_SOLID_BG " " logo-simple-text-solid-bg" " $size "
77+ done
78+
79+ # Generate favicon.png (64x64)
80+ # FAVICON_SOURCE="$SOURCE_SIMPLE_SOLID_BG"
81+ FAVICON_SOURCE=" $SOURCE_SIMPLE "
82+ sips --resampleHeightWidth 64 64 " $FAVICON_SOURCE " --out " $SCRIPT_DIR /favicon.png" > /dev/null
83+ echo " Generated: favicon.png"
5084# Generate favicon.ico (64x64) from logo-simple.png
51- sips --resampleHeightWidth 64 64 " $SOURCE_SIMPLE " --setProperty format com.microsoft.ico --out " $SCRIPT_DIR /favicon.ico" > /dev/null
85+ sips --resampleHeightWidth 64 64 " $FAVICON_SOURCE " --setProperty format com.microsoft.ico --out " $SCRIPT_DIR /favicon.ico" > /dev/null
5286echo " Generated: favicon.ico"
5387
54- # Generate AppIcon.icns for macOS from logo-simple.png
88+ # Generate AppIcon.icns for macOS
89+ APPLE_ICON_IMAGE=" $SOURCE_SIMPLE "
90+ # APPLE_ICON_IMAGE="$SOURCE_SIMPLE_SOLID_BG"
91+ # APPLE_ICON_IMAGE="$SOURCE_SIMPLE_TEXT_SOLID_BG"
5592ICONSET_DIR=" $SCRIPT_DIR /AppIcon.iconset"
5693mkdir -p " $ICONSET_DIR "
57- sips --resampleHeightWidth 16 16 " $SOURCE_SIMPLE " --out " $ICONSET_DIR /icon_16x16.png" > /dev/null
58- sips --resampleHeightWidth 32 32 " $SOURCE_SIMPLE " --out " $ICONSET_DIR /icon_16x16@2x.png" > /dev/null
59- sips --resampleHeightWidth 32 32 " $SOURCE_SIMPLE " --out " $ICONSET_DIR /icon_32x32.png" > /dev/null
60- sips --resampleHeightWidth 64 64 " $SOURCE_SIMPLE " --out " $ICONSET_DIR /icon_32x32@2x.png" > /dev/null
61- sips --resampleHeightWidth 128 128 " $SOURCE_SIMPLE " --out " $ICONSET_DIR /icon_128x128.png" > /dev/null
62- sips --resampleHeightWidth 256 256 " $SOURCE_SIMPLE " --out " $ICONSET_DIR /icon_128x128@2x.png" > /dev/null
63- sips --resampleHeightWidth 256 256 " $SOURCE_SIMPLE " --out " $ICONSET_DIR /icon_256x256.png" > /dev/null
64- sips --resampleHeightWidth 512 512 " $SOURCE_SIMPLE " --out " $ICONSET_DIR /icon_256x256@2x.png" > /dev/null
65- sips --resampleHeightWidth 512 512 " $SOURCE_SIMPLE " --out " $ICONSET_DIR /icon_512x512.png" > /dev/null
66- sips --resampleHeightWidth 1024 1024 " $SOURCE_SIMPLE " --out " $ICONSET_DIR /icon_512x512@2x.png" > /dev/null
94+ sips --resampleHeightWidth 16 16 " $APPLE_ICON_IMAGE " --out " $ICONSET_DIR /icon_16x16.png" > /dev/null
95+ sips --resampleHeightWidth 32 32 " $APPLE_ICON_IMAGE " --out " $ICONSET_DIR /icon_16x16@2x.png" > /dev/null
96+ sips --resampleHeightWidth 32 32 " $APPLE_ICON_IMAGE " --out " $ICONSET_DIR /icon_32x32.png" > /dev/null
97+ sips --resampleHeightWidth 64 64 " $APPLE_ICON_IMAGE " --out " $ICONSET_DIR /icon_32x32@2x.png" > /dev/null
98+ sips --resampleHeightWidth 128 128 " $APPLE_ICON_IMAGE " --out " $ICONSET_DIR /icon_128x128.png" > /dev/null
99+ sips --resampleHeightWidth 256 256 " $APPLE_ICON_IMAGE " --out " $ICONSET_DIR /icon_128x128@2x.png" > /dev/null
100+ sips --resampleHeightWidth 256 256 " $APPLE_ICON_IMAGE " --out " $ICONSET_DIR /icon_256x256.png" > /dev/null
101+ sips --resampleHeightWidth 512 512 " $APPLE_ICON_IMAGE " --out " $ICONSET_DIR /icon_256x256@2x.png" > /dev/null
102+ sips --resampleHeightWidth 512 512 " $APPLE_ICON_IMAGE " --out " $ICONSET_DIR /icon_512x512.png" > /dev/null
103+ sips --resampleHeightWidth 1024 1024 " $APPLE_ICON_IMAGE " --out " $ICONSET_DIR /icon_512x512@2x.png" > /dev/null
67104iconutil -c icns " $ICONSET_DIR " -o " $SCRIPT_DIR /AppIcon.icns"
68105rm -rf " $ICONSET_DIR "
69106echo " Generated: AppIcon.icns"
0 commit comments