aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorLibravatar daniruiz <daniruizdealegria@gmail.com>2017-10-27 12:42:14 +0200
committerLibravatar daniruiz <daniruizdealegria@gmail.com>2017-10-27 12:42:14 +0200
commit7a5099b5503815288aea4090b54eb3cd38fae4cc (patch)
treef61e129fdec5b484f05aac1262065a0907f8b55c /tools
parentf8f2ec84566e9b9a6241cb14e155db1a27c1546c (diff)
downloadflat-remix-7a5099b5503815288aea4090b54eb3cd38fae4cc.tar.gz
flat-remix-7a5099b5503815288aea4090b54eb3cd38fae4cc.zip
ffsvg.sh
Diffstat (limited to 'tools')
-rwxr-xr-xtools/ffsvg.sh78
1 files changed, 78 insertions, 0 deletions
diff --git a/tools/ffsvg.sh b/tools/ffsvg.sh
new file mode 100755
index 000000000..02f6a631b
--- /dev/null
+++ b/tools/ffsvg.sh
@@ -0,0 +1,78 @@
+#!/bin/sh
+#
+# Written in 2016 by Sergei Eremenko <https://github.com/SmartFinn>
+#
+# To the extent possible under law, the author(s) have dedicated all copyright
+# and related and neighboring rights to this software to the public domain
+# worldwide. This software is distributed without any warranty.
+#
+# You should have received a copy of the CC0 Public Domain Dedication along
+# with this software. If not, see
+# <http://creativecommons.org/publicdomain/zero/1.0/>.
+#
+# Description:
+# This script finds, fixes and cleans SVG files.
+#
+# Usage:
+# ffsvg.sh PATH...
+
+set -e
+
+SCRIPT_DIR=$(dirname "$0")
+
+_run_helpers() {
+ echo "=> Working on '$1' ..." >&2
+
+ # optimize a SVG
+ if command -v svgo > /dev/null 2>&1; then
+ # use SVGO
+ svgo --config="$SCRIPT_DIR/_svgo.yml" -i "$1"
+ elif command -v scour > /dev/null 2>&1; then
+ # use scour
+ "$SCRIPT_DIR/_scour.sh" "$1"
+ else
+ cat <<-'EOF'
+
+ You should have installed svgo or scour to use this script.
+
+ sudo apt-get install python-scour
+
+ EOF
+
+ exit 1
+ fi
+
+ # fix a color scheme
+ #"$SCRIPT_DIR/_fix_color_scheme.sh" "$1"
+
+ # clear attributes
+ sed -r -i -f "$SCRIPT_DIR/_clean_attrs.sed" "$1"
+
+ # clear a style attribute
+ sed -r -i -f "$SCRIPT_DIR/_clean_style_attr.sed" "$1"
+}
+
+for i in "$@"; do
+ if [ -d "$i" ]; then
+ # is a directory
+
+ echo "=> Directory '$i' will be processed." >&2
+ echo " Press <CTRL-C> to abort (wait 1 seconds) ..." >&2
+
+ sleep 1
+
+ # process all SVG files w/o symlinks
+ find "$i" -type f -name '*.svg' | while read -r file; do
+ _run_helpers "$file"
+ done
+ elif [ -f "$i" ] && [ ! -L "$i" ]; then
+ # is a file and is not a symlink
+
+ # continue if an extension is svg
+ [ "${i##*.}" = "svg" ] || continue
+
+ _run_helpers "$i"
+ else
+ continue
+ fi
+done