makethumbs home page

From digicam to web page in under thirty seconds

Short summary

Makethumbs creates a web pages and reduced images given a bunch of photos in half a dozen steps:

  1. Download makethumbs.sh
  2. cd to your directory of images; run makethumbs.sh.
  3. Check the index.html with a browser; rotate any images that need rotation with rotate.sh.
  4. If you want to add any titles/descriptions/captions, edit descriptions.txt; rerun makethumbs. See examples section for an example.
  5. If you want to customize the appearance of makethumbs' generated HTML, create a .makethumbsrc and rerun makethumbs. See examples section for example settings.
  6. If you'd like makethumbs' text output in a language other than English, put the translated settings from the examples section into your .makethumbsrc and re-run makethumbs.

What is it

makethumbs.sh and rotate.sh are scripts to create polished, static image galleries suitable for the web or for a CD-ROM, given a bunch of JPEGs in a directory. makethumbs is most commonly used in conjunction a digital camera. Do you want to put a batch of pictures on the web for people to browse? Once the images are on your system, makethumbs will give you usable web pages with zero extra work. If you have more than five seconds to spend on your pictures, makethumbs allows for lots of customization, labeling, and image descriptions.

The goals of makethumbs are

There are many other image gallery programs. Within the category of programs that don't import all your images into a database or depend on dynamic PHP/CGI scripting, I believe makethumbs.sh is one of the best around. Many of these programs break some of my stated goals--they generate fancy HTML that acts oddly/requires certain browsers, or they make big databases to track and display your images eighteen ways from Sunday, or they touch your original images, or they only run on Winblows, or they require all sorts of ancillary software to work correctly.

makethumbs.sh and rotate.sh are in the public domain - share and enjoy.

Documentation

makethumbs behaves reasonably by default. It has a huge number of configuration options to change its behavior to suit your site. For the most common configuation changes, see the examples section below.

A preliminary makethumbs reference manual is on-line with complete documentation for all configuration options if you'd like to take makethumbs further. The DocBook source for the manual is also available if you'd like that for some reason.

Example image galleries

I have two image galleries on-line to show makethumbs off:

Here are a couple of people who've customized makethumbs' output style in interesting ways:

makethumbs's English strings can be translated to other languages. Currently English and four other languages are available:

If you're able to translate these words into other languages, please send them in!

Download

You can get the latest version of makethumbs.sh.

You can get the latest version of rotate.sh.

There are a few old versions of makethumbs on-line if you'd like to see what's been changing.

Dependencies

makethumbs needs assistance for the low level image manipulation. ImageMagick will fulfill all its needs nicely, or the jpeg reference library (for djpeg and cjpeg) and the netpbm collection of programs. They're all already installed on any Linux system, and they can be easily had for any Unix system. makethumbs will decide whether to use ImageMagick or cjpeg/djpeg+netpbm at run-time.

makethumbs is not dependant on any EXIF handler programs, but it adds some nice features if you have at least one of them installed. See my EXIF readers page for more information.

makethumbs will run on MacOS X 10.4 without any additional software installed. It's helpful if you can install jhead so makethumbs can see the EXIF information, but it's not required.

makethumbs will work on a Windows system if you had cygwin installed and you installed ImageMagick on it. ImageMagick compiles trivially, but I didn't see pre-built binaries around. It's slower than on a Unix system, but it works.

Contact me

If you want to contact me about makethumbs, I can be reached as makethumbs AT molenda.com.

NEWS

Want to get mail about makethumbs developments? I'll send out a note every couple of months if I've done anything noteworthy - get subscribed here:

2002-05-31 version 1.239

A new command line option, --preview-mode (-p) has been added. It skips all image generation except thumbnails and skips slideshow generation; makethumbs runs a lot faster. It's especially useful to check index HTML changes, rotations, and captions. Once the look and feel is settled, you can have makethumbs generate the whole deal by re-running.

Small performance boost for certain types of basic galleries, only in the 10-15% speedup range.

German translations are now available thanks to Jörg Lippmann <joerg@donalbain.de>. Thanks Jörg!

Reference documentation is available. There really needs to be more user documentation and general discussion of page layout (which variables occur on a given page), but I finished the reference section where all .makethumbsrc settings are documented, and I wanted to make that available for everyone. It's not the prettiest thing I've ever seen, but it is comprehensive. An index is high on the list of things to figure out, too.

More support for different environments. I'm sure there are still systems where makethumbs has problems - please let me know about them or I can't fix it. Added support to get timestamps from webcam32 webcam pictures, in addition to the existing Chillcam support.

2002-03-12 version 1.227; rotate.sh version 1.20

More portability fixes. Both scripts have been tested on Solaris 2.7 and Cygwin, and will work correctly on these OSes as long as a shell more capable than their /bin/sh can be found (e.g. ksh, bash). Two more fixes for interoperating with older versions of ImageMagick. Two or three small bug fixes in makethumbs.sh are included as well.

2002-03-10 version 1.223

Portability fixes. I was using some extended regular expressions in my egrep calls which were not very portable, either to Solaris or to older versions of GNU grep. I was also using a flag to ImageMagick's identify program which was only added a couple years ago. These problems would occur for Solaris or older Linux distribution users (e.g. RedHat 6.1). Thanks to Lloyd Cha and Tom Limoncelli for the bug reports.

New .makethumbsrc variable added, preferred_image_tools. It may be set to either imagemagick or netpbm if you would prefer that makethumbs use one or the other. makethumbs will ignore your preference if only one of these two image manipulation tools are around, but if both are present, it will do as you've asked. The functionality should be the same with either tool choice, but if another portability problem comes up with makethumbs and older versions of these tools, users will have a way to direct makethumbs towards working utilities

Thanks to Alain Labarthe, French translations for makethumbs are now available. Thanks Alain!

For older news, see the old announcements page.


This page last modified 2004-08-17.