I've been using the code base of Panda to build another website. It's more then a blog, so I had to figure out a way to extend Panda's features.
Though I have not yet merge the code into Panda's code base, a photo-album plugin has just been done with a, imho, extensible plugin structure.
To insert a photo album in a post or a page, just place the following code inline:
[[
plugin: photo,
name: 08-06-10 电钢琴第一期师资培训班隆重结业
]]
It only works with markdown or html posts, as it's a simple regular expression substitution.
A prefix parameter can be used to strip the prefix of the names of the pictures, the default value is %d+-. So a picture could be named as 1-my-cat.jpg.
In this example, the engine looks for a folder named "08-06-10 电钢琴第一期师资培训班隆重结业" inside "public/images/album". The parent path is hard coded in Config.Global, but could be exposed to site.txt as usually.
All the images inside the album folder are used to generate an image album, specified in View.Atom.Album.
That's it.
BTW, I experimented with the XSLT idea, and it turned out to be not flexible enough. I'm giving up the idea of easy configurable theming for now, since I like generating HTML in Haskell and that's not something every user should do.