lazygal is another static web gallery generator written in Python.
It can be summed up by the following features :
- Command line based (thus scriptable).
- Handles album updates :
- Lazy : do not build what's already there.
- Tells you what should not be in your generated directories (and delete it if you want to).
- Presents all your pictures and videos and associated data:
- Recursive : generates subgalleries. Follows symlinks for flexibility.
- Sort pictures in the same directory by EXIF date if available. More sorting options available.
- Auto rotates pictures if they contain sensor info.
- Reads and present selected image metadata.
- Copies image metadata in reduced pictures.
- Makes browsing sharing pictures easy :
- Can generate multiple sizes to browse pictures.
- Breadcrumbs on every page.
- RSS feed generation for your album updates.
- Optional generation of ZIP archives of original pictures.
- Output internationalization.
- Optional breaking of big galleries (directories) on multiple pages.
- HTML5 video pages for videos
- Make customization easy :
- XHTML and CSS compliance for provided themes.
- Multiple options for album and picture metadata (picture metadata, flat files).
- Add template variables from the command line or from a configuration file.
- Per-directory configuration.
- Does not change your original pictures directories (the source argument).
lazygal requires :
- Python >= 2.7.
- Python imaging library (PIL) >= 1.1.6.
- GExiv2 >= 0.5 (to have GObject introspection) which provides Python binding to exiv2, a library to access image metadata.
- Genshi >= 0.5, a Python toolkit for generation of output for the web.
- Python GStreamer and associated plugins for video transcoding.
lazygal installation requires :
xgettextare also needed to update translation files. All are included in the GNU
xsltprocto build manpages from docbook sources. It is included in the libxslt package.
Usage is straightforward :
$ cd /var/www/album $ lazygal ~/pics $
If you want to force
lazygal into checking a directory's contents, simply
touch the source directory to modify its modification time :
$ touch album_source/gallery_to_check
A user friendly changelog for lazygal exists.
The latest version is Lazygal 0.9.1.
(full log of changes may be browsed in Lazygal's repository browser)
Code may be downloaded using Mercurial :
$ hg clone http://sousmonlit.zincube.net/~niol/repositories.hg/lazygal/
It is browsable online in Lazygal's repository browser.
lazygal may be used directly in the source repository, by calling the
lazygal.py script. Building simply prepares the translations and the
pages. Updating a source checkout of the
lazygal repository is done using
hg pull -u in the source directory.
Patches are very welcome.
To start a new translation, for example
cs_CZ, you can proceed as follows. The first script requires
xgettext from the GNU
$ devscripts/update-po $ cp locale/lazygal.pot locale/cz_CZ.po $ $EDITOR locale/cz_CZ.po
(do not bother committing or sending in changes to
lazygal.pot, they contain a lot of noise because of changes in line numbers)
Another side-note : in templates, translatable strings are declared in a character noisy way (I hope to fix this one day). As an example :
This project has too few users/contributors to justify the use of a dedicated bug tracking application.
For now, bug reports and feature requests may go in :