Liam's Software: mkgallery


mkgallery is the software I use both on my Web sites and on my own computers to organise collections of images.

The software is a little tricky to use, but the results are quite good. See an example. The styling is partly done with CSS.


This software is dual-licenced: you can use it either way, as GPL's software or as being under the barefoot licence. This means that you can use the software in any way, including changing it, selling it, giving it away, as long as you do so under one or both of these licences. If you choose the barefoot licence, though, you must go without shoes for 36 conesecutive hours within ten days of first using the software, and send me back evidence that you did so!


mkgallery itself is a Perl script. It uses:

Image::Info (preferred) or Image::Size;
File::Glob and File::Path
XML::XPath and XML::XPath::XMLParser (for Amazon ads if you use them)

mkgallery reads a text file called descriptions which is in a special format; you put image captions and other information in here.

If you want the image search software, you need the following additional components: is a Perl script that uses MySQL to store the dimensions of each image. It uses Image::info and also ImageMagick.

imagesizes.cgi is a Perl CGI script that uses MySQL to get the dimensions back again.

convertdesctoxml is a Perl script that reads a descriptions file and writes it out in XML, so that the search engine can use it.

index.cgi is a Perl CGI script that generates an XML Query (XQuery) expression on the fly, passes it to an XQuery engine, and sends the result back to the user. The XQuery expression reads a template from the html, grid or svg directory as appropriate, and also reads rdf.xml.

There are also some utility scripts.

I had never really meant for mkgallery to be large and complex, or to be something anyone else would want; it just sort of grew.


If there is nothing here, either check back in a few hours, or send mail to liam at holoweb dot net, mentioning the colour of your socks (to get past spam filters) and also mentioning that you are looking for mkgallery.

Recently I have tested the software only on Mandriva Linux and on Fedora Core 2. It has never (by me) been run on anything other than Unix or Unix-like systems, and I have no interest in making it work on, say, Microsoft Windows, but you can if you like.