-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprocess_images.sh
More file actions
executable file
·62 lines (60 loc) · 2.12 KB
/
process_images.sh
File metadata and controls
executable file
·62 lines (60 loc) · 2.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/bin/bash
IMAGE_DIRECTORY=./static/img
BASE_JPGS=$(find "${IMAGE_DIRECTORY}" -type f -name '*.jpg' | grep -v '_large.jpg\|_medium.jpg\|_small.jpg')
BASE_PNGS=$(find "${IMAGE_DIRECTORY}" -type f -name '*.png' | grep -v '_large.png\|_medium.png\|_small.png')
BASE_ALL="${BASE_JPGS} ${BASE_PNGS}"
WIDTH_SMALL=480
WIDTH_MEDIUM=960
WIDTH_LARGE=1920
CONVERT=magick
if [ -z "$(which ${CONVERT})" ]; then
CONVERT=/usr/bin/convert
fi
for BASEFILE in ${BASE_ALL}; do
FILENAME=$(basename "${BASEFILE}")
USED=$(grep -rnw $(find ./content/ -type f -name '*.md') -e "${FILENAME::-4}" | wc -l)
if [ "${USED}" == "0" ]; then
echo " - ${FILENAME::-4} wird nicht mehr benutzt"
continue
fi
WIDTH=$(${CONVERT} ${BASEFILE} -print "%w\n" /dev/null)
SHORTEN_BASEFILE=${BASEFILE::-4}
FILENAME_NORMAL=${SHORTEN_BASEFILE}.webp
FILENAME_SMALL=${SHORTEN_BASEFILE}_small.webp
FILENAME_MEDIUM=${SHORTEN_BASEFILE}_medium.webp
FILENAME_LARGE=${SHORTEN_BASEFILE}_large.webp
echo " - Verarbeite \"${BASEFILE}\" (${WIDTH} px Breite)"
if [ ! -f "${FILENAME_NORMAL}" ]; then
${CONVERT} "${BASEFILE}" "${FILENAME_NORMAL}"
fi
if [ "${WIDTH}" -gt "${WIDTH_SMALL}" ]; then
if [ ! -f "${FILENAME_SMALL}" ]; then
${CONVERT} \
"${BASEFILE}" \
-geometry "${WIDTH_SMALL}x" \
-quality 30 \
"${FILENAME_SMALL}"
echo " - Small Version erzeugt"
fi
fi
if [ "${WIDTH}" -gt "${WIDTH_MEDIUM}" ]; then
if [ ! -f "${FILENAME_MEDIUM}" ]; then
${CONVERT} \
"${BASEFILE}" \
-geometry "${WIDTH_MEDIUM}x" \
-quality "40%" \
"${FILENAME_MEDIUM}"
echo " - Medium Version erzeugt"
fi
fi
if [ "${WIDTH}" -gt "${WIDTH_LARGE}" ]; then
if [ ! -f "${FILENAME_LARGE}" ]; then
${CONVERT} \
"${BASEFILE}" \
-geometry "${WIDTH_LARGE}x" \
-quality "60%" \
"${FILENAME_LARGE}"
echo " - Large Version erzeugt"
fi
fi
done