]> git.plutz.net Git - vhs_kurs/blobdiff - clickslide.sh
Squashed 'clickslide/' changes from b771768..08ca3fa
[vhs_kurs] / clickslide.sh
index 980365f48ef04936424d8b5a8bc20e693ba0e406..d42f4059b55bc2c1975195904c81d26245bd955a 100755 (executable)
@@ -3,9 +3,15 @@
 prev='' next='' idoff=0
 depth=0 ucdepth=-1
 
-base64() {
-  uuencode -m - <"$1" \
-  | sed '1d; :X;$!{N;bX;}; s;\n;;g; s;=\+;;g;'
+_base64() {
+  # busybox does not ship base64, only uuencode. Other platforms might need base64 instead
+  if which uuencode; then
+    uuencode -m - <"$1" \
+    | sed '1d; :X;$!{N;bX;}; s;\n;;g; s;=\+;;g;'
+  else
+    base64 <"$1" \
+    | sed ':X;$!{N;bX;}; s;\n;;g; s;=\+;;g;'
+  fi
 }
 
 { "${0%/*}"/cgilite/html-sh.sed || cat; } \
@@ -33,10 +39,10 @@ base64() {
       pre="${tag%%url(*)*}"
       post="${tag#*url(*)}"
       file="${tag#${pre}url(}" file="${file%)$post}"
-      file="${file#"}" file="${file%"}"
+      file="${file#\"}" file="${file%\"}"
       echo Inlining Background Image "$file" >&2
       if [ -r "$file" ]; then
-        tag="${pre}url('data:image/${file##*.};base64,$(base64 "$file")')${post}"
+        tag="${pre}url('data:image/${file##*.};base64,$(_base64 "$file")')${post}"
       fi
     done >/dev/null
 
@@ -47,7 +53,7 @@ base64() {
       file="${tag#${pre}src=\"}" file="${file%\"$post}"
       echo Inlining Image "$file" >&2
       if [ -r "$file" ]; then
-        tag="${pre}src=\"data:image/${file##*.};base64,$(base64 "${file}")\"${post}"
+        tag="${pre}src=\"data:image/${file##*.};base64,$(_base64 "${file}")\"${post}"
       fi
     done >/dev/null