Skip to content
Snippets Groups Projects
Commit 8e2b8de1 authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

New make-based asset pipeline

parent dad264cb
No related branches found
No related tags found
No related merge requests found
Showing
with 156 additions and 138 deletions
RESOLUTION = $(shell pwd)/generate_resolution.sh
THUMB = $(shell pwd)/generate_thumb.sh
all: quassel_light@220.png quassel_light@266.png quassel_light@335.png quassel_light@352.png quassel_light@532.png quassel_light@thumb.jpg quassel_dark@220.png quassel_dark@266.png quassel_dark@335.png quassel_dark@352.png quassel_dark@532.png quassel_dark@thumb.jpg solarized_light@220.png solarized_light@266.png solarized_light@335.png solarized_light@352.png solarized_light@532.png solarized_light@thumb.jpg solarized_dark@220.png solarized_dark@266.png solarized_dark@335.png solarized_dark@352.png solarized_dark@532.png solarized_dark@thumb.jpg gruvbox_light@220.png gruvbox_light@266.png gruvbox_light@335.png gruvbox_light@352.png gruvbox_light@532.png gruvbox_light@thumb.jpg gruvbox_dark@220.png gruvbox_dark@266.png gruvbox_dark@335.png gruvbox_dark@352.png gruvbox_dark@532.png gruvbox_dark@thumb.jpg amoled@220.png amoled@266.png amoled@335.png amoled@352.png amoled@532.png amoled@thumb.jpg phone@220.png phone@300.png phone@400.png phone@520.png phone@640.png phone@800.png phone@1000.png phone@1220.png phone@thumb.png tablet@545.png tablet@640.png tablet@720.png tablet@800.png tablet@880.png tablet@960.png tablet@1090.png tablet@1635.png tablet@2180.png tablet@thumb.png notifications@363.png notifications@474.png notifications@590.png notifications@thumb.jpg desktop@363.png desktop@474.png desktop@590.png desktop@726.png desktop@948.png desktop@1180.png desktop@thumb.jpg themes@363.png themes@474.png themes@590.png themes@726.png themes@948.png themes@1180.png themes@thumb.jpg
quassel_light@220.png: quassel_light.png
./generate_resolution quassel_light 220 85
$(RESOLUTION) quassel_light 220 85
quassel_light@266.png: quassel_light.png
./generate_resolution quassel_light 266 85
$(RESOLUTION) quassel_light 266 85
quassel_light@335.png: quassel_light.png
./generate_resolution quassel_light 335 85
$(RESOLUTION) quassel_light 335 85
quassel_light@352.png: quassel_light.png
./generate_resolution quassel_light 352 85
$(RESOLUTION) quassel_light 352 85
quassel_light@532.png: quassel_light.png
./generate_resolution quassel_light 532 85
$(RESOLUTION) quassel_light 532 85
quassel_light@thumb.jpg: quassel_light.png
./generate_thumb quassel_light 16x 50 jpg
$(THUMB) quassel_light 16x 50 jpg
quassel_dark@220.png: quassel_dark.png
./generate_resolution quassel_dark 220 85
$(RESOLUTION) quassel_dark 220 85
quassel_dark@266.png: quassel_dark.png
./generate_resolution quassel_dark 266 85
$(RESOLUTION) quassel_dark 266 85
quassel_dark@335.png: quassel_dark.png
./generate_resolution quassel_dark 335 85
$(RESOLUTION) quassel_dark 335 85
quassel_dark@352.png: quassel_dark.png
./generate_resolution quassel_dark 352 85
$(RESOLUTION) quassel_dark 352 85
quassel_dark@532.png: quassel_dark.png
./generate_resolution quassel_dark 532 85
$(RESOLUTION) quassel_dark 532 85
quassel_dark@thumb.jpg: quassel_dark.png
./generate_thumb quassel_dark 16x 50 jpg
$(THUMB) quassel_dark 16x 50 jpg
solarized_light@220.png: solarized_light.png
./generate_resolution solarized_light 220 85
$(RESOLUTION) solarized_light 220 85
solarized_light@266.png: solarized_light.png
./generate_resolution solarized_light 266 85
$(RESOLUTION) solarized_light 266 85
solarized_light@335.png: solarized_light.png
./generate_resolution solarized_light 335 85
$(RESOLUTION) solarized_light 335 85
solarized_light@352.png: solarized_light.png
./generate_resolution solarized_light 352 85
$(RESOLUTION) solarized_light 352 85
solarized_light@532.png: solarized_light.png
./generate_resolution solarized_light 532 85
$(RESOLUTION) solarized_light 532 85
solarized_light@thumb.jpg: solarized_light.png
./generate_thumb solarized_light 16x 50 jpg
$(THUMB) solarized_light 16x 50 jpg
solarized_dark@220.png: solarized_dark.png
./generate_resolution solarized_dark 220 85
$(RESOLUTION) solarized_dark 220 85
solarized_dark@266.png: solarized_dark.png
./generate_resolution solarized_dark 266 85
$(RESOLUTION) solarized_dark 266 85
solarized_dark@335.png: solarized_dark.png
./generate_resolution solarized_dark 335 85
$(RESOLUTION) solarized_dark 335 85
solarized_dark@352.png: solarized_dark.png
./generate_resolution solarized_dark 352 85
$(RESOLUTION) solarized_dark 352 85
solarized_dark@532.png: solarized_dark.png
./generate_resolution solarized_dark 532 85
$(RESOLUTION) solarized_dark 532 85
solarized_dark@thumb.jpg: solarized_dark.png
./generate_thumb solarized_dark 16x 50 jpg
$(THUMB) solarized_dark 16x 50 jpg
gruvbox_light@220.png: gruvbox_light.png
./generate_resolution gruvbox_light 220 85
$(RESOLUTION) gruvbox_light 220 85
gruvbox_light@266.png: gruvbox_light.png
./generate_resolution gruvbox_light 266 85
$(RESOLUTION) gruvbox_light 266 85
gruvbox_light@335.png: gruvbox_light.png
./generate_resolution gruvbox_light 335 85
$(RESOLUTION) gruvbox_light 335 85
gruvbox_light@352.png: gruvbox_light.png
./generate_resolution gruvbox_light 352 85
$(RESOLUTION) gruvbox_light 352 85
gruvbox_light@532.png: gruvbox_light.png
./generate_resolution gruvbox_light 532 85
$(RESOLUTION) gruvbox_light 532 85
gruvbox_light@thumb.jpg: gruvbox_light.png
./generate_thumb gruvbox_light 16x 50 jpg
$(THUMB) gruvbox_light 16x 50 jpg
gruvbox_dark@220.png: gruvbox_dark.png
./generate_resolution gruvbox_dark 220 85
$(RESOLUTION) gruvbox_dark 220 85
gruvbox_dark@266.png: gruvbox_dark.png
./generate_resolution gruvbox_dark 266 85
$(RESOLUTION) gruvbox_dark 266 85
gruvbox_dark@335.png: gruvbox_dark.png
./generate_resolution gruvbox_dark 335 85
$(RESOLUTION) gruvbox_dark 335 85
gruvbox_dark@352.png: gruvbox_dark.png
./generate_resolution gruvbox_dark 352 85
$(RESOLUTION) gruvbox_dark 352 85
gruvbox_dark@532.png: gruvbox_dark.png
./generate_resolution gruvbox_dark 532 85
$(RESOLUTION) gruvbox_dark 532 85
gruvbox_dark@thumb.jpg: gruvbox_dark.png
./generate_thumb gruvbox_dark 16x 50 jpg
$(THUMB) gruvbox_dark 16x 50 jpg
amoled@220.png: amoled.png
./generate_resolution amoled 220 85
$(RESOLUTION) amoled 220 85
amoled@266.png: amoled.png
./generate_resolution amoled 266 85
$(RESOLUTION) amoled 266 85
amoled@335.png: amoled.png
./generate_resolution amoled 335 85
$(RESOLUTION) amoled 335 85
amoled@352.png: amoled.png
./generate_resolution amoled 352 85
$(RESOLUTION) amoled 352 85
amoled@532.png: amoled.png
./generate_resolution amoled 532 85
$(RESOLUTION) amoled 532 85
amoled@thumb.jpg: amoled.png
./generate_thumb amoled 16x 50 jpg
$(THUMB) amoled 16x 50 jpg
phone@220.png: phone.png
./generate_resolution phone 220 85
$(RESOLUTION) phone 220 85
phone@300.png: phone.png
./generate_resolution phone 300 85
$(RESOLUTION) phone 300 85
phone@400.png: phone.png
./generate_resolution phone 400 85
$(RESOLUTION) phone 400 85
phone@520.png: phone.png
./generate_resolution phone 520 85
$(RESOLUTION) phone 520 85
phone@640.png: phone.png
./generate_resolution phone 640 85
$(RESOLUTION) phone 640 85
phone@800.png: phone.png
./generate_resolution phone 800 85
$(RESOLUTION) phone 800 85
phone@1000.png: phone.png
./generate_resolution phone 1000 85
$(RESOLUTION) phone 1000 85
phone@1220.png: phone.png
./generate_resolution phone 1220 85
$(RESOLUTION) phone 1220 85
phone@thumb.png: phone.png
./generate_thumb phone 16x 70 png
$(THUMB) phone 16x 70 png
tablet@545.png: tablet.png
./generate_resolution tablet 545 85
$(RESOLUTION) tablet 545 85
tablet@640.png: tablet.png
./generate_resolution tablet 640 85
$(RESOLUTION) tablet 640 85
tablet@720.png: tablet.png
./generate_resolution tablet 720 85
$(RESOLUTION) tablet 720 85
tablet@800.png: tablet.png
./generate_resolution tablet 800 85
$(RESOLUTION) tablet 800 85
tablet@880.png: tablet.png
./generate_resolution tablet 880 85
$(RESOLUTION) tablet 880 85
tablet@960.png: tablet.png
./generate_resolution tablet 960 85
$(RESOLUTION) tablet 960 85
tablet@1090.png: tablet.png
./generate_resolution tablet 1090 85
$(RESOLUTION) tablet 1090 85
tablet@1635.png: tablet.png
./generate_resolution tablet 1635 85
$(RESOLUTION) tablet 1635 85
tablet@2180.png: tablet.png
./generate_resolution tablet 2180 85
$(RESOLUTION) tablet 2180 85
tablet@thumb.png: tablet.png
./generate_thumb tablet 16x16 70 none
$(THUMB) tablet 16x16 70 none
notifications@363.png: notifications.png
./generate_resolution notifications 363 85
$(RESOLUTION) notifications 363 85
notifications@474.png: notifications.png
./generate_resolution notifications 474 85
$(RESOLUTION) notifications 474 85
notifications@590.png: notifications.png
./generate_resolution notifications 590 85
$(RESOLUTION) notifications 590 85
notifications@thumb.jpg: notifications.png
./generate_thumb notifications 16x 50 jpg
$(THUMB) notifications 16x 50 jpg
desktop@363.png: desktop.png
./generate_resolution desktop 363 85
$(RESOLUTION) desktop 363 85
desktop@474.png: desktop.png
./generate_resolution desktop 474 85
$(RESOLUTION) desktop 474 85
desktop@590.png: desktop.png
./generate_resolution desktop 590 85
$(RESOLUTION) desktop 590 85
desktop@726.png: desktop.png
./generate_resolution desktop 726 85
$(RESOLUTION) desktop 726 85
desktop@948.png: desktop.png
./generate_resolution desktop 948 85
$(RESOLUTION) desktop 948 85
desktop@1180.png: desktop.png
./generate_resolution desktop 1180 85
$(RESOLUTION) desktop 1180 85
desktop@thumb.jpg: desktop.png
./generate_thumb desktop 16x 50 jpg
$(THUMB) desktop 16x 50 jpg
themes@363.png: themes.png
./generate_resolution themes 363 85
$(RESOLUTION) themes 363 85
themes@474.png: themes.png
./generate_resolution themes 474 85
$(RESOLUTION) themes 474 85
themes@590.png: themes.png
./generate_resolution themes 590 85
$(RESOLUTION) themes 590 85
themes@726.png: themes.png
./generate_resolution themes 726 85
$(RESOLUTION) themes 726 85
themes@948.png: themes.png
./generate_resolution themes 948 85
$(RESOLUTION) themes 948 85
themes@1180.png: themes.png
./generate_resolution themes 1180 85
$(RESOLUTION) themes 1180 85
themes@thumb.jpg: themes.png
./generate_thumb themes 16x 50 jpg
$(THUMB) themes 16x 50 jpg
assets/images/amoled@220.png

21.2 KiB

assets/images/amoled@266.png

24.4 KiB

assets/images/amoled@335.png

38.4 KiB

assets/images/amoled@352.png

41.1 KiB

assets/images/amoled@532.png

72.1 KiB

assets/images/amoled@thumb.jpg

383 B

assets/images/desktop@1180.png

277 KiB

assets/images/desktop@363.png

38.5 KiB

assets/images/desktop@474.png

63.5 KiB

assets/images/desktop@590.png

94.9 KiB

assets/images/desktop@726.png

135 KiB

assets/images/desktop@948.png

200 KiB

assets/images/desktop@thumb.jpg

324 B

......@@ -2,7 +2,6 @@
cd $(dirname $(realpath -s ${0}))
function generate_image() {
image=${1}
resolutions=${2}
default_resolution=${3}
......@@ -14,4 +13,3 @@ function generate_image() {
./generate_resolution ${image} ${resolution} ${quality}
done
./generate_thumb ${image} ${default_resolution} ${thumb_quality} ${thumb_format}
\ No newline at end of file
}
\ No newline at end of file
......@@ -5,6 +5,8 @@ THUMB_QUALITY_JPG=50
cd $(dirname $(realpath -s ${0}))
RULES=()
function generate_rule() {
image=${1}
resolutions=${2}
......@@ -14,22 +16,26 @@ function generate_rule() {
thumb_format=${6}
for resolution in ${resolutions}; do
echo "${image}@${resolution}.png: ${image}.png"
echo " ./generate_resolution ${image} ${resolution} ${quality}"
RULES+=("${image}@${resolution}.png")
echo "${image}@${resolution}.png: ${image}.png" >> Makefile.wip
echo " \$(RESOLUTION) ${image} ${resolution} ${quality}" >> Makefile.wip
done
case ${thumb_format} in
"png")
echo "${image}@thumb.png: ${image}.png"
echo " ./generate_thumb ${image} ${default_resolution} ${thumb_quality} png"
RULES+=("${image}@thumb.png")
echo "${image}@thumb.png: ${image}.png" >> Makefile.wip
echo " \$(THUMB) ${image} ${default_resolution} ${thumb_quality} png" >> Makefile.wip
;;
"jpg")
echo "${image}@thumb.jpg: ${image}.png"
echo " ./generate_thumb ${image} ${default_resolution} ${thumb_quality} jpg"
RULES+=("${image}@thumb.jpg")
echo "${image}@thumb.jpg: ${image}.png" >> Makefile.wip
echo " \$(THUMB) ${image} ${default_resolution} ${thumb_quality} jpg" >> Makefile.wip
;;
"none")
echo "${image}@thumb.png: ${image}.png"
echo " ./generate_thumb ${image} ${default_resolution} ${thumb_quality} none"
RULES+=("${image}@thumb.png")
echo "${image}@thumb.png: ${image}.png" >> Makefile.wip
echo " \$(THUMB) ${image} ${default_resolution} ${thumb_quality} none" >> Makefile.wip
;;
*)
echo "Unknown format: $thumb_format"
......@@ -38,14 +44,29 @@ function generate_rule() {
esac
}
echo -n > Makefile
function finalize() {
echo -n "all:" >> Makefile
for rule in "${RULES[@]}"; do
echo -n " $rule" >> Makefile
done
echo >> Makefile
cat Makefile.wip >> Makefile
rm Makefile.wip
}
cat <<EOF > Makefile
RESOLUTION = \$(shell pwd)/generate_resolution.sh
THUMB = \$(shell pwd)/generate_thumb.sh
EOF
# Generate Images
themes="quassel_light quassel_dark solarized_light solarized_dark gruvbox_light gruvbox_dark amoled"
for image in ${themes}; do
generate_rule ${image} "220 266 335 352 532" 16x ${QUALITY} ${THUMB_QUALITY_JPG} jpg >> Makefile
generate_rule ${image} "220 266 335 352 532" 16x ${QUALITY} ${THUMB_QUALITY_JPG} jpg
done
generate_rule phone "220 300 400 520 640 800 1000 1220" 16x ${QUALITY} ${THUMB_QUALITY_PNG} png >> Makefile
generate_rule tablet "545 640 720 800 880 960 1090 1635 2180" 16x16 ${QUALITY} ${THUMB_QUALITY_PNG} none >> Makefile
generate_rule notifications "363 474 590" 16x ${QUALITY} ${THUMB_QUALITY_JPG} jpg >> Makefile
generate_rule desktop "363 474 590 726 948 1180" 16x ${QUALITY} ${THUMB_QUALITY_JPG} jpg >> Makefile
generate_rule themes "363 474 590 726 948 1180" 16x ${QUALITY} ${THUMB_QUALITY_JPG} jpg >> Makefile
\ No newline at end of file
generate_rule phone "220 300 400 520 640 800 1000 1220" 16x ${QUALITY} ${THUMB_QUALITY_PNG} png
generate_rule tablet "545 640 720 800 880 960 1090 1635 2180" 16x16 ${QUALITY} ${THUMB_QUALITY_PNG} none
generate_rule notifications "363 474 590" 16x ${QUALITY} ${THUMB_QUALITY_JPG} jpg
generate_rule desktop "363 474 590 726 948 1180" 16x ${QUALITY} ${THUMB_QUALITY_JPG} jpg
generate_rule themes "363 474 590 726 948 1180" 16x ${QUALITY} ${THUMB_QUALITY_JPG} jpg
finalize
\ No newline at end of file
......@@ -2,7 +2,6 @@
cd $(dirname $(realpath -s ${0}))
function generate_resolution() {
image=${1}
resolution=${2}
quality=${3}
......@@ -10,4 +9,3 @@ function generate_resolution() {
convert ${image}.png -filter Lanczos -distort Resize ${resolution}x ${image}@${resolution}.png
pngquant --quality ${quality} ${image}@${resolution}.png
mv ${image}@${resolution}-fs8.png ${image}@${resolution}.png
\ No newline at end of file
}
\ No newline at end of file
......@@ -2,29 +2,6 @@
cd $(dirname $(realpath -s ${0}))
function generate_thumb() {
image=${1}
default_resolution=${2}
quality=${3}
format=${4}
case ${format} in
"png")
generate_thumb_png ${image} ${default_resolution} ${quality}
;;
"jpg")
generate_thumb_jpg ${image} ${default_resolution} ${quality}
;;
"none")
generate_thumb_none ${image} ${default_resolution} ${quality}
;;
*)
echo "Unknown format: $format"
exit 1
;;
esac
}
function generate_thumb_jpg() {
image=${1}
default_resolution=${2}
......@@ -53,3 +30,24 @@ function generate_thumb_none() {
convert -size ${default_resolution} xc:none ${image}@thumb.png
}
image=${1}
default_resolution=${2}
quality=${3}
format=${4}
case ${format} in
"png")
generate_thumb_png ${image} ${default_resolution} ${quality}
;;
"jpg")
generate_thumb_jpg ${image} ${default_resolution} ${quality}
;;
"none")
generate_thumb_none ${image} ${default_resolution} ${quality}
;;
*)
echo "Unknown format: $format"
exit 1
;;
esac
\ No newline at end of file
assets/images/gruvbox_dark@220.png

22.1 KiB

assets/images/gruvbox_dark@266.png

29.3 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment