Mercurial > genwebgallery
annotate genwebgallery @ 47:d1ad806b6ee3 default tip
picsize and thumbsize are now numbers in any case (used printf); non-regular and non-existent files are skipped
author | meillo@marmaro.de |
---|---|
date | Mon, 23 Jun 2008 20:57:55 +0200 |
parents | b991e188f1fa |
children |
rev | line source |
---|---|
0 | 1 #!/bin/sh |
2 # | |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
3 # generates a web gallery |
42
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
4 # requires: ImageMagick (mogrify) |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
5 # or: resize-gd |
0 | 6 # |
7 # meillo@marmaro.de | |
25 | 8 # http://prog.marmaro.de/genwebgallery |
0 | 9 # |
10 | |
11 | |
15
326bcd4e1708
$PROGRAM instead of basename $0; printf instead of echo -n; command -v to test for installed convert
meillo@marmaro.de
parents:
14
diff
changeset
|
12 PROGRAM=genwebgallery |
46
b991e188f1fa
added some quotes around vars; increased to version 0.8
meillo@marmaro.de
parents:
44
diff
changeset
|
13 VERSION=0.8 |
2
abe1e48e0708
CHANGELOG gets generated now; reviewed Makefile
meillo@marmaro.de
parents:
0
diff
changeset
|
14 |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
15 verbose="no" |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
16 targetDir="webgallery" |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
17 overwrite="no" |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
18 index="index.html" |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
19 sizePic=800 |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
20 sizeThumb=150 |
16
84c08287caa1
fixed bug when called without arguments; minor stuff
meillo@marmaro.de
parents:
15
diff
changeset
|
21 galleryTitle="" |
23
7f3cea97b789
"copyright notice" is known as "footer text" now
meillo@marmaro.de
parents:
16
diff
changeset
|
22 footer="" |
0 | 23 |
42
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
24 resizer="" |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
25 |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
26 |
0 | 27 |
28 | |
14 | 29 checkCreateDir() { |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
30 remove="no" |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
31 if [ -e "$targetDir" ] ; then |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
32 if [ "$overwrite" = "no" ] ; then |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
33 echo "output directory '$targetDir' already exists." |
15
326bcd4e1708
$PROGRAM instead of basename $0; printf instead of echo -n; command -v to test for installed convert
meillo@marmaro.de
parents:
14
diff
changeset
|
34 printf "remove it? [y/n] " |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
35 read remove |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
36 fi |
0 | 37 |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
38 if [ "$remove" = "y" -o "$overwrite" = "yes" ] ; then |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
39 echo "removing '$targetDir' ..." |
0 | 40 rm -r "$targetDir" |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
41 if [ $? -ne 0 ] ; then |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
42 echo "ABORT" |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
43 exit 4 |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
44 fi |
0 | 45 else |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
46 echo "keep output directory" |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
47 echo "ABORT" |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
48 exit 3 |
0 | 49 fi |
50 fi | |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
51 |
0 | 52 mkdir -p "$targetDir" |
53 } | |
54 | |
55 | |
56 | |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
57 |
14 | 58 insertHeader() { |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
59 echo " |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
60 <?xml version=\"1.0\" encoding=\"utf-8\"?> |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
61 <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
62 \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\"> |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
63 <html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\"> |
0 | 64 <head> |
65 <title>$titleName</title> | |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
66 <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /> |
23
7f3cea97b789
"copyright notice" is known as "footer text" now
meillo@marmaro.de
parents:
16
diff
changeset
|
67 <meta name=\"Generator\" content=\"genwebgallery - http://prog.marmaro.de/genwebgallery\" /> |
0 | 68 </head> |
69 <body> | |
70 | |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
71 " |
0 | 72 } |
73 | |
74 | |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
75 |
14 | 76 insertFooter() { |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
77 echo " |
0 | 78 |
79 </body> | |
80 </html> | |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
81 " |
0 | 82 } |
83 | |
84 | |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
85 |
14 | 86 log() { |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
87 if [ $verbose = "yes" ] ; then |
0 | 88 echo "$1"; |
89 fi | |
90 } | |
91 | |
92 | |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
93 |
42
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
94 checkResizer() { |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
95 if [ `command -v mogrify` ] ; then |
43 | 96 log "using 'mogrify' to resize images" |
42
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
97 log "`mogrify -version`" |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
98 resizer="mogrify" |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
99 elif [ `command -v resize-gd` ] ; then |
43 | 100 log "using 'resize-gd' to resize images" |
42
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
101 log "`resize-gd --version`" |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
102 resizer="resize-gd" |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
103 else |
43 | 104 echo "No supported image resize program found." |
105 echo "Supported are:" | |
106 echo "- 'mogrify' (from package 'imagemagick')" | |
107 echo "- 'resize-gd'" | |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
108 echo "ABORT" |
0 | 109 exit 2 |
110 fi | |
111 } | |
112 | |
113 | |
42
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
114 # call with: resize <size> <file> |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
115 resize() { |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
116 if [ "$resizer" = "mogrify" ] ; then |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
117 mogrify -resize "${1}x${1}" "$2" |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
118 elif [ "$resizer" = "resize-gd" ] ; then |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
119 resize-gd "$1" "$2" |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
120 else |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
121 echo "No resize program available." |
43 | 122 echo |
123 echo "It's most likely a program bug if you see this message." | |
42
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
124 echo "Please contact the author or maintainer (see man page)." |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
125 echo "ABORT" |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
126 exit 2 |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
127 fi |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
128 return "$?" |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
129 } |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
130 |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
131 |
14 | 132 usage() { |
16
84c08287caa1
fixed bug when called without arguments; minor stuff
meillo@marmaro.de
parents:
15
diff
changeset
|
133 echo "usage: $PROGRAM [OPTIONS] PICTURES" |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
134 exit 1 |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
135 } |
0 | 136 |
137 | |
138 | |
14 | 139 help() { |
15
326bcd4e1708
$PROGRAM instead of basename $0; printf instead of echo -n; command -v to test for installed convert
meillo@marmaro.de
parents:
14
diff
changeset
|
140 echo "$PROGRAM |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
141 |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
142 generates a web gallery consisting of html pages |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
143 |
15
326bcd4e1708
$PROGRAM instead of basename $0; printf instead of echo -n; command -v to test for installed convert
meillo@marmaro.de
parents:
14
diff
changeset
|
144 usage: $PROGRAM [OPTIONS] PICTURES |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
145 |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
146 options: |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
147 --version print program version |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
148 --help display this output |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
149 -v be verbose ($verbose) |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
150 -o DIR folder where generated files go to ($targetDir) |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
151 -i FILE the name of the index file ($index) |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
152 -t TEXT title of the gallery ($galleryTitle) |
23
7f3cea97b789
"copyright notice" is known as "footer text" now
meillo@marmaro.de
parents:
16
diff
changeset
|
153 -f TEXT footer text ($footer) |
15
326bcd4e1708
$PROGRAM instead of basename $0; printf instead of echo -n; command -v to test for installed convert
meillo@marmaro.de
parents:
14
diff
changeset
|
154 -ps PIXELS size of the pictures ($sizePic) |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
155 -ts PIXELS size of the thumbnails ($sizeThumb) |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
156 --overwrite overwrite output directory ($overwrite) |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
157 |
15
326bcd4e1708
$PROGRAM instead of basename $0; printf instead of echo -n; command -v to test for installed convert
meillo@marmaro.de
parents:
14
diff
changeset
|
158 for more information see man page: $PROGRAM(1) |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
159 |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
160 author: meillo@marmaro.de |
23
7f3cea97b789
"copyright notice" is known as "footer text" now
meillo@marmaro.de
parents:
16
diff
changeset
|
161 homepage: http://prog.marmaro.de/genwebgallery |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
162 " |
0 | 163 exit 0 |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
164 } |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
165 |
0 | 166 |
167 | |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
168 |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
169 # option processing |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
170 |
44 | 171 while [ "$#" -ge 1 ] && [ "`echo "$1" | awk '{print substr($0,1,1)}'`" = '-' ] ; do |
0 | 172 case $1 in |
173 '--version') | |
15
326bcd4e1708
$PROGRAM instead of basename $0; printf instead of echo -n; command -v to test for installed convert
meillo@marmaro.de
parents:
14
diff
changeset
|
174 echo "$PROGRAM version $VERSION" |
0 | 175 exit 0 |
176 ;; | |
177 '--help') | |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
178 help |
0 | 179 ;; |
180 '-v' | '--verbose') | |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
181 verbose="yes" |
0 | 182 shift |
183 ;; | |
184 '-o' | '--output') | |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
185 targetDir="$2" |
0 | 186 shift |
187 shift | |
188 ;; | |
189 '-i' | '--index') | |
46
b991e188f1fa
added some quotes around vars; increased to version 0.8
meillo@marmaro.de
parents:
44
diff
changeset
|
190 index="$2" |
0 | 191 shift |
192 shift | |
193 ;; | |
194 '-t' | '--title') | |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
195 galleryTitle="$2" |
0 | 196 shift |
197 shift | |
198 ;; | |
23
7f3cea97b789
"copyright notice" is known as "footer text" now
meillo@marmaro.de
parents:
16
diff
changeset
|
199 '-f' | '--footer') |
46
b991e188f1fa
added some quotes around vars; increased to version 0.8
meillo@marmaro.de
parents:
44
diff
changeset
|
200 footer="$2" |
0 | 201 shift |
202 shift | |
203 ;; | |
204 '-ps' | '--pic-size') | |
47
d1ad806b6ee3
picsize and thumbsize are now numbers in any case (used printf); non-regular and non-existent files are skipped
meillo@marmaro.de
parents:
46
diff
changeset
|
205 sizePic="`echo "$2" | awk '{printf("%d",$0)}'`" |
0 | 206 shift |
207 shift | |
208 ;; | |
209 '-ts' | '--thumb-size') | |
47
d1ad806b6ee3
picsize and thumbsize are now numbers in any case (used printf); non-regular and non-existent files are skipped
meillo@marmaro.de
parents:
46
diff
changeset
|
210 sizeThumb="`echo "$2" | awk '{printf("%d",$0)}'`" |
0 | 211 shift |
212 shift | |
213 ;; | |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
214 '--overwrite') |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
215 overwrite="yes" |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
216 shift |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
217 ;; |
0 | 218 *) |
219 echo "invalid option: $1" | |
15
326bcd4e1708
$PROGRAM instead of basename $0; printf instead of echo -n; command -v to test for installed convert
meillo@marmaro.de
parents:
14
diff
changeset
|
220 echo "see: $PROGRAM --help" |
0 | 221 exit 1 |
222 esac | |
223 | |
224 done | |
225 | |
226 if [ $# -eq 0 ] ; then | |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
227 usage |
0 | 228 fi |
229 | |
230 | |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
231 |
0 | 232 # verbose output |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
233 log "verbose: $verbose" |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
234 log |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
235 log "output dir: $targetDir" |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
236 log "index file: $index" |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
237 log "gallery title: $galleryTitle" |
23
7f3cea97b789
"copyright notice" is known as "footer text" now
meillo@marmaro.de
parents:
16
diff
changeset
|
238 log "footer text: $footer" |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
239 log "picture size: ${sizePic}px" |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
240 log "thumbnail size: ${sizeThumb}px" |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
241 log "overwrite output dir: $overwrite" |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
242 log |
42
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
243 checkResizer |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
244 log |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
245 |
0 | 246 |
247 | |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
248 # generate web gallery |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
249 |
0 | 250 checkCreateDir |
251 | |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
252 echo `insertHeader` > "$targetDir/$index" |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
253 if [ "$galleryTitle" != "" ] ; then |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
254 echo "<h1>$galleryTitle</h1>" >> "$targetDir/$index" |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
255 fi |
0 | 256 |
257 for i in "$@" ; do | |
47
d1ad806b6ee3
picsize and thumbsize are now numbers in any case (used printf); non-regular and non-existent files are skipped
meillo@marmaro.de
parents:
46
diff
changeset
|
258 # skip over invalid files |
d1ad806b6ee3
picsize and thumbsize are now numbers in any case (used printf); non-regular and non-existent files are skipped
meillo@marmaro.de
parents:
46
diff
changeset
|
259 if [ ! -f "$i" ] ; then |
d1ad806b6ee3
picsize and thumbsize are now numbers in any case (used printf); non-regular and non-existent files are skipped
meillo@marmaro.de
parents:
46
diff
changeset
|
260 log "does not exist, or no regular file: $i" |
d1ad806b6ee3
picsize and thumbsize are now numbers in any case (used printf); non-regular and non-existent files are skipped
meillo@marmaro.de
parents:
46
diff
changeset
|
261 log " skipping" |
d1ad806b6ee3
picsize and thumbsize are now numbers in any case (used printf); non-regular and non-existent files are skipped
meillo@marmaro.de
parents:
46
diff
changeset
|
262 continue |
d1ad806b6ee3
picsize and thumbsize are now numbers in any case (used printf); non-regular and non-existent files are skipped
meillo@marmaro.de
parents:
46
diff
changeset
|
263 fi |
d1ad806b6ee3
picsize and thumbsize are now numbers in any case (used printf); non-regular and non-existent files are skipped
meillo@marmaro.de
parents:
46
diff
changeset
|
264 |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
265 file="`basename $i`" |
0 | 266 targetFile="$targetDir/$file.htm" |
267 log "processing file: $file" | |
268 | |
24
572f219cf0f4
added skipping of not supported image types (still a problem in cornercases); updated TODO
meillo@marmaro.de
parents:
23
diff
changeset
|
269 # copy and resize pics |
42
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
270 cp "$i" "$targetDir/$file" |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
271 resize "$sizePic" "$targetDir/$file" |
24
572f219cf0f4
added skipping of not supported image types (still a problem in cornercases); updated TODO
meillo@marmaro.de
parents:
23
diff
changeset
|
272 if [ $? -ne 0 ] ; then |
572f219cf0f4
added skipping of not supported image types (still a problem in cornercases); updated TODO
meillo@marmaro.de
parents:
23
diff
changeset
|
273 log " skipping" |
42
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
274 rm "$targetDir/$file" |
24
572f219cf0f4
added skipping of not supported image types (still a problem in cornercases); updated TODO
meillo@marmaro.de
parents:
23
diff
changeset
|
275 continue |
572f219cf0f4
added skipping of not supported image types (still a problem in cornercases); updated TODO
meillo@marmaro.de
parents:
23
diff
changeset
|
276 fi |
42
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
277 cp "$i" "$targetDir/_$file" |
8f69055cf7ed
switched from convert to mogrify; added support for resize-gd
schnalke@localhost.localdomain
parents:
41
diff
changeset
|
278 resize "$sizeThumb" "$targetDir/_$file" |
24
572f219cf0f4
added skipping of not supported image types (still a problem in cornercases); updated TODO
meillo@marmaro.de
parents:
23
diff
changeset
|
279 |
0 | 280 # generate pic page |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
281 echo `insertHeader` > "$targetFile" |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
282 if [ "$galleryTitle" != "" ] ; then |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
283 echo "<h1>$galleryTitle</h1>" >> "$targetFile" |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
284 fi |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
285 echo "<p><a href=\"$index\"><img src=\"$file\" alt=\"$file\" /></a></p>" >> "$targetFile" |
23
7f3cea97b789
"copyright notice" is known as "footer text" now
meillo@marmaro.de
parents:
16
diff
changeset
|
286 if [ "$footer" != "" ] ; then |
7f3cea97b789
"copyright notice" is known as "footer text" now
meillo@marmaro.de
parents:
16
diff
changeset
|
287 echo "<p>$footer</p>" >> "$targetFile" |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
288 fi |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
289 echo `insertFooter` >> "$targetFile" |
0 | 290 |
291 # generate content for index file | |
292 echo " <a href=\"$file.htm\"><img src=\"_$file\" alt=\"$file\" /></a>" >> "$targetDir/$index" | |
293 done | |
294 | |
23
7f3cea97b789
"copyright notice" is known as "footer text" now
meillo@marmaro.de
parents:
16
diff
changeset
|
295 if [ "$footer" != "" ] ; then |
7f3cea97b789
"copyright notice" is known as "footer text" now
meillo@marmaro.de
parents:
16
diff
changeset
|
296 echo "<p>$footer</p>" >> "$targetDir/$index" |
6
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
297 fi |
cb0dff8c48c6
added option --overwrite; refactored checkCreateDir; fixed HTML output; introduced exit code 3 and 4; better help output
meillo@marmaro.de
parents:
2
diff
changeset
|
298 echo `insertFooter` >> "$targetDir/$index" |