From 9b1d56f69b469b91c711ffd4248aafdb7c1bff45 Mon Sep 17 00:00:00 2001 From: "Paul Buetow (mars.fritz.box)" Date: Sun, 22 Dec 2013 11:51:56 +0100 Subject: rename script --- Makefile | 2 +- generate_album.sh | 110 ------------------------------------------------------ photoalbum.sh | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 111 insertions(+), 111 deletions(-) delete mode 100755 generate_album.sh create mode 100755 photoalbum.sh diff --git a/Makefile b/Makefile index 5dc3cc6..a99da1f 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ all: generate dist generate: - ./generate_album.sh + ./photoalbum.sh clean: rm -Rf dist photos dist: diff --git a/generate_album.sh b/generate_album.sh deleted file mode 100755 index 6265304..0000000 --- a/generate_album.sh +++ /dev/null @@ -1,110 +0,0 @@ -#!/bin/bash - -# Small quick n dirty photo album script -# 2011, 2013 Paul Buetow - -source photoalbum.conf - -function createdirs () { - for dir in photos thumbs html; do - [ -d $dir ] || mkdir -vp $dir - done -} - -function template () { - local -r template=$1 - local -r html=$2 - - if [ -d ./templates/ ]; then - source ./templates/${template}.tmpl >> ./html/${html}.html - else - source ../templates/${template}.tmpl >> ../html/${html}.html - fi -} - -function scale () { - cd $INCOMING && find ./ -iname \*.jpg | sort | while read jpg; do - if [ ! -f "../photos/$jpg" ]; then - echo "Scaling $jpg" - convert -auto-orient \ - -geometry $GEOMETRY "$jpg" "../photos/$jpg;" - fi - done - cd .. -} - -function generate () { - local num=$1 - local name=page-${num} - local -i i=0 - - template header $name - template header-first-add $name - - cd photos && find ./ -iname \*.jpg | sort | sed 's;^\./;;' | - while read jpg; do - - (( i++ )) - - if [ $i -gt $MAXPREVIEWS ]; then - i=1 - (( num++ )) - - next=page-${num} - template next $name - template footer $name - - prev=$name - name=$next - template header $name - template prev $name - fi - - # Preview page - template preview $name - - # View page - template header ${num}-${i} - template view ${num}-${i} - template footer ${num}-${i} - - if [ ! -f "../thumbs/$jpg" ]; then - echo "Creating thumb for $jpg"; - convert -geometry x$THUMBGEOMETRY "$jpg" \ - "../thumbs/$jpg" - fi - done - cd .. - - template footer $(cd html;ls -t page-*.html | head -n 1 | sed 's/.html//') - - ls html/*.html | grep -v page- | cut -d'-' -f1 | uniq | - while read prefix; do - - declare page=$(ls -t ${prefix}-*.html | \ - head -n 1 | sed 's#html/\(.*\)-.*.html#\1#') - declare lastview=$(ls -t ${prefix}-*.html | \ - head -n 1 | sed 's/.*-\(.*\).html/\1/') - declare prevredirect=${page}-0 - declare nextredirect=${page}-$((lastview+1)) - - redirectpage=$(( page-1 ))-$MAXPREVIEWS - template redirect $prevredirect - - if [ $lastview -eq $MAXPREVIEWS ]; then - redirectpage=$(( page+1 ))-1 - else - redirectpage=${page}-${lastview} - template redirect 0-$MAXPREVIEWS - - redirectpage=1-1 - fi - - template redirect $nextredirect - done -} - -createdirs -scale -bash -c 'rm html/*.html; exit 0' &>/dev/null -generate 1 diff --git a/photoalbum.sh b/photoalbum.sh new file mode 100755 index 0000000..6265304 --- /dev/null +++ b/photoalbum.sh @@ -0,0 +1,110 @@ +#!/bin/bash + +# Small quick n dirty photo album script +# 2011, 2013 Paul Buetow + +source photoalbum.conf + +function createdirs () { + for dir in photos thumbs html; do + [ -d $dir ] || mkdir -vp $dir + done +} + +function template () { + local -r template=$1 + local -r html=$2 + + if [ -d ./templates/ ]; then + source ./templates/${template}.tmpl >> ./html/${html}.html + else + source ../templates/${template}.tmpl >> ../html/${html}.html + fi +} + +function scale () { + cd $INCOMING && find ./ -iname \*.jpg | sort | while read jpg; do + if [ ! -f "../photos/$jpg" ]; then + echo "Scaling $jpg" + convert -auto-orient \ + -geometry $GEOMETRY "$jpg" "../photos/$jpg;" + fi + done + cd .. +} + +function generate () { + local num=$1 + local name=page-${num} + local -i i=0 + + template header $name + template header-first-add $name + + cd photos && find ./ -iname \*.jpg | sort | sed 's;^\./;;' | + while read jpg; do + + (( i++ )) + + if [ $i -gt $MAXPREVIEWS ]; then + i=1 + (( num++ )) + + next=page-${num} + template next $name + template footer $name + + prev=$name + name=$next + template header $name + template prev $name + fi + + # Preview page + template preview $name + + # View page + template header ${num}-${i} + template view ${num}-${i} + template footer ${num}-${i} + + if [ ! -f "../thumbs/$jpg" ]; then + echo "Creating thumb for $jpg"; + convert -geometry x$THUMBGEOMETRY "$jpg" \ + "../thumbs/$jpg" + fi + done + cd .. + + template footer $(cd html;ls -t page-*.html | head -n 1 | sed 's/.html//') + + ls html/*.html | grep -v page- | cut -d'-' -f1 | uniq | + while read prefix; do + + declare page=$(ls -t ${prefix}-*.html | \ + head -n 1 | sed 's#html/\(.*\)-.*.html#\1#') + declare lastview=$(ls -t ${prefix}-*.html | \ + head -n 1 | sed 's/.*-\(.*\).html/\1/') + declare prevredirect=${page}-0 + declare nextredirect=${page}-$((lastview+1)) + + redirectpage=$(( page-1 ))-$MAXPREVIEWS + template redirect $prevredirect + + if [ $lastview -eq $MAXPREVIEWS ]; then + redirectpage=$(( page+1 ))-1 + else + redirectpage=${page}-${lastview} + template redirect 0-$MAXPREVIEWS + + redirectpage=1-1 + fi + + template redirect $nextredirect + done +} + +createdirs +scale +bash -c 'rm html/*.html; exit 0' &>/dev/null +generate 1 -- cgit v1.2.3