--- scripts/pgallery/src/pgallery.sh 2012/08/27 14:23:59 1.1 +++ scripts/pgallery/src/pgallery.sh 2012/08/28 10:44:41 1.5 @@ -5,7 +5,7 @@ # can do whatever you want with this stuff. If we meet some day, and you think # this stuff is worth it, you can buy me a beer in return Aron Schlesinger # -# $Paefchen$ +# $Paefchen: scripts/pgallery/src/pgallery.sh,v 1.4 2012/08/28 08:43:05 as Exp $ # ARG_TITLE="PGallery" @@ -19,13 +19,14 @@ ARG_INDEX="index.html" ARG_DIR="." ARG_UPDATE=1 ARG_COPYRIGHT="© $(date +%Y)" +ARG_INFOFILE="pgallery.txt" BIN_CONVERT="/usr/local/bin/convert" BIN_EXIFAUTOTRAN="/usr/local/bin/exifautotran" BIN_IMGINFO="/usr/local/bin/imginfo" MKAKEFILE=".htmakefile" -VERSION="pgallery-1" +VERSION="pgallery-1.1" # # usage() @@ -36,7 +37,7 @@ usage() usage $0: ( [-f ] | [-s ] ) [-d ] [-n ] [-t ] [-u ] [-b ] [-c ] - [-i ] [-U] | -h + [-i ] [-C ] [-U] | -h | -v Options: -b size size from big images in pixel (default: $ARG_BIGSIZE) -c quality quality from big images 0-100% (default: $ARG_BIGQALITY) @@ -50,10 +51,14 @@ Options: (default: $ARG_FILETYPES) -t size size from thumbnail images in pixel (default: $ARG_TNSIZE) -u quality quality from thumbnail images 0-100% (default: $ARG_BIGQALITY) + -v print version + -C copyright copyright (html) string (default: $ARG_COPYRIGHT) + -I file info text file for pgallery. info file paras prefered. + the syntax of the file is MAKE(1) + supported variable: TITLE COPYRIGHT INDEX FILETYPES TNSIZE + TNQALITY BIGSIZE BIGQALITY -U no update, new calculation of all images. normally only new and modified images will calculated - -C copyright copyright (html) string (default: $ARG_COPYRIGHT) - -v print version USAGE exit } @@ -140,6 +145,7 @@ HLaErzv/wD99ABmjNZk0AAAAABJRU5ErkJggg=="); margin: 10px auto; font-family: Geneva,Arial,sans-serif; font-size: 12px; + text-shadow: 1px 1px 1px #000; } div.tn { float: left; @@ -161,6 +167,7 @@ div.tn, div.big { border-color: gray; box-shadow: 1px 1px 2px #000; padding: 1px; + border-radius: 3px; } div.tn:hover { background-color: #222; @@ -177,11 +184,12 @@ div.over { } div.over a.left, div.over a.right { display: block; + /* shell fuck of: missing CTLARI (shouldn't happen) - WTF?! */ + width: $(($ARG_BIGSIZE / 2))px; position: relative; top: 1px; left: 1px; background-repeat: no-repeat; - width: $(($ARG_BIGSIZE / 2))px; } div.over a.left:hover { background-position: 5% center; @@ -231,7 +239,6 @@ div.box div.c { line-height: 25px; position: relative; left: 4px; - text-shadow: 1px 1px 1px #000; } body > div.c { text-align: center; @@ -240,7 +247,6 @@ body > div.c { height: 25px; line-height: 25px; position: relative; - text-shadow: 1px 1px 1px #000; margin: 4px; } a img { @@ -262,7 +268,8 @@ div.nav a:hover { div.nav div.top { position: absolute; text-align: center; - width: ${ARG_BIGSIZE}px; + width: $(($ARG_BIGSIZE - 100))px; + margin: 0 50px; } .left { float: left; @@ -322,7 +329,9 @@ html_img() linkb=$3 linkn=$4 - height=$($BIN_IMGINFO -f $img | awk '{print $4}') + info=$($BIN_IMGINFO -f $img) + width=$(echo $info | awk '{print $3}') + height=$(echo $info | awk '{print $4}') if [ "$linkb" != "" ] then @@ -339,12 +348,12 @@ html_img() cat <
- + $img
$ARG_TITLE $ARG_COPYRIGHT @@ -412,6 +421,10 @@ do ARG_COPYRIGHT=$1 shift ;; + -I) + ARG_INFOFILE=$1 + shift + ;; -U) ARG_UPDATE=0 ;; @@ -425,6 +438,21 @@ do esac done +# parese info file +if [ "$ARG_INFOFILE" != "" ] +then + test -f $ARG_INFOFILE || err "info file not found \`\`$ARG_INFOFILE''" + for n in TITLE COPYRIGHT INDEX FILETYPES TNSIZE TNQALITY BIGSIZE BIGQALITY + do + v=$(make -f $ARG_INFOFILE -V$n) + test "$v" = "" && continue + eval "ARG_$n='$v'" + done +fi + +echo $ARG_COPYRIGHT +exit + MY=$(get_my_path) cd "$ARG_DIR" || exit 1 @@ -453,6 +481,46 @@ echo test $(echo $FLIST | wc -w) -eq 0 && err "error: no image found in \`\`$ARG_DIR''" +# find new and to update images +FLIST_NEW= +FLIST_UPDATE= +echo "all: tns" > $MKAKEFILE +targets="" +for file in $FLIST +do + tn="${file}.tn.jpg" + if [ ! -f $tn ] + then + FLIST_NEW="$FLIST_NEW $file" + continue + fi + + targets="$targets $tn" + ( + cat <> $MKAKEFILE +done +echo "tns: $targets" >> $MKAKEFILE +FLIST_UPDATE=$(make -f $MKAKEFILE) +rm $MKAKEFILE + +# update and no new and update images found +if [ $ARG_UPDATE -eq 1 -a "$FLIST_NEW" = "" -a "$FLIST_UPDATE" = "" ] +then + echo nothing to do + exit 1 +fi + +if [ $ARG_UPDATE -eq 1 ] +then + echo new images: $FLIST_NEW + echo update images: $FLIST_UPDATE +fi +exit + # Create make file to rotate und convert all big and thumbnails. # Is needed to define the new real image sizes. echo "all: tns" > $MKAKEFILE @@ -472,7 +540,7 @@ do fi ( - cat <