X-Git-Url: http://git.plutz.net/?a=blobdiff_plain;f=clickslide.sh;h=b1fd229bb1851d3f31f9854a48c2776305c7e550;hb=eb622bffd26adb3d2770c0c37e17c652699ffc20;hp=5c9d155a57da709d6534d588f2b8c7092f9da458;hpb=a0aeeb7cfdef73bbf04b28a90d244fab533d5e3a;p=clickslide diff --git a/clickslide.sh b/clickslide.sh index 5c9d155..b1fd229 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 >/dev/null; 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 @@ -55,6 +61,7 @@ base64() { case $tag in *\*|\*\) # Inline styles into head printf '%s + %s' "${tag#*}"