misc scripts & programs
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"