]> git.armaanb.net Git - logo.git/blob - svg2img
Complete repo restructure
[logo.git] / svg2img
1 #!/usr/bin/env bash
2 # Converts my logo to various formats from a template SVG
3 # Armaan Bhojwani 2021
4
5 [[ -z ${1} ]] && echo "Please provide an output format!" && exit 1
6
7 [[ ${1} == "svg" ]] && find . -name *.svg -not -path "./template/*" -exec rm {} \;
8
9 if [[ (! -d "square/svg" || ! -d "circle/svg") || (${1} == "svg") ]]; then
10   for SHAPE in square circle; do
11     mkdir -pv ${SHAPE}/svg
12
13     sed -e 's/STROKE/stroke="#00ffbf" /g' \
14       -e 's/FILL/ fill="#212121"/g' template/${SHAPE}.svg \
15       > ${SHAPE}/svg/logo-${SHAPE}-color-dark.svg
16
17     sed -e 's/STROKE/stroke="#00ffbf" /g' \
18       -e 's/FILL/ fill="#fff"/g' template/${SHAPE}.svg \
19       > ${SHAPE}/svg/logo-${SHAPE}-color-white.svg
20
21     sed -e 's/STROKE/stroke="#00ffbf" /g' \
22       -e 's/FILL//g' template/${SHAPE}.svg \
23       > ${SHAPE}/svg/logo-${SHAPE}-color-trans.svg
24
25     sed -e 's/STROKE/stroke="#212121" /g' \
26       -e 's/FILL/ fill="#00ffbf"/g' template/${SHAPE}.svg \
27       > ${SHAPE}/svg/logo-${SHAPE}-dark-color.svg
28
29     sed -e 's/STROKE/stroke="#212121" /g' \
30       -e 's/FILL/ fill="#fff"/g' template/${SHAPE}.svg \
31       > ${SHAPE}/svg/logo-${SHAPE}-dark-white.svg
32
33     sed -e 's/STROKE/stroke="#212121" /g' \
34       -e 's/FILL//g' template/${SHAPE}.svg \
35       > ${SHAPE}/svg/logo-${SHAPE}-dark-trans.svg
36
37     sed -e 's/STROKE/stroke="#fff" /g' \
38       -e 's/FILL/ fill="#00ffbf"/g' template/${SHAPE}.svg \
39       > ${SHAPE}/svg/logo-${SHAPE}-white-color.svg
40
41     sed -e 's/STROKE/stroke="#fff" /g' \
42       -e 's/FILL/ fill="#212121"/g' template/${SHAPE}.svg \
43       > ${SHAPE}/svg/logo-${SHAPE}-white-dark.svg
44
45     sed -e 's/STROKE/stroke="#fff" /g' \
46       -e 's/FILL//g' template/${SHAPE}.svg \
47       > ${SHAPE}/svg/logo-${SHAPE}-white-trans.svg
48   done
49 fi
50
51 [[ ${1} == "svg" ]] && exit 0
52
53 [[ ${1} == "png" ]] && find . -name *.png -exec rm {} \;
54
55 if [[ (! -d "square/png" || ! -d "circle/png") || (${1} == "png") ]]; then
56   for SHAPE in square circle; do
57     for i in 2048 1024 512 256 128; do
58       mkdir -pv ${SHAPE}/png/${i}
59     done
60
61     for i in 2048 1024 512 256 128; do
62       for SVGIN in square/svg/*; do
63         BASE=$(basename ${SVGIN} | cut -d '.' -f 1)
64         inkscape -w ${i} -h ${i} ${SVGIN} --export-filename \
65           square/png/${i}/${BASE}-${i}.png
66       done
67
68       for SVGIN in circle/svg/*; do
69         BASE=$(basename ${SVGIN} | cut -d '.' -f 1)
70         inkscape -w ${i} -h ${i} ${SVGIN} --export-filename \
71           circle/png/${i}/${BASE}-${i}.png
72       done
73     done
74   done
75 fi
76
77 [[ ${1} == "png" ]] && exit 0
78
79 if [[ ${1} == "ascii" ]]; then
80   find . -name *ascii.txt -exec rm {} \;
81   for SHAPE in square circle; do
82     for i in 10 15 20 25 30 35 40 45 50; do
83       mkdir -pv ${SHAPE}/ascii/${i}
84
85       for PNGIN in circle/png/2048/*; do
86         BASE=$(basename ${PNGIN} | cut -d '.' -f 1)
87         jp2a --height=${i} ${PNGIN} > circle/ascii/${i}/${BASE}-${i}.ascii.txt
88       done
89
90       for PNGIN in square/png/2048/*; do
91         BASE=$(basename ${PNGIN} | cut -d '.' -f 1)
92         jp2a --height=${i} ${PNGIN} > square/ascii/${i}/${BASE}-${i}.ascii.txt
93       done
94     done
95   done
96   exit 0
97 fi
98
99 if [[ ${1} == "unicode" ]]; then
100   find . -name *unicode.txt -exec rm {} \;
101   for SHAPE in square circle; do
102     for i in 10 15 20 25 30 35 40 45 50; do
103       mkdir -pv ${SHAPE}/unicode/${i}
104
105       for PNGIN in circle/png/2048/*; do
106         BASE=$(basename ${PNGIN} | cut -d '-' -f -4)
107         chafa -c none -s ${i}x${i} ${PNGIN} \
108           > circle/unicode/${i}/${BASE}-${i}.unicode.txt
109       done
110
111       for PNGIN in square/png/2048/*; do
112         BASE=$(basename ${PNGIN} | cut -d '-' -f -4)
113         chafa -c none -s ${i}x${i} ${PNGIN} \
114           > square/unicode/${i}/${BASE}-${i}.unicode.txt
115       done
116     done
117   done
118   exit 0
119 fi
120
121 for SHAPE in square circle; do
122   find . -name *.${1} -exec rm {} \;
123
124   for i in 2048 1024 512 256 128; do
125     mkdir -pv ${SHAPE}/${1}/${i}
126   done
127
128   # for PAT in $(find -name *.png); do
129   while read PAT; do
130     convert -verbose ${PAT} ${PAT//png/${1}}
131   done < <(find -name *.png)
132 done