How to generate web picture gallery offline? (no php on server)

What about using Picasa and creating a web album (1GB limit)?


Anyway I suggest you to batch resize them (just for show'em), 5MB are definitely too much for a screen slideshow.

An excellent tool for do that is (IMO) ImageMagick you can find plenty of howtos around, but here's a sample:

i=1
for f in *.jpg ; do
  n=`printf '%08d' $i`
  convert $f -thumbnail 1000x1000 out/p$n.jpg
  convert $f -thumbnail 150x150^ -gravity center -extent 150x150 out/_p$n.jpg
  i=$[i+1]
done

It creates both big pictures (max 1000x1000) and thumbnails (150x150) in the directory ./out/. All that you have to do now is create an index.html file:

cd out/
for f in p* ; do
  echo "<a href='$f'><img src='_$f'></a>"
done > index.html

Here we go, just move the content of the ./out/ directory to somewhere in your server.

Note: It isn't the best solution to your problem, it's just a quick draft, but I think it's useful knowing such tools.


You can use one of these (all open source):

  • Sigal (my favorite, Python, demo here)
  • PhotoFloat (lots of JavaScript, Python 2 (Java needed for building), demo here)
  • Cataract Gallery Generator (pretty sleek design IMHO, coded in C (!), demo here)
  • jigl (no JavaScript, nice design, Perl, demo here)
  • BINS (no JavaScript, Perl, dated, demo here)
  • Photon (dcraw support, Python, demo here (90's design))
  • Imageindex (minimal, Perl, demo here)
  • Lazygal (video support, Python, demo here)
  • igal2 (no scaling, no EXIF, pretty minimal, uses JavaScript only for slideshow, Perl, demo here)
  • Swiggle (very minimal design, no JavaScript, written in C, demo here)
  • llgal (really resembles igal2, Perl, demo here)
  • Curator (Python 2, no current demo available, '04 demo)
  • Galrey (actually more like a PowerPoint emulator, demo here)

Some of these are mentioned in this comparison.


You can also use Picasa to generate static html files for display on the web, just goto Folder->Export as html page. From there you can choose a template and resize the images should you wish to.