How to generate web picture gallery offline? (no php on server)
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.
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 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.