1#!/bin/bash 2# 3# quick script to make variants for animated retrospring icons or headers and direct upload to replace a user's existing ones. good for when a user wants to use a specific gif but carrierwave processing glitches it somehow 4# 5# deps: charmbracelet/gum, imagemagick 6 7filename=$(gum input --placeholder "without an extension") 8 9echo -e "header or icon \n" 10 11CHOOSE=$(gum choose --limit 1 "header" "icon") 12 13echo -e "you chose ${CHOOSE} \n" 14 15echo -e "making dirs \n" 16 17if [ "${CHOOSE}" == "header" ]; then 18 mkdir web mobile retina original 19elif [ "${CHOOSE}" == "icon" ]; then 20 mkdir large medium small original 21else 22 echo -e "mkdir failed for some reason" 23fi 24 25echo -e "dirs made \n" 26 27echo -e "copying original from workdir to dedicated folder \n" 28 29cp ./$filename.gif ./original/$filename.gif 30 31echo -e "move done \n" 32 33ORIGW=$(identify -format '%w' ./original/$filename.gif[0]) 34ORIGH=$(identify -format '%h' ./original/$filename.gif[0]) 35 36echo -e "making mobile version \n" 37 38if [ "${CHOOSE}" == "header" ]; then 39 magick -size $ORIGWx$ORIGH^ ./original/$filename.gif -coalesce -resize 450x105^ /tmp/tmp-header-mobile.gif && magick /tmp/tmp-header-mobile.gif -gravity center -crop 450x105+0+0 +repage ./mobile/$filename.gif 40 41 echo -e "mobile done \n" 42 43 echo -e "making retina version \n" 44 45 magick -size $ORIGWx$ORIGH^ ./original/$filename.gif -coalesce -resize 900x210^ /tmp/tmp-header-retina.gif && magick /tmp/tmp-header-retina.gif -gravity center -crop 900x210+0+0 +repage ./retina/$filename.gif 46 47 echo -e "retina done \n" 48 49 echo -e "making web version \n" 50 51 magick -size $ORIGWx$ORIGH^ ./original/$filename.gif -coalesce -resize 1500x350^ /tmp/tmp-header-web.gif && magick /tmp/tmp-header-web.gif -gravity center -crop 1500x350+0+0 +repage ./web/$filename.gif 52 53 echo -e "web done \n" 54elif [ "${CHOOSE}" == "icon" ]; then 55 magick -size $ORIGWx$ORIGH^ ./original/$filename.gif -coalesce -resize 80x80^ /tmp/tmp-icon-small.gif && magick /tmp/tmp-icon-small.gif -gravity center -crop 80x80+0+0 +repage ./small/$filename.gif 56 57 echo -e "small done \n" 58 59 echo -e "making medium version \n" 60 61 magick -size $ORIGWx$ORIGH^ ./original/$filename.gif -coalesce -resize 256x256^ /tmp/tmp-icon-medium.gif && magick /tmp/tmp-icon-medium.gif -gravity center -crop 256x256+0+0 +repage ./medium/$filename.gif 62 63 echo -e "medium done \n" 64 65 echo -e "making large version \n" 66 67 magick -size $ORIGWx$ORIGH^ ./original/$filename.gif -coalesce -resize 500x500^ /tmp/tmp-icon-large.gif && magick /tmp/tmp-icon-large.gif -gravity center -crop 500x500+0+0 +repage ./large/$filename.gif 68 69 echo -e "large done \n" 70else 71 echo -e "img creation failed for some reason idk" 72fi 73 74echo -e "script done"