X-Git-Url: https://git.sommitrealweird.co.uk/bpgallery.git/blobdiff_plain/5dfa164c5bb6569ee7aee25bf6d281d8faf366cb..b583df1133b9c89168679076a859973218dbe34c:/bpgallery.sh diff --git a/bpgallery.sh b/bpgallery.sh index 2cfb5ff..c26f826 100755 --- a/bpgallery.sh +++ b/bpgallery.sh @@ -19,7 +19,7 @@ set -f -VERSION="1.0.0" +VERSION="1.0.2" function bpgallery_default_head() { cat <
$caption
+
$caption_alt
$caption
END } @@ -97,6 +102,26 @@ END declare -rf bpgallery_default_stylesheet +function bpgallery_escape_url() { + temp=$1 + temp=${temp//\%/%25} + temp=${temp//:/%3A} + temp=${temp//;/%3B} + temp=${temp// /%20} + temp=${temp//$/%24} + temp=${temp//&/%26} + temp=${temp//+/%2B} + temp=${temp//,/%2C} + temp=${temp//\//%2F} + temp=${temp//=/%3D} + temp=${temp//\?/%3F} + temp=${temp//@/%40} + temp=${temp//\"/%22} + $ECHOCOMMAND $temp +} + +declare -rf bpgallery_escape_url + if [[ ! -z ${BPGALLERY_THEME} ]] ; then declare -r BPGALLERY_THEME fi @@ -117,6 +142,10 @@ if [[ -e $HOME/.bpgallery.rc ]]; then . $HOME/.bpgallery.rc 2>/dev/null fi +if [[ -e $1 && -d $1 && -e $1/.bpgallery.rc ]]; then + . $1/.bpgallery.rc 2>/dev/null +fi + if [[ -z ${BPGALLERY_THEME} ]]; then BPGALLERY_THEME=default fi @@ -218,10 +247,11 @@ fi FINDIMAGESOPTIONS="" for imageext in $IMAGEEXTENSIONS; do - FINDIMAGESOPTIONS=$FINDIMAGESOPTIONS' -o -type f -maxdepth 1 -iname '*.$imageext' -print0' + FINDIMAGESOPTIONS=$FINDIMAGESOPTIONS' -o -type f -iname '*.$imageext' -print0' done FINDIMAGESOPTIONS=${FINDIMAGESOPTIONS## -o } +FINDIMAGESOPTIONS='-maxdepth 1 '${FINDIMAGESOPTIONS} function usage() { cat <&1 | while read throwout; do $ECHOCOMMAND done: $currentimage/$imagestoupdate images; currentimage=$((currentimage+1)); done + $ECHOCOMMAND done: $imagestoupdate/$imagestoupdate images + $ECHOCOMMAND "Completed generating thumbs for $totalimages images" +} + if [[ -z $1 ]]; then - echo "No path given" + $ECHOCOMMAND "No path given" usage exit 1 fi @@ -259,7 +309,7 @@ if [[ "$1" == "--version" || "$1" == "-v" ]]; then fi if [[ ! -d $1 ]]; then - echo "$1 is not a directory" + $ECHOCOMMAND "$1 is not a directory" usage exit 2 fi @@ -267,33 +317,16 @@ fi cd "$1" if ( ! $FINDCOMMAND . $FINDIMAGESOPTIONS > /dev/null 2>/dev/null ); then - echo "$1 does not contain any images. Quitting." + $ECHOCOMMAND "$1 does not contain any images. Quitting." exit 4 fi if [ ! -d icons ]; then mkdir icons - - totalimages=$($FINDCOMMAND . $FINDIMAGESOPTIONS | $XARGSCOMMAND -0 --replace echo {} | $WCCOMMAND); - currentimage=0 - - $FINDCOMMAND . $FINDIMAGESOPTIONS | $XARGSCOMMAND -0 --verbose --max-procs=4 --replace $CONVERTTOOL -resize $WIDTH '{}' 'icons/{}' 2>&1 | while read throwout; do $ECHOCOMMAND done: $currentimage/$totalimages images; currentimage=$((currentimage+1)); done - - echo done: $totalimages/$totalimages images -else - echo "$1 already contains an icons folder, updating." - - imagestoupdate=$($FINDCOMMAND . $FINDIMAGESOPTIONS | $XARGSCOMMAND -0 --replace $ECHOCOMMAND {} | while read filename; do if [ ! -r "icons/$filename" ] || [ "$filename" -nt "icons/$filename" ]; then $ECHOCOMMAND $filename; fi; done | $WCCOMMAND) - - echo "images to update: $imagestoupdate" - - - currentimage=0 - - $FINDCOMMAND . $FINDIMAGESOPTIONS | $XARGSCOMMAND -0 --replace $ECHOCOMMAND {} | while read filename; do if [ ! -r "icons/$filename" ] || [ "$filename" -nt "icons/$filename" ] ; then $ECHOCOMMAND $filename; fi; done | $XARGSCOMMAND --verbose --max-procs=4 --replace $CONVERTTOOL -resize $WIDTH '{}' 'icons/{}' 2>&1 | while read throwout; do $ECHOCOMMAND done: $currentimage/$imagestoupdate images; currentimage=$((currentimage+1)); done - echo done: $imagestoupdate/$imagestoupdate images fi +generate_thumbs + if [ -r description.txt ] ; then DESCRIPTION=$($SEDCOMMAND -e '1 { s/^/

/; }; /^$/ { s,$,

,; }; $ { s,$,

, };' description.txt) else @@ -304,7 +337,7 @@ fi $BPGALLERY_HEAD_FUNCTION > index.html $BPGALLERY_DESCRIPTION_FUNCTION >> index.html -$FINDCOMMAND . $FINDIMAGESOPTIONS | $XARGSCOMMAND -0 --replace $ECHOCOMMAND {} |$SORTCOMMAND -g | while read filename; do filename=${filename#./}; if [ -r captions.txt ]; then caption=$($GREPCOMMAND -E "^$filename " captions.txt); caption=${caption#* }; else caption=""; fi; $BPGALLERY_THUMBSLINE_FUNCTION; done >> index.html +$FINDCOMMAND . $FINDIMAGESOPTIONS | $XARGSCOMMAND -0 --replace $ECHOCOMMAND {} |$SORTCOMMAND -g | while read filename; do filename=${filename#./}; if [ -r captions.txt ]; then caption=$($GREPCOMMAND -E "^$filename " captions.txt); caption=${caption#* }; else caption=""; fi; filename=$(bpgallery_escape_url "$filename"); $BPGALLERY_THUMBSLINE_FUNCTION; done >> index.html $BPGALLERY_TAIL_FUNCTION >> index.html