I wanted to experiment a little with Blosxom's plug-in system so I decided to write a quick and dirty image gallery plug-in. My requirements were simple. It needed to:
- Run under Blosxom's dynamic mode.
- Automatically build gallery pages.
- Automatically resize and build "thumbnail" images.
- Provide a straightforward user-interface for visitors.
- Serve images quickly.
- Be trivially easy to use when creating new galleries.
- Be no less secure than without the plug-in.
Writing the plug-in was rather painless. The plug-in architecture in Blosxom is intuitive (and reminiscent of the Apache plug-in architecture with multi-stage hooks). I got hung up for a while trying to dynamically display images via invoking the photogallery plug-in. While this was eventually successful, Blosxom has to do so much work parsing data files, even if the "skip" method is registered, I ultimately realized that it was better to just pre-generate the thumbnail images when the gallery page is first viewed and let apache serve them like normal image files. All told it was a few hours of work, and now I'd feel comfortable writing a plug-in for just about anything I needed to do with Blosxom.
The plug-in can be downloaded at: http://www.unto.net/downloads/photogallery.
More photographs presented with the gallery plug-in can be found at http://www.unto.net/unto/photos.
And to demonstrate the plug-in, the photographs at the bottom of this page are automatically displayed simply by dropping the full-sized image files in the same directory as this article.