2 # Converts my logo to various formats from a template SVG
7 SIZES="2048 1024 512 256 128 64"
8 A_SIZES="10 15 20 25 30 35 40 45 50 55 60"
11 [ -z ${arg} ] && echo "Please provide an output format!" && exit 1
13 [ ${arg} = "svg" ] && find . -name *.svg -not -path "./template/*" \
16 if [ ! -d "square/svg" ] || [ ! -d "circle/svg" ] || [ ${arg} = "svg" ]; then
17 echo "Generating SVGs"
18 for SHAPE in square circle; do
21 sed -e 's/STROKE/stroke="#00ffbf"/g' \
22 -e 's/FILL/#212121/g' template/${SHAPE}.svg \
23 > ${SHAPE}/svg/logo-${SHAPE}-color-dark.svg
25 sed -e 's/STROKE/stroke="#00ffbf"/g' \
26 -e 's/FILL/#fff/g' template/${SHAPE}.svg \
27 > ${SHAPE}/svg/logo-${SHAPE}-color-white.svg
29 sed -e 's/STROKE/stroke="#00ffbf"/g' \
30 -e 's/FILL/none/g' template/${SHAPE}.svg \
31 > ${SHAPE}/svg/logo-${SHAPE}-color-trans.svg
33 sed -e 's/STROKE/stroke="#212121"/g' \
34 -e 's/FILL/#00ffbf/g' template/${SHAPE}.svg \
35 > ${SHAPE}/svg/logo-${SHAPE}-dark-color.svg
37 sed -e 's/STROKE/stroke="#212121"/g' \
38 -e 's/FILL/#fff/g' template/${SHAPE}.svg \
39 > ${SHAPE}/svg/logo-${SHAPE}-dark-white.svg
41 sed -e 's/STROKE/stroke="#212121"/g' \
42 -e 's/FILL/none/g' template/${SHAPE}.svg \
43 > ${SHAPE}/svg/logo-${SHAPE}-dark-trans.svg
45 sed -e 's/STROKE/stroke="#fff"/g' \
46 -e 's/FILL/#00ffbf/g' template/${SHAPE}.svg \
47 > ${SHAPE}/svg/logo-${SHAPE}-white-color.svg
49 sed -e 's/STROKE/stroke="#fff"/g' \
50 -e 's/FILL/#212121/g' template/${SHAPE}.svg \
51 > ${SHAPE}/svg/logo-${SHAPE}-white-dark.svg
53 sed -e 's/STROKE/stroke="#fff"/g' \
54 -e 's/FILL/none/g' template/${SHAPE}.svg \
55 > ${SHAPE}/svg/logo-${SHAPE}-white-trans.svg
59 [ ${arg} = "svg" ] && exit 0
61 [ ${arg} = "png" ] && find . -name *.png -not -name ./logo.png \
64 if [ ! -d "square/png" ] || [ ! -d "circle/png" ] || [ ${arg} = "png" ]; then
65 echo "Generating PNGs"
66 for SHAPE in square circle; do
69 mkdir -p ${SHAPE}/png/${i}
73 for SVGIN in square/svg/*; do
74 BASE=$(basename ${SVGIN} | cut -d '.' -f 1)
75 inkscape -w ${i} -h ${i} ${SVGIN} --export-filename \
76 square/png/${i}/${BASE}-${i}.png
79 for SVGIN in circle/svg/*; do
80 BASE=$(basename ${SVGIN} | cut -d '.' -f 1)
81 inkscape -w ${i} -h ${i} ${SVGIN} --export-filename \
82 circle/png/${i}/${BASE}-${i}.png
88 [ ${arg} = "png" ] && exit 0
90 if [ ${arg} = "ascii" ]; then
91 echo "Generating ASCII art"
92 find . -name *ascii.txt -exec rm -v {} \;
93 for SHAPE in square circle; do
96 mkdir -p ${SHAPE}/ascii/${i}
98 for PNGIN in circle/png/2048/*; do
99 BASE=$(basename ${PNGIN} | cut -d '.' -f 1)
100 jp2a --height=${i} ${PNGIN} > circle/ascii/${i}/${BASE}-${i}.ascii.txt
103 for PNGIN in square/png/2048/*; do
104 BASE=$(basename ${PNGIN} | cut -d '.' -f 1)
105 jp2a --height=${i} ${PNGIN} > square/ascii/${i}/${BASE}-${i}.ascii.txt
112 if [ ${arg} = "unicode" ]; then
113 echo "Generating Unicode"
114 find . -name *unicode.txt -exec rm -v {} \;
115 for SHAPE in square circle; do
118 mkdir -p ${SHAPE}/unicode/${i}
120 for PNGIN in circle/png/2048/*; do
121 BASE=$(basename ${PNGIN} | cut -d '-' -f -4)
122 chafa -c none -s ${i}x${i} ${PNGIN} \
123 > circle/unicode/${i}/${BASE}-${i}.unicode.txt
126 for PNGIN in square/png/2048/*; do
127 BASE=$(basename ${PNGIN} | cut -d '-' -f -4)
128 chafa -c none -s ${i}x${i} ${PNGIN} \
129 > square/unicode/${i}/${BASE}-${i}.unicode.txt
136 for SHAPE in square circle; do
137 find . -name '*.${arg}' -exec rm -v {} \;
141 mkdir -p ${SHAPE}/${arg}/${i}
144 for PAT in $(find . -name '*.png' -not -name ./logo.png); do
145 echo "Generating ${arg}s"
146 convert -verbose ${PAT} $(printf "%s" "$PAT" | sed "s/\.png/.$arg/g")