Last active
February 28, 2019 16:37
-
-
Save miguelsolorio/4f89bdf5bc2aabebf25ce45ca7cf8d97 to your computer and use it in GitHub Desktop.
Using ImageMagick (ico) and Iconutil (icns) to generate OS icons
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
input=("assets") | |
output=("dist") | |
platforms=("darwin" "win32") | |
versions=("stable" "insiders" "oss") | |
files=("bat" "bower" "c" "cpp" "csharp" "css" "default" "go" "html" "jade" "java" "javascript" "less" "markdown" "php" "powershell" "python" "react" "ruby" "sass" "shell" "sql" "typescript" "vue" "xml" "yaml" "json" "config") | |
# create output directory | |
for platform in "${platforms[@]}" | |
do | |
for version in "${versions[@]}" | |
do | |
mkdir -p -- "$output/$version/$platform/" | |
done | |
done | |
# convert icons | |
for platform in "${platforms[@]}" | |
do | |
for version in "${versions[@]}" | |
do | |
for file in "${files[@]}" | |
do | |
if [ $platform = "darwin" ]; then | |
iconutil -c icns $input/$version/$platform/$file.iconset | |
mv $input/$version/$platform/$file.icns $output/$version/$platform/$file.icns | |
elif [ $platform = "win32" ] && [ $file != "bat" ]; then | |
convert $input/$version/$platform/$file-icon_16x16.png $input/$version/$platform/$file-icon_20x20.png $input/$version/$platform/$file-icon_24x24.png $input/$version/$platform/$file-icon_32x32.png $input/$version/$platform/$file-icon_48x48.png $input/$version/$platform/$file-icon_64x64.png $input/$version/$platform/$file-icon_96x96.png $input/$version/$platform/$file-icon_128x128.png $input/$version/$platform/$file-icon_256x256.png $output/$version/$platform/$file.ico | |
fi | |
echo "✓ $output/$version/$platform/$file" | |
done | |
done | |
done | |
echo "🎉 Finished!" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment