igal2(1) online Image GALlery generator


igal2 [-option1 -option2 ...]


igal2 is a quick and easy program for placing your images online with just one command-line invocation. It generates a pretty good-looking set of W3-compliant static HTML slides even with its default settings. To try it out just run igal2 in a directory with jpg, gif or png files and check the output in a web browser. You can adjust the appearance of the image gallery with the many options listed below or (if you know a bit of HTML) by modifying the .indextemplate.html, .slidetemplate.html and igal2.css files that igal2 creates in your image directory. igal2 also checks for the existence of a $HOME/.igal2 directory where users can store their own templates, overriding the site-wide /usr/share/igal2.

igal2 needs Perl to run and it also relies on a few other programs that come standard with most Linux distributions. It relies on the ImageMagick package first if available, otherwise it falls back onto cjpeg/djpeg/pnmscale for processing jpg files. The command convert of the ImageMagick package is required to process gif and png files and the identify command enables igal2 to include IMG HEIGHT and WIDTH tags in the HTML it generates. If you would like to show the EXIF headers of the images (option -e) Image::ExifTools is needed.


Write image dimensions and sizes under each thumbnail on the index page. This only works if the ImageMagick command identify is present.
Like -a but write only the image dimensions.
Like -a but write only the image sizes.
--bigy <n>
Like -y but operates on the image slides, not the thumbnails. Scales image slides to some medium height (e.g. 400), adjusting their width accordingly. Useful if your digital camera spits out large images, like 1600x1200. The originals aren't affected, but scaled copies of your images are stored with the .slide prefix and thumbnails link to these copies. Clicking on the scaled copies in the HTML slides lets users see the full unscaled images. You must use -f between two consecutive runs when you've changed the value of --bigy.
First generate and then publish image slide captions. The first invocation of igal2 -c generates a .captions file that you may edit. The format of this file is very simple. You should only have to enter your captions after the ---- separator. You may rearrange the image order at this point and also leave out some pictures by simply placing a pound (#) sign at the beginning of their respective lines. A second invocation of igal2 -c will read your .captions file, include your captions in the slides and rearrange them if necessary.
Like -c but preserve file names as captions when generating the .captions file (strips file name suffix).
--con options
Command line options to pass on to convert or cjpeg internally (see their man pages). This affects all thumbnails and, if --bigy is given, the medium-size slides too. You can set the -quality or go crazy with -negate, -noise, etc. (the last two only work with convert if ImageMagick is installed.
-d <dir>
Operate on image files in directory <dir>, which is also where the HTML and thumbnail files will be generated. The default is the current directory.
Extract all EXIF tags from the images and display them on the image slides. This option needs Image::ExifTool to be installed.
Force thumbnail regeneration. Also forces medium-slide regeneration if --bigy is given. Otherwise igal2 will not regenerate these files if they already exist, and you may end up with stale copies. Definitely use -f between two runs where you've changed the value of --bigy or --con.
Display brief help, same as --help.
Display brief help, same as -h.
-i <file>
Name of the main thumbnail index file. The default is index.html, as desirable for most web servers.
Use the image captions for the HTML slide titles. The default behavior is to use the image names.
-m <watermarkfile>
Add a watermark to each file. The parameter specified is another image file which will be overlayed in the top left of the image with some transparency applied. This option requires ImageMagick. The original images will be left in place with a '.unmarked' extension. You may wish to delete those afterwards. If this option is specified on two consecutive runs, igal2 will detect the .unmarked versions and not run it through the watermarking process again. Transparent GIF files work well for this option.
Use the image file names for the HTML slide files. Otherwise the default behavior is to simply name your slides 1.html, 2.html, and so on.
-o <URL>
Use this option if you are hosting the index files in a different location (e.g. a different server) from the back end images/slides. This option adds the specified prefix into the URLs of the slides. If you use this option, remember that until you move the files into the resulting location, the gallery won't work properly.
-p <n>
The cellpadding value of the thumbnail index tables. The default is 3.
Omit the film reel effect altogether. For a simpler look you can also set the thumbnail background to be the same as the main index page background with the tile background-color option in the igal2.css file.
For the simplest setup, omit all HTML slides. Clicking the thumbnails on the main page will just take users to the plain image files.
-t <n>
Height (in pixels) of the tiled image used to simulate the top and bottom "film reel" effect on the thumbnail index page. This is 21 for the default .tile.png image used, but you should set it otherwise if you replace that file with your own design.
Write image captions under each thumbnail on the index page. If you have a .captions file (see options -c or -C) then the captions are read from there, else the file names are used (but the file extension is stripped).
--pagination <n>
Maximum number of images on one page. If the given number of images is reached a new page is started. Pagination number n should be a multiple of parameter -w (default 5). Default 0 - means no pagination at all.
-w <n>
Set the thumbnail rows to be <n> images wide in the main index file. Default is 5.
Omit the image count from the captions.
-y <n>
Scale all thumbnails to the same height of <n> pixels. The default is 75 pixels.
--xy <n>
Scale thumbnails to <n> pixels along their longest dimension. This value is passed to pnmscale and only works properly for jpg images.
Make all igal2 files world-readable.
--dest <dir>
Per default igal2 places all igal2 helper files (thumbnails, slidefiles, CSS, etc) in the directory where the image files reside. With this option these files can be placed in a subdirectory of the image directory.
If igal2 finds subdirectories below your image directory it will add links to this directories in the index.html file. This is useful if you've a tree of image directories.

 + Vacation_Vienna (Image Directory)
   + .igal2-stuff (igal2 helper files)
   + Videos
   + Documents_of_interest

 igal2 -d Vacation_Vienna --dest .igal2-stuff --AddSubdir

will put all helper files in .igal2-stuff, and generate links to the subdirectories "Videos" and "Documents_of_interest" in the index.html file.

Note: igal2 will not work recursively, it just adds HREF links to the found directories.


The default index template file.
The default file used to generate slides.
The default style sheet template.
The tiled image used for the "film reel" effect.
The default file used to generate directory links in index.html. If this file is changed, the index.html has to be regenerated by running igal2 again.
All five files are copied to your image directory as dotfiles the first time you run igal2. Modify the local copies (but keep their names) if you need to further alter the appearance of your slide show (also see -t). igal2 also checks for the existence of a $HOME/.igal2 directory where users can store their own templates, overriding the site-wide /usr/share/igal2.


Run igal2 in a directory with jpg or gif images to see what it does. Then play with the options described above and use -h if you need a quick listing. Also see http://igal.trexler.at/ for online examples.


There are always some. If you find any let me know. I don't have much time to keep tweaking igal2 but if any major bugs pop up I probably ought to fix them.


Eric Pop <[email protected]>, Wolfgang Trexler <[email protected]>