X-Git-Url: http://git.plutz.net/?p=vhs_kurs;a=blobdiff_plain;f=clickslide.sh;h=d42f4059b55bc2c1975195904c81d26245bd955a;hp=980365f48ef04936424d8b5a8bc20e693ba0e406;hb=2c91cc63d0e28a4f202ee2db9a8d769e63d54f7f;hpb=eb98affc5b5916de814d4fc666df87963bdde1e2 diff --git a/clickslide.sh b/clickslide.sh index 980365f..d42f405 100755 --- a/clickslide.sh +++ b/clickslide.sh @@ -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