import igal2 (continued version of www/igal, which'll stay as discussed with sthen@)

igal2 (the successor of igal) is a quick and easy program for placing
your images online with just one command-line. It generates a pretty
good-looking set of W3-compliant static HTML slides even with its
default settings. The slide show preloads the next image with JavaScript
- ideal for slower links.

ok sthen@
This commit is contained in:
jasper 2012-04-24 11:40:38 +00:00
parent fd081552b6
commit 687fb89e4a
7 changed files with 157 additions and 0 deletions

38
www/igal2/Makefile Normal file
View File

@ -0,0 +1,38 @@
# $OpenBSD: Makefile,v 1.1.1.1 2012/04/24 11:40:38 jasper Exp $
COMMENT= online Image GALlery generator
DISTNAME= igal2-2.0
CATEGORIES= www graphics
HOMEPAGE= http://igal.trexler.at/
# GPLv2
PERMIT_PACKAGE_CDROM= Yes
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
MASTER_SITES= ${HOMEPAGE}
RUN_DEPENDS= graphics/ImageMagick \
graphics/jpeg \
graphics/jhead
NO_BUILD= Yes
NO_REGRESS= Yes
PKG_ARCH= *
DATADIR= ${PREFIX}/share/igal2
do-configure:
@perl -pi -e "s,/usr/local,${PREFIX},g;" \
-e "s,${PREFIX}/lib/igal2,${DATADIR},g;" ${WRKSRC}/igal2{,.1}
do-install:
${INSTALL_SCRIPT} ${WRKSRC}/igal2 ${PREFIX}/bin
${INSTALL_MAN} ${WRKSRC}/igal2.1 ${PREFIX}/man/man1
${INSTALL_DATA_DIR} ${DATADIR}
${INSTALL_DATA} ${WRKSRC}/*.{css,html,png} ${DATADIR}
.include <bsd.port.mk>

5
www/igal2/distinfo Normal file
View File

@ -0,0 +1,5 @@
MD5 (igal2-2.0.tar.gz) = gQuGXmToWfstYLtqNINJwA==
RMD160 (igal2-2.0.tar.gz) = eMH8DUkkuOlElBFdnCTI+T5JD0w=
SHA1 (igal2-2.0.tar.gz) = o5huC+uOitYwuKvXV/qGiLWW6sE=
SHA256 (igal2-2.0.tar.gz) = X2ltDJTHUILdsDkdS7qW7BHWBxDgummWqWU6rXW4Fik=
SIZE (igal2-2.0.tar.gz) = 27206

View File

@ -0,0 +1,75 @@
$OpenBSD: patch-igal2,v 1.1.1.1 2012/04/24 11:40:38 jasper Exp $
--- igal2.orig Sun Nov 16 22:00:00 2008
+++ igal2 Tue Apr 24 13:00:12 2012
@@ -33,6 +33,12 @@ $HAVEIM = 0;
#
$HAVELJ = 0;
############################################################################
+# If you KNOW you have Jhead installed then setting this equal to 1 may speed
+# up the code a bit (igal will stop checking for these commands every time it
+# runs)
+#
+$HAVEJH = 0;
+############################################################################
# This is IGAL version 2.0, an online Image GALlery generator.
# Copyright (C) 2000 Eric Pop, 2003 Wolfgang Trexler
@@ -85,6 +91,7 @@ $opt_d = "."; # look in current directory "."
$opt_f = "0"; # -f to force thumbnail regeneration
$opt_h = "0";
$opt_i = "index.html"; # name of the main thumbnail index file
+$opt_j = "0"; # -j uses jhead to extract EXIF metadata
$opt_k = "0"; # -k for the captions to also be used as slide titles
$opt_m = ""; # -m Apply a watermark to each image
$opt_n = "0"; # -n to use image file names for the .html files
@@ -118,6 +125,7 @@ Options: -a write image sizes under thum
-f force thumbnail regeneration
-h displays this brief help; same as --help
-i <file> name of the main thumbnail index file (index.html)
+ -j add EXIF metadata to the slide pages
-k use the image captions for the HTML slide titles
-m <file> Automatically add watermark to each image
-n use image file names for the HTML slide files
@@ -173,7 +181,7 @@ END_OF_USAGE
@igal_options = @ARGV;
# process command-line arguments (overriding defaults above)
-GetOptions('a','c','C','d=s','f','h','i=s','k','m=s','n','o=s',
+GetOptions('a','c','C','d=s','f','h','i=s','j','k','m=s','n','o=s',
'p=i','r','s','t=i','u','w=i','x','y=i','ad','as',
'bigy=i', 'con=s','help','im','www','xy=i', 'dest=s',
'AddSubdir', 'pagination=s') or die "$usage";
@@ -198,7 +206,7 @@ $opt_o = "$opt_o/" if ( $opt_o );
$opt_d =~ s/\/$//;
# let users store their templates in a $HOME/.igal directory, if it exists,
-# instead of the site-wide /usr/local/lib/igal (from line 8 up top)
+# instead of the site-wide /usr/local/share/igal (from line 8 up top)
$LIBDIR = $userigaldir if ((-r $userigaldir) && (-d $userigaldir));
# load up image files from $opt_d into array @imgfiles
@@ -319,6 +327,10 @@ print "\nWARNING: The ImageMagick package (imagemagic
$HAVELJ = (&exist("cjpeg") and &exist("djpeg") &exist("pnmscale")) unless ($HAVELJ or ($njpg == 0) or $HAVEIM);
print "\nWARNING: at least one of the commands \"cjpeg\", \"djpeg\" and \"pnmscale\" is not\ninstalled. You can find these at rpmfind.net (inside libjpeg and libgr-progs)\nor you can download the source code from:\n http://www.ijg.org/ and\n http://netpbm.sourceforge.net/\n\n" unless ($HAVELJ or ($njpg == 0) or $HAVEIM);
+# find out if the jhead exists
+$HAVEJH = (&exist("jhead")) unless ($HAVEJH);
+print "\nWARNING: The Jhead package is not installed; without it you won't get information about the camera used to take the photo.\n" unless ($HAVEJH);
+
# give up if no image processing commands can be found
die "ERROR: the necessary image processing tools aren't installed on your system.\nPlease obtain them as specified above.\n\n" unless ($HAVEIM or $HAVELJ);
@@ -535,7 +547,12 @@ if ($opt_s) {
$workarea =~ s/<!--THIS-IMAGE-->/$destback$imgfile_i_encoded/g;
}
}
-
+ # exif metadata
+ if ($opt_j && $HAVEJH) {
+ local $f = $imgfiles[$i];
+ local $exif = `jhead "$f" | egrep -v '^File|Camera make' | grep : | sed 's/\$/<br>/'`;
+ $workarea =~ s/<!--IMAGE-EXIF-->/$exif/;
+ }
# add in the image counter unless -x is specified
if ($opt_x) {
$imagecaption = $captions[$i];

View File

@ -0,0 +1,14 @@
$OpenBSD: patch-igal2_1,v 1.1.1.1 2012/04/24 11:40:38 jasper Exp $
--- igal2.1.orig Tue Apr 24 12:59:19 2012
+++ igal2.1 Tue Apr 24 12:59:21 2012
@@ -143,6 +143,10 @@ Name of the main thumbnail index file. The default is
.IR index.html ,
as desirable for most web servers.
.TP
+.BI -j
+Invoke jhead to extract EXIF tags from images and substitute
+the results into the slide caption.
+.TP
.BI -k
Use the image captions for the HTML slide titles.
The default behavior is to use the image names.

View File

@ -0,0 +1,11 @@
$OpenBSD: patch-slidetemplate2_html,v 1.1.1.1 2012/04/24 11:40:38 jasper Exp $
--- slidetemplate2.html.orig Tue Apr 24 12:59:29 2012
+++ slidetemplate2.html Tue Apr 24 12:59:40 2012
@@ -40,6 +40,7 @@
</TABLE>
<P class="center"><!--IMAGE-CAPTION--></P>
+ <P class="center"><!--IMAGE-EXIF--></P>
</DIV>
<P class="center">

5
www/igal2/pkg/DESCR Normal file
View File

@ -0,0 +1,5 @@
igal2 (the successor of igal) is a quick and easy program for placing
your images online with just one command-line. It generates a pretty
good-looking set of W3-compliant static HTML slides even with its
default settings. The slide show preloads the next image with JavaScript
- ideal for slower links.

9
www/igal2/pkg/PLIST Normal file
View File

@ -0,0 +1,9 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2012/04/24 11:40:38 jasper Exp $
bin/igal2
@man man/man1/igal2.1
share/igal2/
share/igal2/directoryline2.html
share/igal2/igal2.css
share/igal2/indextemplate2.html
share/igal2/slidetemplate2.html
share/igal2/tile.png