Git commit 8a31ac8ac1056a9065d50845b71336fff74e317c by Aleix Pol. Committed on 24/02/2016 at 17:16. Pushed by apol into branch 'master'.
Include a script that can optimize svg files Now we need to think about how we want this to be executed. REVIEW: 126740 CCMAIL: plasma-devel@kde.org A +43 -0 optimize-svg.sh http://commits.kde.org/breeze-icons/8a31ac8ac1056a9065d50845b71336fff74e317c diff --git a/optimize-svg.sh b/optimize-svg.sh new file mode 100755 index 0000000..a9d1507 --- /dev/null +++ b/optimize-svg.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +if ! command -v svgo >/dev/null +then + echo "Please install svgo: npm install svgo" + exit 1 +fi +# regarding convertStyleToAttrs, see: https://github.com/svg/svgo/issues/489 +# regarding convertPathData, see: https://github.com/svg/svgo/issues/490 +ARGS="--pretty --disable=convertStyleToAttrs --disable=convertPathData" + +function generatePng { + inkscape -z -D $1 --export-png=$2 --export-width=200 --export-background=transparent > /dev/null +} + +# args: pngA pngB final.svg temp.svg +function evaluateOptimization { +# that regex is to just take A from "A (B)" + res=`compare -metric MAE $1 $2 /dev/null 2>&1 | sed "s/^\\([0-9]*\\).*/\\1/"` #-fuzz 5 + if [ "$res" -gt 100 ]; then + echo "huuuuge difference of $res in $3" + else + mv $4 $3 + fi +} + +find . -name "*.svg" -size 4k -print0 | while IFS= read -r -d '' file +do + echo "doing... $file" + generatePng "$file" /tmp/A.png + svgo -i "$file" -o "$file".tmp.svg $ARGS + generatePng "$file".tmp.svg /tmp/B.png + evaluateOptimization /tmp/A.png /tmp/B.png "$file" "$file".tmp.svg +done + +find . -name "*.svgz" -print0 | while IFS= read -r -d '' file +do + echo "z-doing... $file" + generatePng "$file" /tmp/A.png + gunzip "$file" -S .svgz -c | svgo -i - $ARGS | gzip -c > "$file".tmp.svgz + generatePng "$file".tmp.svgz /tmp/B.png + evaluateOptimization /tmp/A.png /tmp/B.png "$file" "$file".tmp.svgz +done _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel